Commit Graph

51 Commits

Author SHA1 Message Date
pjh123 1824ef0df1 feat: num-bigint 接入任意精度 BigInt(字面量、算术、toString、asIntN/asUintN) 2026-08-12 03:15:18 +08:00
pjh123 8a53bfb584 feat: 编译管线/类型层 crate 补全多级日志宏 + 关键路径日志 2026-08-10 17:56:28 +08:00
pjh123 020989a348 refactor: 清理 dead abstraction(oxide_api 空壳/空钩子/PersistentHeap/空目录) 2026-08-10 11:54:44 +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 7a559978f0 feat: Set/Map 构造器接收可迭代实参 + size 访问器 + ES2024 set-methods 2026-08-08 18:01:00 +08:00
pjh123 db04bc25c9 feat: 迁移到 regress 引擎(backref/lookaround/命名组/v-flag)+ 手动 \$ 展开 replace + exec 捕获组数组 2026-08-07 21:29:22 +08:00
pjh123 697f81dfad chore: 收窄运行时 skip(删除断言失败消息误当 skip)+ 正则依赖 lock 2026-08-07 20:19:44 +08:00
pjh123 0ce089b522 chore: 锁定 oxc_semantic 依赖 2026-08-07 12:27:32 +08:00
pjh123 50b843a72a fix: 调用参数打包连续寄存器 + 捕获参数建 cell + TEMPLATE_STR ext 重映射(修复 JSON/closures/template 回归) 2026-08-06 19:33:05 +08:00
pjh123 0b0d36fa85 feat: 新增 oxide_regalloc crate,干涉图 + graph coloring + spill 拆分(D-09/D-10/D-11) 2026-08-06 17:13:27 +08:00
pjh123 59d2c93bff feat: 新增 oxide_liveness crate,CFG 数据流 liveness + 逐指令 live range(D-15) 2026-08-06 16:41:57 +08:00
pjh123 957f8f0fe7 chore: 更新 Cargo.lock 记录 oxide_compiler → oxide_dce 依赖 2026-08-06 11:49:26 +08:00
pjh123 213a9820de feat: 实现 Pass A 可达性 + Pass B use 计数迭代删除
- Pass A 消费 build_cfg,entry 沿 succs DFS(含 Exception 边保守,Pitfall 4)展开指令粒度 keep
- Pass B 可达存活指令聚合 use 计数,def 无 use 且 is_pure 迭代删至不动点(D-02 连锁)
- Pass C 最小 mark-sweep 重建 insts + label_pos 重映射(死 label 置 None)
- 依赖 oxide_bytecode(测试需 OpCode 常量,Rust 无 crate 传递可见性,与 oxide_cfg 骨架一致)
- 单测 8 条:死链/负例/STORE_VAR 特判/if-else/死块/Exception 保守/死闭包/连锁
2026-08-06 11:33:27 +08:00
pjh123 acd8e54e59 feat: 新建 oxide_cfg crate(BB 划分 + CFG 构建 pass) 2026-08-06 00:45:48 +08:00
pjh123 7c8f19f61a refactor: 拆分 oxide_emit 为独立 emit pass crate(依赖倒置) 2026-08-05 20:13:18 +08:00
pjh123 4f670eb7fd refactor: 拆分 oxide_ir 为独立 crate 2026-08-05 19:34:44 +08:00
pjh123 e9e1ad8acd feat: 新增 Operand/Inst/IRFunction 类型系统与构造 API 2026-08-05 17:17:51 +08:00
pjh123 b85df71019 feat: 新增 to_integer_or_infinity/to_length/same_value_zero 三个 ES 抽象操作辅助函数,修复 objects_keys/create/defineProperty/assign/getOwnPropertyNames 五个方法的 TypeError 处理 2026-06-27 14:42:16 +08:00
pjh123 d08ed7c3dd feat: CLI/test262 全管线接入结构化日志 2026-06-27 09:39:08 +08:00
pjh123 fc59505116 feat: 为内核构造、BuiltinWorld 初始化、ShapeForge/StringForge/CodeForge 添加结构化日志 2026-06-26 21:09:36 +08:00
pjh123 e4abfd7599 refactor: 迁出日志宏,移除直接依赖 2026-06-26 18:53:48 +08:00
pjh123 1dae260646 feat: 封装日志基础设施 2026-06-26 18:43:29 +08:00
pjh123 f23d4e61b2 feat: 提取 oxide_builtins 独立 crate,泛型化 <H: VmHost> 2026-06-25 22:38:23 +08:00
pjh123 00c38ba5f9 feat: 迁移 NativeResult 2026-06-25 18:32:09 +08:00
pjh123 bb4ce39e50 feat: CodeForge 改用有界 Mutex<LruCache>,KernelConfig 新增 max_cached_modules 2026-06-24 16:17:40 +08:00
pjh123 4535f70f80 fix: GC sweep 复用 Vm.forwarding,消除每轮 HashMap 分配 2026-06-24 15:59:55 +08:00
pjh123 cdd709ef03 feat: 添加基准测试基础设施 2026-06-24 10:46:59 +08:00
pjh123 be87e4e21b refactor: 拆分 bytecode/cache crate 并模块化 counter 2026-06-23 17:06:39 +08:00
pjh123 551695bfad refactor: 扁平化对象属性存储并优化常量池与 IC 热路径 2026-06-13 23:59:47 +08:00
pjh123 1a7a5b2cbc feat: 添加 Kernel 与 VM 分层结构化日志 2026-06-13 18:59:41 +08:00
pjh123 107cc1bc37 feat: 支持 Object/Array/String 成员方法 2026-06-08 13:09:58 +08:00
pjh123 c66c3f0f50 feat: 支持 Date/Map/Set 成员方法 2026-06-08 03:25:07 +08:00
pjh123 29eb9170c0 feat: CLI 支持 JSON 对象输出 2026-06-07 23:47:59 +08:00
pjh123 fe1cce5fbe feat: 支持 JSON 成员方法 2026-06-07 23:41:52 +08:00
pjh123 c4d1cf4566 feat: 支持 String 对象及成员方法 2026-06-07 10:36:02 +08:00
pjh123 439b61e359 feat: 搭建原生函数基础设施 2026-06-07 01:07:45 +08:00
pjh123 b0b55abbe1 test: 适配 test262 测试套件 2026-06-06 18:51:54 +08:00
pjh123 a2762fe3c9 feat: 添加 do while 与 for-in 语法枚举指令支持 2026-06-06 18:18:31 +08:00
pjh123 1886840675 feat: 将 kernel 接入 CLI 流程 2026-06-05 23:57:09 +08:00
pjh123 fe3331d995 refactor: 集中 AST 缓存逻辑实现并清理无关依赖 2026-06-05 23:53:30 +08:00
pjh123 7b862023a7 refactor: 将基础类型定义放在单独 crate 以解决循环依赖 2026-06-05 22:50:06 +08:00
pjh123 c17bce9c26 feat: 搭建内建函数原型链框架 2026-06-05 22:05:42 +08:00
pjh123 8ca65c3e2d feat: 实现全局字节码编译缓存池 2026-06-05 21:46:23 +08:00
pjh123 4c94d7c40e feat: 实现双释放规则的全局字符串共享池 2026-06-05 21:29:58 +08:00
pjh123 0660e9948f feat: 初始化 VM 字符串表并支持字符串 ADD 指令 2026-06-05 17:48:51 +08:00
pjh123 9e6cb0f02b feat: CLI 可执行 JS 语句输出值 2026-06-05 03:31:48 +08:00
pjh123 381fb43759 feat: 实现 ECMAScript 类型强制转换 2026-06-05 03:15:43 +08:00
pjh123 2f1d666ed6 feat: 添加编译器集成测试与 CLI 编译命令 2026-06-05 02:59:09 +08:00
pjh123 e9895871ad feat: 实现结构哈希与编译缓存 2026-06-05 02:50:42 +08:00
pjh123 f34f10bcf2 feat: 实现 JsValue NaN-Boxing 值类型 2026-06-05 01:58:38 +08:00