Closed Bug 668291 Opened 13 years ago Closed 13 years ago

IonMonkey: Free allocated stack slots at the end of intervals in the register allocator

Categories

(Core :: JavaScript Engine, defect)

x86_64
Linux
defect
Not set
normal

Tracking

()

RESOLVED FIXED

People

(Reporter: adrake, Assigned: adrake)

References

Details

Attachments

(1 file)

Currently stack slots once assigned are not reused, this is a tracking bug for the appropriate FIXME in the code.
Assignee: general → adrake
Blocks: 657816
Attached patch Patch v0Splinter Review
Applies on top of patch v0 from bug 657816.
Attachment #543337 - Flags: review?(dvander)
Comment on attachment 543337 [details] [diff] [review]
Patch v0

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

Nice, this patch invalidates most of my comment about |handled| in the base patch - if it is unused in release code though, it still deserves an #ifdef DEBUG

::: js/src/ion/RegisterAllocator.cpp
@@ +782,5 @@
> +    LAllocation *alloc = interval->getAllocation();
> +    JS_ASSERT(!alloc->isUse());
> +
> +    if (alloc->isStackSlot())
> +        stackAssignment.freeSlot(alloc->toStackSlot()->slot());

This should check whether the slot is double or not and call freeDoubleSlot instead.
Attachment #543337 - Flags: review?(dvander) → review+
http://hg.mozilla.org/users/danderson_mozilla.com/ionmonkey/rev/aa0a554ed868
Status: NEW → RESOLVED
Closed: 13 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.