Step 25D: module decl disasm coverage
This commit is contained in:
parent
4e08339756
commit
1271f347bd
@ -119,7 +119,7 @@ Goal: migrate the compiler so all values live in frames/bytecode, keeping JVM te
|
|||||||
- [x] Replace `emitStatementCall` usage for `EnumDeclStatement`.
|
- [x] Replace `emitStatementCall` usage for `EnumDeclStatement`.
|
||||||
- [x] Replace `emitStatementCall` usage for `ClassDeclStatement`.
|
- [x] Replace `emitStatementCall` usage for `ClassDeclStatement`.
|
||||||
- [x] Replace `emitStatementCall` usage for `FunctionDeclStatement`.
|
- [x] Replace `emitStatementCall` usage for `FunctionDeclStatement`.
|
||||||
- [ ] Add JVM disasm coverage to ensure module init has no `CALL_SLOT` to `Callable@...` for declarations.
|
- [x] Add JVM disasm coverage to ensure module init has no `CALL_SLOT` to `Callable@...` for declarations.
|
||||||
- [ ] Step 26: Bytecode-backed lambdas (remove `ValueFnRef` runtime execution).
|
- [ ] Step 26: Bytecode-backed lambdas (remove `ValueFnRef` runtime execution).
|
||||||
- [ ] Compile lambda bodies to bytecode and emit an opcode to create a callable from bytecode + capture plan.
|
- [ ] Compile lambda bodies to bytecode and emit an opcode to create a callable from bytecode + capture plan.
|
||||||
- [ ] Remove `containsValueFnRef`/`forceScopeSlots` workaround once lambdas are bytecode.
|
- [ ] Remove `containsValueFnRef`/`forceScopeSlots` workaround once lambdas are bytecode.
|
||||||
|
|||||||
@ -260,6 +260,7 @@ class BytecodeRecentOpsTest {
|
|||||||
assertNotNull(moduleFn, "module bytecode missing")
|
assertNotNull(moduleFn, "module bytecode missing")
|
||||||
val disasm = CmdDisassembler.disassemble(moduleFn)
|
val disasm = CmdDisassembler.disassemble(moduleFn)
|
||||||
assertTrue(!disasm.contains("CALL_SLOT"), disasm)
|
assertTrue(!disasm.contains("CALL_SLOT"), disasm)
|
||||||
|
assertTrue(!disasm.contains("Callable@"), disasm)
|
||||||
assertTrue(disasm.contains("DECL_CLASS"), disasm)
|
assertTrue(disasm.contains("DECL_CLASS"), disasm)
|
||||||
assertTrue(disasm.contains("DECL_FUNCTION"), disasm)
|
assertTrue(disasm.contains("DECL_FUNCTION"), disasm)
|
||||||
assertTrue(disasm.contains("DECL_ENUM"), disasm)
|
assertTrue(disasm.contains("DECL_ENUM"), disasm)
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user