| Index: src/arm/assembler-arm.h
|
| diff --git a/src/arm/assembler-arm.h b/src/arm/assembler-arm.h
|
| index d7b8f02504cd082ebbfcdcc23fb67c4c5e6f1299..47dda2aa7224cd6622e997a1621fac6996a4cf2b 100644
|
| --- a/src/arm/assembler-arm.h
|
| +++ b/src/arm/assembler-arm.h
|
| @@ -115,22 +115,47 @@ class CpuFeatures : public AllStatic {
|
| // mode. This way we get the compile-time error checking in debug mode
|
| // and best performance in optimized code.
|
|
|
| +// These constants are used in several locations, including static initializers
|
| +const int kRegister_no_reg_Code = -1;
|
| +const int kRegister_r0_Code = 0;
|
| +const int kRegister_r1_Code = 1;
|
| +const int kRegister_r2_Code = 2;
|
| +const int kRegister_r3_Code = 3;
|
| +const int kRegister_r4_Code = 4;
|
| +const int kRegister_r5_Code = 5;
|
| +const int kRegister_r6_Code = 6;
|
| +const int kRegister_r7_Code = 7;
|
| +const int kRegister_r8_Code = 8;
|
| +const int kRegister_r9_Code = 9;
|
| +const int kRegister_r10_Code = 10;
|
| +const int kRegister_fp_Code = 11;
|
| +const int kRegister_ip_Code = 12;
|
| +const int kRegister_sp_Code = 13;
|
| +const int kRegister_lr_Code = 14;
|
| +const int kRegister_pc_Code = 15;
|
| +
|
| // Core register
|
| struct Register {
|
| static const int kNumRegisters = 16;
|
| static const int kMaxNumAllocatableRegisters =
|
| - FLAG_enable_ool_constant_pool ? 7 : 8;
|
| + FLAG_enable_ool_constant_pool ? 8 : 9;
|
| static const int kSizeInBytes = 4;
|
|
|
| inline static int NumAllocatableRegisters();
|
|
|
| static int ToAllocationIndex(Register reg) {
|
| + if (FLAG_enable_ool_constant_pool && (reg.code() >= kRegister_r8_Code)) {
|
| + return reg.code() - 1;
|
| + }
|
| ASSERT(reg.code() < kMaxNumAllocatableRegisters);
|
| return reg.code();
|
| }
|
|
|
| static Register FromAllocationIndex(int index) {
|
| ASSERT(index >= 0 && index < kMaxNumAllocatableRegisters);
|
| + if (FLAG_enable_ool_constant_pool && (index >= 7)) {
|
| + return from_code(index + 1);
|
| + }
|
| return from_code(index);
|
| }
|
|
|
| @@ -145,7 +170,11 @@ struct Register {
|
| "r5",
|
| "r6",
|
| "r7",
|
| + "r8",
|
| };
|
| + if (FLAG_enable_ool_constant_pool && (index >= 7)) {
|
| + return names[index + 1];
|
| + }
|
| return names[index];
|
| }
|
|
|
| @@ -174,25 +203,6 @@ struct Register {
|
| int code_;
|
| };
|
|
|
| -// These constants are used in several locations, including static initializers
|
| -const int kRegister_no_reg_Code = -1;
|
| -const int kRegister_r0_Code = 0;
|
| -const int kRegister_r1_Code = 1;
|
| -const int kRegister_r2_Code = 2;
|
| -const int kRegister_r3_Code = 3;
|
| -const int kRegister_r4_Code = 4;
|
| -const int kRegister_r5_Code = 5;
|
| -const int kRegister_r6_Code = 6;
|
| -const int kRegister_r7_Code = 7;
|
| -const int kRegister_r8_Code = 8;
|
| -const int kRegister_r9_Code = 9;
|
| -const int kRegister_r10_Code = 10;
|
| -const int kRegister_fp_Code = 11;
|
| -const int kRegister_ip_Code = 12;
|
| -const int kRegister_sp_Code = 13;
|
| -const int kRegister_lr_Code = 14;
|
| -const int kRegister_pc_Code = 15;
|
| -
|
| const Register no_reg = { kRegister_no_reg_Code };
|
|
|
| const Register r0 = { kRegister_r0_Code };
|
| @@ -202,7 +212,7 @@ const Register r3 = { kRegister_r3_Code };
|
| const Register r4 = { kRegister_r4_Code };
|
| const Register r5 = { kRegister_r5_Code };
|
| const Register r6 = { kRegister_r6_Code };
|
| -// Used as constant pool pointer register if FLAGS_enable_ool_constant_pool.
|
| +// Used as constant pool pointer register if FLAG_enable_ool_constant_pool.
|
| const Register r7 = { kRegister_r7_Code };
|
| // Used as context register.
|
| const Register r8 = { kRegister_r8_Code };
|
|
|