Mark step 25 complete

This commit is contained in:
Sergey Chernov 2026-02-09 22:01:02 +03:00
parent 0caa9849cf
commit 3ce9029162

View File

@ -87,10 +87,10 @@ Goal: migrate the compiler so all values live in frames/bytecode, keeping JVM te
## Interpreter Removal (next) ## Interpreter Removal (next)
- [ ] Step 25: Replace Statement-based declaration calls in bytecode. - [x] Step 25: Replace Statement-based declaration calls in bytecode.
- [ ] Add bytecode const/op for class/enum/function declarations (no `Statement` objects in constants). - [x] Add bytecode const/op for class/enum/function declarations (no `Statement` objects in constants).
- [ ] Replace `emitStatementCall` usage for `ClassDeclStatement`, `FunctionDeclStatement`, `EnumDeclStatement`. - [x] Replace `emitStatementCall` usage for `ClassDeclStatement`, `FunctionDeclStatement`, `EnumDeclStatement`.
- [ ] 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.