JaegerMonkey: Difference between revisions

Jump to navigation Jump to search
No edit summary
Line 16: Line 16:
Once this is in place, we can then make it faster and faster by adding more optimizations.  
Once this is in place, we can then make it faster and faster by adding more optimizations.  


== Status ==
== Completed Work ==


We have imported the Nitro assembler and verified that it works with a basic test harness and the beginnings of the compiler.  
Imported the Nitro assembler and verified that it works with a basic test harness and the beginnings of the compiler.  


We have almost finished the JS stack cleanup and simplification. See [https://bugzilla.mozilla.org/show_bug.cgi?id=536275 Bug 536275].  
JS stack cleanup and simplification. See [https://bugzilla.mozilla.org/show_bug.cgi?id=536275 Bug 536275].  


Work has begun on the compiler. See [https://bugzilla.mozilla.org/show_bug.cgi?id=543637 Bug 543637].  
Basic method JIT compiler with about 20 fast paths.
 
PIC, in rough form.


== Current Work ==
== Current Work ==


JS stack simplification continues. The key near-term goal is to put all CallStacks (call stack headers), StackFrames (stack frame headers), and stack frame values into one contiguous array per thread.
Upgrade the compiler to hold values in registers and avoid stack and other memory traffic.
 
Change the basic jsval to a 128-bit format with values unmodified (no masking or shifting) in the top 64 bits.
 
Finish PIC.
 
== Next Steps ==
 
Better global variable access.
 
Better closure variable access.
 
Cheaper transitioning on and off trace.


We have started work on the compiler. By the end of Feb, we are roughly shooting to have implemented common control flow ops, fast paths for the 20 most common ops, and stub calls for most other ops.
More method compiler fast paths.


= Developing JaegerMonkey  =
= Developing JaegerMonkey  =
313

edits

Navigation menu