Changeset 118555 in webkit for trunk/Source/JavaScriptCore/jit/JITOpcodes.cpp
- Timestamp:
- May 25, 2012, 1:19:55 PM (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/jit/JITOpcodes.cpp
r118323 r118555 1258 1258 void JIT::emit_op_convert_this(Instruction* currentInstruction) 1259 1259 { 1260 emitGetVirtualRegister(currentInstruction[1].u.operand, regT0); 1261 1262 emitJumpSlowCaseIfNotJSCell(regT0); 1263 addSlowCase(branchPtr(Equal, Address(regT0, JSCell::classInfoOffset()), TrustedImmPtr(&JSString::s_info))); 1260 emitGetVirtualRegister(currentInstruction[1].u.operand, regT1); 1261 1262 emitJumpSlowCaseIfNotJSCell(regT1); 1263 if (shouldEmitProfiling()) { 1264 loadPtr(Address(regT1, JSCell::structureOffset()), regT0); 1265 emitValueProfilingSite(); 1266 } 1267 addSlowCase(branchPtr(Equal, Address(regT1, JSCell::classInfoOffset()), TrustedImmPtr(&JSString::s_info))); 1264 1268 } 1265 1269 … … 1316 1320 1317 1321 linkSlowCase(iter); 1318 Jump isNotUndefined = branchPtr(NotEqual, regT0, TrustedImmPtr(JSValue::encode(jsUndefined()))); 1322 if (shouldEmitProfiling()) 1323 move(TrustedImmPtr(bitwise_cast<void*>(JSValue::encode(jsUndefined()))), regT0); 1324 Jump isNotUndefined = branchPtr(NotEqual, regT1, TrustedImmPtr(JSValue::encode(jsUndefined()))); 1325 emitValueProfilingSite(); 1319 1326 move(TrustedImmPtr(globalThis), regT0); 1320 1327 emitPutVirtualRegister(currentInstruction[1].u.operand, regT0); 1321 1328 emitJumpSlowToHot(jump(), OPCODE_LENGTH(op_convert_this)); 1322 1329 1330 linkSlowCase(iter); 1331 if (shouldEmitProfiling()) 1332 move(TrustedImmPtr(bitwise_cast<void*>(JSValue::encode(m_globalData->stringStructure.get()))), regT0); 1323 1333 isNotUndefined.link(this); 1324 linkSlowCase(iter);1334 emitValueProfilingSite(); 1325 1335 JITStubCall stubCall(this, cti_op_convert_this); 1326 stubCall.addArgument(regT 0);1336 stubCall.addArgument(regT1); 1327 1337 stubCall.call(currentInstruction[1].u.operand); 1328 1338 }
Note:
See TracChangeset
for help on using the changeset viewer.