pjh123
|
350b65c091
|
perf: 字符串 +/+= 二元拼接改 Cons rope 惰性扁平化消除 O(n²)
JsString 拆 Flat/Cons 变体:Cons 经独立 ConsNode 保存左右子节点 + O(1)
字节长 + 惰性扁平化产物缓存(OnceLock 原子发布,产物挂节点生命周期)。
concat_strings 接线:总长 ≤ 128B 的小链急切扁平(与 rope 前同款,拼接即
消费场景零开销),大链 O(1) 链接——大段重复拼接从 O(n²) 拷贝降为 O(n)
链接,文本在消费点(.length/==/string_ref/方法族)首次扁平化后缓存。
GC 兼容:mark 收口 mark_string_live 传播 Cons 子节点与产物闭包(显式栈
防深链爆栈);sweep/full_reset 共用 drop 辅助连带释放产物;节点字节记账
用 O(1) byte_len。rope 节点登记 session 字符串表,与执行期字符串 GC
(指令边界触发)天然兼容。JsString 结构 32B 与 rope 前同 bin,小串路径
零结构回退;unsafe impl Send/Sync 论证同 StringPtr(perm 恒 Flat)。
|
2026-08-15 14:32:08 +08:00 |
|
pjh123
|
1c5676e614
|
perf: ASCII 单字符缓存 + 字符串迭代器游标收尾
|
2026-08-14 12:11:54 +08:00 |
|
pjh123
|
31e28a03a6
|
docs: 补充注释与格式化
|
2026-08-06 23:10:27 +08:00 |
|
pjh123
|
263fd255b6
|
docs: 添加 Rustdoc 注释
|
2026-08-05 21:46:47 +08:00 |
|
pjh123
|
fc59505116
|
feat: 为内核构造、BuiltinWorld 初始化、ShapeForge/StringForge/CodeForge 添加结构化日志
|
2026-06-26 21:09:36 +08:00 |
|
pjh123
|
ddffa8504e
|
refactor: 字符串值改用 JsString 指针表示,键与字面量改用 PermInterner
|
2026-06-24 20:15:15 +08:00 |
|
pjh123
|
1815958b11
|
refactor: 清理未使用符号,合并bind_constructor宏,统一init/rebind绑定列表,bind_number改为表驱动
|
2026-06-24 12:12:44 +08:00 |
|
pjh123
|
2d166cbfa5
|
fix: 修复全局边界安全与内存稳定性问题
|
2026-06-22 19:43:00 +08:00 |
|
pjh123
|
551695bfad
|
refactor: 扁平化对象属性存储并优化常量池与 IC 热路径
|
2026-06-13 23:59:47 +08:00 |
|
pjh123
|
1a7a5b2cbc
|
feat: 添加 Kernel 与 VM 分层结构化日志
|
2026-06-13 18:59:41 +08:00 |
|
pjh123
|
f77499e5cd
|
style: 减少自动格式化换行
|
2026-06-09 00:53:46 +08:00 |
|
pjh123
|
a2762fe3c9
|
feat: 添加 do while 与 for-in 语法枚举指令支持
|
2026-06-06 18:18:31 +08:00 |
|
pjh123
|
efbecd62ca
|
refactor: StringForge 规范化类型命名
|
2026-06-05 23:24:07 +08:00 |
|
pjh123
|
20469c175c
|
feat: 实现全局单例缓存管理内核
|
2026-06-05 22:15:59 +08:00 |
|
pjh123
|
4c94d7c40e
|
feat: 实现双释放规则的全局字符串共享池
|
2026-06-05 21:29:58 +08:00 |
|