Home | History | Annotate | Download | only in jit

Lines Matching refs:regT0

53     // regT0 holds payload, regT1 holds tag
56 Jump string_failureCases2 = branchPtr(NotEqual, Address(regT0), TrustedImmPtr(m_globalData->jsStringVPtr));
59 load32(Address(regT0, OBJECT_OFFSETOF(JSString, m_length)), regT2);
62 move(regT2, regT0);
72 // regT0 holds callee, regT1 holds argCount. regT2 will hold the FunctionExecutable.
79 callLinkFailures.append(branchTestPtr(Zero, regT0));
82 jump(regT0);
85 // regT0 holds callee, regT1 holds argCount. regT2 will hold the FunctionExecutable.
93 callLinkFailures.append(branchTestPtr(Zero, regT0));
95 jump(regT0);
100 // regT0 holds callee, regT1 holds argCount. regT2 will hold the FunctionExecutable.
104 loadPtr(Address(regT0, OBJECT_OFFSETOF(JSFunction, m_executable)), regT2);
110 callLinkFailures.append(branchTestPtr(Zero, regT0));
113 loadPtr(Address(regT0, OBJECT_OFFSETOF(JSFunction, m_executable)), regT2);
116 loadPtr(Address(regT2, OBJECT_OFFSETOF(FunctionExecutable, m_jitCodeForCallWithArityCheck)), regT0);
117 jump(regT0);
120 // regT0 holds callee, regT1 holds argCount. regT2 will hold the FunctionExecutable.
124 loadPtr(Address(regT0, OBJECT_OFFSETOF(JSFunction, m_executable)), regT2);
130 callLinkFailures.append(branchTestPtr(Zero, regT0));
133 loadPtr(Address(regT0, OBJECT_OFFSETOF(JSFunction, m_executable)), regT2);
136 loadPtr(Address(regT2, OBJECT_OFFSETOF(FunctionExecutable, m_jitCodeForConstructWithArityCheck)), regT0);
137 jump(regT0);
206 emitGetFromCallFrameHeaderPtr(RegisterFile::CallerFrame, regT0);
207 emitGetFromCallFrameHeaderPtr(RegisterFile::ScopeChain, regT1, regT0);
222 move(regT0, callFrameRegister); // Eagerly restore caller frame register to avoid loading from stack.
237 // Calling convention: f(r0 == regT0, r1 == regT1, ...);
266 call(Address(regT2, executableOffsetToFunction), regT0);
271 emitGetFromCallFrameHeaderPtr(RegisterFile::CallerFrame, regT0);
272 emitGetFromCallFrameHeaderPtr(RegisterFile::ScopeChain, regT1, regT0);
291 move(regT0, callFrameRegister); // Eagerly restore caller frame register to avoid loading from stack.
341 emitGetFromCallFrameHeaderPtr(RegisterFile::CallerFrame, regT0);
342 emitGetFromCallFrameHeaderPtr(RegisterFile::ScopeChain, regT1, regT0);
354 move(regT0, callFrameRegister); // Eagerly restore caller frame register to avoid loading from stack.
371 // Calling convention: f(r0 == regT0, r1 == regT1, ...);
387 emitGetFromCallFrameHeaderPtr(RegisterFile::CallerFrame, regT0);
388 emitGetFromCallFrameHeaderPtr(RegisterFile::ScopeChain, regT1, regT0);
407 move(regT0, callFrameRegister); // Eagerly restore caller frame register to avoid loading from stack.
483 emitLoad(src, regT1, regT0);
484 emitStore(dst, regT1, regT0);
485 map(m_bytecodeOffset + OPCODE_LENGTH(op_mov), dst, regT1, regT0);
492 emitLoad(currentInstruction[1].u.operand, regT1, regT0);
512 emitLoad(op2, regT1, regT0);
514 addJump(branch32(GreaterThanOrEqual, regT0, Imm32(getConstantOperand(op1).asInt32())), target);
519 emitLoad(op1, regT1, regT0);
521 addJump(branch32(LessThanOrEqual, regT0, Imm32(getConstantOperand(op2).asInt32())), target);
525 emitLoad2(op1, regT1, regT0, op2, regT3, regT2);
528 addJump(branch32(LessThanOrEqual, regT0, regT2), target);
545 emitJumpSlowToHot(branchTest32(NonZero, regT0), target);
557 emitLoadPayload(baseVal, regT0);
563 loadPtr(Address(regT0, JSCell::structureOffset()), regT0);
564 addSlowCase(branchTest8(Zero, Address(regT0, Structure::typeInfoFlagsOffset()), TrustedImm32(ImplementsHasInstance)));
575 // We use regT0 for baseVal since we will be done with this first, and we can then use it for the result.
577 emitLoadPayload(baseVal, regT0);
590 loadPtr(Address(regT0, JSCell::structureOffset()), regT0);
591 addSlowCase(branchTest8(Zero, Address(regT0, Structure::typeInfoFlagsOffset()), TrustedImm32(ImplementsDefaultHasInstance)));
596 move(TrustedImm32(1), regT0);
607 move(TrustedImm32(0), regT0);
611 emitStoreBool(dst, regT0);
654 emitLoad(index, regT1, regT0, regT2);
655 emitStore(dst, regT1, regT0);
656 map(m_bytecodeOffset + OPCODE_LENGTH(op_get_global_var), dst, regT1, regT0);
666 emitLoad(value, regT1, regT0);
669 emitStore(index, regT1, regT0, regT2);
670 map(m_bytecodeOffset + OPCODE_LENGTH(op_put_global_var), value, regT1, regT0);
695 emitLoad(index, regT1, regT0, regT2);
696 emitStore(dst, regT1, regT0);
697 map(m_bytecodeOffset + OPCODE_LENGTH(op_get_scoped_var), dst, regT1, regT0);
706 emitLoad(value, regT1, regT0);
724 emitStore(index, regT1, regT0, regT2);
725 map(m_bytecodeOffset + OPCODE_LENGTH(op_put_scoped_var), value, regT1, regT0);
773 emitLoad(src, regT1, regT0);
776 addSlowCase(branchPtr(NotEqual, Address(regT0), TrustedImmPtr(m_globalData->jsStringVPtr)));
780 emitStore(dst, regT1, regT0);
781 map(m_bytecodeOffset + OPCODE_LENGTH(op_to_primitive), dst, regT1, regT0);
791 stubCall.addArgument(regT1, regT0);
838 move(TrustedImmPtr(globalObject), regT0);
840 addSlowCase(branchPtr(NotEqual, regT1, Address(regT0, JSCell::structureOffset())));
843 loadPtr(Address(regT0, OBJECT_OFFSETOF(JSGlobalObject, m_propertyStorage)), regT2);
845 load32(BaseIndex(regT2, regT3, TimesEight, OBJECT_OFFSETOF(JSValue, u.asBits.payload)), regT0); // payload
847 emitStore(dst, regT1, regT0);
848 map(m_bytecodeOffset + dynamic ? OPCODE_LENGTH(op_resolve_global_dynamic) : OPCODE_LENGTH(op_resolve_global), dst, regT1, regT0);
870 emitLoadTag(src, regT0);
872 emitLoad(src, regT1, regT0);
874 xor32(TrustedImm32(1), regT0);
876 emitStoreBool(dst, regT0, (dst == src));
896 emitLoad(cond, regT1, regT0);
900 addJump(branchTest32(Zero, regT0), target);
924 emitJumpSlowToHot(branchTest32(Zero, regT0), target); // Inverted.
932 emitLoad(cond, regT1, regT0);
936 addJump(branchTest32(NonZero, regT0), target);
960 emitJumpSlowToHot(branchTest32(NonZero, regT0), target);
968 emitLoad(src, regT1, regT0);
973 loadPtr(Address(regT0, JSCell::structureOffset()), regT2);
993 emitLoad(src, regT1, regT0);
998 loadPtr(Address(regT0, JSCell::structureOffset()), regT2);
1019 emitLoad(src, regT1, regT0);
1021 addJump(branchPtr(NotEqual, regT0, TrustedImmPtr(ptr)), target);
1044 emitLoad2(src1, regT1, regT0, src2, regT3, regT2);
1049 set32Compare32(Equal, regT0, regT2, regT0);
1051 emitStoreBool(dst, regT0);
1066 genericCase.append(branchPtr(NotEqual, Address(regT0), TrustedImmPtr(m_globalData->jsStringVPtr)));
1071 stubCallEqStrings.addArgument(regT0);
1082 stubCallEq.call(regT0);
1085 emitStoreBool(dst, regT0);
1094 emitLoad2(src1, regT1, regT0, src2, regT3, regT2);
1099 set32Compare32(NotEqual, regT0, regT2, regT0);
1101 emitStoreBool(dst, regT0);
1114 genericCase.append(branchPtr(NotEqual, Address(regT0), TrustedImmPtr(m_globalData->jsStringVPtr)));
1119 stubCallEqStrings.addArgument(regT0);
1121 stubCallEqStrings.call(regT0);
1128 stubCallEq.addArgument(regT1, regT0);
1130 stubCallEq.call(regT0);
1133 xor32(TrustedImm32(0x1), regT0);
1134 emitStoreBool(dst, regT0);
1143 emitLoadTag(src1, regT0);
1148 move(regT0, regT2);
1154 set32Compare32(Equal, regT0, regT1, regT0);
1156 set32Compare32(NotEqual, regT0, regT1, regT0);
1158 emitStoreBool(dst, regT0);
1206 emitLoad(src, regT1, regT0);
1209 loadPtr(Address(regT0, JSCell::structureOffset()), regT1);
1230 emitLoad(src, regT1, regT0);
1233 loadPtr(Address(regT0, JSCell::structureOffset()), regT1);
1288 emitLoad(base, regT1, regT0);
1292 loadPtr(Address(regT0, JSCell::structureOffset()), regT2);
1300 getPnamesStubCall.addArgument(regT0);
1302 load32(Address(regT0, OBJECT_OFFSETOF(JSPropertyNameIterator, m_jsStringsSize)), regT3);
1313 toObjectStubCall.addArgument(regT1, regT0);
1332 load32(intPayloadFor(i), regT0);
1333 Jump end = branch32(Equal, regT0, intPayloadFor(size));
1338 load32(BaseIndex(regT2, regT0, TimesEight), regT2);
1343 add32(TrustedImm32(1), regT0);
1344 store32(regT0, intPayloadFor(i));
1347 loadPtr(payloadFor(base), regT0);
1350 loadPtr(Address(regT0, JSCell::structureOffset()), regT2);
1373 stubCall.addArgument(regT0);
1378 addJump(branchTest32(NonZero, regT0), target);
1402 emitLoad(src, regT1, regT0);
1409 emitStore(dst, regT1, regT0);
1410 map(m_bytecodeOffset + OPCODE_LENGTH(op_to_jsnumber), dst, regT1, regT0);
1420 stubCall.addArgument(regT1, regT0);
1435 move(regT0, callFrameRegister);
1439 load32(Address(regT3, OBJECT_OFFSETOF(JSGlobalData, exception) + OBJECT_OFFSETOF(JSValue, u.asBits.payload)), regT0);
1445 emitStore(exception, regT1, regT0);
1446 map(m_bytecodeOffset + OPCODE_LENGTH(op_catch), exception, regT1, regT0);
1472 jump(regT0);
1490 jump(regT0);
1507 jump(regT0);
1563 emitStore(dst, regT1, regT0);
1564 emitStore(unmodifiedArgumentsRegister(dst), regT1, regT0);
1579 emitGetFromCallFrameHeaderPtr(RegisterFile::Callee, regT0);
1580 emitStoreCell(dst, regT0);
1586 emitLoad(protoRegister, regT1, regT0);
1588 stubCall.addArgument(regT1, regT0);
1596 emitLoad(thisRegister, regT1, regT0);
1600 loadPtr(Address(regT0, JSCell::structureOffset()), regT2);
1603 map(m_bytecodeOffset + OPCODE_LENGTH(op_convert_this), thisRegister, regT1, regT0);
1610 emitLoad(thisRegister, regT1, regT0);
1617 loadPtr(Address(regT0, JSCell::structureOffset()), regT2);
1623 map(m_bytecodeOffset + OPCODE_LENGTH(op_convert_this_strict), thisRegister, regT1, regT0);
1634 stubCall.addArgument(regT1, regT0);
1645 stubCall.addArgument(regT1, regT0);
1676 emitGetFromCallFrameHeader32(RegisterFile::ArgumentCount, regT0);
1677 sub32(TrustedImm32(1), regT0);
1678 emitStoreInt32(dst, regT0);
1712 loadPtr(BaseIndex(regT1, regT2, TimesEight, OBJECT_OFFSETOF(JSValue, u.asBits.payload)), regT0);
1721 loadPtr(BaseIndex(regT1, regT2, TimesEight, OBJECT_OFFSETOF(JSValue, u.asBits.payload)), regT0);
1725 emitStore(dst, regT1, regT0);
1744 emitStore(arguments, regT1, regT0);
1745 emitStore(unmodifiedArgumentsRegister(arguments), regT1, regT0);
1760 move(regT0, regT2);
1780 move(regT3, regT0);
1781 sub32(TrustedImm32(1), regT0);
1782 Jump powerOfTwo = branchTest32(NotEqual, regT0, regT3);
1783 and32(regT0, regT2);
1786 and32(regT3, regT0);
1788 Jump exitBranch2 = branchTest32(Zero, regT0);
1790 countLeadingZeros32(regT2, regT0);
1792 sub32(regT0, regT1);
1836 move(regT2, regT0);