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)
Core
JavaScript Engine
Tracking
()
RESOLVED
FIXED
mozilla25
People
(Reporter: jandem, Assigned: jandem)
References
Details
Attachments
(1 file)
(deleted),
patch
|
dvander
:
review+
terrence
:
review+
|
Details | Diff | 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 1•11 years ago
|
||
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+
Assignee | ||
Comment 3•11 years ago
|
||
Comment 4•11 years ago
|
||
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.
Description
•