pjh123
|
1e8861e14f
|
fix: C 风格 for 词法头建立独立每迭代环境
|
2026-09-17 21:21:36 +00:00 |
|
pjh123
|
9b65feb2ab
|
fix: 模块命名空间暴露符号标签自身键
|
2026-09-17 20:26:44 +00:00 |
|
pjh123
|
f11506a949
|
fix: 字符串迭代器函数直构并统一字节数组转换
|
2026-09-17 20:14:36 +00:00 |
|
pjh123
|
e86ec8d7d2
|
fix: 修正捕获可见性过滤的前向捕获与隐式全局误判
|
2026-09-17 20:07:23 +00:00 |
|
pjh123
|
12aa250542
|
fix: 字符串默认迭代器缺失时按不可迭代抛错
|
2026-09-17 19:57:39 +00:00 |
|
pjh123
|
738cf620c1
|
fix: 捕获名解析增加块作用域可见性检查
|
2026-09-17 19:29:33 +00:00 |
|
pjh123
|
79518ba827
|
fix: strict 删除非可配置属性抛错并修正数组长度
|
2026-09-17 19:17:16 +00:00 |
|
pjh123
|
3de3b639d9
|
fix: switch 语句补 case 块作用域与函数预声明
|
2026-09-17 19:09:22 +00:00 |
|
pjh123
|
f73f5b8005
|
fix: for-in/of 解构声明头支持与默认值 TDZ
|
2026-09-17 18:48:55 +00:00 |
|
pjh123
|
7e46ecfb76
|
fix: sloppy eval 顶层块函数参与全局声明实例化
|
2026-09-17 18:36:35 +00:00 |
|
pjh123
|
e90edba4ec
|
fix: if 支臂函数绑定收集下钻容器语句
|
2026-09-17 18:29:44 +00:00 |
|
pjh123
|
a176a3c305
|
fix: 修正 if 支臂函数绑定门控的嵌套与内置名判据
|
2026-09-17 18:06:56 +00:00 |
|
pjh123
|
eb2fb00249
|
fix: 字符串关系比较统一按 UTF-16 码元序
|
2026-09-17 17:54:29 +00:00 |
|
pjh123
|
133542d439
|
fix: if 支臂函数声明不再遮蔽同块同名 var
|
2026-09-17 17:50:34 +00:00 |
|
pjh123
|
37b1c4a62b
|
fix: 嵌套函数删除隐式全局名后外层读取不再取残留
|
2026-09-17 17:29:25 +00:00 |
|
pjh123
|
8953e18ff1
|
fix: 函数体内标签包裹的函数声明参与入口提升
|
2026-09-17 17:19:22 +00:00 |
|
pjh123
|
2c77cb5e9f
|
fix: 未初始化 var 在赋值前读取不再取寄存器残留
|
2026-09-17 17:10:02 +00:00 |
|
pjh123
|
83d536242f
|
docs: 改写虚拟机测试内部编号为语义描述
|
2026-09-17 14:33:19 +00:00 |
|
pjh123
|
7a5b1b2d06
|
refactor: vm.rs 内联测试按属主模块归位
|
2026-09-16 17:07:29 +00:00 |
|
pjh123
|
54c1da6433
|
fix: eval 顶层 let/const 的 delete 探针臂收窄至 var/函数名集
|
2026-09-15 17:05:59 +00:00 |
|
pjh123
|
6cde7738b1
|
fix: 块级函数声明支臂不再块入口物化,声明点按入口物化状态区分写回
|
2026-09-15 16:41:37 +00:00 |
|
pjh123
|
0418820115
|
fix: 块级函数 builtin 名守卫收窄至只读三常量面,可配置 builtin 恢复实例化写回
|
2026-09-15 06:42:12 +00:00 |
|
pjh123
|
1b26bc7ed8
|
fix: 块级函数声明闭包物化提前至块入口,声明点退化为外层 var 写回
|
2026-09-15 05:42:08 +00:00 |
|
pjh123
|
4452f1da69
|
fix: delete 标识符按 DeleteBinding 三分类发运行期探针,补真删与读侧效应
|
2026-09-15 05:03:28 +00:00 |
|
pjh123
|
aafd07728c
|
fix: delete 非对象基按 ToObject 装箱判删,仅 null/undefined 基抛错
|
2026-09-15 03:56:18 +00:00 |
|
pjh123
|
320c660620
|
fix: 块级函数声明补 web-compat 外层 var 绑定实例化与声明点写回
|
2026-09-15 03:48:19 +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
|
4b0b52ade3
|
fix: 语义重名诊断引擎侧复核,放行跨语句列的函数名合并
供应商语义检查器把"同语句列"近似为"声明域非 Top/Function
且前一项是函数声明",for-in/for-of 域用空 ScopeFlags 因而漏掉
Top|Function 守卫,误拒跨语句列的函数名与 var 头合法合并。
引擎侧在归一化前按 AST 复核:仅当函数非任一 block/case 列表
直接成员、或其外层链不含该列表时剔除该重名诊断,复核后无
剩余错误则落回解析成功。
|
2026-09-15 02:18:07 +00:00 |
|
pjh123
|
da5e6d13ba
|
fix: for-in/of 词法头建独立 TDZ 环境,捕获与右值直读归正
|
2026-09-14 23:58:10 +00:00 |
|
pjh123
|
c50eb9e566
|
fix: 复合语句域收敛真实完成值,空体物化 undefined 不沿用前值
|
2026-09-14 22:51:29 +00:00 |
|
pjh123
|
92df76565b
|
fix: 迭代可选入口对非空不可调用 @@iterator 抛错并实现 IsHTMLDDA 宿主值
|
2026-09-14 22:16:43 +00:00 |
|
pjh123
|
5cfd3162ba
|
fix: 顶层模块求值完成值归空记录,依赖命名空间返回口径不变
|
2026-09-14 21:20:17 +00:00 |
|
pjh123
|
647fb31af7
|
fix: 模块顶层路径归一绝对口径,自导入不再误判为外部依赖
|
2026-09-14 20:39:58 +00:00 |
|
pjh123
|
fa67988ab4
|
fix: 变量声明完成值归空记录,脚本保留末非空完成值
|
2026-09-14 20:15:08 +00:00 |
|
pjh123
|
53da6ef817
|
fix: @@iterator 解析不到可调用时迭代可选入口回退 array-like
|
2026-09-14 19:45:52 +00:00 |
|
pjh123
|
71e3e6c829
|
test: 钉五位与花括号 unicode 转义解码边界及三非法形
|
2026-09-14 18:36:52 +00:00 |
|
pjh123
|
c7ebcea305
|
fix: with reject 分支负分量先校验范围再截断
|
2026-09-14 17:41:05 +00:00 |
|
pjh123
|
d67e1469c1
|
fix: 迭代器快速路径尊重用户覆盖的 @@iterator
|
2026-09-14 17:35:40 +00:00 |
|
pjh123
|
954ceb2109
|
fix: PlainTime 构造器负时间分量改抛 RangeError 不再饱和归零
|
2026-09-14 16:31:51 +00:00 |
|
pjh123
|
99c1254fab
|
fix: for-in 与 for-of 头 var 名补编译期预声明臂
|
2026-09-14 16:14:31 +00:00 |
|
pjh123
|
b00147eff1
|
test: 顶层函数声明撞不可定义全局补两阶段回归钉
|
2026-09-14 16:05:53 +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
|
91946f3fe3
|
fix: PlainDateTime 构造器显式 undefined 时间分量取默认值
|
2026-09-14 13:40:32 +00:00 |
|
pjh123
|
2760edfbb9
|
fix: PlainDate 与 PlainTime 构造器数字分量走 number-only 转换面
|
2026-09-14 13:29:58 +00:00 |
|
pjh123
|
d877e63cf1
|
fix: 全局对象成员写与删后镜像槽反向同步防裸读失步
|
2026-09-14 13:10:17 +00:00 |
|
pjh123
|
75b98e7f78
|
fix: 良形 FFFD 属性键收口到编码键空间形态
|
2026-09-14 10:55:53 +00:00 |
|
pjh123
|
eb6bc412d9
|
builtins/vm: JSON.stringify 序列化与键面改单元域——孤立 surrogate 串值不再被 lossy 串值打碎
jsvalue_to_json 串值分支原经 to_owned_string(lossy)后按 char 流序列化:孤立
surrogate 单元被打成 U+FFFD 且输出裸非法码单元(非 well-formed JSON,
JSON.parse 无法复原同值)。现按单元流序列化(stringify_string_units):良配
代理对原样输出 astral 字符,非配对孤立 surrogate 输出 \\uXXXX(well-formed
JSON 要求,round-trip 复原同值),C0/C1 控制码输出 \\uXXXX,其余按 JSON
转义规则。
toJSON/replacer 键参数同改:键 si 物化为单元序列(整数键 → ASCII 数字串,
字符串键 → 码表键经 decode_key 还原含孤立 surrogate 单元),new_string_units_owned
建参——与 0c750fa 键物化面(Object.keys/ownKeys/entries/Reflect.ownKeys/json
reviver 键同源)口径一致,replace/reviver 键参数不再走 lossy 串值。
三并钉:json_tests 增补 stringify 孤立 surrogate round-trip / 代理对 astral
直出 / 键面单元传递三则;JSON 套件 37/0,node 13 用例对照一致。
|
2026-09-14 07:33:51 +00:00 |
|
pjh123
|
0c750fa74c
|
emit/kernel/vm/builtins: 常量池键编码 + 键物化真实串值面 + 16 回归钉——emit 侧字面量/键/模板统一改存无标志键编码:lone_surrogates 字面量与模板 cooked 按 oxc marker 解码还原真单元序列(FFFD+hex4≠fffd→surrogate 单元、FFFD+fffd→FFFD、FFFD+非 hex 防御臂),无标志串 encode_key(encode_utf16()) 入池(BMP 无 FFFD 键恒等 = 现值,池条目零漂移),string_pool 集中收口 9 处入池点;interner string_ptr 由单元物化(含孤立→FlatU16、良形→Flat);键物化面改真实 JS 串值(key_si_to_js_value 经 decode_key,Object.keys/ownKeys/entries/Reflect.ownKeys/json reviver 键同源;整数键反解数字串);批内修复三处子集 A/B 差分撞出回归:replace $n 展开按 spec GetSubstitution 重写(digitCount 2/1、越界回退 1 位、越界含 $0 原文输出,node 13 用例对照钉住)、String 构造器 Symbol 路径按 new.target 分流(String(sym)→描述串、new String(sym)→TypeError,恢复 to_string_for_string_constructor)、padStart/padEnd 未给 fill 时按单空格补(原 lossy 串取 'un' 杂质,pre-existing 一并归零);迭代器 dispose 钉改回真值断言(String(Symbol.dispose) 现合法返回描述串);property-escapes 613/0/0(B167 基线 582/31/0,31 归零)、String 子集 963/250/10 vs BASE 949/264/10(14 修 0 回归)、for-of +1(string-astral-truncated)、五 crate 113 套件 2680/0、clippy/fmt 零新增(JSON 面与全量 test262 收尾在 131.2 后续 commit 闭合)
|
2026-09-14 03:04:23 +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 |
|