Commit Graph

28 Commits

Author SHA1 Message Date
pjh123 7318f8f2eb refactor: 新增 SuspendedFrame 共享挂起快照(save/restore/GC 遍历/深拷贝/记账) 2026-08-10 13:05:27 +08:00
pjh123 a5a910a24e feat: for-await-of + Symbol.asyncIterator + AsyncFromSyncIterator 2026-08-10 03:21:37 +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 263fd255b6 docs: 添加 Rustdoc 注释 2026-08-05 21:46:47 +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 862e8585f8 feat: 添加 session arena 标记清扫 GC 2026-06-16 23:09:36 +08:00
pjh123 a9d8d0972c feat: 添加 session arena 与逃逸晋升 2026-06-16 12:36:52 +08:00
pjh123 c9ec24baa7 refactor: 拆分剩余 dispatch 大分支并压缩 vm.rs 2026-06-14 00:35:41 +08:00
pjh123 ca36f2d85e refactor: 拆分 dispatch 控制流辅助逻辑 2026-06-14 00:28:34 +08:00
pjh123 2c838b67b5 refactor: 拆分属性访问与 accessor 辅助逻辑 2026-06-14 00:21:33 +08:00
pjh123 0f6dcef710 refactor: 拆分运行时入口与状态恢复逻辑 2026-06-14 00:17:27 +08:00
pjh123 9e083589a3 refactor: 拆分初始化与常量转换辅助逻辑 2026-06-14 00:08:50 +08:00
pjh123 2ae9fab458 refactor: 拆分绑定函数与封装宏以简化模块实现 2026-06-08 07:37:46 +08:00
pjh123 9ca35d75e0 feat: 支持 Object 成员方法 2026-06-07 01:59:30 +08:00
pjh123 439b61e359 feat: 搭建原生函数基础设施 2026-06-07 01:07:45 +08:00
pjh123 7b862023a7 refactor: 将基础类型定义放在单独 crate 以解决循环依赖 2026-06-05 22:50:06 +08:00
pjh123 781b1205ee feat: 实现对象属性布局缓存结构 2026-06-05 17:34:59 +08:00
pjh123 fdb1614006 feat: 实现 JsObject 紧凑对象布局 2026-06-05 17:25:26 +08:00
pjh123 2f28e8ee7a feat: 实现 VM 字节码执行循环 2026-06-05 03:18:18 +08:00
pjh123 381fb43759 feat: 实现 ECMAScript 类型强制转换 2026-06-05 03:15:43 +08:00
pjh123 228c3eb519 feat: 实现 vm 内存模型、引用计数与持久化堆 2026-06-05 02:26:51 +08:00
pjh123 f34f10bcf2 feat: 实现 JsValue NaN-Boxing 值类型 2026-06-05 01:58:38 +08:00
pjh123 0741e99e1b chore: 搭建基础仓库架构 2026-06-05 01:06:53 +08:00