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
|
3ad80d6ed4
|
perf: new_string_owned 零拷贝路径替代 new_string 二次克隆
|
2026-08-13 14:55:08 +08:00 |
|
pjh123
|
af61dcf6fc
|
feat: ToPropertyKey 改走 ToPrimitive,Symbol 键与描述符,转换错误可捕获
|
2026-08-12 09:59:56 +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
|
d926d1093b
|
fix: 修复最新版 clippy 告警
|
2026-06-30 15:23:11 +08:00 |
|
pjh123
|
52af0a7b29
|
fix: Date set(UTC)*/setYear 无参/NaN 不再越界 panic,按 spec 设为 NaN
|
2026-06-27 21:49:00 +08:00 |
|
pjh123
|
8c8cff3aba
|
fix: Date.prototype.setYear 无参/NaN 不再越界 panic,按 spec 设为 NaN
|
2026-06-27 21:41:04 +08:00 |
|
pjh123
|
9063bc4a8c
|
style: 自动格式化
|
2026-06-27 19:45:26 +08:00 |
|
pjh123
|
a75748bff9
|
feat: Date 时区修复 + setUTC* 方法 + Date.UTC 实现
|
2026-06-27 19:03:46 +08:00 |
|
pjh123
|
7ba5da9513
|
refactor: 用户数字参数改走 coerce_number_bounded,对象参数支持 ToPrimitive
|
2026-06-27 13:49:37 +08:00 |
|
pjh123
|
f23d4e61b2
|
feat: 提取 oxide_builtins 独立 crate,泛型化 <H: VmHost>
|
2026-06-25 22:38:23 +08:00 |
|