JavaScript:SpiderMonkey:Context Threading: Difference between revisions
Jump to navigation
Jump to search
mNo edit summary |
(Mark as Outdated) |
||
(3 intermediate revisions by one other user not shown) | |||
Line 1: | Line 1: | ||
[http://citeseer.ist.psu.edu/berndl05context.html | {{OutdatedSpiderMonkey}} | ||
== Warning == | |||
This project-stub is probably obsolete in view of [[JavaScript:ActionMonkey]]. | |||
== Blurb == | |||
[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]. | ||
* Preserving the [http://lxr.mozilla.org/mozilla/search?string=JS_SetBranchCallback JS_SetBranchCallback 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 any other such jumps in the interpreter. | ||
[mailto:brendan@mozilla.org /be] | [mailto:brendan@mozilla.org /be] |
Latest revision as of 21:22, 27 April 2021
Warning
This project-stub is probably obsolete in view of JavaScript:ActionMonkey.
Blurb
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 Debugger API.
- Preserving the JS_SetBranchCallback API.
- Recoding bytecodes as necessary to improve icache utilization.
- Dealing with
goto out;
and any other such jumps in the interpreter.