Closed Bug 590871 Opened 15 years ago Closed 14 years ago

remove TraceNativeStorage, run trace in-place

Categories

(Core :: JavaScript Engine, defect)

defect
Not set
normal

Tracking

()

RESOLVED WONTFIX

People

(Reporter: luke, Assigned: luke)

Details

As stated in bug 549143, fatvals give us enough room to store unboxed values directly on the VM stack. Ideally, the tracer's native layout would exactly match the VM's, so that unboxing/boxing would be in-place operations (or, in some cases, nops). Also, this should greatly simplify/speedup the whole process of mapping a Value* to its native stack offset. Moreover, lirbuf->sp and lirbuf->rp can be merged, so that we maintain only one stack pointer on trace (like JM). Lastly, globals should also be able to work in-place. bug 549143 comment 47 measured a 1-2% v8/SS speedup from speeding up boxing/unboxing, so I would estimate this would produce the same or better. It would also be a chance to clean up LeaveTree, which is a bit of a mess.
With JM and profiling heuristics, we spend very little time in trace transition (bug 639085 measures this for a big set of sites/benchmarks), so this doesn't seem worth the effort.
Status: ASSIGNED → RESOLVED
Closed: 14 years ago
Resolution: --- → WONTFIX
You need to log in before you can comment on or make changes to this bug.