fix: DefineOwnProperty 臂写参数寄存器补顶帧守卫

This commit is contained in:
2026-10-10 00:12:44 +00:00
parent c7f7588b81
commit b6219188e7
7 changed files with 71 additions and 24 deletions
+8
View File
@@ -20,6 +20,14 @@ impl Vm {
self.frames.len() > depth && self.frames[depth].frame_id == state.frame_id
}
/// 判定帧栈下标 `frame_depth` 处的帧是否为顶帧(当前帧)。
///
/// # 边界与前提
/// - `frame_depth` 为创建帧在帧栈中的下标;帧弹出后下标越界返回 `false`。
pub(crate) fn is_top_frame(&self, frame_depth: u32) -> bool {
self.frames.len() == frame_depth as usize + 1
}
/// 属性读入口:解析 `obj[prop_name_si]`,依次尝试数组 length 虚拟属性、
/// 数组元素区、TypedArray 整数索引、命名属性槽,最后沿原型链查找。
///