Closed
Bug 517121
Opened 15 years ago
Closed 15 years ago
avoid loading Toplevel* in jit code
Categories
(Tamarin Graveyard :: Virtual Machine, defect, P3)
Tamarin Graveyard
Virtual Machine
Tracking
(Not tracked)
VERIFIED
FIXED
flash10.1
People
(Reporter: edwsmith, Assigned: edwsmith)
References
Details
Attachments
(8 obsolete files)
instead, pass MethodEnv* to helpers that currently need Toplevel*, and load it within the helpers. for all code, this reduces the size of jit code and slightly reduces jit time. (less instructions).
for hot code, its a wash, except that when we also can inline the fast path inside the helper, we usually can avoid loading Toplevel* completely, which is a win. plus, inlining the fast path in this manner is a win too.
individual patches and/or dependent bugs will be tracked here.
combined, the changes currently net about ~10% speedup on x86 and 5-20% speedup on arm, on v8. other tests TBD.
Assignee | ||
Comment 1•15 years ago
|
||
Assignee: nobody → edwsmith
Attachment #401805 -
Flags: review?(tharwood)
Assignee | ||
Comment 2•15 years ago
|
||
Attachment #401806 -
Flags: review?(tharwood)
Assignee | ||
Comment 3•15 years ago
|
||
Attachment #401808 -
Flags: review?(tharwood)
Assignee | ||
Comment 4•15 years ago
|
||
Attachment #401810 -
Flags: review?(tharwood)
Assignee | ||
Comment 5•15 years ago
|
||
Attachment #401822 -
Flags: review?(tharwood)
Comment 6•15 years ago
|
||
Comment on attachment 401805 [details] [diff] [review]
OP_applytype: delay loading Toplevel* until we need it in the error path.
Worth doing a sandbox build here? I'm not sure of the xplt implications of taking the address of an ostensibly inlined function.
Attachment #401805 -
Flags: review?(tharwood) → review+
Updated•15 years ago
|
Attachment #401806 -
Flags: review?(tharwood) → review+
Updated•15 years ago
|
Attachment #401808 -
Flags: review?(tharwood) → review+
Updated•15 years ago
|
Attachment #401810 -
Flags: review?(tharwood) → review+
Updated•15 years ago
|
Attachment #401822 -
Flags: review?(tharwood) → review+
Assignee | ||
Comment 7•15 years ago
|
||
Comment on attachment 401805 [details] [diff] [review]
OP_applytype: delay loading Toplevel* until we need it in the error path.
applytype pushed http://hg.mozilla.org/tamarin-redux/rev/66a4cb7df0aa
Attachment #401805 -
Attachment is obsolete: true
Assignee | ||
Comment 8•15 years ago
|
||
Comment on attachment 401806 [details] [diff] [review]
load Toplevel* in the newarray helper instead of inline jit code
newarray pushed http://hg.mozilla.org/tamarin-redux/rev/740ec102ce34
Assignee | ||
Updated•15 years ago
|
Attachment #401806 -
Attachment is obsolete: true
Assignee | ||
Comment 9•15 years ago
|
||
Comment on attachment 401808 [details] [diff] [review]
load Toplevel* in astype helper instead of inline jit code
astype pushed http://hg.mozilla.org/tamarin-redux/rev/e945a38bd5f5
Attachment #401808 -
Attachment is obsolete: true
Assignee | ||
Comment 10•15 years ago
|
||
Comment on attachment 401810 [details] [diff] [review]
load Toplevel* in instanceof helper
instanceof pushed
http://hg.mozilla.org/tamarin-redux/rev/4499c517b563
Attachment #401810 -
Attachment is obsolete: true
Assignee | ||
Comment 11•15 years ago
|
||
Comment on attachment 401822 [details] [diff] [review]
load Toplevel* in "in" operator
in pushed
http://hg.mozilla.org/tamarin-redux/rev/0cf78fb25264
Attachment #401822 -
Attachment is obsolete: true
Assignee | ||
Comment 12•15 years ago
|
||
less code, no significant perf change now that inline caching is in place.
Attachment #404049 -
Flags: review?(stejohns)
Assignee | ||
Comment 13•15 years ago
|
||
less jit code, no significant perf change. (applies on top of the previous patch for callproperty cleanup)
Attachment #404050 -
Flags: review?(stejohns)
Updated•15 years ago
|
Attachment #404049 -
Flags: review?(stejohns) → review+
Updated•15 years ago
|
Attachment #404050 -
Flags: review?(stejohns) → review+
Updated•15 years ago
|
Priority: -- → P3
Target Milestone: --- → flash10.1
Assignee | ||
Comment 14•15 years ago
|
||
Comment on attachment 404049 [details] [diff] [review]
Removes boilerplate around callproperty slow path
pushed
http://hg.mozilla.org/tamarin-redux/rev/f11a8d8ca82c
Attachment #404049 -
Attachment is obsolete: true
Assignee | ||
Comment 15•15 years ago
|
||
Comment on attachment 404050 [details] [diff] [review]
clean up boilerplate around construct slow paths
pushed http://hg.mozilla.org/tamarin-redux/rev/70726a525ca0
Attachment #404050 -
Attachment is obsolete: true
Assignee | ||
Comment 16•15 years ago
|
||
This patch also moves the coerce() code to instr.h, too. R- if you want me to split this into two patches to make the review easier.
Attachment #405098 -
Flags: review?(stejohns)
Updated•15 years ago
|
Attachment #405098 -
Flags: review?(stejohns) → review+
Assignee | ||
Comment 17•15 years ago
|
||
Comment on attachment 405098 [details] [diff] [review]
eliminate boilerplate in jit around calls to coerce()
http://hg.mozilla.org/tamarin-redux/rev/172691e389c8
Attachment #405098 -
Attachment is obsolete: true
Assignee | ||
Updated•15 years ago
|
Status: NEW → RESOLVED
Closed: 15 years ago
Resolution: --- → FIXED
You need to log in
before you can comment on or make changes to this bug.
Description
•