You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Turn the baseline JIT into a general resumable native region tier with precise stack maps, rather than rejecting whole chunks or relying on VM quick kernels for most nonnumeric work.
Current boundary
#52 completed the safe numeric/control baseline. Arithmetic profiles at 93.3% generated leaves, but the saved baseline profile attributes properties and arrays largely to VM kernels/residual dispatch. docs/baseline-jit.md still identifies resumable side exits and precise native stack maps as future work.
Scope
Compile maximal supported bytecode regions and emit exact side exits at unsupported/effectful boundaries instead of rejecting an otherwise profitable chunk.
Extend NativeFrame recovery state for operand stack, accumulator, locals/environments, handler stack, call/construct state, and precise source IP.
Generate precise stack maps at calls, backedges, allocation points, traps, and debugger/termination checkpoints so managed values may safely remain in registers between safepoints.
Cover ordinary calls, property/index access, allocations, typed operations, exceptions, and structured control through direct code or narrow rooted runtime stubs.
Add per-opcode/region admission and side-exit counters plus symbolized attribution.
Parent: #459
Depends on: #465, #461
Goal
Turn the baseline JIT into a general resumable native region tier with precise stack maps, rather than rejecting whole chunks or relying on VM quick kernels for most nonnumeric work.
Current boundary
#52 completed the safe numeric/control baseline. Arithmetic profiles at 93.3% generated leaves, but the saved baseline profile attributes properties and arrays largely to VM kernels/residual dispatch.
docs/baseline-jit.mdstill identifies resumable side exits and precise native stack maps as future work.Scope
NativeFramerecovery state for operand stack, accumulator, locals/environments, handler stack, call/construct state, and precise source IP.No-workaround rules
Acceptance
Foundation
#52; baseline design; numeric register work began at 79e6ba92.