Commit Graph

34 Commits

Author SHA1 Message Date
pjh123 d8952a59fa perf: 数组元素独立存储区,push 改为摊销 O(1) 尾插 2026-08-10 16:01:09 +08:00
pjh123 b95e7b1628 refactor: VM 统一 GC 遍历 for_each_value/rewrite_values(双子清单收敛三处手写清单) 2026-08-10 13:57:13 +08:00
pjh123 71c6c1532e refactor: AsyncGeneratorState 收敛到 SuspendedFrame(save/restore/GC 遍历/string 边/深拷贝) 2026-08-10 13:49:05 +08:00
pjh123 d536617f23 refactor: AsyncState 收敛到 SuspendedFrame(save/restore/GC 遍历/string 边/深拷贝) 2026-08-10 13:36:34 +08:00
pjh123 9d18eb2533 refactor: GeneratorState 收敛到 SuspendedFrame(save/restore/GC 遍历/string 边) 2026-08-10 13:28:14 +08:00
pjh123 a1e6c27fa2 fix: GC 根清单补齐信号字段与 pending_completion 重写(收敛前置) 2026-08-10 13:00:15 +08:00
pjh123 5ced83e8c0 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
pjh123 fd47cd56d0 feat: async/await 语法支持(AWAIT 帧快照挂起/恢复 + 微任务驱动 + AsyncFunction intrinsics) 2026-08-09 22:02:15 +08:00
pjh123 538a5670dc feat: Promise 基础子系统 + 微任务队列(resolve/reject/then/catch/finally + run() drain) 2026-08-09 21:08:53 +08:00
pjh123 783e89e4cb 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
pjh123 7a559978f0 feat: Set/Map 构造器接收可迭代实参 + size 访问器 + ES2024 set-methods 2026-08-08 18:01:00 +08:00
pjh123 bfcf132d73 feat: arguments 对象绑定(CREATE_ARGUMENTS + 帧实参 spill 区) 2026-08-08 00:01:22 +08:00
pjh123 31e28a03a6 docs: 补充注释与格式化 2026-08-06 23:10:27 +08:00
pjh123 fd267816f4 feat: 新增 MOV/SPILL/UNSPILL 执行语义 + spill 栈帧边界(D-06/D-07/D-08) 2026-08-06 16:51:01 +08:00
pjh123 263fd255b6 docs: 添加 Rustdoc 注释 2026-08-05 21:46:47 +08:00
pjh123 c58aae4862 feat: 搭建闭包捕获基础设施 2026-06-30 19:58:58 +08:00
pjh123 9c4a169c33 fix: for-in 整数索引升序+字符串插入序枚举,null/undefined 空遍历 2026-06-27 17:15:32 +08:00
pjh123 3e7c082293 feat: 为 VM 添加结构化日志 2026-06-26 20:50:05 +08:00
pjh123 e4abfd7599 refactor: 迁出日志宏,移除直接依赖 2026-06-26 18:53:48 +08:00
pjh123 f23d4e61b2 feat: 提取 oxide_builtins 独立 crate,泛型化 <H: VmHost> 2026-06-25 22:38:23 +08:00
pjh123 d195d7615c refactor: Vm 状态分组、dispatch 拆分为分发表、IC 辅助函数独立成模块 2026-06-25 19:22:16 +08:00
pjh123 00c38ba5f9 feat: 迁移 NativeResult 2026-06-25 18:32:09 +08:00
pjh123 1cab5bde65 perf: 不可变常量改 OnceLock 一次性缓存,删 Constant 死变体并移出 GC 根 2026-06-25 14:32:49 +08:00
pjh123 12bfe551cf perf: 寄存器保存改用共享 save_stack,消除 Box<[JsValue]> 堆分配 2026-06-24 22:20:34 +08:00
pjh123 967ac32378 feat: JsString 添加标记清除 GC 2026-06-24 21:15:31 +08:00
pjh123 ddffa8504e refactor: 字符串值改用 JsString 指针表示,键与字面量改用 PermInterner 2026-06-24 20:15:15 +08:00
pjh123 9a62cf1610 perf: for_each_root 迭代器替代 gc_roots,复用 Vec DFS mark 栈消除每轮 GC 堆分配 2026-06-24 19:01:51 +08:00
pjh123 4535f70f80 fix: GC sweep 复用 Vm.forwarding,消除每轮 HashMap 分配 2026-06-24 15:59:55 +08:00
pjh123 f0da49a54c fix: GC eprintln! 改为 vm_debug!,release 下零 stderr 2026-06-24 15:47:35 +08:00
pjh123 1815958b11 refactor: 清理未使用符号,合并bind_constructor宏,统一init/rebind绑定列表,bind_number改为表驱动 2026-06-24 12:12:44 +08:00
pjh123 69500513b3 fix: 修复同步调用参数限制与内建语义错误 2026-06-23 14:38:58 +08:00
pjh123 2d166cbfa5 fix: 修复全局边界安全与内存稳定性问题 2026-06-22 19:43:00 +08:00
pjh123 6a99209af8 fix: 修复 Map/Set GC 追踪与 CodeForge 缓存键 2026-06-17 09:38:48 +08:00
pjh123 862e8585f8 feat: 添加 session arena 标记清扫 GC 2026-06-16 23:09:36 +08:00