Commit Graph

21 Commits

Author SHA1 Message Date
pjh123 4f9b6ab444 refactor: 动态编译改经 CompilerService 注入,oxide_vm 去编译器依赖 2026-10-08 05:51:58 +00:00
pjh123 c6bc93a076 refactor: realm 与 Vm 生命周期解耦,Vm 持 Arc<Realm> 2026-10-07 01:35:16 +00:00
pjh123 4787f2180f fix: SET 原始值接收者按严格性分流并补脏重建本体标 2026-09-24 19:37:26 +00:00
pjh123 cc0ed44bd8 feat: 补全 Error 栈访问器 isError toJSON 与 Promise.try 2026-09-22 09:02:30 +00:00
pjh123 3169e8f2f9 perf: run 签名改 &Arc<CompiledModule>,顶层模块跨 run 共享——collect_flat_modules 顶层改 Arc::clone 消除逐 run 常量池深拷贝,全调用点 Arc 包装迁移 2026-09-11 22:19:13 +00:00
pjh123 9eb0944877 fix: Error.prototype.toString 异常传播语义——getter/Symbol/ToString 异常原样上抛
- name/message 读取改 ordinary_get:访问器 getter 触发,抛错经 take_uncaught_value 恢复原值传播
- name/message 转换改 to_string_full:Symbol 抛 TypeError,用户 ToPrimitive 异常原样传播
- 非对象 this 保持抛 TypeError(与现行规范 §20.5.3.4 及 test262 invalid-receiver/called-as-function 一致)
- 单测补 getter 抛错/Symbol name+message/toString 抛错四例
2026-08-22 10:44:48 +08:00
pjh123 75b429fac7 fix: Error 子类型构造器描述符与原型链对齐规范(prototype/name meta + [[Prototype]] 指向 Error) 2026-08-16 19:10:51 +08:00
pjh123 e100bfb8b4 feat: SuppressedError 内置错误实现(三字段属性序 + 构造器接线) 2026-08-16 19:04:09 +08:00
pjh123 528f893e63 fix: 错误对象属性枚举性、toString 标签与构造器调用语义
- message/name 属性改非枚举(CreateNonEnumerableDataPropertyOrThrow),
  Object.keys/for-in/JSON.stringify 不再泄漏错误信息
- 新增 Error 家族对象标签,Object.prototype.toString 输出 [object Error],
  含子类型与用户子类(沿原型链判定)
- Error 家族构造器补 length=1,函数调用忽略 this 一律新建对象
- JSON.stringify 序列化仅含可枚举自身属性(规范 EnumerableOwnPropertyNames)
2026-08-15 21:30:28 +08:00
pjh123 18aaa0fb0f fix: Vm 增加 Drop 收尾释放全部 session 堆数据消除逐实例泄漏
test262 每测试新建 Vm 直接 drop,此前对象堆数据/串/BigInt/cell 全部
泄漏。新增 teardown 收尾函数(epoch+session 对象堆数据、串、BigInt、
cell 统一释放)供 full_reset 与 Drop 共用。连带补齐 promote 分支的
ArrayBuffer 字节缓冲深拷贝(与 sweep 对齐,消除共享所有权 double-free),
并修正依赖旧泄漏行为跨 Vm 解析字符串的 error 测试。
2026-08-15 19:13:51 +08:00
pjh123 9a7fe9777d perf: typeof 改 js_type 单次提取并复用进程级静态字符串消除每次分配 2026-08-15 16:09:19 +08:00
pjh123 31e28a03a6 docs: 补充注释与格式化 2026-08-06 23:10:27 +08:00
pjh123 365b0e58f6 fix: Error原型属性、规范toString、V8风格stack trace 2026-06-27 20:13:17 +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 f77499e5cd style: 减少自动格式化换行 2026-06-09 00:53:46 +08:00
pjh123 1c68a03654 fix: 修复 THROW 错误类型与 Error 子类构造器 2026-06-08 23:14:02 +08:00
pjh123 10a92c7c8a style: 自动格式化 2026-06-08 20:09:00 +08:00
pjh123 e1ae9387c2 feat: 支持箭头函数/模板字符串/let/const/delete/instanceof 语法 2026-06-08 19:55:05 +08:00
pjh123 b0c6532e2c feat: 支持 to_string 与错误栈 2026-06-08 14:52:44 +08:00
pjh123 b384c23741 feat: 实现错误内置对象模型 2026-06-07 10:20:14 +08:00