Commit Graph

19 Commits

Author SHA1 Message Date
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 f63b41454f fix: 字符串索引体系改 UTF-16 code unit 语义(astral 字符正确) 2026-08-15 19:34:55 +08:00
pjh123 b860fdf5ee fix: string.search 无参调用越界 panic,参数读取守卫前置返回 -1 2026-08-15 04:28:01 +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 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 c2aea3f8e9 fix: split 分隔符为 RegExp 子类对象时按字符串语义切分 2026-08-14 10:44:23 +08:00
爱特每羊队 328b8a3ddc docs: 补充注释与格式化 2026-08-06 23:10:27 +08:00
爱特每羊队 f9297097bf fix: 修复 String 原型方法边界条件 2026-06-27 19:45:18 +08:00
爱特每羊队 466a0815ca refactor: 字符串值改用 JsString 指针表示,键与字面量改用 PermInterner 2026-06-24 20:15:15 +08:00
爱特每羊队 9a36d76544 feat: 实现 new String 装箱构造 + String.prototype.toString,补齐 boxed primitives 2026-06-23 22:33:37 +08:00
爱特每羊队 5d168316ad fix: 修复数组回调与原始值属性访问 2026-06-17 12:59:11 +08:00
爱特每羊队 317a84a055 style: 自动格式化 2026-06-14 17:21:49 +08:00
爱特每羊队 d242d08e6d refactor: 拆分 Kernel 中可变 Session 与不可变 Core 2026-06-14 12:58:09 +08:00
爱特每羊队 5d1d25074e style: 减少自动格式化换行 2026-06-09 00:53:46 +08:00
爱特每羊队 e57e140bef fix: 修复数组长度与槽位索引截断问题 2026-06-08 22:55:52 +08:00
爱特每羊队 3880882fda feat: 搭建 Iterator 与 for-of 语法基础设施 2026-06-08 13:48:54 +08:00
爱特每羊队 ee6fcad370 feat: 支持 String 对象及成员方法 2026-06-07 10:36:02 +08:00