mirror of
https://github.com/pjh456/OxideJS.git
synced 2026-10-24 18:51:13 +08:00
perf: upvalue 读取缓存 callee 切片指针省解引用链
This commit is contained in:
@@ -100,6 +100,7 @@ impl Vm {
|
||||
inline_args_count: 0,
|
||||
accessor_frame_target_reg: None,
|
||||
inline_callee: None,
|
||||
upvalue_cache: None,
|
||||
inline_strict: false,
|
||||
inline_frames_base: 0,
|
||||
top_level_strict: false,
|
||||
@@ -236,6 +237,7 @@ impl Vm {
|
||||
inline_args_count: 0,
|
||||
accessor_frame_target_reg: None,
|
||||
inline_callee: None,
|
||||
upvalue_cache: None,
|
||||
inline_strict: false,
|
||||
inline_frames_base: 0,
|
||||
top_level_strict: false,
|
||||
@@ -550,6 +552,9 @@ impl Vm {
|
||||
self.reentry_hops = 0;
|
||||
// inline 窗口缓冲池内容为已废弃快照,跨 run/reset 不保留。
|
||||
self.inline_reg_pool = None;
|
||||
// upvalue 切片缓存是执行期状态:键为 callee 值,跨 run/reset 后缓存的
|
||||
// 切片指针失效(callee 对象可能已回收)。
|
||||
self.upvalue_cache = None;
|
||||
// 微任务队列是执行期状态:跨 run 不保留。
|
||||
self.job_queue.clear();
|
||||
// Atomics waiter 表同属执行期状态:未结算 promise 清位后无强根。
|
||||
|
||||
Reference in New Issue
Block a user