Skip to content

Fix eval-interpreter declared_refs regressions and add local @/% support#239

Merged
fglock merged 4 commits into
masterfrom
fix-interpreter-postfixderef-op-postfixderef
Feb 26, 2026
Merged

Fix eval-interpreter declared_refs regressions and add local @/% support#239
fglock merged 4 commits into
masterfrom
fix-interpreter-postfixderef-op-postfixderef

Conversation

@fglock
Copy link
Copy Markdown
Owner

@fglock fglock commented Feb 26, 2026

  • Add LOCAL_ARRAY/LOCAL_HASH opcodes and interpreter execution
  • Implement local @x / local %x in BytecodeCompiler (declared_refs)
  • Fix unless semantics (emit GOTO_IF_TRUE) in interpreter
  • Add EOF newline to eval source strings to prevent parse errors
  • Implement parser-rewritten element-level declared_refs for 'our'
  • Fix JVM foreach ClassCastException with extractSimpleVariableName
  • Add executeTypeOps helper for DEFINED/REF/BLESS/ISA/PROTOTYPE/QUOTE_REGEX
  • RuntimeList.createListReference: iterate elements to avoid scalarizing
  • Ensure eval inherits compile-time feature/strict/warning snapshots

Results:

  • Interpreter op/decl-refs.t: 304 ok (was 288)
  • JVM op/decl-refs.t: 290 ok
  • No more 'Unsupported local operand: OperatorNode' abort in decl-refs.t

- Add LOCAL_ARRAY/LOCAL_HASH opcodes and interpreter execution
- Implement local \@x / local \%x in BytecodeCompiler (declared_refs)
- Fix unless semantics (emit GOTO_IF_TRUE) in interpreter
- Add EOF newline to eval source strings to prevent parse errors
- Implement parser-rewritten element-level declared_refs for 'our'
- Fix JVM foreach ClassCastException with extractSimpleVariableName
- Add executeTypeOps helper for DEFINED/REF/BLESS/ISA/PROTOTYPE/QUOTE_REGEX
- RuntimeList.createListReference: iterate elements to avoid scalarizing
- Ensure eval inherits compile-time feature/strict/warning snapshots

Results:
- Interpreter op/decl-refs.t: 304 ok (was 288)
- JVM op/decl-refs.t: 290 ok
- No more 'Unsupported local operand: OperatorNode' abort in decl-refs.t
@fglock fglock merged commit b8b35ce into master Feb 26, 2026
2 checks passed
@fglock fglock deleted the fix-interpreter-postfixderef-op-postfixderef branch February 26, 2026 13:06
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