Fix bytecode call-site semantics
This commit is contained in:
1 parent
059e366787
commit
72901d9d4c
13 files changed
+480
-25
No files matched your search
@@ -0,0 +1,15 @@
|
||||
# Bytecode call-site PIC + fallback gating
|
||||
|
||||
Changes
|
||||
- Added method call PIC path in bytecode VM with new CALL_SLOT/CALL_VIRTUAL opcodes.
|
||||
- Fixed FieldRef property/delegate resolution to avoid bypassing ObjRecord delegation.
|
||||
- Prevent delegated ObjRecord mutation by returning a resolved copy.
|
||||
- Restricted bytecode call compilation to args that are ExpressionStatement (no splat/named/tail-block), fallback otherwise.
|
||||
|
||||
Rationale
|
||||
- Fixes JVM test regressions and avoids premature evaluation of Statement args.
|
||||
- Keeps delegated/property semantics identical to interpreter.
|
||||
|
||||
Tests
|
||||
- ./gradlew :lynglib:jvmTest
|
||||
- ./gradlew :lynglib:allTests -x :lynglib:jvmTest
|
||||
Reference in new issue
Block a user