Index: src/ia32/lithium-codegen-ia32.cc |
diff --git a/src/ia32/lithium-codegen-ia32.cc b/src/ia32/lithium-codegen-ia32.cc |
index ff5403ad7de057e95ad16cbb7bf4b09d694b3457..378a887a52c6e226e6d6df3b24b4440fed1eaad3 100644 |
--- a/src/ia32/lithium-codegen-ia32.cc |
+++ b/src/ia32/lithium-codegen-ia32.cc |
@@ -5423,12 +5423,8 @@ void LCodeGen::DoAllocateObject(LAllocateObject* instr) { |
// the constructor's prototype changes, but instance size and property |
// counts remain unchanged (if slack tracking finished). |
ASSERT(!constructor->shared()->IsInobjectSlackTrackingInProgress()); |
- __ AllocateInNewSpace(instance_size, |
- result, |
- no_reg, |
- scratch, |
- deferred->entry(), |
- TAG_OBJECT); |
+ __ Allocate(instance_size, result, no_reg, scratch, deferred->entry(), |
+ TAG_OBJECT, MacroAssembler::NEW_SPACE); |
__ bind(deferred->exit()); |
if (FLAG_debug_code) { |
@@ -5518,7 +5514,13 @@ void LCodeGen::DoAllocate(LAllocate* instr) { |
} |
if (instr->size()->IsConstantOperand()) { |
int32_t size = ToInteger32(LConstantOperand::cast(instr->size())); |
- __ AllocateInNewSpace(size, result, temp, no_reg, deferred->entry(), flags); |
+ if (instr->hydrogen()->CanAllocateInOldPointerSpace()) { |
+ __ Allocate(size, result, temp, no_reg, deferred->entry(), flags, |
+ MacroAssembler::OLD_POINTER_SPACE); |
mvstanton
2013/03/05 09:35:57
Maybe it's nice to have a variable for the space t
danno
2013/03/05 12:18:18
+1
On 2013/03/05 09:35:57, mvstanton wrote:
Hannes Payer (out of office)
2013/03/11 17:16:31
after re-factoring not needed anymore.
Hannes Payer (out of office)
2013/03/11 17:16:31
Done.
|
+ } else { |
+ __ Allocate(size, result, temp, no_reg, deferred->entry(), flags, |
+ MacroAssembler::NEW_SPACE); |
+ } |
} else { |
Register size = ToRegister(instr->size()); |
__ AllocateInNewSpace(size, result, temp, no_reg, deferred->entry(), flags); |
@@ -5757,7 +5759,8 @@ void LCodeGen::DoFastLiteral(LFastLiteral* instr) { |
// Allocate all objects that are part of the literal in one big |
// allocation. This avoids multiple limit checks. |
Label allocated, runtime_allocate; |
- __ AllocateInNewSpace(size, eax, ecx, edx, &runtime_allocate, TAG_OBJECT); |
+ __ Allocate(size, eax, ecx, edx, &runtime_allocate, TAG_OBJECT, |
+ MacroAssembler::NEW_SPACE); |
__ jmp(&allocated); |
__ bind(&runtime_allocate); |
@@ -5847,7 +5850,8 @@ void LCodeGen::DoRegExpLiteral(LRegExpLiteral* instr) { |
__ bind(&materialized); |
int size = JSRegExp::kSize + JSRegExp::kInObjectFieldCount * kPointerSize; |
Label allocated, runtime_allocate; |
- __ AllocateInNewSpace(size, eax, ecx, edx, &runtime_allocate, TAG_OBJECT); |
+ __ Allocate(size, eax, ecx, edx, &runtime_allocate, TAG_OBJECT, |
+ MacroAssembler::NEW_SPACE); |
__ jmp(&allocated); |
__ bind(&runtime_allocate); |