JSStackFrame Evisceration
This would leave sizeof(JSStackFrame) == 6 words.
Members to remove
Sorted in estimated order of benefit / difficulty:
Task | Size (wks) | Assignee | Note |
argc/argv | 1.5 | lw | Requires CallSegment (CallStack) changes, educate decompiler |
thisv | .5 | lw | Depends on argv/argc |
fun, script | .5 | lw | Depends on thisv |
ncode | .1 | dvander | Merge it with savedPC in method-jit |
displaySave | 1 | cdleary | Remove display optimization for great justice! |
hookData | .5 | Just use js::Invoke and use a local variable | |
annotation | 0 | sayrer | Trivial if we can remove callers in nsScriptSecurityManager. |
callerVersion | .5 | Mostly the challenge is just understanding the actual use case. | |
blockChain | 1 | A bit tricky | |
rval | 1 | Tricky | |
imacpc | 1 | Perhaps push on the expression stack like JSOP_GOSUB does |
Method-jit changes
- PIC for fast natives calls
- PIC/fast path for interpreted inline call