feat: 增加 CreateClosure 字节码,函数字面量每次执行创建新闭包

This commit is contained in:
爱特每羊队
2026-06-25 10:16:32 +08:00
parent 12f66ae675
commit 5007e7af7c
8 changed files with 29 additions and 13 deletions
+5
View File
@@ -254,6 +254,11 @@ impl CompileCtx {
self.emit(opcode::encode(OpCode::LOAD_CONST, reg, (idx & 0xFF) as u8, ((idx >> 8) & 0xFF) as u8));
}
pub(crate) fn emit_create_closure(&mut self, reg: u8, sub_idx: u32) {
let idx = sub_idx as u16;
self.emit(opcode::encode(OpCode::CREATE_CLOSURE, reg, (idx & 0xFF) as u8, ((idx >> 8) & 0xFF) as u8));
}
pub(crate) fn count_word(&mut self) {
self.projected_pc += 1;
}