pjh123
|
ac6a48412b
|
fix: 删除 super 属性按规范报错并补 setPrototypeOf 内置
|
2026-09-18 01:06:48 +00:00 |
|
pjh123
|
3de0f8a6cb
|
feat: 跨模块可重赋导出活读
|
2026-09-18 00:46:06 +00:00 |
|
pjh123
|
1855775956
|
fix: 模块 var 与函数导出实例化期预初始化
|
2026-09-18 00:32:29 +00:00 |
|
pjh123
|
f53918f287
|
feat: 星号导出歧义名从命名空间省略
|
2026-09-18 00:19:29 +00:00 |
|
pjh123
|
ed65b5282f
|
feat: 模块命名空间枚举读活值并支持写穿
|
2026-09-18 00:02:21 +00:00 |
|
pjh123
|
cafac572fa
|
feat: 模块命名空间导出条目表与预注册
|
2026-09-17 23:47:04 +00:00 |
|
pjh123
|
4d0f11e30a
|
fix: 符号原语数值与字符串转换改抛类型错误
|
2026-09-17 23:32:28 +00:00 |
|
pjh123
|
12ac57c877
|
fix: 知名符号改为原语值表示
|
2026-09-17 23:03:10 +00:00 |
|
pjh123
|
6aa87cd40e
|
fix: 模块命名空间对象设为不可扩展并拦截写入
|
2026-09-17 22:32:29 +00:00 |
|
pjh123
|
79518ba827
|
fix: strict 删除非可配置属性抛错并修正数组长度
|
2026-09-17 19:17:16 +00:00 |
|
pjh123
|
2554b7a3ca
|
docs: 补全 Promise 状态盒与 GC 安全注释
|
2026-09-17 15:26:03 +00:00 |
|
pjh123
|
1ab418636d
|
docs: 改用通用表述描述 Promise 状态盒来源
|
2026-09-17 15:20:37 +00:00 |
|
pjh123
|
b7bf0193bd
|
docs: 补齐 Promise 聚合与反应的安全注记
|
2026-09-17 15:08:48 +00:00 |
|
pjh123
|
604a785bf9
|
docs: 修正 Promise 安全注记的指针所有权表述
|
2026-09-17 15:03:21 +00:00 |
|
pjh123
|
048fb145fa
|
docs: 补齐 Promise 结算与构造的安全注记
|
2026-09-17 14:52:07 +00:00 |
|
pjh123
|
e1117eb6a3
|
docs: 修正异步函数调用的注释语义
|
2026-09-17 14:23:26 +00:00 |
|
pjh123
|
86c5757b1f
|
docs: 删除分发层空占位模块
|
2026-09-17 14:15:51 +00:00 |
|
pjh123
|
6c4b49b196
|
docs: 补齐虚拟机运行时与调用绑定注释
|
2026-09-17 14:11:06 +00:00 |
|
pjh123
|
505cc4ff47
|
docs: 补齐会话垃圾回收注释并去除历史措辞
|
2026-09-17 13:54:31 +00:00 |
|
pjh123
|
1250675930
|
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 去掉「旧版」历史化措辞。
无行为改动。
|
2026-09-17 13:43:34 +00:00 |
|
pjh123
|
24ea3bdec5
|
docs: 修正原始值转换注释的保护链语义
|
2026-09-17 13:33:40 +00:00 |
|
pjh123
|
38d710cf04
|
docs: 改写虚拟机调度与属性域注释
vm/mod.rs:补模块头,说明基于寄存器的执行状态、寄存器文件、调用栈
与 session 内存及子模块职责;为 MAX_PROTO_CHAIN_DEPTH、
format_error_message、is_object_prototype 补文档。
vm/call.rs:为 is_session_ptr、alloc_object 补文档;为
call_function_sync、push_bytecode_frame 补五段式文档,写清 native/字节码
统一同步调用与统一压帧的步骤、边界和副作用。
vm/gc_hooks.rs:为 for_each_root、maybe_collect_session_gc 补文档。
vm/props.rs:property_key_si 首现展开字符串 intern id;为
array_index_from_property_key、resolve_property、get_own_property_slot
补文档。
|
2026-09-17 13:29:22 +00:00 |
|
pjh123
|
5e9cd271e1
|
docs: 改写虚拟机核心域注释并清除英文残留
- error.rs:补 coerce_primitive_bounded / coerce_number/int32/uint32_bounded /
checked_object_ptr / raise_error_kind / raise_js_error / raise_type_error /
error_message_text / thrown_error_kind 共 10 项文档;@@toPrimitive 英文块译中。
- dispatch_loop.rs:补 dispatch 主循环五段式文档。
- vmhost.rs:property_key_si trait 臂英文块译中(Reflect/Object 不传播键转换异常)。
|
2026-09-17 13:22:18 +00:00 |
|
pjh123
|
9b3986f537
|
refactor: Promise then 链聚合与 GC 边拆入 promise 子模块
|
2026-09-16 18:07:37 +00:00 |
|
pjh123
|
9026012496
|
refactor: Promise 结算构造队列拆入 promise 子模块
|
2026-09-16 18:04:29 +00:00 |
|
pjh123
|
9458cfd6ee
|
refactor: vm_support 测试块移入独立文件
|
2026-09-16 17:28:29 +00:00 |
|
pjh123
|
f34a863cc8
|
refactor: session_gc 测试块移入独立文件
|
2026-09-16 17:25:24 +00:00 |
|
pjh123
|
7a5b1b2d06
|
refactor: vm.rs 内联测试按属主模块归位
|
2026-09-16 17:07:29 +00:00 |
|
pjh123
|
5a429f34cb
|
refactor: dispatch 循环与 VmHost 动态编译拆入 vm 子模块
|
2026-09-16 16:41:38 +00:00 |
|
pjh123
|
d368b2f61e
|
refactor: VM 主实现非派发段按职责拆入 vm 子模块
|
2026-09-16 16:39:30 +00:00 |
|
pjh123
|
de770c4f59
|
refactor: VM 执行状态类型从 vm.rs 移入 vm 目录
|
2026-09-16 16:37:05 +00:00 |
|
pjh123
|
aafd07728c
|
fix: delete 非对象基按 ToObject 装箱判删,仅 null/undefined 基抛错
|
2026-09-15 03:56:18 +00:00 |
|
pjh123
|
0f5bd1577e
|
fix: 字符串面 GetIterator 尊重用户 @@iterator 覆盖
String 臂此前对原始串与装箱串一律走码元步进、忽略用户覆盖的
@@iterator。改为按 GetMethod 语义以值自身为 receiver 读 @@iterator
(原始串落 String.prototype、装箱串读自身→原型链),默认迭代器
自别名即 @@iterator 槽本身、以绑定层捕获的函数指针比较走快速
路径避免递归回本臂;覆盖则调用、receiver 为值。peek 对非字符串
原始值先装箱再读 @@iterator;Iterator.from 增 GetIteratorFlattenable
前置校验,非字符串原始值非对象 → TypeError(不装箱)。
|
2026-09-15 02:18:12 +00:00 |
|
pjh123
|
da5e6d13ba
|
fix: for-in/of 词法头建独立 TDZ 环境,捕获与右值直读归正
|
2026-09-14 23:58:10 +00:00 |
|
pjh123
|
92df76565b
|
fix: 迭代可选入口对非空不可调用 @@iterator 抛错并实现 IsHTMLDDA 宿主值
|
2026-09-14 22:16:43 +00:00 |
|
pjh123
|
53da6ef817
|
fix: @@iterator 解析不到可调用时迭代可选入口回退 array-like
|
2026-09-14 19:45:52 +00:00 |
|
pjh123
|
c7ebcea305
|
fix: with reject 分支负分量先校验范围再截断
|
2026-09-14 17:41:05 +00:00 |
|
pjh123
|
a9118200ce
|
fix: 测试宿主 evalScript 改走普通脚本作用域
|
2026-09-14 15:05:41 +00:00 |
|
pjh123
|
d161b7cfe3
|
fix: 顶层声明撞不可定义全局按规范抛 TypeError
|
2026-09-14 14:32:39 +00:00 |
|
pjh123
|
d877e63cf1
|
fix: 全局对象成员写与删后镜像槽反向同步防裸读失步
|
2026-09-14 13:10:17 +00:00 |
|
pjh123
|
4284aed79a
|
chore: 移除键域调试探针与死代码并修正动态源注释
|
2026-09-14 10:56:32 +00:00 |
|
pjh123
|
75b98e7f78
|
fix: 良形 FFFD 属性键收口到编码键空间形态
|
2026-09-14 10:55:53 +00:00 |
|
pjh123
|
68d2974eb5
|
kernel/builtins/test262: 本批新码 clippy 三则 + fmt 归净——obfuscated_if_else(source_escape_to_key 值域判定改 if/else)、needless_range_loop(decode_uri_units 保留字符原样段改 extend_from_slice)、needless_borrows_for_generic_args(844f2f4 rename 调用两处冗余借用);fmt 漂移(compiler.rs/vm.rs 构造体折行)一并归净。七 crate clippy 零告警、fmt --check 净、七 crate 2879/1(唯一失败 compile_class_declaration 既有)、release 子集 8/8 + 2/2 终验
|
2026-09-14 08:18:38 +00:00 |
|
pjh123
|
6f70d7d09f
|
vm/kernel/emit/builtins: 动态源编码重设计 + 数值键 2^32 边界 + 单元域解码/Source 面——14 头独占 test262 回归 13 修 0 新增
全量 A/B 差分撞出 14 个头独占回归,本提交闭合 13(text-self.js 双树同败归 pre-existing):
数值键 u32 回绕(release 态,debug 为 panic 故单测未现):canonical_index_str/
units 的 v.checked_mul(10)? + d as u32 在乘积合法而和溢出 2^32 时静默回绕
(10 位数字串 "4294967296".."4294967299" 误判整数键 0..3,属性查找回
退、Object.keys 串键),改 checked_mul+checked_add 双段防溢出;str/units 各
钉一枚 2^30-1/2^30/2^32-1/2^32 边界(Group B 5 文件:defineProperty/
defineProperties 2^32 键族 + Array property-cast-number)。
decodeURI/decodeURIComponent 单元域重写(Group A 2 文件):decode_uri_units
按单元扫描(非 % 单元原样透传——孤立 surrogate 往返不再被 lossy 串值面
打碎),%XX 解单元入缓冲;string_arg_units 经 to_units_full 取单元。
动态源编码(eval/Function/$262.evalScript)重设计(Group A 6 文件 + value-u):
source_escape 旧设计把源码域反斜杠恒双写(与 marker 起始区分),但源码即
JS 程序、反斜杠恒为字面量内转义序列起始,双写改变程序语义——
/\u{1d306}/u 变 /\\u{1d306}/u,u 模式撞裸 { 直接 SyntaxError(value-u 回归
根因)。现反斜杠原样透传;孤立 surrogate/FFFD 单元仍以 \\uXXXX 转义文本
注入(Rust str 无法承载裸孤立 surrogate,转义文本是唯一注入形态);
source_escape_to_key 逆路径仅还原注入 marker(\\ud800..\\udfff/\\ufffd
小写转义文本 → FFFD+hex4 池键形态,物化 decode_key 还原原始单元,正则
.source 按原始源返回;用户转义文本 \\u0041/\\u{1d306} 等逐字透传),
\\+marker 拼接形态(数据反斜杠紧邻注入,S7.8.5_A1.4 族 cu=d800 断言)按
前瞻还原 [数据反斜杠, 单元]。source_encoded 标志经 Compiler→Emitter→CompileCtx
(嵌套继承)贯通,仅动态编译入口置位;静态源切片维持 pool_key_plain 不变。
RegExp [[Source]]/[[Flags]] 单元域(regexp 构造器):to_units_full →
new_string_units_owned 入键(旧 lossy to_string 把孤立 surrogate 单元打成
FFFD,src_match 探针 false);regress 编译仍 lossy(既有缺口,另行报告)。
三并钉:source_escape marker 形态 / 反斜杠透传 / decode_key∘to_key∘escape
闭环(含 \\+marker 相邻与 astral 对)。实测:Group A 8/8、Group B 5/5、
value-u 1/1;8178 文件回归子集(13 目录)双树 A/B 差分 HEAD-only=∅、
13 文件转双树同 pass;text-self.js 双树同 compile 败
(requested module export is not exported: default)归 pre-existing;
七 crate 单测 2879/1(唯一失败 compile_class_declaration_emits_constructor
为 HEAD~0 既有,本提交未引入)。
|
2026-09-14 07:16:00 +00:00 |
|
pjh123
|
3acac721b0
|
types/kernel/vm/builtins: JsString UTF-16 载荷层(FlatU16 变体 + 单元入口)——原 UTF-8 载荷只存 well-formed 串、孤立 surrogate lossy 转 U+FFFD 回写,FromCodePoint/属性转义与字符串面码点语义皆破;现载荷直存 [u64;3](Flat well-formed / FlatU16 单元序列 / Cons 拼接),utf16_len 独立 32 位字,32B 布局锚保持;from_units 智能路由(含孤立→FlatU16),as_str 仅限 Flat,units/units_borrowed 单元借用,as_lossy_str 宽容读;string_forge 编解码 surrogate 感知(孤立 surrogate 逃逸 hex4 编码、解码展开 astral 代理对、string_ptr 由单元物化);VmHost 单元物化/分配/查询入口 + runtime_api 单元 API;字符串内置全法单元化(charAt/slice/substr/split/replace/search/match/matchAll 单元定位;空模式边界:search→0、match→[""]、replace 插 0 位、matchAll 游标耗尽守卫;接收者 ToString 错误原样传播);正则内置单元化(exec/test/search/symbol_* 单元文本,替换串 \u{...} 与孤立 surrogate 文本处理,lastIndex 与 matchAll 游标单元化);字符串迭代器码点化(高代理+后续低代理成对产出,astral 值回真实码点);String(Symbol) 抛 TypeError;回归钉更新五处(charAt/split/slice/substr 单元精确语义 + dispose 钉改 TypeError 断言);四 crate 全绿(oxide_vm 98 套件 2403 测)+ clippy/fmt 零新增
|
2026-09-13 22:42:10 +00:00 |
|
pjh123
|
650b8c00cc
|
builtins/vm: ZDT 直读 5 方法绑定(toInstant/toPlainDate/toPlainDateTime/toPlainTime/startOfDay)——纪元槽直读零时区换算、本地分量经 plain_parts 换算、startOfDay 当地午夜含范围校验,ZDT 语料 45 文件 fail→pass
|
2026-09-13 17:06:10 +00:00 |
|
pjh123
|
699059aee5
|
emit/vm: delete 全局可写内置标识符真删属性并清镜像槽——新增 DELETE_GLOBAL_PROP_C,可删名集自可写划分单源派生(除 globalThis 与宿主名),test262 delete JSON 用例由红转绿
|
2026-09-13 12:26:01 +00:00 |
|
pjh123
|
50674ee4f5
|
builtins/vm: matchAll 编译正则载体专型标签,释放/深拷贝经 RegExp 同一守卫,止逐调用 Box 泄漏
|
2026-09-13 11:05:52 +00:00 |
|
pjh123
|
1fd3bbf9e0
|
test: promise 结算值与挂起帧 BigInt 唯一引用 unit 级确定钉——完整收集后仍登记 session 表
|
2026-09-13 09:05:57 +00:00 |
|
pjh123
|
41a3aef29e
|
fix: CREATE_CLOSURE 跨 run 帧按执行帧表代际解析——嵌套闭包错代盖写闭合,挂起恢复重设活跃代际,OOB 消息上界对齐实际查表代际
|
2026-09-12 22:04:42 +00:00 |
|