зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1359049 - Improve gray marking assertions to cover object private GC pointers r=sfink
This commit is contained in:
Родитель
0bef963eb6
Коммит
6f85e884cd
|
@ -657,7 +657,8 @@ CheckGrayMarkingTracer::checkCell(Cell* cell)
|
|||
tenuredCell->isMarked(GRAY))
|
||||
{
|
||||
failures++;
|
||||
fprintf(stderr, "Found black to gray edge %p\n", cell);
|
||||
fprintf(stderr, "Found black to gray edge to %s %p\n",
|
||||
GCTraceKindToAscii(cell->getTraceKind()), cell);
|
||||
dumpCellPath();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1225,6 +1225,8 @@ class NativeObject : public ShapedObject
|
|||
}
|
||||
|
||||
void setPrivateGCThing(gc::Cell* cell) {
|
||||
MOZ_ASSERT_IF(IsMarkedBlack(this),
|
||||
!JS::GCThingIsMarkedGray(JS::GCCellPtr(cell, cell->getTraceKind())));
|
||||
void** pprivate = &privateRef(numFixedSlots());
|
||||
privateWriteBarrierPre(pprivate);
|
||||
*pprivate = reinterpret_cast<void*>(cell);
|
||||
|
|
Загрузка…
Ссылка в новой задаче