Chromium Code Reviews| 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); |