JSStackFrame Evisceration: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
|||
| Line 1: | Line 1: | ||
This would leave sizeof(JSStackFrame) == 6 words. | This would leave sizeof(JSStackFrame) == 6 words. | ||
=== Members to remove === | |||
Sorted in estimated order of benefit / difficulty: | Sorted in estimated order of benefit / difficulty: | ||
| Line 7: | Line 10: | ||
| '''Size (wks)''' | | '''Size (wks)''' | ||
| '''Assignee''' | | '''Assignee''' | ||
| '''Note''' | |||
|- | |- | ||
| [https://bugzilla.mozilla.org/show_bug.cgi?id=539144 argc/argv] | | [https://bugzilla.mozilla.org/show_bug.cgi?id=539144 argc/argv] | ||
| 1 | | 1.5 | ||
| lw | | lw | ||
| Requires CallSegment (CallStack) changes, educate decompiler | |||
|- | |- | ||
| [https://bugzilla.mozilla.org/show_bug.cgi?id=557375 thisv] | | [https://bugzilla.mozilla.org/show_bug.cgi?id=557375 thisv] | ||
| .5 | | .5 | ||
| lw | | lw | ||
| Depends on argv/argc | |||
|- | |- | ||
| fun, script | | fun, script | ||
| .5 | | .5 | ||
| lw | | lw | ||
| Depends on thisv | |||
|- | |- | ||
| ncode | | ncode | ||
| .1 | | .1 | ||
| dvander | | dvander | ||
| Merge it with savedPC in method-jit | |||
|- | |- | ||
| displaySave | | displaySave | ||
| 1 | | 1 | ||
| cdleary | | cdleary | ||
| Remove display optimization for great justice! | |||
|- | |- | ||
| hookData | | hookData | ||
| .5 | | .5 | ||
| | | | ||
| Just use js::Invoke and use a local variable | |||
|- | |||
| annotation | |||
| 0 | |||
| sayrer | |||
| Trivial if we can remove callers in nsScriptSecurityManager. | |||
|- | |- | ||
| [https://bugzilla.mozilla.org/show_bug.cgi?id=540675 callerVersion] | | [https://bugzilla.mozilla.org/show_bug.cgi?id=540675 callerVersion] | ||
| .5 | | .5 | ||
| | | | ||
| - | | Mostly the challenge is just understanding the actual use case. | ||
|- | |||
| [https://bugzilla.mozilla.org/show_bug.cgi?id=535912 blockChain] | | [https://bugzilla.mozilla.org/show_bug.cgi?id=535912 blockChain] | ||
| 1 | | 1 | ||
| | | | ||
| A bit tricky | |||
|- | |- | ||
| [https://bugzilla.mozilla.org/show_bug.cgi?id=550639 rval] | | [https://bugzilla.mozilla.org/show_bug.cgi?id=550639 rval] | ||
| 1 | | 1 | ||
| | | | ||
| Tricky | |||
|- | |- | ||
| imacpc | |||
| imacpc | |||
| 1 | | 1 | ||
| | | | ||
| Perhaps push on the expression stack like JSOP_GOSUB does | |||
|} | |} | ||
== | === Method-jit changes === | ||
*PIC for fast natives calls | * PIC for fast natives calls | ||
*PIC/fast path for interpreted inline call | * PIC/fast path for interpreted inline call | ||
Revision as of 06:43, 9 July 2010
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