Closed Bug 461231 Opened 16 years ago Closed 16 years ago

TM: Use LIR_loop for loop edge

Categories

(Core :: JavaScript Engine, defect)

x86
macOS
defect
Not set
normal

Tracking

()

RESOLVED FIXED

People

(Reporter: gal, Unassigned)

References

Details

Attachments

(1 file, 3 obsolete files)

Attached patch v1 (obsolete) — Splinter Review
- Use LIR_loop for the loop edge case. Loop edges are patched to frag->SOT once we reach the top of the fragment (reverse assembly). Branches inherit SOT from root, while root sets SOT if SOT == 0.
- Remove link code. When compiling trees we can do it in an order that doesn't require patching and without trees its never used. Loop edges are tracked separately, and attached branches are using the list of guards in the side exit.
Attached patch v2 (obsolete) — Splinter Review
Still not working, danderson is debugging.
Attachment #344363 - Attachment is obsolete: true
Attached patch v3 (obsolete) — Splinter Review
Attachment #344369 - Attachment is obsolete: true
Blocks: 461076
Attached patch v4, workingSplinter Review
Attachment #344382 - Attachment is obsolete: true
Attachment #344389 - Flags: review?(danderson)
Attachment #344389 - Flags: review?(danderson) → review+
http://hg.mozilla.org/tracemonkey/rev/388c80a46e35

60ms perf win
Status: NEW → RESOLVED
Closed: 16 years ago
Resolution: --- → FIXED
Flags: in-testsuite-
Flags: in-litmus-
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: