docs: 改写虚拟机属性与支撑域注释

vm_props.rs(14 点纯注释):
- ordinary_get / ordinary_get_with_target / push_bytecode_getter_frame
  补文档,写清读路径顺序、hole 边界与 getter 帧化返回值契约;
- sync_global_builtin_mirror 首现展开「A 侧」= 全局对象自身属性槽;
- length 赋值路径去历史化并译中英文注释(ToUint32 校验、稠密上限、
  稀疏 hole 标记、逻辑长度另记、影子 length 同步);
- call_or_push_setter / set_or_create_prop_value / define_data_property /
  define_accessor_property 补调用与定义路径文档。

vm_support.rs(2 点纯注释):
- swap_intrinsic_proto 首现展开「P 原型」;
- full_reset_legacy_for_bench 去掉「旧版」历史化措辞。

无行为改动。
This commit is contained in:
2026-09-17 13:42:08 +00:00
parent 24ea3bdec5
commit 1250675930
2 changed files with 137 additions and 13 deletions
+3 -2
View File
@@ -22,7 +22,8 @@ impl Vm {
/// 才值得。
pub(crate) const CONS_FLATTEN_UNITS: usize = 128;
/// 替换本 VM 独占的内建 P 对象:先恰好释放旧副本的属性区一次,
/// 替换本 VM 独占的内建原型对象(生成器 / Promise / 异步族与 Object 的
/// 原型,下文简称 P 原型):先恰好释放旧副本的属性区一次,
/// 再让旧 Arc 归零(旧副本无 Drop 口径兜底,full_reset 重初始化
/// 路径必须显式释放,否则逐测试累积)。
pub(crate) fn swap_intrinsic_proto(slot: &mut P<JsObject>, new_obj: JsObject) {
@@ -347,7 +348,7 @@ impl Vm {
vm_info!("full_reset completed");
}
/// 旧版全量重置:总是丢弃并重建整个 session 与内置对象(benchmark 专用)。
/// benchmark 专用重置路径:总是丢弃并重建整个 session 与内置对象。
#[doc(hidden)]
pub fn full_reset_legacy_for_bench(&mut self) {
self.session = KernelSession::new(&self.kernel_core);