TM: Use LIR_loop for loop edge

RESOLVED FIXED

Status

()

RESOLVED FIXED
10 years ago
10 years ago

People

(Reporter: gal, Unassigned)

Tracking

unspecified
x86
Mac OS X
Points:
---
Dependency tree / graph
Bug Flags:
in-testsuite -
in-litmus -

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(1 attachment, 3 obsolete attachments)

(Reporter)

Description

10 years ago
Created attachment 344363 [details] [diff] [review]
v1

- 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.
(Reporter)

Comment 1

10 years ago
Created attachment 344369 [details] [diff] [review]
v2

Still not working, danderson is debugging.
Attachment #344363 - Attachment is obsolete: true
(Reporter)

Comment 2

10 years ago
Created attachment 344382 [details] [diff] [review]
v3
Attachment #344369 - Attachment is obsolete: true
(Reporter)

Updated

10 years ago
Blocks: 461076
(Reporter)

Comment 3

10 years ago
Created attachment 344389 [details] [diff] [review]
v4, working
Attachment #344382 - Attachment is obsolete: true
Attachment #344389 - Flags: review?(danderson)
Attachment #344389 - Flags: review?(danderson) → review+
(Reporter)

Comment 4

10 years ago
http://hg.mozilla.org/tracemonkey/rev/388c80a46e35

60ms perf win
Status: NEW → RESOLVED
Last Resolved: 10 years ago
Resolution: --- → FIXED

Updated

10 years ago
Flags: in-testsuite-
Flags: in-litmus-
You need to log in before you can comment on or make changes to this bug.