Closed Bug 817213 Opened 12 years ago Closed 12 years ago

IonMonkey: factor computation of live ranges out of LSRA

Categories

(Core :: JavaScript Engine, defect)

Other Branch
x86
macOS
defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla20

People

(Reporter: bhackett1024, Unassigned)

References

Details

Attachments

(1 file)

Both LSRA and LLVM's allocator operate on liveness intervals for virtual registers.  It would be nice if the two could share an implementation for the data structures representing liveness intervals and the logic which computes them.  The attached patch factors this stuff out of LinearScan.* and into new LiveRangeAllocator.* files, which should make this sharing possible.
Attachment #687333 - Flags: review?(jdemooij)
Comment on attachment 687333 [details] [diff] [review]
patch (ff12b7de0b4f)

Review of attachment 687333 [details] [diff] [review]:
-----------------------------------------------------------------

Nice.

::: js/src/ion/LiveRangeAllocator.cpp
@@ +442,5 @@
> +            if (interval->numRanges() == 0)
> +                continue;
> +
> +            JS_ASSERT_IF(prev, prev->end() <= interval->start());
> +            interval->validateRanges();

Nit: you can move validateRanges too.
Attachment #687333 - Flags: review?(jdemooij) → review+
https://hg.mozilla.org/mozilla-central/rev/0d2b2b1018a7
Status: NEW → RESOLVED
Closed: 12 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla20
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: