Closed Bug 517121 Opened 15 years ago Closed 15 years ago

avoid loading Toplevel* in jit code

Categories

(Tamarin Graveyard :: Virtual Machine, defect, P3)

defect

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.
Depends on: 517127
Depends on: 517762
Depends on: 517764
Assignee: nobody → edwsmith
Attachment #401805 - Flags: review?(tharwood)
Attachment #401806 - Flags: review?(tharwood)
Attachment #401808 - Flags: review?(tharwood)
Attachment #401810 - Flags: review?(tharwood)
Attached patch load Toplevel* in "in" operator (obsolete) — Splinter Review
Attachment #401822 - Flags: review?(tharwood)
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+
Attachment #401806 - Flags: review?(tharwood) → review+
Attachment #401808 - Flags: review?(tharwood) → review+
Attachment #401810 - Flags: review?(tharwood) → review+
Attachment #401822 - Flags: review?(tharwood) → review+
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
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
Attachment #401806 - Attachment is obsolete: true
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
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
Attachment #401822 - Attachment is obsolete: true
less code, no significant perf change now that inline caching is in place.
Attachment #404049 - Flags: review?(stejohns)
less jit code, no significant perf change. (applies on top of the previous patch for callproperty cleanup)
Attachment #404050 - Flags: review?(stejohns)
Attachment #404049 - Flags: review?(stejohns) → review+
Attachment #404050 - Flags: review?(stejohns) → review+
Priority: -- → P3
Target Milestone: --- → flash10.1
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
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
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)
Attachment #405098 - Flags: review?(stejohns) → review+
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
Status: NEW → RESOLVED
Closed: 15 years ago
Resolution: --- → FIXED
Engineering work item. Marking as verified.
Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: