diff options
Diffstat (limited to 'deps/v8/src/heap/heap-inl.h')
-rw-r--r-- | deps/v8/src/heap/heap-inl.h | 17 |
1 files changed, 7 insertions, 10 deletions
diff --git a/deps/v8/src/heap/heap-inl.h b/deps/v8/src/heap/heap-inl.h index 4ce35bd961..f2f7a7f692 100644 --- a/deps/v8/src/heap/heap-inl.h +++ b/deps/v8/src/heap/heap-inl.h @@ -263,15 +263,13 @@ void Heap::OnAllocationEvent(HeapObject object, int size_in_bytes) { } bool Heap::CanAllocateInReadOnlySpace() { - return !deserialization_complete_ && - (isolate()->serializer_enabled() || - !isolate()->initialized_from_snapshot()); + return read_only_space()->writable(); } void Heap::UpdateAllocationsHash(HeapObject object) { Address object_address = object.address(); MemoryChunk* memory_chunk = MemoryChunk::FromAddress(object_address); - AllocationSpace allocation_space = memory_chunk->owner()->identity(); + AllocationSpace allocation_space = memory_chunk->owner_identity(); STATIC_ASSERT(kSpaceTagSize + kPageSizeBits <= 32); uint32_t value = @@ -374,13 +372,12 @@ bool Heap::InToPage(HeapObject heap_object) { bool Heap::InOldSpace(Object object) { return old_space_->Contains(object); } // static -Heap* Heap::FromWritableHeapObject(const HeapObject obj) { +Heap* Heap::FromWritableHeapObject(HeapObject obj) { MemoryChunk* chunk = MemoryChunk::FromHeapObject(obj); // RO_SPACE can be shared between heaps, so we can't use RO_SPACE objects to // find a heap. The exception is when the ReadOnlySpace is writeable, during // bootstrapping, so explicitly allow this case. - SLOW_DCHECK(chunk->owner()->identity() != RO_SPACE || - static_cast<ReadOnlySpace*>(chunk->owner())->writable()); + SLOW_DCHECK(chunk->IsWritable()); Heap* heap = chunk->heap(); SLOW_DCHECK(heap != nullptr); return heap; @@ -408,7 +405,7 @@ AllocationMemento Heap::FindAllocationMemento(Map map, HeapObject object) { return AllocationMemento(); } HeapObject candidate = HeapObject::FromAddress(memento_address); - MapWordSlot candidate_map_slot = candidate.map_slot(); + ObjectSlot candidate_map_slot = candidate.map_slot(); // This fast check may peek at an uninitialized word. However, the slow check // below (memento_address == top) ensures that this is safe. Mark the word as // initialized to silence MemorySanitizer warnings. @@ -614,8 +611,8 @@ CodePageMemoryModificationScope::CodePageMemoryModificationScope( scope_active_(chunk_->heap()->write_protect_code_memory() && chunk_->IsFlagSet(MemoryChunk::IS_EXECUTABLE)) { if (scope_active_) { - DCHECK(chunk_->owner()->identity() == CODE_SPACE || - (chunk_->owner()->identity() == CODE_LO_SPACE)); + DCHECK(chunk_->owner_identity() == CODE_SPACE || + (chunk_->owner_identity() == CODE_LO_SPACE)); chunk_->SetReadAndWritable(); } } |