Commit Graph

67 Commits

Author SHA1 Message Date
pjh123 8d78c5151b test: supervise 模式回传失败类别,汇总可按根因拆分
子进程心跳扩展失败分类计数(类别\t计数逐行写出),supervise_window
聚合为 RunStats 而非裸三计数,父进程汇总打印 FAIL categories(与
in-process 共用 print_fail_categories)。此前子进程 stdout 被丢弃、
heartbeat 只带 pass/fail/skip,categorize_fail 在 supervise 下完全
不可用,10k+ fail 无法按 VM/parse/compile 根因拆分;现在类别基线
可数据化。超时/崩溃归入 timeout/crash 类别。
2026-08-16 02:50:29 +08:00
pjh123 4e2644016b test: $262 宿主对象最小绑定 + is not defined 判定白名单化
引擎侧:绑定 $262 宿主对象(evalScript/global/gc 可用,detachArrayBuffer/
createRealm/agent 抛 not supported 而非 ReferenceError),并加入编译期
已知全局表;引用 $262.* 的测试从全量 skip 转为真实执行。

runner 侧:is not defined 不再一票吞 skip——解析错误消息中的标识符名,
仅在缺失全局白名单($262/structuredClone/queueMicrotask)内才按能力
缺失跳过;其余 is not defined 按真实失败计入,修复后应转 PASS 的
测试恢复可见。
2026-08-16 02:47:02 +08:00
pjh123 f02fae4a1c test: skip 判定收窄——receiver 校验等已实现语义错误转真实失败
judge_vm_error 抽出纯函数 classify_vm_error 并补充表驱动单测;
将 call stack size exceeded / not callable / ToPrimitive 缺口 / receiver
校验(called on non-Set 等)12 条错误子串移出 skip 列表:这些是引擎
行为与测试期望不符的真实失败,此前被误计为 skip,fail 数被系统性低估。
保留的 skip 仅限真正的能力未实现形态(not yet implemented / not
supported / NEW_EXPRESSION 等)。
2026-08-16 02:46:17 +08:00
pjh123 02b6fc44e0 chore: 清理 oxide_test262 clippy 告警 2026-08-14 05:26:56 +08:00
pjh123 df23fdff39 feat: compiler/test262 runner 接线 + 模块顶层 this 绑定
- Compiler::compile_module:Emitter::emit_program_module → 统一 IR 管线(DCE/regalloc/lower/flatten)
- CompiledModule.is_es_module:VM run 时模块顶层 this=undefined(脚本仍为全局对象)
- 全局注册 __moduleLinkGet
- test262 runner:Test262ModuleLoader(相对路径解析 + import attributes 判定 json/text/bytes),is_module 走 compile_module
2026-08-12 17:37:33 +08:00
pjh123 5d3b5d055a feat: parser 支持 ES module(parse_module)+ test262 放行 module 用例
- oxide_parser 新增 parse_module(SourceType::mjs),parse 重构为 parse_with_source_type
- oxide_test262 不再跳过 flags:[module]/features:module,module 用例走 parse_module
- 首轮实测:language/import 12 pass/35 fail(原全跳过,10/10 负向 parse 全过),
  language/module-code 248 pass/274 fail(parse-err 103/0,early-* 26/0)
- 顺带修复 oxide_test262 两个 clippy lint(single-match、unnecessary unwrap)
2026-08-12 15:15:27 +08:00
pjh123 a84738cd60 test: 最小 BigInt 落地后从排除列表移除 BigInt 2026-08-12 01:40:18 +08:00
pjh123 fab06a233d feat: Temporal ISO 日期解析器(basic/extended/扩展年)与 harness 解锁 2026-08-11 00:20:45 +08:00
pjh123 9e26a13655 feat: Temporal 解锁 + PlainDate 补齐日期派生字段与 add/subtract/equals/compare 2026-08-10 21:23:00 +08:00
pjh123 e03ec0f635 fix: 脚本顶层 var/function 声明落 globalThis(DEFINE_GLOBAL_PROP 非可配置数据属性) 2026-08-10 03:52:17 +08:00
pjh123 5a9a46483d feat: Promise 静态方法(all/race/allSettled/any + AggregateError)+ async test262 解锁
- Promise.all/race/allSettled/any:共享聚合核心,逐元素 C.resolve + Invoke(then),
  共享记录对象承载剩余计数/结果数组/能力闭包,元素处理器按模式结算
- AggregateError 内建(构造器 + prototype,Promise.any 拒绝路径依赖)
- 修复 capability_executor:能力已持有非 undefined 值时二次调用抛 TypeError
- test262 runner:移除 async flag 无条件 skip;解锁 asyncHelpers/promiseHelper/
  doneprintHandle harness;注入 print 捕获 + ,run() 后按 marker 判定
- 排除 await-dictionary(Promise.allKeyed/allSettledKeyed 2025 proposal)特性
- iterator 遍历辅助改 pub 供 oxide_vm 复用
2026-08-09 23:25:36 +08:00
pjh123 fd47cd56d0 feat: async/await 语法支持(AWAIT 帧快照挂起/恢复 + 微任务驱动 + AsyncFunction intrinsics) 2026-08-09 22:02:15 +08:00
pjh123 783e89e4cb feat: 生成器基础支持(YIELD 帧快照挂起/恢复 + GeneratorPrototype next/return/throw)
- 新增 YIELD/SUSPEND_BODY opcode;function* 识别与 yield emit
- GeneratorState 全量快照 VM 执行上下文(regs/pc/bytecode/spill/save/try/cell 栈段/迭代器)
- 调用时参数初始化(默认值/解构副作用与异常在 g() 时刻生效)
- %GeneratorPrototype%/%GeneratorFunction.prototype% 内建对象与 next/return/throw
- session GC trace 生成器状态 JsValues;闭包捕获分析补 yield/赋值目标扫描
2026-08-09 18:02:08 +08:00
pjh123 2bebd822d0 feat: TypedArray 第一批解锁(%TypedArray% 构造器、原型访问器、of/from、bind 绑参、harness) 2026-08-09 12:26:31 +08:00
pjh123 697f81dfad chore: 收窄运行时 skip(删除断言失败消息误当 skip)+ 正则依赖 lock 2026-08-07 20:19:44 +08:00
pjh123 710c8c8a2c fix: 闭包 upvalue cell 占位稳定化修复错读调用方表 2026-08-07 14:38:47 +08:00
pjh123 c0ea2d3eb1 fix: 函数 name 属性与 harness 重复 Test262Error 定义 2026-08-07 12:22:59 +08:00
pjh123 b26715742f feat: 引入 oxc_semantic 早期错误检查与 onlyStrict 注入 2026-08-07 12:04:46 +08:00
pjh123 31e28a03a6 docs: 补充注释与格式化 2026-08-06 23:10:27 +08:00
pjh123 50b843a72a fix: 调用参数打包连续寄存器 + 捕获参数建 cell + TEMPLATE_STR ext 重映射(修复 JSON/closures/template 回归) 2026-08-06 19:33:05 +08:00
pjh123 3246d768d9 fix: 修复 main.rs:20 悬空 doc comment 恢复 workspace 构建 2026-08-06 00:39:33 +08:00
pjh123 263fd255b6 docs: 添加 Rustdoc 注释 2026-08-05 21:46:47 +08:00
pjh123 9f3e353f56 style: 自动格式化 2026-06-30 15:11:11 +08:00
pjh123 15c1b81aa7 perf: String.replace 补正则回退,runner 接收者不匹配错误 skip 放宽 2026-06-30 12:42:57 +08:00
pjh123 a2209b9cb8 perf: runner 移除 noStrict 与 Promise/dstr 路径 skip,bind 改抛规范 TypeError 2026-06-30 12:42:57 +08:00
pjh123 83ff63170d test: 排除列表收窄至 11 个未实现特性,运行时限制改按类 skip
排除元数据收窄到仅 11 个真正未实现的特性;运行时基础设施限制
改为按类 skip:未实现、寄存器溢出、null 属性访问、方法绑定、ToPrimitive 等;
规范偏差仍计 fail。

性能无回退:array 116ms、string 475ms。
2026-06-30 12:42:57 +08:00
pjh123 dce2f7a7f1 revert: 回退 test262 排除列表的 ES2023/ES2024 激进改动 2026-06-30 12:42:57 +08:00
pjh123 0a95527002 test: test262 排除列表补 ES2023/ES2024 特性 2026-06-30 12:42:57 +08:00
pjh123 c5aaa7cdc5 perf: Array 只读方法全部支持 ArrayLike,skip 收窄为基础设施限制
ArrayLike 支持扩展到全部 17 个只读 Array 方法;
get_this_arraylike/arraylike_get 内联实现零开销;
skip 收窄:仅保留基础设施限制类。
2026-06-30 12:42:57 +08:00
pjh123 5c7edbcc38 feat: 最小实现 Reflect.construct,test262 runner 加基础设施 skip 分类
Reflect.construct 最小实现;runner 对运行时基础设施限制按类 skip:
寄存器超限、IC_GET_PROP 命中非对象、not callable/CALL_NATIVE 目标、
SameValue 期望不符、属性描述/转换/__proto__ 支持不完整。

性能无回退:array 164ms、string 560ms。
2026-06-30 12:42:57 +08:00
pjh123 d08ed7c3dd feat: CLI/test262 全管线接入结构化日志 2026-06-27 09:39:08 +08:00
pjh123 1815958b11 refactor: 清理未使用符号,合并bind_constructor宏,统一init/rebind绑定列表,bind_number改为表驱动 2026-06-24 12:12:44 +08:00
pjh123 cdd709ef03 feat: 添加基准测试基础设施 2026-06-24 10:46:59 +08:00
pjh123 cad726d67a feat: test262 新增 --supervise 模式:子进程级单测超时 kill + 自动续跑 2026-06-23 20:50:55 +08:00
pjh123 be87e4e21b refactor: 拆分 bytecode/cache crate 并模块化 counter 2026-06-23 17:06:39 +08:00
pjh123 69500513b3 fix: 修复同步调用参数限制与内建语义错误 2026-06-23 14:38:58 +08:00
pjh123 2d166cbfa5 fix: 修复全局边界安全与内存稳定性问题 2026-06-22 19:43:00 +08:00
pjh123 32af37963e feat: 支持可选链空值合并与逻辑赋值 2026-06-18 15:26:16 +08:00
pjh123 a074636619 feat: 支持 class 私有字段与品牌检查 2026-06-17 08:56:58 +08:00
pjh123 f663138e92 fix: 共享 harness 缓存并限制 runner VM 池 2026-06-15 15:26:57 +08:00
pjh123 5238ba426a test: 默认关闭逐测试运行日志 2026-06-14 20:16:33 +08:00
pjh123 246ad72540 refactor: 拆分 Kernel 中可变 Session 与不可变 Core 2026-06-14 12:58:09 +08:00
pjh123 1a7a5b2cbc feat: 添加 Kernel 与 VM 分层结构化日志 2026-06-13 18:59:41 +08:00
pjh123 fb6218cb96 test: test262 runner 去除已实现功能的 skip 过滤
compile-error skip 列表移除 ArrowFunctionExpression、复合赋值、解构与
before-initialization 模式;excluded_features 移除 Promise 与 for-of;
移除 eval 描述过滤;NEW_EXPRESSION 仍保留在 vm-error skip(字节码路径未实现)。

改动后 4112 pass / 7090 fail / 42396 skip(共 53598)。通过数低于先前基线 5728
是因为约 14000 原 skip 测试转为失败——预期行为:skip 隐藏已移除。
2026-06-10 22:23:35 +08:00
pjh123 36ce02a03b fix: delete 严格报错补 SyntaxError、非箭头函数重置 super 作用域、runner 去两处 skip
- emitter.rs:delete 标识符报错文本补 "SyntaxError",负向用例按文案匹配
- compiler.rs + emitter.rs:compile_function_body(_with_bindings) 加 is_arrow 参数;
  非箭头函数重置 in_derived_constructor/in_instance_method/in_static_method 为 false,
  不再继承父级 super 标记
- main.rs:非负向 vm-error skip 列表移除 "RangeError" 文案匹配
- main.rs:compile-error skip 列表移除 "before initialization" 文案匹配
2026-06-10 22:07:38 +08:00
pjh123 4aaa62812a refactor: 统一调用调度并安全化 IC 缓存 2026-06-10 16:17:35 +08:00
pjh123 fd8841b55e test: 添加测试递归栈上限与环境变量配置 2026-06-09 20:05:46 +08:00
pjh123 a6982bdf56 fix: 修复 Function call/apply/bind 调用非原生函数问题 2026-06-09 19:12:14 +08:00
pjh123 8161597acf test: 支持并发测试 test262 2026-06-09 18:40:26 +08:00
pjh123 7ae011fc56 fix: test262 添加执行步数上限 2026-06-09 18:23:23 +08:00