JavaScript:SpiderMonkey:Context Threading: Difference between revisions

From MozillaWiki
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|Debugger API].
* 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|bytecodes] as necessary to improve icache utilization.
* 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|/be]
[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.

/be