refactor: 退役逃逸写屏障 builtins 侧调用点与 trait 兑现

This commit is contained in:
2026-10-03 02:54:40 +00:00
parent 3ad2a4dca4
commit a4d70a8bfe
5 changed files with 9 additions and 20 deletions
+2 -4
View File
@@ -424,15 +424,13 @@ fn set_on_receiver<H: VmHost>(vm: &mut H, receiver: JsValue, key_si: u32, value:
return NativeResult::Ok(JsValue::bool(false));
}
}
let val = vm.promote_if_needed_for_write_ptr(receiver_ptr, value);
vm.set_or_create_prop_value(unsafe { &mut *receiver_ptr }, key_si, val);
vm.set_or_create_prop_value(unsafe { &mut *receiver_ptr }, key_si, value);
return NativeResult::Ok(JsValue::bool(true));
}
if !receiver_obj.is_extensible() {
return NativeResult::Ok(JsValue::bool(false));
}
let val = vm.promote_if_needed_for_write_ptr(receiver_ptr, value);
vm.set_or_create_prop_value(unsafe { &mut *receiver_ptr }, key_si, val);
vm.set_or_create_prop_value(unsafe { &mut *receiver_ptr }, key_si, value);
NativeResult::Ok(JsValue::bool(true))
}