Step 25D: module decl disasm coverage

This commit is contained in:
Sergey Chernov 2026-02-10 09:31:21 +03:00
parent 4e08339756
commit 1271f347bd
2 changed files with 2 additions and 1 deletions

View File

@ -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.

View File

@ -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)