JSStackFrame Evisceration: Difference between revisions
Jump to navigation
Jump to search
| Line 1: | Line 1: | ||
This would leave sizeof(JSStackFrame) == 6 words. | This would leave sizeof(JSStackFrame) == 6 words. | ||
Sorted in estimated order of benefit / difficulty: | Sorted in estimated order of benefit / difficulty: | ||
| Line 8: | Line 6: | ||
| '''Task''' | | '''Task''' | ||
| '''Size (wks)''' | | '''Size (wks)''' | ||
| ''' | | '''Assignee''' | ||
|- | |- | ||
| [https://bugzilla.mozilla.org/show_bug.cgi?id=539144 argc/argv] | | [https://bugzilla.mozilla.org/show_bug.cgi?id=539144 argc/argv] | ||
| Line 36: | Line 34: | ||
| [https://bugzilla.mozilla.org/show_bug.cgi?id=540675 callerVersion] | | [https://bugzilla.mozilla.org/show_bug.cgi?id=540675 callerVersion] | ||
| .5 | | .5 | ||
| | |||
| - | | - | ||
| [https://bugzilla.mozilla.org/show_bug.cgi?id=535912 blockChain] | | [https://bugzilla.mozilla.org/show_bug.cgi?id=535912 blockChain] | ||
Revision as of 06:22, 9 July 2010
This would leave sizeof(JSStackFrame) == 6 words. Sorted in estimated order of benefit / difficulty:
| Task | Size (wks) | Assignee | ||||
| argc/argv | 1 | lw | ||||
| thisv (depends on argv) | .5 | lw | ||||
| fun, script (depend on thisv) | .5 | lw | ||||
| ncode (merge with savedPC) | .1 | dvander | ||||
| displaySave - remove display optimization | 1 | cdleary | ||||
| hookData (just use js::Invoke and use a local variable) | .5 | |||||
| callerVersion | .5 | - | blockChain | 1 | ||
| rval | 1 | |||||
| annotation | ? (0, once we can drop the callers of JS_{Get,Set}FrameAnnotation in nsScriptSecurityManager.cpp) | |||||
| imacpc (use some side stack, or push a jsval (like JSOP_GOSUB) | 1 |
Remove from call path
- PIC for fast natives calls
- PIC/fast path for interpreted inline call
- Remove empty script check (not just a predictable branch)