Changeset 59798 in webkit for trunk/JavaScriptCore/jit/JSInterfaceJIT.h
- Timestamp:
- May 19, 2010, 5:30:35 PM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/JavaScriptCore/jit/JSInterfaceJIT.h
r59527 r59798 192 192 inline JSInterfaceJIT::Jump JSInterfaceJIT::emitJumpIfNotJSCell(unsigned virtualRegisterIndex) 193 193 { 194 ASSERT(static_cast<int>(virtualRegisterIndex) < FirstConstantRegisterIndex); 194 195 return branch32(NotEqual, tagFor(virtualRegisterIndex), Imm32(JSValue::CellTag)); 195 196 } … … 197 198 inline JSInterfaceJIT::Jump JSInterfaceJIT::emitLoadInt32(unsigned virtualRegisterIndex, RegisterID dst) 198 199 { 200 ASSERT(static_cast<int>(virtualRegisterIndex) < FirstConstantRegisterIndex); 199 201 loadPtr(payloadFor(virtualRegisterIndex), dst); 200 202 return branch32(NotEqual, tagFor(virtualRegisterIndex), Imm32(JSValue::Int32Tag)); 201 203 } 202 204 203 inline JSInterfaceJIT::Address JSInterfaceJIT::tagFor(unsigned index, RegisterID base) 204 { 205 return Address(base, (index * sizeof(Register)) + OBJECT_OFFSETOF(JSValue, u.asBits.tag)); 206 } 207 208 inline JSInterfaceJIT::Address JSInterfaceJIT::payloadFor(unsigned index, RegisterID base) 209 { 210 return Address(base, (index * sizeof(Register)) + OBJECT_OFFSETOF(JSValue, u.asBits.payload)); 205 inline JSInterfaceJIT::Address JSInterfaceJIT::tagFor(unsigned virtualRegisterIndex, RegisterID base) 206 { 207 ASSERT(static_cast<int>(virtualRegisterIndex) < FirstConstantRegisterIndex); 208 return Address(base, (virtualRegisterIndex * sizeof(Register)) + OBJECT_OFFSETOF(JSValue, u.asBits.tag)); 209 } 210 211 inline JSInterfaceJIT::Address JSInterfaceJIT::payloadFor(unsigned virtualRegisterIndex, RegisterID base) 212 { 213 ASSERT(static_cast<int>(virtualRegisterIndex) < FirstConstantRegisterIndex); 214 return Address(base, (virtualRegisterIndex * sizeof(Register)) + OBJECT_OFFSETOF(JSValue, u.asBits.payload)); 211 215 } 212 216 213 217 inline JSInterfaceJIT::Jump JSInterfaceJIT::emitLoadDouble(unsigned virtualRegisterIndex, FPRegisterID dst, RegisterID scratch) 214 218 { 219 ASSERT(static_cast<int>(virtualRegisterIndex) < FirstConstantRegisterIndex); 215 220 loadPtr(tagFor(virtualRegisterIndex), scratch); 216 221 Jump isDouble = branch32(Below, scratch, Imm32(JSValue::LowestTag)); … … 298 303 299 304 #if !USE(JSVALUE32_64) 300 inline JSInterfaceJIT::Address JSInterfaceJIT::payloadFor(unsigned index, RegisterID base) 301 { 302 return addressFor(index, base); 303 } 304 #endif 305 306 inline JSInterfaceJIT::Address JSInterfaceJIT::addressFor(unsigned index, RegisterID base) 307 { 308 return Address(base, (index * sizeof(Register))); 305 inline JSInterfaceJIT::Address JSInterfaceJIT::payloadFor(unsigned virtualRegisterIndex, RegisterID base) 306 { 307 ASSERT(static_cast<int>(virtualRegisterIndex) < FirstConstantRegisterIndex); 308 return addressFor(virtualRegisterIndex, base); 309 } 310 #endif 311 312 inline JSInterfaceJIT::Address JSInterfaceJIT::addressFor(unsigned virtualRegisterIndex, RegisterID base) 313 { 314 ASSERT(static_cast<int>(virtualRegisterIndex) < FirstConstantRegisterIndex); 315 return Address(base, (virtualRegisterIndex * sizeof(Register))); 309 316 } 310 317
Note:
See TracChangeset
for help on using the changeset viewer.