fix: DataView 原型访问器与 ToNumber 强转序位收口

This commit is contained in:
2026-09-22 05:57:39 +00:00
parent d48cb71048
commit 098375aa9e
10 changed files with 380 additions and 107 deletions
+5 -2
View File
@@ -121,7 +121,8 @@ enum AggregateKind {
}
/// IsConstructor 近似判定:可调用、非 arrow,且 native 函数须带构造器 tag
/// (与 `construct_ctor` 的校验一致)。
/// (与 `construct_ctor` 的校验一致);bound 包装恒接受(target 可构造性在
/// `dispatch_new_bound` 入口复核)。
fn is_constructor_value(c: JsValue) -> bool {
if !c.is_object() {
return false;
@@ -130,7 +131,9 @@ fn is_constructor_value(c: JsValue) -> bool {
let c_obj = unsafe { &*c.as_js_object_ptr() };
c_obj.is_function()
&& !c_obj.is_arrow()
&& !(c_obj.native_fn().is_some() && c_obj.type_tag != JsObject::OBJ_TYPE_CONSTRUCTOR)
&& !(c_obj.native_fn().is_some()
&& c_obj.type_tag != JsObject::OBJ_TYPE_CONSTRUCTOR
&& c_obj.type_tag != JsObject::OBJ_TYPE_BOUND)
}
// ── session GC 支撑:状态盒中的 JsValues 作为 Promise 对象边追踪 ──