pjh123
|
d213d697d4
|
feat: SuppressedError 内置错误实现(三字段属性序 + 构造器接线)
|
2026-08-16 19:04:09 +08:00 |
|
pjh123
|
1f2a020585
|
feat: Iterator helpers 基建——Symbol.dispose 注册与 %IteratorHelperPrototype%
|
2026-08-16 14:44:47 +08:00 |
|
pjh123
|
1a244398f1
|
refactor: match 可改 ? 的等价改写
|
2026-08-16 14:04:25 +08:00 |
|
pjh123
|
06441e09ff
|
fix: 全局构造器与内置对象属性改非枚举与规范对齐
|
2026-08-16 02:29:42 +08:00 |
|
pjh123
|
ec32e42ce5
|
feat: 迭代器原型基建:%IteratorPrototype% 链 + 各集合迭代器原型
新增 %IteratorPrototype%(含 @@iterator 返回自身,经原型链被全部迭代器
继承,it[Symbol.iterator]() === it 恒等)与 %ArrayIteratorPrototype%/
%MapIteratorPrototype%/%SetIteratorPrototype%/%StringIteratorPrototype%/
%RegExpStringIteratorPrototype%(链到 %IteratorPrototype%);Array/Map/Set/
TA/String/matchAll 迭代器包装统一挂对应原型;补 Array/String 的 @@iterator
别名绑定。集合迭代器原型不含 return 方法(规范集合迭代器无 return)。
|
2026-08-15 22:57:03 +08:00 |
|
pjh123
|
c230edeb57
|
feat: Function.prototype[Symbol.hasInstance] 绑定与 bound 函数构造语义
@@hasInstance 按 OrdinaryHasInstance 实现(非可调用 this 返回 false、
prototype 非对象抛 TypeError、bound 链递归到最内层 target);
new boundFn() 解包 [[BoundTargetFunction]] 链后转发构造:绑定实参前置、
新对象原型取 target.prototype、new.target 替换为最内层 target。
|
2026-08-15 22:40:45 +08:00 |
|
pjh123
|
07d6c83c6b
|
fix: 错误对象属性枚举性、toString 标签与构造器调用语义
- message/name 属性改非枚举(CreateNonEnumerableDataPropertyOrThrow),
Object.keys/for-in/JSON.stringify 不再泄漏错误信息
- 新增 Error 家族对象标签,Object.prototype.toString 输出 [object Error],
含子类型与用户子类(沿原型链判定)
- Error 家族构造器补 length=1,函数调用忽略 this 一律新建对象
- JSON.stringify 序列化仅含可枚举自身属性(规范 EnumerableOwnPropertyNames)
|
2026-08-15 21:30:28 +08:00 |
|
pjh123
|
3d1ece321b
|
perf: typeof 改 js_type 单次提取并复用进程级静态字符串消除每次分配
|
2026-08-15 16:09:19 +08:00 |
|
pjh123
|
f2535ffc77
|
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
|
41329a12ef
|
fix: rebuild 时泄漏保活旧 function/object 家族消除 wrapper 悬垂原型 UAF
|
2026-08-15 04:05:16 +08:00 |
|
pjh123
|
e1747ca560
|
perf: ASCII 单字符缓存 + 字符串迭代器游标收尾
|
2026-08-14 12:11:54 +08:00 |
|
pjh123
|
1a14318304
|
fix: builtin 快照数组与枚举判别值错位致符号/时间族永久脏
|
2026-08-14 05:50:46 +08:00 |
|
爱特每羊队
|
3e61b573db
|
feat: 新增 Symbol.species well-known symbol 绑定(Symbol.species 解析/键槽/内建对象)
|
2026-08-12 12:50:53 +08:00 |
|
爱特每羊队
|
18eb6ef8ab
|
feat: add Array entries/keys/findLastIndex/toSorted/toReversed/toSpliced/with
|
2026-08-12 03:42:42 +08:00 |
|
爱特每羊队
|
28477a3e47
|
feat: BigInt constructor ToPrimitive semantics, toString(radix), asIntN/asUintN; ctor [[Prototype]]=Function.prototype
|
2026-08-12 02:23:27 +08:00 |
|
爱特每羊队
|
e6627b02f1
|
feat: implement Temporal PlainDateTime foundation
|
2026-08-11 21:32:15 +08:00 |
|
爱特每羊队
|
5ec0dc2b7d
|
feat: implement Temporal Instant zoned conversion
|
2026-08-11 20:54:25 +08:00 |
|
爱特每羊队
|
d7a63a0d54
|
feat: implement Temporal duration and plain date differences
|
2026-08-11 12:38:31 +08:00 |
|
爱特每羊队
|
7e3d7b43b5
|
feat: 实现最小 BigInt 子集(字面量/算术/比较/构造器,Temporal 前置)
|
2026-08-10 23:02:31 +08:00 |
|
爱特每羊队
|
1765d567a1
|
feat: Temporal 最小子集(Temporal.Now/Instant/PlainDate/PlainTime)
|
2026-08-10 18:18:39 +08:00 |
|
爱特每羊队
|
012a8e5110
|
feat: for-await-of + Symbol.asyncIterator + AsyncFromSyncIterator
|
2026-08-10 03:21:37 +08:00 |
|
爱特每羊队
|
7c2e9ec1ff
|
fix: symbol 作属性键独立编码,不再塌缩为空串
|
2026-08-09 16:09:49 +08:00 |
|
爱特每羊队
|
6d7ad03417
|
feat: TypedArray 第一批解锁(%TypedArray% 构造器、原型访问器、of/from、bind 绑参、harness)
|
2026-08-09 12:26:31 +08:00 |
|
爱特每羊队
|
915dedb151
|
feat: class 私有成员语义(字段/方法/访问器 + brand 检查 + 契约修复)
|
2026-08-09 11:08:36 +08:00 |
|
爱特每羊队
|
eefdfc0d2c
|
feat: RegExp.prototype 实现 Symbol.match/replace/search/split/matchAll
|
2026-08-08 22:33:32 +08:00 |
|
爱特每羊队
|
c3322d6a3c
|
feat: implement String.fromCodePoint, codePointAt UTF-16 indexing, isWellFormed/toWellFormed
|
2026-08-08 20:05:49 +08:00 |
|
爱特每羊队
|
6e5bbe718b
|
feat: 实现 Array.from 与 Array.of 静态方法
- Array.from:可迭代(迭代协议)与 array-like 双路径,支持 mapFn/thisArg,
构造器 this 支持(new C),CreateDataPropertyOrThrow 写入,IteratorClose
- Array.of:以参数为元素,this 构造器 + CreateDataProperty + Set length
- iterator.rs:get_iterator 改为 Option 返回,新增 try_make_iterator 与
peek_iterator_method(GetMethod 只读判定,不调用迭代器)
|
2026-08-08 13:13:08 +08:00 |
|
爱特每羊队
|
328b8a3ddc
|
docs: 补充注释与格式化
|
2026-08-06 23:10:27 +08:00 |
|
爱特每羊队
|
f461235f04
|
docs: 添加 Rustdoc 注释
|
2026-08-05 21:46:47 +08:00 |
|
爱特每羊队
|
c9e4248a02
|
fix: 修复不符合 JS 语义约束的错误行为测试
|
2026-08-05 15:44:22 +08:00 |
|
爱特每羊队
|
b5104fcb0c
|
perf: Shape 加 depth 字段 + positions 反向索引,lookup_position 首次写入缓存后 O(1)
|
2026-06-30 23:28:35 +08:00 |
|
爱特每羊队
|
26839db07b
|
style: 自动格式化
|
2026-06-30 15:11:11 +08:00 |
|
爱特每羊队
|
5ecb428320
|
perf(vm): 字符串拼接用 push_to_string 消去中间分配, GC阈值 8M→32M
- oxide_runtime_api 新增 push_to_string: 直接将 JsValue 写入 String buffer
- dispatch_add / dispatch_compound_add 复用 Vm::string_buf, 每次concat从4次分配降到1次
- vm_support 新增 new_string_owned 接受 String 转移所有权
- kernel session_gc_threshold 8MB→32MB 减少频繁 GC
- build.sh: make clean 清跨平台 .obj 残留
(cherry picked from commit ad7b044a5a24b23819d783c5419d3e33f936dfc5)
|
2026-06-30 12:42:57 +08:00 |
|
爱特每羊队
|
64076256c7
|
fix: Function .length/.name descriptor attributes (writable:false enumerable:false)
+92 pass (45.5%→45.9%)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
(cherry picked from commit bfbd965374eb4f8003590a33b26eb0bbbd19cb36)
|
2026-06-30 12:42:57 +08:00 |
|
爱特每羊队
|
05f1056cde
|
perf(test262): +2.4% pass rate via Function .name/.length and ArrayLike support
- Array indexOf/includes/lastIndexOf: ArrayLike receiver + fromIndex + SameValueZero
- Function.prototype methods: add .length property via bind_method_static
- Error objects: add .name property via create_kind_error
- Constructor functions: add .name via make_pair + .length via bind_constructor!
- test262: 8497→9009 pass (+512), 38.3%→40.7% rate
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
(cherry picked from commit af61949e6cab1b149a13e571e29bacc4267d5690)
|
2026-06-30 12:42:57 +08:00 |
|
爱特每羊队
|
9da0ded18d
|
feat: Symbol.hasInstance 支持 instanceof 双路径分派
|
2026-06-27 22:53:04 +08:00 |
|
爱特每羊队
|
3c92f8368c
|
fix: Error原型属性、规范toString、V8风格stack trace
|
2026-06-27 20:13:17 +08:00 |
|
爱特每羊队
|
f9297097bf
|
fix: 修复 String 原型方法边界条件
|
2026-06-27 19:45:18 +08:00 |
|
爱特每羊队
|
6f1337c223
|
feat: 注册 Symbol.toPrimitive well-known symbol
|
2026-06-27 10:30:25 +08:00 |
|
爱特每羊队
|
b2dd7387a6
|
feat: 为内核构造、BuiltinWorld 初始化、ShapeForge/StringForge/CodeForge 添加结构化日志
|
2026-06-26 21:09:36 +08:00 |
|
爱特每羊队
|
e730d0fd2d
|
refactor: 迁出日志宏,移除直接依赖
|
2026-06-26 18:53:48 +08:00 |
|
爱特每羊队
|
02c7de6e09
|
refactor: 将 BuiltinSnapshot 重构为数组并引入 BuiltinId 枚举
|
2026-06-26 16:27:49 +08:00 |
|
爱特每羊队
|
22071dd646
|
feat: 为 ShapeForge 添加 shape_id 溢出 guard 及 HashMap 回退
|
2026-06-26 16:16:17 +08:00 |
|
爱特每羊队
|
466a0815ca
|
refactor: 字符串值改用 JsString 指针表示,键与字面量改用 PermInterner
|
2026-06-24 20:15:15 +08:00 |
|
爱特每羊队
|
2173b73822
|
feat: CodeForge 改用有界 Mutex<LruCache>,KernelConfig 新增 max_cached_modules
|
2026-06-24 16:17:40 +08:00 |
|
爱特每羊队
|
6bf5daa1af
|
refactor: 清理未使用符号,合并bind_constructor宏,统一init/rebind绑定列表,bind_number改为表驱动
|
2026-06-24 12:12:44 +08:00 |
|
爱特每羊队
|
dbc15f6d1f
|
refactor: 拆分 bytecode/cache crate 并模块化 counter
|
2026-06-23 17:06:39 +08:00 |
|
爱特每羊队
|
933612c89d
|
fix: 修复全局边界安全与内存稳定性问题
|
2026-06-22 19:43:00 +08:00 |
|
爱特每羊队
|
5d168316ad
|
fix: 修复数组回调与原始值属性访问
|
2026-06-17 12:59:11 +08:00 |
|
爱特每羊队
|
9db28b22d6
|
fix: 修复 Map/Set GC 追踪与 CodeForge 缓存键
|
2026-06-17 09:38:48 +08:00 |
|