JSStackFrame Evisceration: Difference between revisions

Jump to navigation Jump to search
(Created page with '== Removing JSStackFrame members / things on the call path<br> == This would leave sizeof(JSStackFrame) == 6 words.<br> === Directly remove<br> === *[https://bugzilla.mozilla.…')
 
Line 1: Line 1:
== Removing JSStackFrame members / things on the call path<br> ==
== Removing JSStackFrame members / things on the call path ==


This would leave sizeof(JSStackFrame) == 6 words.<br>
This would leave sizeof(JSStackFrame) == 6 words.
Sorted in estimated order of benefit / difficulty:


=== Directly remove<br> ===
{| width="95%" cellspacing="4" cellpadding="1" border="0"
 
|-
*[https://bugzilla.mozilla.org/show_bug.cgi?id=535912 blockChain]<br>
| '''Task'''
*[https://bugzilla.mozilla.org/show_bug.cgi?id=539144 argc/argv] (lw)<br>
| '''Size (wks)'''
*[https://bugzilla.mozilla.org/show_bug.cgi?id=540675 callerVersion] (not just a predictable branch)<br>
| '''Candidate Assignee'''
*[https://bugzilla.mozilla.org/show_bug.cgi?id=550639 rval] (harder than originally expected, but its a uint64 on x86, so 2x points)<br>
|-
*[https://bugzilla.mozilla.org/show_bug.cgi?id=557375 thisv] (uint64 on x86, 2x points)<br>
| [https://bugzilla.mozilla.org/show_bug.cgi?id=539144 argc/argv]
*annotation - remove UniversalXPConnect / ultimately, the calls to JS_{Get,Set}FrameAnnotation in nsScriptSecurityManager.cpp must go<br>
| 1
*displaySave - remove display optimization (cdleary)<br>
| lw
 
|-
=== Remove from method-jit frame<br> ===
| [https://bugzilla.mozilla.org/show_bug.cgi?id=557375 thisv] (depends on argv)
 
| .5
*ncode (merge with savedPC)<br>
| lw
 
|-
=== Remove in non-interpreter stack frame<br> ===
| fun, script (depend on thisv)
 
| .5
*fun<br>
| lw
*script<br>
|-
*hookData (?)<br>
| ncode (merge with savedPC)
*imacpc (?)
| .1
| dvander
|-
| displaySave - remove display optimization
| 1
| cdleary
|-
| hookData (just use js::Invoke and use a local variable)
| .5
|
|-
| [https://bugzilla.mozilla.org/show_bug.cgi?id=540675 callerVersion]
| .5
| -
| [https://bugzilla.mozilla.org/show_bug.cgi?id=535912 blockChain]
| 1
|
|-
| [https://bugzilla.mozilla.org/show_bug.cgi?id=550639 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 ==
== Remove from call path ==
Confirmed users
367

edits

Navigation menu