爱特每羊队
dc023b2637
fix: 数组 length 赋值 ArraySetLength 语义与超长逻辑长度(a.length 读取/收缩校验/空洞同步)
2026-08-12 12:52:02 +08:00
爱特每羊队
ee9a9e12b8
fix: object-to-primitive conversion errors propagate through native builtins
2026-08-12 11:27:40 +08:00
爱特每羊队
c4fda0f883
engine: ToPropertyKey via ToPrimitive, Symbol keys/description, catchable conversion errors
2026-08-12 09:59:56 +08:00
爱特每羊队
b844505ec7
fix: BigInt SUB/MUL with 0n no longer raise Division by zero
...
binary_arith! applied an unconditional is_zero() guard, so x - 0n and
x * 0n (and wrapped-object variants) incorrectly threw RangeError.
Only DIV/MOD legitimately reject BigInt zero divisors; SUB/MUL must
compute normally. test262 language/expressions/subtraction:
29/6 -> 30/5 (bigint-arithmetic now passes).
2026-08-12 03:30:03 +08:00
爱特每羊队
f3c37911f7
feat: arbitrary-precision BigInt via num-bigint (literals, arithmetic, toString, asIntN/asUintN)
2026-08-12 03:15:18 +08:00
爱特每羊队
5ec0dc2b7d
feat: implement Temporal Instant zoned conversion
2026-08-11 20:54:25 +08:00
爱特每羊队
51da7ed3d9
feat: 新增 DEFINE_ACCESSOR_DYNAMIC opcode 支持计算键对象访问器
2026-08-10 23:28:18 +08:00
爱特每羊队
7e3d7b43b5
feat: 实现最小 BigInt 子集(字面量/算术/比较/构造器,Temporal 前置)
2026-08-10 23:02:31 +08:00
爱特每羊队
717e927057
fix: 异常兜底路径经 create_from_text 恢复错误类型(不塌缩普通 Error)
2026-08-10 20:19:51 +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
爱特每羊队
eaf4825e4f
perf: 函数调用 bytecode 改 Arc 共享(O(1) 帧切换 + IC 写时复制)
2026-08-10 15:08:51 +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
爱特每羊队
f118903ad3
fix: GC 根清单补齐信号字段与 pending_completion 重写(收敛前置)
2026-08-10 13:00:15 +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
爱特每羊队
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
爱特每羊队
8f8c9a39ff
feat: 解构模式语义补齐(REST 枚举/getter/computed 排除、IteratorClose、RegAlloc def 干涉、for-in 捕获遮蔽)
2026-08-09 15:01:31 +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
爱特每羊队
38abdfd9ab
feat: class 公有字段 define 语义 + computed key 类定义期求值一次
2026-08-09 09:35:24 +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
爱特每羊队
a814dd0700
fix: try/finally 支持 break/continue/return 穿越 finally(completion 机制)
2026-08-08 12:38:25 +08:00
爱特每羊队
6c7b10d6c5
feat: 对象字面量 spread({...obj} 展开可枚举自有属性)
2026-08-08 11:24:09 +08:00
爱特每羊队
2777b00c82
feat: 调用实参 spread(f(...args) / new F(...args) / super(...args))
2026-08-08 10:33:16 +08:00
爱特每羊队
a82e4cd204
feat: Function 构造器(动态编译字符串生成函数)
2026-08-08 03:07:26 +08:00
爱特每羊队
ce86fcfb73
fix: delete 真正删除属性(shape 链重建 + 数组元素 hole 标记)
...
字节码 delete 原先只清值为 undefined,属性残留在 shape 链,hasOwnProperty/
keys/枚举仍可见。统一走共享 delete_own_property(与 Reflect.deleteProperty
一致):
- 命名属性经 shape 链重建移除,数组重建前保存并恢复元素区
- 数组下标元素标记为 hole(PropMetaEntry.hole),length 不变,
存在性检查(resolve_property/get_own_property_slot/ordinary_get/for-in)
判 hole,重赋值自动清除标记
- 不可配置属性统一返回 false(sloppy 语义,strict 抛错留待 emit 追踪严格模式)
- set_or_create_prop_value 数组下标键路由元素区,修复 delete 后重赋值误入
shape 链
test262 Object +212 PASS/-102 FAIL,Array +149 PASS/-60 FAIL,无回归。
2026-08-08 02:25:13 +08:00
爱特每羊队
a206d0ef82
feat(vm): arguments 对象绑定(CREATE_ARGUMENTS + 帧实参 spill 区)
2026-08-08 00:01:22 +08:00
爱特每羊队
820de00d79
fix(vm): 数组元素写入越过元素区时搬移属性区 + defineProperty 数组索引走元素区
2026-08-07 23:20:32 +08:00
爱特每羊队
ca938e0655
fix(vm): 数组属性存储机制(array_prop_count 显式元素数 + shape 属性偏移 + IC/prop_forge 对齐)
2026-08-07 21:53:45 +08:00
爱特每羊队
accc677769
fix(emit): 顶层模块 param_layout.base 改 0 防父槽误判 + regalloc/VM 诊断日志
2026-08-07 17:13:57 +08:00
爱特每羊队
543f88ce86
fix(vm): 闭包 upvalue cell 占位稳定化修复错读调用方表
2026-08-07 14:38:47 +08:00
爱特每羊队
d1675c217d
fix(vm): 子模块全局扁平化根治逃逸闭包上下文错位
2026-08-07 10:49:15 +08:00
爱特每羊队
4fa21d85d8
fix(vm): CREATE_CLOSURE 越界改运行时错误防进程中断
2026-08-07 00:42:33 +08:00
爱特每羊队
c59518e899
fix(vm): inline 回调支持 upvalue 闭包上下文
2026-08-07 00:23:35 +08:00
爱特每羊队
f57cb0f051
fix(vm): new 构造 cell_stack 失衡与子模块 immutables 缓存失步
2026-08-07 00:15:09 +08:00
爱特每羊队
328b8a3ddc
docs: 补充注释与格式化
2026-08-06 23:10:27 +08:00
爱特每羊队
6c0c30e5d5
feat(vm): 新增 MOV/SPILL/UNSPILL 执行语义 + spill 栈帧边界(D-06/D-07/D-08)
2026-08-06 16:51:01 +08:00
爱特每羊队
f461235f04
docs: 添加 Rustdoc 注释
2026-08-05 21:46:47 +08:00