Conversation
Post-partitioning the executing world age matters for bindings lookup. JuliaInterpreter currently does not model world age correctly. That's a bigger issue. However, for now, just look up bindings in the latest world age, which mostly restores the unpartitioned behavior.
7569f47 to
80e8265
Compare
aviatesk
left a comment
There was a problem hiding this comment.
If invokelatest isn’t specified, in which world do these functions perform binding lookups?
Not just in JuliaInterpreter, but for packages using getglobal, I assumed the default lookup world for getglobal would be set to the latest as I believed it would then be non-breaking.
The current TLS age of the executing task.
No, those cannot be the semantics as all global accesses would then have to be inferred to |
|
This was a quite significant performance hit (the Before anyway to do this in a bit better way? |
|
We can optimize the codegen for this pattern |
Post-partitioning the executing world age matters for bindings lookup. JuliaInterpreter currently does not model world age correctly. That's a bigger issue. However, for now, just look up bindings in the latest world age, which mostly restores the unpartitioned behavior.