pjh123
|
eb12a12f2f
|
feat: DisposableStack 内置对象(状态盒 + use/adopt/defer/dispose/move + GC 六处接线 + 绑定三时机)
|
2026-08-16 19:22:57 +08:00 |
|
pjh123
|
f4e790978d
|
fix: matchAll 空匹配推进至少一个字符,RegExp 补 GC 搬移深拷贝
matchAll 迭代器在空匹配(range.start == range.end)后把游标停在原位置,
同一位置反复空匹配导致死循环;改为按 UTF-8 字符边界推进(与 regress
find_iter 的 next_right_pos 一致),串尾空匹配把游标推到串长之后保证下轮
耗尽。
另修 RegExp 在 GC sweep 与 epoch 晋升中的指针别名:克隆只复制 native_fn 槽
的 Box 指针,源对象释放后克隆持悬垂指针,teardown 双重释放(heap 损坏)。
新增 clone_regexp_native 深拷贝已编译正则,sweep/promote 两处挂接,与
drop 配对保证单次释放。
|
2026-08-15 20:31:51 +08:00 |
|
pjh123
|
12d1a85e44
|
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
|
d97d39e8ad
|
fix: 生成器状态盒深拷贝消除 sweep/promote 共享所有权 UAF,full_reset 补释放 session 堆数据
GeneratorState 状态盒此前由 epoch 原对象独占释放,promote 与 sweep 克隆
浅拷贝 native_data 共享同一盒,旧对象 drop 即悬垂。新增 clone 深拷贝
(参照 async_generator),promote/sweep 两处接入,恢复执行读新盒;
full_reset 在 session arena 重置前遍历 session 对象释放堆数据,
配合深拷贝形成单所有权。补 sweep/promote/full_reset 三回归与
生成器捕获闭包跨 GC 回归。
|
2026-08-15 19:02:39 +08:00 |
|
爱特每羊队
|
f284f74cb1
|
perf: 数组元素独立存储区,push 改为摊销 O(1) 尾插
|
2026-08-10 16:01:09 +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 |
|
爱特每羊队
|
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 |
|
爱特每羊队
|
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 |
|
爱特每羊队
|
328b8a3ddc
|
docs: 补充注释与格式化
|
2026-08-06 23:10:27 +08:00 |
|
爱特每羊队
|
b986a8f229
|
feat: 为 VM 添加结构化日志
|
2026-06-26 20:50:05 +08:00 |
|
爱特每羊队
|
2f5d91bd48
|
feat: 提取 oxide_builtins 独立 crate,泛型化 <H: VmHost>
|
2026-06-25 22:38:23 +08:00 |
|
爱特每羊队
|
bb3f1cf0e9
|
refactor: Vm 状态分组、dispatch 拆分为分发表、IC 辅助函数独立成模块
|
2026-06-25 19:22:16 +08:00 |
|
爱特每羊队
|
7a700430dc
|
fix: promote 复用 Vm.forwarding,消除 promote 的 HashMap 分配
|
2026-06-24 16:08:17 +08:00 |
|
爱特每羊队
|
933612c89d
|
fix: 修复全局边界安全与内存稳定性问题
|
2026-06-22 19:43:00 +08:00 |
|
爱特每羊队
|
9db28b22d6
|
fix: 修复 Map/Set GC 追踪与 CodeForge 缓存键
|
2026-06-17 09:38:48 +08:00 |
|
爱特每羊队
|
a1b6ab944a
|
feat: 添加 session arena 标记清扫 GC
|
2026-06-16 23:09:36 +08:00 |
|
爱特每羊队
|
94beeb350b
|
feat: 添加 session arena 与逃逸晋升
|
2026-06-16 12:36:52 +08:00 |
|