Commit Graph

17 Commits

Author SHA1 Message Date
pjh123 4d0f11e30a fix: 符号原语数值与字符串转换改抛类型错误 2026-09-17 23:32:28 +00:00
pjh123 c8bcff83f6 fix: sloppy 模式属性赋值静默 no-op——写失败按写方严格模式分派,内置写路径一律按严格 2026-09-09 17:48:33 +08:00
pjh123 aa4c28cdf0 perf: member 复合写路径接入 IC 写命中(depth 0)消除每次 DashMap 查询与回写
set_member_prop 增加 ic_set_hit_own(仅接受 depth==0 槽,跳过读侧学习的
原型条目防原型污染)命中直写槽,ext_pc 由 read_member_prop 显式带出消除
隐式 pc 契约;写新属性 miss 分支(IC_SET 分发 + member 写)统一改
CreateDataProperty 快路径(保留原型链 setter/readonly 检查),砍掉
ordinary_set 全链路的重复查询与 shape 转换开销。
2026-08-15 08:16:49 +08:00
pjh123 7362137720 chore: 清理 oxide_vm clippy 告警 2026-08-14 05:26:46 +08:00
pjh123 af61dcf6fc feat: ToPropertyKey 改走 ToPrimitive,Symbol 键与描述符,转换错误可捕获 2026-08-12 09:59:56 +08:00
pjh123 5611d90ad0 feat: with 语句、成员位/移位复合赋值、CALL_NATIVE 无目标修复
with 语句:新增 emit 支持,with 体内自由标识符动态解析(对象属性优先,
回退外层),支持读/写/复合赋值/自增自减/delete/var 初始化动态化,
TO_OBJECT opcode 处理原始值对象,顶层 this 绑定全局对象。

复合赋值:新增 6 个 COMPOUND_MEMBER_BIT_* opcode 支持成员位/移位复合赋值,
修复 computed member 复合赋值覆盖 bug,with 内标识符复合赋值动态化。

CALL_NATIVE:实现全局 isNaN/isFinite 并绑定,用户覆盖 builtin 名时
回退通用调用路径而非报错,局部遮蔽 builtin 名走普通 CALL。

test262: with 34 pass(基线 0),compound-assignment 320 pass(基线 223)
2026-08-09 07:22:46 +08:00
pjh123 3e7c082293 feat: 为 VM 添加结构化日志 2026-06-26 20:50:05 +08:00
pjh123 f23d4e61b2 feat: 提取 oxide_builtins 独立 crate,泛型化 <H: VmHost> 2026-06-25 22:38:23 +08:00
pjh123 ddffa8504e refactor: 字符串值改用 JsString 指针表示,键与字面量改用 PermInterner 2026-06-24 20:15:15 +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 246ad72540 refactor: 拆分 Kernel 中可变 Session 与不可变 Core 2026-06-14 12:58:09 +08:00
pjh123 4aaa62812a refactor: 统一调用调度并安全化 IC 缓存 2026-06-10 16:17:35 +08:00
pjh123 15f1bce1e5 feat: 添加访问器属性元数据与普通属性访问 2026-06-09 15:24:37 +08:00
pjh123 f77499e5cd style: 减少自动格式化换行 2026-06-09 00:53:46 +08:00
pjh123 296181b2dd refactor: 拆分属性与成员分发并统一 LOAD_CONST 发射 2026-06-09 00:27:09 +08:00
pjh123 2ae9fab458 refactor: 拆分绑定函数与封装宏以简化模块实现 2026-06-08 07:37:46 +08:00