From b5638193740edda8e26e564729d8d16ee23e0066 Mon Sep 17 00:00:00 2001 From: pjh456 <147148383@qq.com> Date: Fri, 25 Sep 2026 18:35:51 +0000 Subject: [PATCH] =?UTF-8?q?fix:=20run=20=E8=BE=B9=E7=95=8C=E6=B8=85?= =?UTF-8?q?=E9=9B=B6=20IC=20=E5=91=BD=E4=B8=AD=E8=AE=A1=E6=95=B0=E4=BD=BF?= =?UTF-8?q?=E5=9F=BA=E5=87=86=E6=8C=87=E6=A0=87=E4=B8=8D=E5=86=8D=E8=B7=A8?= =?UTF-8?q?=E6=96=87=E4=BB=B6=E7=B4=AF=E7=A7=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- crates/oxide_vm/src/vm_support.rs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/crates/oxide_vm/src/vm_support.rs b/crates/oxide_vm/src/vm_support.rs index 2ef72c23..4745e673 100644 --- a/crates/oxide_vm/src/vm_support.rs +++ b/crates/oxide_vm/src/vm_support.rs @@ -504,7 +504,7 @@ impl Vm { pub(crate) fn clear_execution_state(&mut self) { // 重置契约: // - 清空寄存器文件、pc、帧/迭代器栈、保存的执行栈、try 处理器、 - // 待处理异常与 native 调用深度。 + // 待处理异常、native 调用深度与 IC 命中/未命中计数。 // - 保留 kernel 共享状态不变。 // - `reset()` 额外清空 bytecode/constants 并重置 epoch 归属。 self.regs = [JsValue::undefined(); 256]; @@ -550,6 +550,10 @@ impl Vm { self.job_queue.clear(); // Atomics waiter 表同属执行期状态:未结算 promise 清位后无强根。 self.atomics_waiters.clear(); + // IC 命中/未命中计数是执行期状态:池化 Vm 跨 run 复用,不清零则 + // per-run 指标(ic_hit_rate)跨文件累积,报告失真。 + self.profiling.ic_hits.set(0); + self.profiling.ic_misses.set(0); } /// 轻量重置:清空执行状态并回收 epoch 内存,但保留 session 字符串与 builtin。