| Index: src/spaces-inl.h
|
| diff --git a/src/spaces-inl.h b/src/spaces-inl.h
|
| index 8cad91586dbac90d21a290cc6af7e625cb24ba06..174c634d70d8af2f13ca51dc81c3050b1434d80c 100644
|
| --- a/src/spaces-inl.h
|
| +++ b/src/spaces-inl.h
|
| @@ -465,14 +465,20 @@ MaybeObject* PagedSpace::MCAllocateRaw(int size_in_bytes) {
|
| // -----------------------------------------------------------------------------
|
| // LargeObjectChunk
|
|
|
| -HeapObject* LargeObjectChunk::GetObject() {
|
| +Address LargeObjectChunk::GetStartAddress() {
|
| // Round the chunk address up to the nearest page-aligned address
|
| // and return the heap object in that page.
|
| Page* page = Page::FromAddress(RoundUp(address(), Page::kPageSize));
|
| - return HeapObject::FromAddress(page->ObjectAreaStart());
|
| + return page->ObjectAreaStart();
|
| }
|
|
|
|
|
| +void LargeObjectChunk::Free(Executability executable) {
|
| + Isolate* isolate =
|
| + Page::FromAddress(RoundUp(address(), Page::kPageSize))->heap_->isolate();
|
| + isolate->memory_allocator()->FreeRawMemory(address(), size(), executable);
|
| +}
|
| +
|
| // -----------------------------------------------------------------------------
|
| // LargeObjectSpace
|
|
|
|
|