JSStackFrame Evisceration: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
|||
| Line 17: | Line 17: | ||
| Requires StackSegment [https://bugzilla.mozilla.org/show_bug.cgi?id=579183 changes]. | | Requires StackSegment [https://bugzilla.mozilla.org/show_bug.cgi?id=579183 changes]. | ||
|- | |- | ||
| ncode | | [https://bugzilla.mozilla.org/show_bug.cgi?id=595073 ncode] | ||
| 3 | | 3 | ||
| dvander/bhackett | | dvander/bhackett | ||
| Line 47: | Line 47: | ||
| A bit tricky | | A bit tricky | ||
|- | |- | ||
| [https://bugzilla.mozilla.org/show_bug.cgi?id= | | [https://bugzilla.mozilla.org/show_bug.cgi?id=595073 rval] | ||
| 1 | | 1 | ||
| | | | ||
| | | Lazily initialize with a JSStackFrame::flags bit and avoid ever writing in the hot JM call/return paths. | ||
|- | |- | ||
| X[https://bugzilla.mozilla.org/show_bug.cgi?id=586358 imacpc] | | X[https://bugzilla.mozilla.org/show_bug.cgi?id=586358 imacpc] | ||
Revision as of 04:50, 10 September 2010
This leaves sizeof(JSStackFrame) == 10 words (11 on 32-bit), but we only need to initialize 5 of those words on the call path; the rest can be lazily (or never) initialized.
Members to remove
Sorted in estimated order of benefit / difficulty:
| Task | Size (wks) | Assignee | Note |
| Xargc/argv/fun/script/thisv | 3 | lw | Requires StackSegment changes. |
| ncode | 3 | dvander/bhackett | Merge it with savedPC in method-jit. Requires building map HW PC --> bytecode (which we sortof already heave |
| XdisplaySave | 1 | cdleary | Remove display optimization for great justice! |
| XhookData | .1 | Lazily initialize using JSStackFrame::flags. Included in bug 539144. | |
| Xannotation | 3 | sayrer | Trivial if we can remove callers in nsScriptSecurityManager. Alas, that is not trivial, so this is going to take a while. For now, we lazily initialize which gives practically all the benefit. |
| XcallerVersion | .5 | cdleary | Mostly the challenge is just understanding the actual use case. |
| XblockChain | 1 | A bit tricky | |
| rval | 1 | Lazily initialize with a JSStackFrame::flags bit and avoid ever writing in the hot JM call/return paths. | |
| Ximacpc | 1 | cdleary | Leave uninitialized in call path and use JSStackFrame::flags to indicate whether there is or is not an imacpc. |