Skip to content

[codex] test JIT ref global tee overwrite#68

Open
siyul-park wants to merge 1 commit into
mainfrom
codex/test-jit-ref-global-tee-coverage
Open

[codex] test JIT ref global tee overwrite#68
siyul-park wants to merge 1 commit into
mainfrom
codex/test-jit-ref-global-tee-coverage

Conversation

@siyul-park

Copy link
Copy Markdown
Owner

What changed

  • add a focused JIT regression for ref GLOBAL_TEE overwrite behavior in interp/interp_test.go
  • cover the changed globalPut(..., pop=false) path introduced by recent ARM64 JIT refcount work

Paths tested

  • interp/jit_arm64.go: JIT GLOBAL_TEE ref overwrite path
  • interp/interp.go: overwritten ref release remains observable through runtime RC state
  • interp/interp_test.go: new regression in TestInterpreter_JIT

Added tests

  • TestInterpreter_JIT/compiles_ref_global_tee_and_releases_overwritten_ref
    • compiles GLOBAL_TEE for a ref global
    • verifies the overwritten ref is released
    • verifies the new ref remains live and equal through GLOBAL_GET + REF_EQ

Validation

  • go test ./interp -run 'TestInterpreter_JIT/compiles_ref_global_tee_and_releases_overwritten_ref|TestInterpreter_JIT/compiles_ref_global_get|TestInterpreter_Run' -count=1
  • go test ./interp -count=1

Skipped targets

  • GLOBAL_SET ref JIT overwrite: skipped because numeric globals already cover the pop=true store shape; this patch targeted the untested GLOBAL_TEE branch.
  • closure upval ref/i64 overwrite cases: skipped due higher setup cost and lower confidence for a smallest regression pass.

@siyul-park siyul-park marked this pull request as ready for review June 15, 2026 12:09
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