pjh123
|
d0ab7fc2a0
|
fix: arguments 自动绑定判定限定直接子级声明
|
2026-09-17 21:31:01 +00:00 |
|
pjh123
|
1e8861e14f
|
fix: C 风格 for 词法头建立独立每迭代环境
|
2026-09-17 21:21:36 +00:00 |
|
pjh123
|
e86ec8d7d2
|
fix: 修正捕获可见性过滤的前向捕获与隐式全局误判
|
2026-09-17 20:07:23 +00:00 |
|
pjh123
|
738cf620c1
|
fix: 捕获名解析增加块作用域可见性检查
|
2026-09-17 19:29:33 +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
|
36f24e1f46
|
fix: 变量绑定名发射按名排序稳定字节码
|
2026-09-17 18:12:21 +00:00 |
|
pjh123
|
a176a3c305
|
fix: 修正 if 支臂函数绑定门控的嵌套与内置名判据
|
2026-09-17 18:06:56 +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
|
9307e0ecaa
|
docs: 修正私有槽与链元素注释的失实措辞
|
2026-09-17 16:09:11 +00:00 |
|
pjh123
|
0b33f4253a
|
docs: 补全 emit 小文件文档并改写类注释
|
2026-09-17 15:59:13 +00:00 |
|
pjh123
|
549d5c3cf7
|
docs: 整理闭包捕获分析注释并去除内部编号
|
2026-09-17 15:56:58 +00:00 |
|
pjh123
|
f751b7b7bb
|
docs: 统一预扫描与模块链接注释措辞
|
2026-09-17 15:55:20 +00:00 |
|
pjh123
|
c7c42c09f1
|
docs: 修正内置名写点注释的零动作表述
|
2026-09-17 15:48:00 +00:00 |
|
pjh123
|
a8c47a04a2
|
docs: 统一表达式读点注释并修正数组乱码
|
2026-09-17 15:39:54 +00:00 |
|
pjh123
|
24cc61d51e
|
docs: 统一循环与声明写点的注释措辞
|
2026-09-17 15:37:12 +00:00 |
|
pjh123
|
a656c42f77
|
docs: 统一顶层全局声明写点的注释措辞
|
2026-09-17 15:33:12 +00:00 |
|
pjh123
|
31f5fd8eaa
|
refactor: 删除类域空占位模块
|
2026-09-15 23:28:17 +00:00 |
|
pjh123
|
fa4c9edb81
|
refactor: 闭包捕获分析拆目录并自由函数化去除接收者
|
2026-09-15 23:02:03 +00:00 |
|
pjh123
|
985c27e5bb
|
refactor: prepass.rs 拆目录四文件 零逻辑零可见性改动
|
2026-09-15 22:49:04 +00:00 |
|
pjh123
|
423f075ddc
|
refactor: 顶层程序发射迁出 emit.rs 独立成 program 模块
|
2026-09-15 22:27:29 +00:00 |
|
pjh123
|
4c9d3f2873
|
refactor: 函数体编译链迁出 emit.rs 独立成 function_body 模块
|
2026-09-15 21:42:31 +00:00 |
|
pjh123
|
5efc64dc71
|
refactor: 错误守卫四函数迁出 emit.rs 独立成 errors 模块
|
2026-09-15 21:19:29 +00:00 |
|
pjh123
|
dc6d825cae
|
refactor: CompileCtx 状态族迁出 emit.rs 独立成 compile_ctx 模块
|
2026-09-15 21:16:31 +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
|
320c660620
|
fix: 块级函数声明补 web-compat 外层 var 绑定实例化与声明点写回
|
2026-09-15 03:48:19 +00:00 |
|
pjh123
|
da5e6d13ba
|
fix: for-in/of 词法头建独立 TDZ 环境,捕获与右值直读归正
|
2026-09-14 23:58:10 +00:00 |
|
pjh123
|
169e3aa62b
|
fix: delete 补括号剥层与非引用目标恒真臂,未声明名归真
|
2026-09-14 23:54:56 +00:00 |
|
pjh123
|
c50eb9e566
|
fix: 复合语句域收敛真实完成值,空体物化 undefined 不沿用前值
|
2026-09-14 22:51:29 +00:00 |
|
pjh123
|
5cfd3162ba
|
fix: 顶层模块求值完成值归空记录,依赖命名空间返回口径不变
|
2026-09-14 21:20:17 +00:00 |
|
pjh123
|
ca5c27574e
|
fix: directive 序言字符串按源序先发射且完成值参与收敛
|
2026-09-14 21:07:10 +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
|
fe57b4bcc5
|
docs: 检查段注释门禁指代改语义措辞
|
2026-09-14 16:16:47 +00:00 |
|
pjh123
|
99c1254fab
|
fix: for-in 与 for-of 头 var 名补编译期预声明臂
|
2026-09-14 16:14:31 +00:00 |
|
pjh123
|
d161b7cfe3
|
fix: 顶层声明撞不可定义全局按规范抛 TypeError
|
2026-09-14 14:32:39 +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
|
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
|
f088858cf4
|
emit/vm: 可删全局内置集撤 globalThis 与 TypedArray 两名——现行规范 globalThis 为 c:true 可删(真删清槽)、%TypedArray% 无全局名(删不存在属性返 true),宿主名排除面收窄至 $262,delete 子集 A/B 逐文件零翻转
|
2026-09-13 17:07:51 +00:00 |
|
pjh123
|
c80944d375
|
emit/vm: 受限词法名集回滚三常量——eval 为可配置全局属性属合法遮蔽(规范自有属性臂无静态受限臂),class eval 维持解析期拒绝独立钉住(类体恒严格,与受限集无关)
|
2026-09-13 12:26:12 +00:00 |
|
pjh123
|
699059aee5
|
emit/vm: delete 全局可写内置标识符真删属性并清镜像槽——新增 DELETE_GLOBAL_PROP_C,可删名集自可写划分单源派生(除 globalThis 与宿主名),test262 delete JSON 用例由红转绿
|
2026-09-13 12:26:01 +00:00 |
|