Changeset 247097 in webkit for trunk/Source/JavaScriptCore/assembler/ARMv7Assembler.h
- Timestamp:
- Jul 3, 2019, 12:52:42 PM (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/assembler/ARMv7Assembler.h
r240650 r247097 31 31 #include "AssemblerBuffer.h" 32 32 #include "AssemblerCommon.h" 33 #include "RegisterInfo.h" 33 34 #include <limits.h> 34 35 #include <wtf/Assertions.h> … … 38 39 namespace JSC { 39 40 40 namespace ARMRegisters {41 namespace RegisterNames { 41 42 42 43 typedef enum : int8_t { 43 r0, 44 r1, 45 r2, 46 r3, 47 r4, 48 r5, 49 r6, 50 r7, 51 r8, 52 r9, 53 r10, 54 r11, 55 r12, 56 r13, 57 r14, 58 r15, 59 60 fp = r7, // frame pointer 61 sb = r9, // static base 62 sl = r10, // stack limit 63 ip = r12, 64 sp = r13, 65 lr = r14, 66 pc = r15, 44 #define REGISTER_ID(id, name, r, cs) id, 45 FOR_EACH_GP_REGISTER(REGISTER_ID) 46 #undef REGISTER_ID 47 48 #define REGISTER_ALIAS(id, name, alias) id = alias, 49 FOR_EACH_REGISTER_ALIAS(REGISTER_ALIAS) 50 #undef REGISTER_ALIAS 67 51 InvalidGPRReg = -1, 68 52 } RegisterID; 69 53 70 54 typedef enum : int8_t { 71 apsr, 72 fpscr 55 #define REGISTER_ID(id, name) id, 56 FOR_EACH_SP_REGISTER(REGISTER_ID) 57 #undef REGISTER_ID 73 58 } SPRegisterID; 74 59 75 60 typedef enum : int8_t { 76 s0, 77 s1, 78 s2, 79 s3, 80 s4, 81 s5, 82 s6, 83 s7, 84 s8, 85 s9, 86 s10, 87 s11, 88 s12, 89 s13, 90 s14, 91 s15, 92 s16, 93 s17, 94 s18, 95 s19, 96 s20, 97 s21, 98 s22, 99 s23, 100 s24, 101 s25, 102 s26, 103 s27, 104 s28, 105 s29, 106 s30, 107 s31, 61 #define REGISTER_ID(id, name, r, cs) id, 62 FOR_EACH_FP_SINGLE_REGISTER(REGISTER_ID) 63 #undef REGISTER_ID 108 64 } FPSingleRegisterID; 109 65 110 66 typedef enum : int8_t { 111 d0, 112 d1, 113 d2, 114 d3, 115 d4, 116 d5, 117 d6, 118 d7, 119 d8, 120 d9, 121 d10, 122 d11, 123 d12, 124 d13, 125 d14, 126 d15, 127 #if CPU(ARM_NEON) || CPU(ARM_VFP_V3_D32) 128 d16, 129 d17, 130 d18, 131 d19, 132 d20, 133 d21, 134 d22, 135 d23, 136 d24, 137 d25, 138 d26, 139 d27, 140 d28, 141 d29, 142 d30, 143 d31, 144 #endif // CPU(ARM_NEON) || CPU(ARM_VFP_V3_D32) 67 #define REGISTER_ID(id, name, r, cs) id, 68 FOR_EACH_FP_DOUBLE_REGISTER(REGISTER_ID) 69 #undef REGISTER_ID 145 70 InvalidFPRReg = -1, 146 71 } FPDoubleRegisterID; … … 148 73 #if CPU(ARM_NEON) 149 74 typedef enum : int8_t { 150 q0, 151 q1, 152 q2, 153 q3, 154 q4, 155 q5, 156 q6, 157 q7, 158 q8, 159 q9, 160 q10, 161 q11, 162 q12, 163 q13, 164 q14, 165 q15, 75 #define REGISTER_ID(id, name, r, cs) id, 76 FOR_EACH_FP_QUAD_REGISTER(REGISTER_ID) 77 #undef REGISTER_ID 166 78 } FPQuadRegisterID; 167 79 #endif // CPU(ARM_NEON) … … 456 368 ASSERT(id >= firstRegister() && id <= lastRegister()); 457 369 static const char* const nameForRegister[numberOfRegisters()] = { 458 "r0", "r1", "r2", "r3", 459 "r4", "r5", "r6", "fp", 460 "r8", "r9", "r10", "r11", 461 "ip", "sp", "lr", "pc" 370 #define REGISTER_NAME(id, name, r, cs) name, 371 FOR_EACH_GP_REGISTER(REGISTER_NAME) 372 #undef REGISTER_NAME 462 373 }; 463 374 return nameForRegister[id]; … … 468 379 ASSERT(id >= firstSPRegister() && id <= lastSPRegister()); 469 380 static const char* const nameForRegister[numberOfSPRegisters()] = { 470 "apsr", "fpscr" 381 #define REGISTER_NAME(id, name) name, 382 FOR_EACH_SP_REGISTER(REGISTER_NAME) 383 #undef REGISTER_NAME 471 384 }; 472 385 return nameForRegister[id]; … … 477 390 ASSERT(id >= firstFPRegister() && id <= lastFPRegister()); 478 391 static const char* const nameForRegister[numberOfFPRegisters()] = { 479 "d0", "d1", "d2", "d3", 480 "d4", "d5", "d6", "d7", 481 "d8", "d9", "d10", "d11", 482 "d12", "d13", "d14", "d15", 483 #if CPU(ARM_NEON) || CPU(ARM_VFP_V3_D32) 484 "d16", "d17", "d18", "d19", 485 "d20", "d21", "d22", "d23", 486 "d24", "d25", "d26", "d27", 487 "d28", "d29", "d30", "d31" 488 #endif // CPU(ARM_NEON) || CPU(ARM_VFP_V3_D32) 392 #define REGISTER_NAME(id, name, r, cs) name, 393 FOR_EACH_FP_DOUBLE_REGISTER(REGISTER_NAME) 394 #undef REGISTER_NAME 489 395 }; 490 396 return nameForRegister[id];
Note:
See TracChangeset
for help on using the changeset viewer.