Closed Bug 888872 Opened 11 years ago Closed 11 years ago

IonMonkey: Track location of slots/elements pointers for generational GC

Categories

(Core :: JavaScript Engine, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla25

People

(Reporter: jandem, Assigned: jandem)

References

Details

Attachments

(1 file)

Attached patch Patch (deleted) — Splinter Review
Slots/elements can be allocated in the nursery and moved by minor GCs. When this happens we have to update any slots/elements pointers stored in Ion frames to point to the new malloc'ed buffer. This patch tracks slots/elements pointers in safepoints, and updates them during minor GCs. This depends on Terrence's patch in bug 888463 and fixes Kraken.
Attachment #769650 - Flags: review?(terrence)
Attachment #769650 - Flags: review?(dvander)
Comment on attachment 769650 [details] [diff] [review] Patch Review of attachment 769650 [details] [diff] [review]: ----------------------------------------------------------------- The changes to Nursery look righteous. I'll leave the rest to David. r=me ::: js/src/ion/LIR.h @@ -542,5 @@ > #endif > case MIRType_Slots: > case MIRType_Elements: > - // When we begin allocating slots vectors from the GC, this will > - // need to change to ::OBJECT. Well, that was prescient at least.
Attachment #769650 - Flags: review?(terrence) → review+
Comment on attachment 769650 [details] [diff] [review] Patch Review of attachment 769650 [details] [diff] [review]: ----------------------------------------------------------------- Good catch. It's unfortunate we have to add all this extra complexity. It seems like a good long-term goal for the GC will be removing the distinctions between where GC objects are allocated.
Attachment #769650 - Flags: review?(dvander) → review+
Depends on: 889986
Status: ASSIGNED → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla25
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: