Commit Graph

787 Commits

Author SHA1 Message Date
pjh123 540153030b test: full_reset 后跨家族方法调用回归防线覆盖 call/apply/bind 路径 2026-08-14 22:01:03 +08:00
pjh123 27dad8db2a fix: session_gc sweep 测试改读 rewrite 后新指针消除 UAF 2026-08-14 21:54:48 +08:00
pjh123 57f8a474fa fix: replaceAll 类正则对象统一走 ToString 文本路径与 replace 对齐 2026-08-14 21:15:00 +08:00
pjh123 f7866585d1 perf: replace 函数 replacer 回调免每匹配整串复制
回调第 4 参(原字符串)由每匹配复制整串改为调用方预构一次:
原始字符串 receiver 直接复用原值零拷贝,对象 receiver 提升为单次会话串。
覆盖 String.prototype.replace/replaceAll 与 RegExp.prototype[Symbol.replace]
的函数 replacer 路径。补回调第 4 参断言测试与 fn-replacer 压测。
2026-08-14 21:00:43 +08:00
pjh123 d419272321 chore: 换测试设备后重跑基准,更新 baseline 2026-08-14 20:28:52 +08:00
pjh123 bd9b981362 perf: replace 字符串 pattern 走共享借用零拷贝并修 replace 语义 2026-08-14 12:54:27 +08:00
pjh123 e1747ca560 perf: ASCII 单字符缓存 + 字符串迭代器游标收尾 2026-08-14 12:11:54 +08:00
pjh123 02dabbb845 fix: 计算成员复合赋值保规范求值序 2026-08-14 11:41:50 +08:00
pjh123 c2aea3f8e9 fix: split 分隔符为 RegExp 子类对象时按字符串语义切分 2026-08-14 10:44:23 +08:00
pjh123 1a62af5485 perf: 常量字符串键计算成员折叠走 IC 静态路径 2026-08-14 10:20:32 +08:00
pjh123 7f7a8c3b66 test: 数值断言容忍 int 表示,类私有字段 for-in 用例补公有字段 2026-08-14 06:14:38 +08:00
pjh123 28c8fe0284 fix: 访问器属性合并定义时继承未提供半边,防 get/set 互相覆盖 2026-08-14 06:14:38 +08:00
pjh123 1a14318304 fix: builtin 快照数组与枚举判别值错位致符号/时间族永久脏 2026-08-14 05:50:46 +08:00
pjh123 cc835f5304 test: 类编译断言更新为新属性描述符字节码布局 2026-08-14 05:45:46 +08:00
pjh123 afe88497f8 chore: 清理 oxide_test262 clippy 告警 2026-08-14 05:26:56 +08:00
pjh123 7799ebb055 chore: 清理 oxide_vm clippy 告警 2026-08-14 05:26:46 +08:00
pjh123 ae58508760 chore: 清理 oxide_builtins clippy 告警 2026-08-14 05:26:35 +08:00
pjh123 6522a39dd7 chore: 清理 oxide_emit clippy 告警 2026-08-14 05:26:25 +08:00
pjh123 12ebdb8c0e perf: 对象字面量批量构造键序预建 shape 2026-08-14 04:47:15 +08:00
pjh123 9758cee544 chore: gitignore w1mer 规划目录与配置 2026-08-14 04:03:26 +08:00
pjh123 84984f864d perf: 字符串构造类方法改借用免整串拷贝 2026-08-13 23:13:34 +08:00
pjh123 1b6b4e335b perf: 字符串只读扫描方法改借用免整串拷贝 2026-08-13 22:32:38 +08:00
pjh123 4245074d97 perf: 原生回调寄存器保存改前缀窗口减少搬移 2026-08-13 21:32:34 +08:00
pjh123 fccf2063f1 perf: 数组回调字节码调用改寄存器窗口复用减少搬移 2026-08-13 20:11:09 +08:00
pjh123 1ea9c76ab4 perf: 数组迭代方法元素读取走密集直读快路径 2026-08-13 18:12:49 +08:00
pjh123 2c62830a1d perf: 数组整数键走独立 si 区间免字符串往返 2026-08-13 17:47:55 +08:00
pjh123 1d1ee73743 Merge branch 'main' of https://gitlab.eduxiji.net/T2026104239910027/project3136859-381686 2026-08-13 16:35:20 +08:00
pjh123 e62bc54f08 perf: 收紧字符串借用语义消除跨分配点 UB 2026-08-13 16:24:00 +08:00
pjh123 352f3359cd perf: 属性键解析移出 IC 命中路径 2026-08-13 15:54:46 +08:00
pjh123 e826a65f3c perf: 字符串 for-of 迭代改字节游标增量推进(B4 初步) 2026-08-13 15:03:48 +08:00
pjh123 3ae2f2d9b7 perf: new_string_owned 零拷贝路径替代 new_string 二次克隆(B2) 2026-08-13 14:55:08 +08:00
pjh123 5513f0e2fb perf: parse_js_number 去 lowercase 分配 + int32 位运算直取(B2/B6) 2026-08-13 14:48:19 +08:00
pjh123 f874850bf7 perf: 算术运算 int 结果保 int + double 快路径(B1/B3) 2026-08-13 14:44:24 +08:00
pjh123 b85612c133 test: 更新性能基线并校准 property/array_join 测试规模 2026-08-13 14:40:44 +08:00
pjh123 cbb2e0e19f fix: 修复 coercion_concat/coercion_tostring/typeof_ops 压测字符串无限增长导致内存耗尽 2026-08-13 14:30:04 +08:00
pjh123 687c933891 feat: 拆分 stress benchmark 到细粒度单热点测试并修复 bench 采样逻辑 2026-08-13 14:27:20 +08:00
爱特每羊队 bbc46e6b21 Update README.md 2026-08-12 16:40:45 +00:00
爱特每羊队 2e674d1ba9 docs: 上传决赛阶段1更新的文档 2026-08-12 15:44:44 +00:00
爱特每羊队 99cd575e38 docs: 作品进展汇报幻灯片-决赛阶段1(PPT) 2026-08-12 22:28:51 +08:00
爱特每羊队 f8a4bacfec fix: accessor getter 调用异常经 raise_call_error 走 unwind(JS try/catch 可捕获,此前逃逸) 2026-08-12 17:55:58 +08:00
爱特每羊队 4303462d19 feat: compiler/test262 runner 接线 + 模块顶层 this 绑定
- Compiler::compile_module:Emitter::emit_program_module → 统一 IR 管线(DCE/regalloc/lower/flatten)
- CompiledModule.is_es_module:VM run 时模块顶层 this=undefined(脚本仍为全局对象)
- 全局注册 __moduleLinkGet
- test262 runner:Test262ModuleLoader(相对路径解析 + import attributes 判定 json/text/bytes),is_module 走 compile_module
2026-08-12 17:37:33 +08:00
爱特每羊队 6da248872b feat: emit 模块编译(快照式链接:依赖子模块闭包 + import/export 域)
- emit_program_module:模块顶层编译(is_global_scope=false,顶层 this undefined 由 VM 按标志绑定)
- emit_module_into_ctx:预声明/闭包分析识别 export 包裹声明与 import 绑定
- 依赖收集:import/re-export/star 的 source 去重、循环检测、json/text 数据模块
- 导入绑定初始化:__moduleLinkGet 链接期检查;self-import 别名语义(export 处回写)
- export 域:声明/重导出/export */export default 就地注册命名空间
- re-export 链接检查移至 prelude(先于 body 求值)
- emit_module_call 参数打包连续寄存器(CALL_NATIVE 契约)
- CompileCtx 增 module_ns_reg/module_dep_ns_regs/self-import 映射
- 拆分 declaration helper(export 声明复用);function/class 表达式 emitter 提升可见性
2026-08-12 17:37:33 +08:00
爱特每羊队 3f45f38f51 feat: module natives(命名空间对象/导出读写/star 合并/seal/eval/data + 链接检查)
- __moduleObject:null 原型命名空间,带 @@toStringTag=Module(w/e/c=false)
- __moduleSet:定义不可写/可枚举/不可配置导出属性
- __moduleGet:模块命名空间 exotic Get(缺失导出抛 TypeError)
- __moduleLinkGet:import 绑定链接期检查(缺失导出抛 SyntaxError)
- __moduleStar:export * 合并,冲突名跳过(dst 已有属性省略)
- __moduleSeal:封冻命名空间
- __moduleEval:同步执行依赖模块并返回命名空间
- __moduleData:json/text 数据模块命名空间
2026-08-12 17:37:33 +08:00
爱特每羊队 86a20fa1fe fix: class 类名绑定经 dedicated cell 捕获(C===Cv 恒等)+ upvalue 写入 const guard(getter 赋值抛 TypeError) 2026-08-12 17:30:28 +08:00
爱特每羊队 1323a0564b feat: Duration.total 支持字符串/原始值 relativeTo 语义(无效与越界字符串 RangeError、数字/null 等 TypeError、days 日历路径),total 子集 41/29 2026-08-12 16:58:57 +08:00
爱特每羊队 5e38623fee feat: Temporal.Duration.prototype.round(无日历单位路径:选项校验+24h 天舍入+按最大单位平衡,绑定注册) 2026-08-12 16:16:22 +08:00
爱特每羊队 4818465234 fix: class 类名绑定 TDZ 与 const 语义(extends 引用类名抛 ReferenceError,类构建后初始化绑定) 2026-08-12 15:37:58 +08:00
爱特每羊队 d1b5c533fc feat: parser 支持 ES module(parse_module)+ test262 放行 module 用例
- oxide_parser 新增 parse_module(SourceType::mjs),parse 重构为 parse_with_source_type
- oxide_test262 不再跳过 flags:[module]/features:module,module 用例走 parse_module
- 首轮实测:language/import 12 pass/35 fail(原全跳过,10/10 负向 parse 全过),
  language/module-code 248 pass/274 fail(parse-err 103/0,early-* 26/0)
- 顺带修复 oxide_test262 两个 clippy lint(single-match、unnecessary unwrap)
2026-08-12 15:15:27 +08:00
爱特每羊队 ad547d5cd8 feat: Temporal.Duration.prototype.add(分量精确求和+按最大单位平衡+范围校验,绑定注册);add 子集 32/0 2026-08-12 14:50:13 +08:00
爱特每羊队 fe79eff172 fix: Temporal 构造器补 length 自有属性(Instant/ZonedDateTime/PlainDate/PlainTime/Duration 按规范 arity) 2026-08-12 14:37:31 +08:00