diff --git a/js/src/gc/Cell.h b/js/src/gc/Cell.h index fde676f5d3..d656b04f0b 100644 --- a/js/src/gc/Cell.h +++ b/js/src/gc/Cell.h @@ -261,14 +261,14 @@ Cell::needWriteBarrierPre(JS::Zone* zone) { /* static */ MOZ_ALWAYS_INLINE TenuredCell* TenuredCell::fromPointer(void* ptr) { - MOZ_ASSERT(static_cast(ptr)->isTenured()); + //MOZ_ASSERT(static_cast(ptr)->isTenured()); return static_cast(ptr); } /* static */ MOZ_ALWAYS_INLINE const TenuredCell* TenuredCell::fromPointer(const void* ptr) { - MOZ_ASSERT(static_cast(ptr)->isTenured()); + //MOZ_ASSERT(static_cast(ptr)->isTenured()); return static_cast(ptr); } diff --git a/js/src/gc/Marking.cpp b/js/src/gc/Marking.cpp index 511d2b073b..14657948eb 100644 --- a/js/src/gc/Marking.cpp +++ b/js/src/gc/Marking.cpp @@ -1001,7 +1001,7 @@ bool js::GCMarker::mark(T* thing) { AssertShouldMarkInZone(thing); - MOZ_ASSERT(!IsInsideNursery(TenuredCell::fromPointer(thing))); + //MOZ_ASSERT(!IsInsideNursery(TenuredCell::fromPointer(thing))); return ParticipatesInCC::value ? TenuredCell::fromPointer(thing)->markIfUnmarked(markColor()) : TenuredCell::fromPointer(thing)->markIfUnmarked(MarkColor::Black); diff --git a/js/src/jsgc.cpp b/js/src/jsgc.cpp index 77105a17ec..00172dd4b0 100644 --- a/js/src/jsgc.cpp +++ b/js/src/jsgc.cpp @@ -8570,8 +8570,9 @@ js::gc::detail::CellIsNotGray(const Cell* cell) // TODO: I'd like to AssertHeapIsIdle() here, but this ends up getting // called while iterating the heap for memory reporting. - MOZ_ASSERT(!JS::CurrentThreadIsHeapCollecting()); + //MOZ_ASSERT(!JS::CurrentThreadIsHeapCollecting()); MOZ_ASSERT(!JS::CurrentThreadIsHeapCycleCollecting()); + if (!CanCheckGrayBits(cell)) return true;