Closed Bug 716753 Opened 8 years ago Closed 8 years ago

IonMonkey: Stack allocation bugs in GRA

Categories

(Core :: JavaScript Engine, defect)

defect
Not set

Tracking

()

RESOLVED FIXED

People

(Reporter: dvander, Assigned: dvander)

References

Details

Attachments

(1 file)

Two more bugs in GRA stack allocation:
 (1) uses in snapshots are not held live across loops
 (2) we can accidentally free half of a nunbox as a normal stack slot (they must be freed as a whole)
Attached patch fixesSplinter Review
Attachment #587218 - Flags: review?(sstangl)
Comment on attachment 587218 [details] [diff] [review]
fixes

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

::: js/src/ion/GreedyAllocator.cpp
@@ +793,5 @@
> +            if (!a->isUse())
> +                continue;
> +            VirtualRegister *vr = getVirtualRegister(a->toUse());
> +            if (vr->def->virtualRegister() < lowerBound || vr->def->virtualRegister() > upperBound)
> +                allocateStack(vr);

Duplicates code above, which isn't fashionable.
void findLoopCarriedUses(LAllocation *, uint32, uint32)?
Attachment #587218 - Flags: review?(sstangl) → review+
http://hg.mozilla.org/projects/ionmonkey/rev/0a8aee9639cf w/ nits
Status: ASSIGNED → RESOLVED
Closed: 8 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.