Chromium Code Reviews| 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. |