Changeset 219740 in webkit for trunk/Source/JavaScriptCore/assembler/MIPSAssembler.h
- Timestamp:
- Jul 21, 2017, 1:44:33 PM (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/assembler/MIPSAssembler.h
r218782 r219740 109 109 } RegisterID; 110 110 111 // Currently, we don't have support for any special purpose registers. 112 typedef enum { 113 firstInvalidSPR, 114 lastInvalidSPR = -1, 115 } SPRegisterID; 116 111 117 typedef enum { 112 118 f0, … … 149 155 public: 150 156 typedef MIPSRegisters::RegisterID RegisterID; 157 typedef MIPSRegisters::SPRegisterID SPRegisterID; 151 158 typedef MIPSRegisters::FPRegisterID FPRegisterID; 152 159 typedef SegmentedVector<AssemblerLabel, 64> Jumps; … … 154 161 static constexpr RegisterID firstRegister() { return MIPSRegisters::r0; } 155 162 static constexpr RegisterID lastRegister() { return MIPSRegisters::r31; } 163 static constexpr unsigned numberOfRegisters() { return lastRegister() - firstRegister() + 1; } 164 165 static constexpr SPRegisterID firstSPRegister() { return MIPSRegisters::firstInvalidSPR; } 166 static constexpr SPRegisterID lastSPRegister() { return MIPSRegisters::lastInvalidSPR; } 167 static constexpr unsigned numberOfSPRegisters() { return 0; } 156 168 157 169 static constexpr FPRegisterID firstFPRegister() { return MIPSRegisters::f0; } 158 170 static constexpr FPRegisterID lastFPRegister() { return MIPSRegisters::f31; } 171 static constexpr unsigned numberOfFPRegisters() { return lastFPRegister() - firstFPRegister() + 1; } 172 173 static const char* gprName(RegisterID id) 174 { 175 ASSERT(id >= firstRegister() && id <= lastRegister()); 176 static const char* const nameForRegister[numberOfRegisters()] = { 177 "zero", "at", "v0", "v1", 178 "a0", "a1", "a2", "a3", 179 "t0", "t1", "t2", "t3", 180 "t4", "t5", "t6", "t7" 181 }; 182 return nameForRegister[id]; 183 } 184 185 static const char* sprName(SPRegisterID id) 186 { 187 // Currently, we don't have support for any special purpose registers. 188 RELEASE_ASSERT_NOT_REACHED(); 189 } 190 191 static const char* fprName(FPRegisterID id) 192 { 193 ASSERT(id >= firstFPRegister() && id <= lastFPRegister()); 194 static const char* const nameForRegister[numberOfFPRegisters()] = { 195 "f0", "f1", "f2", "f3", 196 "f4", "f5", "f6", "f7", 197 "f8", "f9", "f10", "f11", 198 "f12", "f13", "f14", "f15" 199 "f16", "f17", "f18", "f19" 200 "f20", "f21", "f22", "f23" 201 "f24", "f25", "f26", "f27" 202 "f28", "f29", "f30", "f31" 203 }; 204 return nameForRegister[id]; 205 } 159 206 160 207 MIPSAssembler()
Note:
See TracChangeset
for help on using the changeset viewer.