Index: src/arm/full-codegen-arm.cc |
diff --git a/src/arm/full-codegen-arm.cc b/src/arm/full-codegen-arm.cc |
index 6f43d17b5c1bad4a82870e598746fd94d6bc3e2c..8110f10a5d43e21a58e2f4adbabe2421275a64c9 100644 |
--- a/src/arm/full-codegen-arm.cc |
+++ b/src/arm/full-codegen-arm.cc |
@@ -96,7 +96,7 @@ class JumpPatchSite BASE_EMBEDDED { |
// The live registers are: |
// o r1: the JS function object being called (i.e., ourselves) |
// o cp: our context |
-// o pp: our caller's constant pool pointer (if FLAG_enable_ool_constant_pool) |
+// o pp: our caller's constant pool pointer (if enabled) |
// o fp: our caller's frame pointer |
// o sp: stack pointer |
// o lr: return address |
@@ -358,9 +358,13 @@ void FullCodeGenerator::Generate() { |
} |
EmitReturnSequence(); |
- // Force emit the constant pool, so it doesn't get emitted in the middle |
- // of the back edge table. |
- masm()->CheckConstPool(true, false); |
+ if (FLAG_enable_embedded_constant_pool) { |
+ masm()->EmitConstantPool(); |
rmcilroy
2015/05/20 14:32:10
Should we be emitting this here if we are also emi
MTBrandyberry
2015/05/20 22:28:21
Currently, the embedded constant pool is emitted i
rmcilroy
2015/05/22 12:21:21
I think this would be better right at the end just
MTBrandyberry
2015/05/26 19:19:05
Acknowledged.
|
+ } else { |
+ // Force emit the constant pool, so it doesn't get emitted in the middle |
+ // of the back edge table. |
+ masm()->CheckConstPool(true, false); |
+ } |
} |
@@ -2284,7 +2288,7 @@ void FullCodeGenerator::EmitGeneratorResume(Expression *generator, |
__ bind(&resume_frame); |
// lr = return address. |
// fp = caller's frame pointer. |
- // pp = caller's constant pool (if FLAG_enable_ool_constant_pool), |
+ // pp = caller's constant pool (if FLAG_enable_embedded_constant_pool), |
// cp = callee's context, |
// r4 = callee's JS function. |
__ PushFixedFrame(r4); |
@@ -2305,10 +2309,9 @@ void FullCodeGenerator::EmitGeneratorResume(Expression *generator, |
__ ldr(r3, FieldMemOperand(r4, JSFunction::kCodeEntryOffset)); |
{ ConstantPoolUnavailableScope constant_pool_unavailable(masm_); |
- if (FLAG_enable_ool_constant_pool) { |
+ if (FLAG_enable_embedded_constant_pool) { |
// Load the new code object's constant pool pointer. |
- __ ldr(pp, |
- MemOperand(r3, Code::kConstantPoolOffset - Code::kHeaderSize)); |
+ __ LoadTargetConstantPoolPointerRegister(r3); |
} |
__ ldr(r2, FieldMemOperand(r1, JSGeneratorObject::kContinuationOffset)); |
@@ -5375,7 +5378,7 @@ void FullCodeGenerator::ExitFinallyBlock() { |
static Address GetInterruptImmediateLoadAddress(Address pc) { |
Address load_address = pc - 2 * Assembler::kInstrSize; |
- if (!FLAG_enable_ool_constant_pool) { |
+ if (!FLAG_enable_embedded_constant_pool) { |
DCHECK(Assembler::IsLdrPcImmediateOffset(Memory::int32_at(load_address))); |
} else if (Assembler::IsLdrPpRegOffset(Memory::int32_at(load_address))) { |
// This is an extended constant pool lookup. |