Index: src/heap.cc |
diff --git a/src/heap.cc b/src/heap.cc |
index 38a5dee04d104768e8c6ec26cb65287497884029..bc79d9bbeec451db7868ec8f45b2cc29ab79ced7 100644 |
--- a/src/heap.cc |
+++ b/src/heap.cc |
@@ -5335,25 +5335,10 @@ MaybeObject* Heap::AllocateEmptyExternalArray(ExternalArrayType array_type) { |
} |
-MaybeObject* Heap::AllocateRawFixedArray(int length) { |
- if (length < 0 || length > FixedArray::kMaxLength) { |
- return Failure::OutOfMemoryException(0xd); |
- } |
- ASSERT(length > 0); |
- // Use the general function if we're forced to always allocate. |
- if (always_allocate()) return AllocateFixedArray(length, TENURED); |
- // Allocate the raw data for a fixed array. |
- int size = FixedArray::SizeFor(length); |
- return size <= Page::kMaxNonCodeHeapObjectSize |
- ? new_space_.AllocateRaw(size) |
- : lo_space_->AllocateRaw(size, NOT_EXECUTABLE); |
-} |
- |
- |
MaybeObject* Heap::CopyFixedArrayWithMap(FixedArray* src, Map* map) { |
int len = src->length(); |
Object* obj; |
- { MaybeObject* maybe_obj = AllocateRawFixedArray(len); |
+ { MaybeObject* maybe_obj = AllocateRawFixedArray(len, NOT_TENURED); |
if (!maybe_obj->ToObject(&obj)) return maybe_obj; |
} |
if (InNewSpace(obj)) { |
@@ -5404,22 +5389,20 @@ MaybeObject* Heap::AllocateRawFixedArray(int length, PretenureFlag pretenure) { |
} |
-MUST_USE_RESULT static MaybeObject* AllocateFixedArrayWithFiller( |
- Heap* heap, |
- int length, |
- PretenureFlag pretenure, |
- Object* filler) { |
+MaybeObject* Heap::AllocateFixedArrayWithFiller(int length, |
+ PretenureFlag pretenure, |
+ Object* filler) { |
ASSERT(length >= 0); |
- ASSERT(heap->empty_fixed_array()->IsFixedArray()); |
- if (length == 0) return heap->empty_fixed_array(); |
+ ASSERT(empty_fixed_array()->IsFixedArray()); |
+ if (length == 0) return empty_fixed_array(); |
- ASSERT(!heap->InNewSpace(filler)); |
+ ASSERT(!InNewSpace(filler)); |
Object* result; |
- { MaybeObject* maybe_result = heap->AllocateRawFixedArray(length, pretenure); |
+ { MaybeObject* maybe_result = AllocateRawFixedArray(length, pretenure); |
if (!maybe_result->ToObject(&result)) return maybe_result; |
} |
- HeapObject::cast(result)->set_map_no_write_barrier(heap->fixed_array_map()); |
+ HeapObject::cast(result)->set_map_no_write_barrier(fixed_array_map()); |
FixedArray* array = FixedArray::cast(result); |
array->set_length(length); |
MemsetPointer(array->data_start(), filler, length); |
@@ -5428,19 +5411,13 @@ MUST_USE_RESULT static MaybeObject* AllocateFixedArrayWithFiller( |
MaybeObject* Heap::AllocateFixedArray(int length, PretenureFlag pretenure) { |
- return AllocateFixedArrayWithFiller(this, |
- length, |
- pretenure, |
- undefined_value()); |
+ return AllocateFixedArrayWithFiller(length, pretenure, undefined_value()); |
} |
MaybeObject* Heap::AllocateFixedArrayWithHoles(int length, |
PretenureFlag pretenure) { |
- return AllocateFixedArrayWithFiller(this, |
- length, |
- pretenure, |
- the_hole_value()); |
+ return AllocateFixedArrayWithFiller(length, pretenure, the_hole_value()); |
} |
@@ -5448,7 +5425,7 @@ MaybeObject* Heap::AllocateUninitializedFixedArray(int length) { |
if (length == 0) return empty_fixed_array(); |
Object* obj; |
- { MaybeObject* maybe_obj = AllocateRawFixedArray(length); |
+ { MaybeObject* maybe_obj = AllocateRawFixedArray(length, NOT_TENURED); |
if (!maybe_obj->ToObject(&obj)) return maybe_obj; |
} |