Commit c5d0215e authored by palfia@homejinni.com's avatar palfia@homejinni.com

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
parent 041257e5
...@@ -5223,7 +5223,10 @@ void LCodeGen::DoAllocate(LAllocate* instr) { ...@@ -5223,7 +5223,10 @@ void LCodeGen::DoAllocate(LAllocate* instr) {
flags = static_cast<AllocationFlags>(flags | DOUBLE_ALIGNMENT); flags = static_cast<AllocationFlags>(flags | DOUBLE_ALIGNMENT);
} }
if (instr->hydrogen()->CanAllocateInOldPointerSpace()) { if (instr->hydrogen()->CanAllocateInOldPointerSpace()) {
ASSERT(!instr->hydrogen()->CanAllocateInOldDataSpace());
flags = static_cast<AllocationFlags>(flags | PRETENURE_OLD_POINTER_SPACE); flags = static_cast<AllocationFlags>(flags | PRETENURE_OLD_POINTER_SPACE);
} else if (instr->hydrogen()->CanAllocateInOldDataSpace()) {
flags = static_cast<AllocationFlags>(flags | PRETENURE_OLD_DATA_SPACE);
} }
if (instr->size()->IsConstantOperand()) { if (instr->size()->IsConstantOperand()) {
int32_t size = ToInteger32(LConstantOperand::cast(instr->size())); int32_t size = ToInteger32(LConstantOperand::cast(instr->size()));
...@@ -5262,11 +5265,12 @@ void LCodeGen::DoDeferredAllocate(LAllocate* instr) { ...@@ -5262,11 +5265,12 @@ void LCodeGen::DoDeferredAllocate(LAllocate* instr) {
} }
if (instr->hydrogen()->CanAllocateInOldPointerSpace()) { if (instr->hydrogen()->CanAllocateInOldPointerSpace()) {
CallRuntimeFromDeferred( ASSERT(!instr->hydrogen()->CanAllocateInOldDataSpace());
Runtime::kAllocateInOldPointerSpace, 1, instr); CallRuntimeFromDeferred(Runtime::kAllocateInOldPointerSpace, 1, instr);
} else if (instr->hydrogen()->CanAllocateInOldDataSpace()) {
CallRuntimeFromDeferred(Runtime::kAllocateInOldDataSpace, 1, instr);
} else { } else {
CallRuntimeFromDeferred( CallRuntimeFromDeferred(Runtime::kAllocateInNewSpace, 1, instr);
Runtime::kAllocateInNewSpace, 1, instr);
} }
__ StoreToSafepointRegisterSlot(v0, result); __ StoreToSafepointRegisterSlot(v0, result);
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment