Index: src/heap/heap.cc |
diff --git a/src/heap/heap.cc b/src/heap/heap.cc |
index bafce6fc6d1461769c41ae56b61b56047728b775..31b93e71991e219b5c6050bd0f17bd890f6018ec 100644 |
--- a/src/heap/heap.cc |
+++ b/src/heap/heap.cc |
@@ -2364,7 +2364,7 @@ |
int size = HeapNumber::kSize; |
STATIC_ASSERT(HeapNumber::kSize <= Page::kMaxRegularHeapObjectSize); |
- AllocationSpace space = SelectSpace(pretenure); |
+ AllocationSpace space = SelectSpace(size, pretenure); |
HeapObject* result = nullptr; |
{ |
@@ -2385,7 +2385,7 @@ |
int size = Type::kSize; \ |
STATIC_ASSERT(Type::kSize <= Page::kMaxRegularHeapObjectSize); \ |
\ |
- AllocationSpace space = SelectSpace(pretenure); \ |
+ AllocationSpace space = SelectSpace(size, pretenure); \ |
\ |
HeapObject* result = nullptr; \ |
{ \ |
@@ -2923,7 +2923,7 @@ |
v8::internal::Heap::FatalProcessOutOfMemory("invalid array length", true); |
} |
int size = ByteArray::SizeFor(length); |
- AllocationSpace space = SelectSpace(pretenure); |
+ AllocationSpace space = SelectSpace(size, pretenure); |
HeapObject* result = nullptr; |
{ |
AllocationResult allocation = AllocateRaw(size, space, OLD_SPACE); |
@@ -3134,7 +3134,7 @@ |
int length, ExternalArrayType array_type, void* external_pointer, |
PretenureFlag pretenure) { |
int size = FixedTypedArrayBase::kHeaderSize; |
- AllocationSpace space = SelectSpace(pretenure); |
+ AllocationSpace space = SelectSpace(size, pretenure); |
HeapObject* result = nullptr; |
{ |
AllocationResult allocation = AllocateRaw(size, space, OLD_SPACE); |
@@ -3178,7 +3178,7 @@ |
ForFixedTypedArray(array_type, &element_size, &elements_kind); |
int size = OBJECT_POINTER_ALIGN(length * element_size + |
FixedTypedArrayBase::kDataOffset); |
- AllocationSpace space = SelectSpace(pretenure); |
+ AllocationSpace space = SelectSpace(size, pretenure); |
HeapObject* object = nullptr; |
AllocationResult allocation = AllocateRaw( |
@@ -3393,7 +3393,8 @@ |
FixedArray* properties = empty_fixed_array(); |
// Allocate the JSObject. |
- AllocationSpace space = SelectSpace(pretenure); |
+ int size = map->instance_size(); |
+ AllocationSpace space = SelectSpace(size, pretenure); |
JSObject* js_obj = nullptr; |
AllocationResult allocation = Allocate(map, space, allocation_site); |
if (!allocation.To(&js_obj)) return allocation; |
@@ -3594,11 +3595,12 @@ |
map = internalized_string_map(); |
size = SeqTwoByteString::SizeFor(chars); |
} |
+ AllocationSpace space = SelectSpace(size, TENURED); |
// Allocate string. |
HeapObject* result = nullptr; |
{ |
- AllocationResult allocation = AllocateRaw(size, OLD_SPACE, OLD_SPACE); |
+ AllocationResult allocation = AllocateRaw(size, space, OLD_SPACE); |
if (!allocation.To(&result)) return allocation; |
} |
@@ -3636,7 +3638,7 @@ |
DCHECK_GE(String::kMaxLength, length); |
int size = SeqOneByteString::SizeFor(length); |
DCHECK(size <= SeqOneByteString::kMaxSize); |
- AllocationSpace space = SelectSpace(pretenure); |
+ AllocationSpace space = SelectSpace(size, pretenure); |
HeapObject* result = nullptr; |
{ |
@@ -3660,7 +3662,7 @@ |
DCHECK_GE(String::kMaxLength, length); |
int size = SeqTwoByteString::SizeFor(length); |
DCHECK(size <= SeqTwoByteString::kMaxSize); |
- AllocationSpace space = SelectSpace(pretenure); |
+ AllocationSpace space = SelectSpace(size, pretenure); |
HeapObject* result = nullptr; |
{ |
@@ -3795,7 +3797,7 @@ |
v8::internal::Heap::FatalProcessOutOfMemory("invalid array length", true); |
} |
int size = FixedArray::SizeFor(length); |
- AllocationSpace space = SelectSpace(pretenure); |
+ AllocationSpace space = SelectSpace(size, pretenure); |
return AllocateRaw(size, space, OLD_SPACE); |
} |
@@ -3864,7 +3866,7 @@ |
kDoubleAligned); |
} |
int size = FixedDoubleArray::SizeFor(length); |
- AllocationSpace space = SelectSpace(pretenure); |
+ AllocationSpace space = SelectSpace(size, pretenure); |
HeapObject* object = nullptr; |
{ |
@@ -3921,9 +3923,10 @@ |
return exception(); |
} |
int size = map->instance_size(); |
+ AllocationSpace space = SelectSpace(size, TENURED); |
Struct* result = nullptr; |
{ |
- AllocationResult allocation = Allocate(map, OLD_SPACE); |
+ AllocationResult allocation = Allocate(map, space); |
if (!allocation.To(&result)) return allocation; |
} |
result->InitializeBody(size); |