313
edits
No edit summary |
No edit summary |
||
| Line 1: | Line 1: | ||
<blockquote>This is the coder's badge of glory, That he protect and tend his monkey, Code with honor, as is due, And through the bits to God is true. --damons, IRC </blockquote> | <blockquote>This is the coder's badge of glory, That he protect and tend his monkey, Code with honor, as is due, And through the bits to God is true. --damons, IRC </blockquote> | ||
JaegerMonkey (or JägerMonkey) is '''inline threading''' for SpiderMonkey. The goal is to get reliable baseline performance on the order of other JS JIT systems. "Inline threading" really just means a baseline whole-method JIT that doesn't necessarily do many traditional compiler optimizations. Instead, it does dynamic-language-JIT-oriented optimizations like PICs and specialization of constant operands.<br> | JaegerMonkey (or JägerMonkey) is '''inline threading''' for SpiderMonkey. The goal is to get reliable baseline performance on the order of other JS JIT systems. "Inline threading" really just means a baseline whole-method JIT that doesn't necessarily do many traditional compiler optimizations. Instead, it does dynamic-language-JIT-oriented optimizations like PICs and specialization of constant operands.<br> | ||
[https://bugzilla.mozilla.org/show_bug.cgi?id=536277 Bug 536277] is the meta bug for this project. | [https://bugzilla.mozilla.org/show_bug.cgi?id=536277 Bug 536277] is the meta bug for this project. | ||
= Planning = | = Planning = | ||
== First Deliverable == | == First Deliverable == | ||
| Line 22: | Line 22: | ||
We have almost finished the JS stack cleanup and simplification. See [https://bugzilla.mozilla.org/show_bug.cgi?id=536275 Bug 536275]. | We have almost finished the 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] | Work has begun on the compiler. See [https://bugzilla.mozilla.org/show_bug.cgi?id=543637 Bug 543637]. | ||
= Design Discussion = | == 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. | |||
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. | |||
= Design Discussion = | |||
== Initial Design Decisions == | == Initial Design Decisions == | ||
edits