Commit Graph

591 Commits

Author SHA1 Message Date
爱特每羊队 7055ef1fbb fix: 块级 let/const/class 预声明 + TDZ 读取运行时抛 ReferenceError 2026-08-10 21:07:39 +08:00
爱特每羊队 717e927057 fix: 异常兜底路径经 create_from_text 恢复错误类型(不塌缩普通 Error) 2026-08-10 20:19:51 +08:00
爱特每羊队 e8506e6f29 fix: Object 内置方法 ToObject 装箱(原始值不再误抛 TypeError) 2026-08-10 20:08:40 +08:00
爱特每羊队 069e8920c4 fix: await 经 promise_resolve 按 constructor 查询包装被等待值 2026-08-10 20:00:52 +08:00
爱特每羊队 1765d567a1 feat: Temporal 最小子集(Temporal.Now/Instant/PlainDate/PlainTime) 2026-08-10 18:18:39 +08:00
爱特每羊队 d3ed1113ef feat: 编译管线/类型层 crate 补全多级日志宏 + 关键路径日志 2026-08-10 17:56:28 +08:00
爱特每羊队 61898f8983 perf: 字符串拼接按操作数字节长预分配容量,免几何 realloc 二次拷贝 2026-08-10 17:40:39 +08:00
爱特每羊队 b70e334bce perf: dispatch 主循环 hoist max_steps,免逐指令 config 指针追寻 2026-08-10 17:23:29 +08:00
爱特每羊队 c90c610e15 perf: 子模块树改 Arc 共享,run() 免深拷贝模块树 2026-08-10 17:23:29 +08:00
爱特每羊队 cd96fa6fcb perf: JsString 缓存 UTF-16 length,字符串 length 访问改 O(1) 2026-08-10 17:23:29 +08:00
爱特每羊队 f284f74cb1 perf: 数组元素独立存储区,push 改为摊销 O(1) 尾插 2026-08-10 16:01:09 +08:00
爱特每羊队 eaf4825e4f perf: 函数调用 bytecode 改 Arc 共享(O(1) 帧切换 + IC 写时复制) 2026-08-10 15:08:51 +08:00
爱特每羊队 dce613959f perf: 删除 IC 命中热路径无条件 eprintln 调试残留 2026-08-10 14:30:38 +08:00
爱特每羊队 bc6ec10aef refactor: 移除 SuspendedFrame 已无必要的 dead_code 豁免 2026-08-10 14:28:09 +08:00
爱特每羊队 cc21c20a53 refactor: save/restore 收敛为字段表宏单一登记,补齐 accessor_frame_target_reg 2026-08-10 14:18:58 +08:00
爱特每羊队 3947c5db85 refactor: VM 统一 GC 遍历 for_each_value/rewrite_values(双子清单收敛三处手写清单) 2026-08-10 13:57:13 +08:00
爱特每羊队 b808261135 refactor: AsyncGeneratorState 收敛到 SuspendedFrame(save/restore/GC 遍历/string 边/深拷贝) 2026-08-10 13:49:05 +08:00
爱特每羊队 ba265eb545 refactor: AsyncState 收敛到 SuspendedFrame(save/restore/GC 遍历/string 边/深拷贝) 2026-08-10 13:36:34 +08:00
爱特每羊队 abbabfc54e refactor: GeneratorState 收敛到 SuspendedFrame(save/restore/GC 遍历/string 边) 2026-08-10 13:28:14 +08:00
爱特每羊队 0fe9a4a8e8 refactor: 新增 SuspendedFrame 共享挂起快照(save/restore/GC 遍历/深拷贝/记账) 2026-08-10 13:05:27 +08:00
爱特每羊队 f118903ad3 fix: GC 根清单补齐信号字段与 pending_completion 重写(收敛前置) 2026-08-10 13:00:15 +08:00
爱特每羊队 223f1a04e7 refactor: opcode 语义单张声明式表(def/use/pure/jump/term/ic 六维收敛) 2026-08-10 12:23:19 +08:00
爱特每羊队 00d547b395 refactor: 清理 dead abstraction(oxide_api 空壳/空钩子/PersistentHeap/空目录) 2026-08-10 11:54:44 +08:00
爱特每羊队 56ef0efec5 fix: 结构哈希补全全部变体(消除 code cache 确定性碰撞) 2026-08-10 11:49:50 +08:00
爱特每羊队 0b12e4df18 fix: async-gen 被拒 yield 排队 next 得 done(unwrap 前 AwaitSuspended) 2026-08-10 11:30:30 +08:00
爱特每羊队 d18b2adf08 fix: 私有字段 brand 检查 own 槽(字段不跨原型,规避 cell 值缺陷) 2026-08-10 11:23:52 +08:00
爱特每羊队 5350cd0e55 fix: Promise thenable alreadyResolved(委托代理闭包结算) 2026-08-10 10:28:32 +08:00
爱特每羊队 06951dcec3 feat: 循环 let/const 每迭代绑定(MAKE_CELL_FRESH + 解构捕获修复) 2026-08-10 10:18:39 +08:00
爱特每羊队 4d37614e49 fix: 脚本顶层 var/function 声明落 globalThis(DEFINE_GLOBAL_PROP 非可配置数据属性) 2026-08-10 03:52:17 +08:00
爱特每羊队 012a8e5110 feat: for-await-of + Symbol.asyncIterator + AsyncFromSyncIterator 2026-08-10 03:21:37 +08:00
爱特每羊队 89a4e1bb86 feat: async-generator 语义(async function*),yield/await 共存 + next 返回 Promise
- emit 识别 generator+async 组合,模块同时标记 is_generator/is_async
- 新增 AsyncGeneratorState:帧快照 + 请求队列 + 当前请求
- next/return/throw 返回 Promise,请求入队逐条处理
- YIELD 让出经 promise unwrap 后交付(yield rejected promise 关闭生成器)
- AWAIT 挂起保留当前请求,微任务恢复后继续执行
- %AsyncGeneratorPrototype% / %AsyncGeneratorFunction.prototype% 内建
- session GC / promote 支持异步生成器状态盒
- 普通 async 函数嵌套调用隔离外层异步生成器上下文
2026-08-10 01:52:03 +08:00
爱特每羊队 da586082cc feat: rest 参数(function f(...args)),实参区收集数组 2026-08-10 00:33:25 +08:00
爱特每羊队 9b2a56c1fa 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
爱特每羊队 0d9e6eabc9 feat: async/await 语法支持(AWAIT 帧快照挂起/恢复 + 微任务驱动 + AsyncFunction intrinsics) 2026-08-09 22:02:15 +08:00
爱特每羊队 dcbe3d9320 feat: Promise 基础子系统 + 微任务队列(resolve/reject/then/catch/finally + run() drain) 2026-08-09 21:08:53 +08:00
爱特每羊队 c4e7080883 feat: 实现 yield* 委托语法(内层迭代器 next/return/throw 转发) 2026-08-09 20:00:16 +08:00
爱特每羊队 9787208c69 fix: 闭包捕获扫描不误捕获赋值目标本函数变量(生成器回归) 2026-08-09 18:33:38 +08:00
爱特每羊队 6f80c12ac9 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
爱特每羊队 7c2e9ec1ff fix: symbol 作属性键独立编码,不再塌缩为空串 2026-08-09 16:09:49 +08:00
爱特每羊队 c65d7e0373 feat: 函数 length 属性(字节码函数/bind 包装器)+ getter/setter name 前缀 2026-08-09 15:38:45 +08:00
爱特每羊队 8f8c9a39ff feat: 解构模式语义补齐(REST 枚举/getter/computed 排除、IteratorClose、RegAlloc def 干涉、for-in 捕获遮蔽) 2026-08-09 15:01:31 +08:00
爱特每羊队 0e620ff963 feat: TypedArray 原型方法族全量解锁(回调/查找/迭代/排序/ES2023 copy 族) 2026-08-09 13:18:50 +08:00
爱特每羊队 6d7ad03417 feat: TypedArray 第一批解锁(%TypedArray% 构造器、原型访问器、of/from、bind 绑参、harness) 2026-08-09 12:26:31 +08:00
爱特每羊队 915dedb151 feat: class 私有成员语义(字段/方法/访问器 + brand 检查 + 契约修复) 2026-08-09 11:08:36 +08:00
爱特每羊队 e1f0d578fa fix: opcode IC ext words 计数断言更新(新 opcode 增长) 2026-08-09 09:40:04 +08:00
爱特每羊队 38abdfd9ab feat: class 公有字段 define 语义 + computed key 类定义期求值一次 2026-08-09 09:35:24 +08:00
爱特每羊队 d4fffcdcc6 fix: try 内 return 泄漏 TryHandler,异常跳回死函数 catch 死循环 2026-08-09 07:41:34 +08:00
爱特每羊队 2f8f1c3b71 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
爱特每羊队 eefdfc0d2c feat: RegExp.prototype 实现 Symbol.match/replace/search/split/matchAll 2026-08-08 22:33:32 +08:00
爱特每羊队 651b368528 fix: String replace/replaceAll 函数 replacer 路径(含 global 全替换) 2026-08-08 22:05:23 +08:00