Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[pull] master from JuliaLang:master #1805

Merged
merged 6 commits into from
Mar 24, 2023
Merged

Conversation

pull[bot]
Copy link

@pull pull bot commented Mar 24, 2023

See Commits and Changes for more details.


Created by pull[bot]

Can you help keep this open source service alive? 💖 Please sponsor : )

N5N3 and others added 6 commits March 21, 2023 20:49
This commit drops the usage of `intvalued==2`

We now records the correct `occurs_inv` (== 2), thus re-intersection would always happen if needed.
1. code clean for `intvalued`
2. fix stackoverflow caused by re-intersection of concrete var
3. NFC clean for #49049
This commit reworks our handling of `(src::CodeInfo).slottypes` and
`(ir::IRCode).argtypes`. Currently `ir.argtypes` contains types for call
arguments and local slots even after the SSA conversion (`slot2reg`),
which can be quite confusing. Similarly, `src.slot[names|flags|types]`
contains information about local slots regardless of whether `src` is
optimized or not, even though local slots never appear within `src`.

With this commit, we resize `ir.argtypes` so that it only contains
information about call arguments after `slot2reg`, as well as resize
`src.slot[names|flags|types]` after optimization.

This commit removes unnecessary information upon appropriate timings and
allows us to use `Core.OpaqueClosure(ir::IRCode)` constructor for such
`ir` that is retrieved by `Base.code_ircode`:

```julia
let ir = first(only(Base.code_ircode(sin, (Int,))))
    @test OpaqueClosure(ir)(42) == sin(42)
    ir = first(only(Base.code_ircode(sin, (Float64,))))
    @test OpaqueClosure(ir)(42.) == sin(42.)
end
```

Co-authored-by: Jameson Nash <[email protected]>
@pull pull bot added the ⤵️ pull label Mar 24, 2023
@pull pull bot merged commit db7971f into MLH-Fellowship:master Mar 24, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants