Skip to content

toplevel: Align virtual process worlds with JuliaInterpreter v0.11#833

Open
aviatesk wants to merge 1 commit into
masterfrom
JI-0.11
Open

toplevel: Align virtual process worlds with JuliaInterpreter v0.11#833
aviatesk wants to merge 1 commit into
masterfrom
JI-0.11

Conversation

@aviatesk

Copy link
Copy Markdown
Owner

JuliaInterpreter v0.11 dispatches interpreted calls and global lookups in a frame's world rather than the latest world. JET still used latest-world evaluation in the virtual process, so concretized top-level code could observe methods or bindings that were not visible at the committed iteration world.

Store the committed top-level iteration world in InterpretationState and pass it to macro expansion, lowering, concrete frames, and module-usage evaluation. JI overloads now dispatch calls and global lookups via frame.world, matching JuliaInterpreter's v0.11 semantics. Bump compat to JuliaInterpreter 0.11.1 and LoweredCodeUtils 3.7.2.

Tests cover stale-world calls from concretized top-level code, top-level @eval with generated method definitions, and direct reads of virtual-module bindings. Ran test_virtualprocess with --depwarn=error and ran test_toplevel_inference.

@aviatesk aviatesk changed the title toplevel: Align virtual process worlds with JI toplevel: Align virtual process worlds with JuliaInterpreter v0.11 Jun 25, 2026
JuliaInterpreter v0.11 dispatches interpreted calls and global lookups
in a frame's world rather than the latest world. JET still used
latest-world evaluation in the virtual process, so concretized top-level
code could observe methods or bindings that were not visible at the
committed iteration world.

Store the committed top-level iteration `world` in
`InterpretationState` and pass it to macro expansion, lowering,
concrete frames, and module-usage evaluation. JI overloads now dispatch
calls and global lookups via `frame.world`, matching JuliaInterpreter's
v0.11 semantics. Bump compat to JuliaInterpreter 0.11.1 and
LoweredCodeUtils 3.7.2.

Tests cover stale-world calls from concretized top-level code,
top-level `@eval` with generated method definitions, and direct reads
of virtual-module bindings. Ran `test_virtualprocess` with
`--depwarn=error` and ran `test_toplevel_inference`.

Co-Authored-By: GPT-5.5 <noreply@openai.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant