From c5d0215e087070c2bd11cd5eed75dafe72968f24 Mon Sep 17 00:00:00 2001 From: "palfia@homejinni.com" Date: Tue, 28 May 2013 21:37:03 +0000 Subject: [PATCH] MIPS: Added old data space allocation infrastructure for pretenuring. Port r14843 (2d8faca3) BUG= Review URL: https://codereview.chromium.org/16155006 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14864 ce2b1a6d-e550-0410-aec6-3dcde31c8c00 --- src/mips/lithium-codegen-mips.cc | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/mips/lithium-codegen-mips.cc b/src/mips/lithium-codegen-mips.cc index 114eef7..276a563 100644 --- a/src/mips/lithium-codegen-mips.cc +++ b/src/mips/lithium-codegen-mips.cc @@ -5223,7 +5223,10 @@ void LCodeGen::DoAllocate(LAllocate* instr) { flags = static_cast(flags | DOUBLE_ALIGNMENT); } if (instr->hydrogen()->CanAllocateInOldPointerSpace()) { + ASSERT(!instr->hydrogen()->CanAllocateInOldDataSpace()); flags = static_cast(flags | PRETENURE_OLD_POINTER_SPACE); + } else if (instr->hydrogen()->CanAllocateInOldDataSpace()) { + flags = static_cast(flags | PRETENURE_OLD_DATA_SPACE); } if (instr->size()->IsConstantOperand()) { int32_t size = ToInteger32(LConstantOperand::cast(instr->size())); @@ -5262,11 +5265,12 @@ void LCodeGen::DoDeferredAllocate(LAllocate* instr) { } if (instr->hydrogen()->CanAllocateInOldPointerSpace()) { - CallRuntimeFromDeferred( - Runtime::kAllocateInOldPointerSpace, 1, instr); + ASSERT(!instr->hydrogen()->CanAllocateInOldDataSpace()); + CallRuntimeFromDeferred(Runtime::kAllocateInOldPointerSpace, 1, instr); + } else if (instr->hydrogen()->CanAllocateInOldDataSpace()) { + CallRuntimeFromDeferred(Runtime::kAllocateInOldDataSpace, 1, instr); } else { - CallRuntimeFromDeferred( - Runtime::kAllocateInNewSpace, 1, instr); + CallRuntimeFromDeferred(Runtime::kAllocateInNewSpace, 1, instr); } __ StoreToSafepointRegisterSlot(v0, result); } -- 2.7.4