Skip to content

WIP: stack compression prototype - #726

Open
titzer wants to merge 1 commit into
masterfrom
stack_compression2
Open

titzer wants to merge 1 commit into
masterfrom
stack_compression2

Conversation

@titzer

@titzer titzer commented Oct 7, 2026

Copy link
Copy Markdown
Owner

No description provided.

…rs (#705)

  A catch_all (or catch_all_ref) handler receives no payload, but both the
  V3Interpreter and NativeStack unconditionally pushed the exception's tag
  values onto the value stack when transferring to a handler. This left extra
  values on the stack below the handler's expected operands, corrupting the
  results of code following the try_table (or legacy try/catch_all).

  Add a push_vals field to ExHandler, set by FuncDecl.findHandler to false for
  EX_TAG_ALL entries, and only push ex.vals when it is set. This covers
  try_table catch_all/catch_all_ref and legacy catch_all.

  Adds regress_705{,b,c} reproducers and removes them from the jvm, v3i, and
  x86-linux expected-failure lists.

  Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@titzer
titzer force-pushed the stack_compression2 branch from aeffb7f to 23b2697 Compare October 7, 2026 19:11
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