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
|
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 |
|