JSStackFrame Evisceration: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
No edit summary
Line 38: Line 38:
|-
|-
| hookData
| hookData
| .5
| .2
|
| lw
| Just use js::Invoke and use a local variable
| Just use js::Invoke and use a local variable
|-
|-
Line 54: Line 54:
| [https://bugzilla.mozilla.org/show_bug.cgi?id=535912 blockChain]
| [https://bugzilla.mozilla.org/show_bug.cgi?id=535912 blockChain]
| 1
| 1
|  
| lw
| A bit tricky
| A bit tricky
|-
|-

Revision as of 06:59, 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 .2 lw 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 lw 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