Skip to content

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

Merged
aviatesk merged 1 commit into
masterfrom
JI-0.11
Jul 17, 2026
Merged

toplevel: Align virtual process worlds with JuliaInterpreter v0.11#833
aviatesk merged 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>
@codecov

codecov Bot commented Jul 15, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 95.65217% with 1 line in your changes missing coverage. Please review.
✅ Project coverage is 84.04%. Comparing base (9bc9057) to head (c82871c).

Files with missing lines Patch % Lines
src/toplevel/virtualprocess.jl 95.65% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##           master     #833      +/-   ##
==========================================
+ Coverage   84.02%   84.04%   +0.02%     
==========================================
  Files          12       12              
  Lines        3162     3166       +4     
==========================================
+ Hits         2657     2661       +4     
  Misses        505      505              

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@aviatesk
aviatesk merged commit 230ab8e into master Jul 17, 2026
20 of 23 checks passed
@aviatesk
aviatesk deleted the JI-0.11 branch July 17, 2026 01:26
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