JavaScript:SpiderMonkey:Context Threading: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
mNo edit summary |
||
Line 1: | Line 1: | ||
[http://citeseer.ist.psu.edu/berndl05context.html|Context threading] is an interpreter implementation technique that aligns the interpreter's virtual PC with the real PC, to optimize branch prediction. SpiderMonkey needs it. Challenges: | [http://citeseer.ist.psu.edu/berndl05context.html|Context threading] is an interpreter implementation technique that aligns the interpreter's virtual PC with the real PC, to optimize branch prediction. SpiderMonkey needs it. Challenges: | ||
* Preserving the SpiderMonkey [http://lxr.mozilla.org/mozilla/source/js/src/jsdbgapi.h | * Preserving the SpiderMonkey [http://lxr.mozilla.org/mozilla/source/js/src/jsdbgapi.h Debugger API]. | ||
* Recoding [http://lxr.mozilla.org/mozilla/source/js/src/jsopcode.tbl | * Recoding [http://lxr.mozilla.org/mozilla/source/js/src/jsopcode.tbl bytecodes] as necessary to improve icache utilization. | ||
* Dealing with <code>goto out;</code> and other such jumps in the interpreter. | * Dealing with <code>goto out;</code> and other such jumps in the interpreter. | ||
[mailto:brendan@mozilla.org | [mailto:brendan@mozilla.org /be] |
Revision as of 03:02, 10 January 2006
threading is an interpreter implementation technique that aligns the interpreter's virtual PC with the real PC, to optimize branch prediction. SpiderMonkey needs it. Challenges:
- Preserving the SpiderMonkey Debugger API.
- Recoding bytecodes as necessary to improve icache utilization.
- Dealing with
goto out;
and other such jumps in the interpreter.