From 75c30931c68ae4d77239f40e167177118731d301 Mon Sep 17 00:00:00 2001 From: pjh456 <147148383@qq.com> Date: Sat, 6 Jun 2026 12:48:18 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E5=A4=9A=E5=88=86?= =?UTF-8?q?=E9=85=8D=E5=AF=84=E5=AD=98=E5=99=A8=E5=AF=BC=E8=87=B4=E7=9A=84?= =?UTF-8?q?=E7=A9=BA=E5=B1=9E=E6=80=A7=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- crates/oxide_compiler/src/counter.rs | 3 +-- crates/oxide_compiler/src/emitter.rs | 5 ++--- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/crates/oxide_compiler/src/counter.rs b/crates/oxide_compiler/src/counter.rs index bb7848c9..1238aa11 100644 --- a/crates/oxide_compiler/src/counter.rs +++ b/crates/oxide_compiler/src/counter.rs @@ -205,9 +205,8 @@ impl Compiler { } Expression::StaticMemberExpression(member) => { self.count_expression(&member.object, ctx); - ctx.alloc_reg(); // key register + ctx.alloc_reg(); ctx.projected_pc += 1; // LOAD_CONST key - ctx.alloc_reg(); // result register ctx.projected_pc += 1; // IC_GET_PROP ctx.projected_pc += 1; // IC ext word } diff --git a/crates/oxide_compiler/src/emitter.rs b/crates/oxide_compiler/src/emitter.rs index 980f0b5a..2eee4990 100644 --- a/crates/oxide_compiler/src/emitter.rs +++ b/crates/oxide_compiler/src/emitter.rs @@ -382,15 +382,14 @@ impl Compiler { (idx & 0xFF) as u8, ((idx >> 8) & 0xFF) as u8, )); - let result_reg = ctx.alloc_reg(); ctx.emit(opcode::encode( OpCode::IC_GET_PROP, - result_reg, + 0, obj_reg, key_reg, )); ctx.emit(0); - Ok(result_reg) + Ok(obj_reg) } Expression::ComputedMemberExpression(member) => { let obj_reg = self.emit_expression(&member.object, ctx)?;