Home | History | Annotate | Download | only in jit

Lines Matching defs:regT1

53     // regT0 holds payload, regT1 holds tag
55 Jump string_failureCases1 = branch32(NotEqual, regT1, TrustedImm32(JSValue::CellTag));
63 move(TrustedImm32(JSValue::Int32Tag), regT1);
72 // regT0 holds callee, regT1 holds argCount. regT2 will hold the FunctionExecutable.
81 emitGetFromCallFrameHeader32(RegisterFile::ArgumentCount, regT1);
85 // regT0 holds callee, regT1 holds argCount. regT2 will hold the FunctionExecutable.
94 emitGetFromCallFrameHeader32(RegisterFile::ArgumentCount, regT1);
100 // regT0 holds callee, regT1 holds argCount. regT2 will hold the FunctionExecutable.
111 emitGetFromCallFrameHeader32(RegisterFile::ArgumentCount, regT1);
120 // regT0 holds callee, regT1 holds argCount. regT2 will hold the FunctionExecutable.
131 emitGetFromCallFrameHeader32(RegisterFile::ArgumentCount, regT1);
142 emitGetFromCallFrameHeaderPtr(RegisterFile::ReturnPC, regT1);
144 restoreReturnAddressBeforeReturn(regT1);
146 storePtr(regT1, regT2);
207 emitGetFromCallFrameHeaderPtr(RegisterFile::ScopeChain, regT1, regT0);
208 emitPutCellToCallFrameHeader(regT1, RegisterFile::ScopeChain);
210 peek(regT1);
211 emitPutToCallFrameHeader(regT1, RegisterFile::ReturnPC);
220 emitGetFromCallFrameHeaderPtr(RegisterFile::Callee, regT1);
221 loadPtr(Address(regT1, OBJECT_OFFSETOF(JSFunction, m_executable)), regT1);
223 call(Address(regT1, executableOffsetToFunction));
231 emitGetFromCallFrameHeaderPtr(RegisterFile::ScopeChain, regT1, regT2);
232 emitPutCellToCallFrameHeader(regT1, RegisterFile::ScopeChain);
237 // Calling convention: f(r0 == regT0, r1 == regT1, ...);
252 emitGetFromCallFrameHeaderPtr(RegisterFile::ScopeChain, regT1, regT2);
253 emitPutToCallFrameHeader(regT1, RegisterFile::ScopeChain);
272 emitGetFromCallFrameHeaderPtr(RegisterFile::ScopeChain, regT1, regT0);
273 emitPutCellToCallFrameHeader(regT1, RegisterFile::ScopeChain);
316 preserveReturnAddressAfterCall(regT1);
319 storePtr(regT1, regT2);
323 move(TrustedImmPtr(FunctionPtr(ctiVMThrowTrampoline).value()), regT1);
324 restoreReturnAddressBeforeReturn(regT1);
342 emitGetFromCallFrameHeaderPtr(RegisterFile::ScopeChain, regT1, regT0);
343 emitPutCellToCallFrameHeader(regT1, RegisterFile::ScopeChain);
345 peek(regT1);
346 emitPutToCallFrameHeader(regT1, RegisterFile::ReturnPC);
365 emitGetFromCallFrameHeaderPtr(RegisterFile::ScopeChain, regT1, regT2);
366 emitPutCellToCallFrameHeader(regT1, RegisterFile::ScopeChain);
371 // Calling convention: f(r0 == regT0, r1 == regT1, ...);
388 emitGetFromCallFrameHeaderPtr(RegisterFile::ScopeChain, regT1, regT0);
389 emitPutCellToCallFrameHeader(regT1, RegisterFile::ScopeChain);
420 emitGetFromCallFrameHeaderPtr(RegisterFile::ScopeChain, regT1, regT2);
421 emitPutToCallFrameHeader(regT1, RegisterFile::ScopeChain);
454 preserveReturnAddressAfterCall(regT1);
457 storePtr(regT1, regT2);
461 move(TrustedImmPtr(FunctionPtr(ctiVMThrowTrampoline).value()), regT1);
462 restoreReturnAddressBeforeReturn(regT1);
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);
513 addSlowCase(branch32(NotEqual, regT1, TrustedImm32(JSValue::Int32Tag)));
519 emitLoad(op1, regT1, regT0);
520 addSlowCase(branch32(NotEqual, regT1, TrustedImm32(JSValue::Int32Tag)));
525 emitLoad2(op1, regT1, regT0, op2, regT3, regT2);
526 addSlowCase(branch32(NotEqual, regT1, TrustedImm32(JSValue::Int32Tag)));
578 emitLoadPayload(proto, regT1);
585 loadPtr(Address(regT1, JSCell::structureOffset()), regT3);
594 // Initially, regT1 still contains proto and regT2 still contains value.
599 // Load the prototype of the cell in regT2. If this is equal to regT1 - WIN!
603 Jump isInstance = branchPtr(Equal, regT2, regT1);
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);
775 Jump isImm = branch32(NotEqual, regT1, TrustedImm32(JSValue::CellTag));
780 emitStore(dst, regT1, regT0);
781 map(m_bytecodeOffset + OPCODE_LENGTH(op_to_primitive), dst, regT1, regT0);
791 stubCall.addArgument(regT1, regT0);
839 loadPtr(structureAddress, regT1);
840 addSlowCase(branchPtr(NotEqual, regT1, Address(regT0, JSCell::structureOffset())));
846 load32(BaseIndex(regT2, regT3, TimesEight, OBJECT_OFFSETOF(JSValue, u.asBits.tag)), regT1); // tag
847 emitStore(dst, regT1, regT0);
848 map(m_bytecodeOffset + dynamic ? OPCODE_LENGTH(op_resolve_global_dynamic) : OPCODE_LENGTH(op_resolve_global), dst, regT1, regT0);
872 emitLoad(src, regT1, regT0);
873 addSlowCase(branch32(NotEqual, regT1, TrustedImm32(JSValue::BooleanTag)));
896 emitLoad(cond, regT1, regT0);
899 addSlowCase(branch32(Below, regT1, TrustedImm32(JSValue::BooleanTag)));
911 // regT1 contains the tag from the hot path.
912 Jump notNumber = branch32(Above, regT1, Imm32(JSValue::LowestTag));
932 emitLoad(cond, regT1, regT0);
935 addSlowCase(branch32(Below, regT1, TrustedImm32(JSValue::BooleanTag)));
947 // regT1 contains the tag from the hot path.
948 Jump notNumber = branch32(Above, regT1, Imm32(JSValue::LowestTag));
968 emitLoad(src, regT1, regT0);
970 Jump isImmediate = branch32(NotEqual, regT1, TrustedImm32(JSValue::CellTag));
982 or32(TrustedImm32(1), regT1);
983 addJump(branch32(Equal, regT1, TrustedImm32(JSValue::NullTag)), target);
993 emitLoad(src, regT1, regT0);
995 Jump isImmediate = branch32(NotEqual, regT1, TrustedImm32(JSValue::CellTag));
1007 or32(TrustedImm32(1), regT1);
1008 addJump(branch32(NotEqual, regT1, TrustedImm32(JSValue::NullTag)), target);
1019 emitLoad(src, regT1, regT0);
1020 addJump(branch32(NotEqual, regT1, TrustedImm32(JSValue::CellTag)), target);
1044 emitLoad2(src1, regT1, regT0, src2, regT3, regT2);
1045 addSlowCase(branch32(NotEqual, regT1, regT3));
1046 addSlowCase(branch32(Equal, regT1, TrustedImm32(JSValue::CellTag)));
1047 addSlowCase(branch32(Below, regT1, TrustedImm32(JSValue::LowestTag)));
1094 emitLoad2(src1, regT1, regT0, src2, regT3, regT2);
1095 addSlowCase(branch32(NotEqual, regT1, regT3));
1096 addSlowCase(branch32(Equal, regT1, TrustedImm32(JSValue::CellTag)));
1097 addSlowCase(branch32(Below, regT1, TrustedImm32(JSValue::LowestTag)));
1128 stubCallEq.addArgument(regT1, regT0);
1144 emitLoadTag(src2, regT1);
1149 and32(regT1, regT2);
1154 set32Compare32(Equal, regT0, regT1, regT0);
1156 set32Compare32(NotEqual, regT0, regT1, regT0);
1206 emitLoad(src, regT1, regT0);
1207 Jump isImmediate = branch32(NotEqual, regT1, TrustedImm32(JSValue::CellTag));
1209 loadPtr(Address(regT0, JSCell::structureOffset()), regT1);
1210 set32Test8(NonZero, Address(regT1, Structure::typeInfoFlagsOffset()), TrustedImm32(MasqueradesAsUndefined), regT1);
1216 set32Compare32(Equal, regT1, TrustedImm32(JSValue::NullTag), regT2);
1217 set32Compare32(Equal, regT1, TrustedImm32(JSValue::UndefinedTag), regT1);
1218 or32(regT2, regT1);
1222 emitStoreBool(dst, regT1);
1230 emitLoad(src, regT1, regT0);
1231 Jump isImmediate = branch32(NotEqual, regT1, TrustedImm32(JSValue::CellTag));
1233 loadPtr(Address(regT0, JSCell::structureOffset()), regT1);
1234 set32Test8(Zero, Address(regT1, Structure::typeInfoFlagsOffset()), TrustedImm32(MasqueradesAsUndefined), regT1);
1240 set32Compare32(NotEqual, regT1, TrustedImm32(JSValue::NullTag), regT2);
1241 set32Compare32(NotEqual, regT1, TrustedImm32(JSValue::UndefinedTag), regT1);
1242 and32(regT2, regT1);
1246 emitStoreBool(dst, regT1);
1288 emitLoad(base, regT1, regT0);
1290 isNotObject.append(branch32(NotEqual, regT1, TrustedImm32(JSValue::CellTag)));
1310 addJump(branch32(Equal, regT1, TrustedImm32(JSValue::NullTag)), breakTarget);
1311 addJump(branch32(Equal, regT1, TrustedImm32(JSValue::UndefinedTag)), breakTarget);
1313 toObjectStubCall.addArgument(regT1, regT0);
1336 loadPtr(payloadFor(it), regT1);
1337 loadPtr(Address(regT1, OBJECT_OFFSETOF(JSPropertyNameIterator, m_jsStrings)), regT2);
1351 callHasProperty.append(branchPtr(NotEqual, regT2, Address(Address(regT1, OBJECT_OFFSETOF(JSPropertyNameIterator, m_cachedStructure)))));
1354 loadPtr(Address(Address(regT1, OBJECT_OFFSETOF(JSPropertyNameIterator, m_cachedPrototypeChain))), regT3);
1371 loadPtr(addressFor(dst), regT1);
1374 stubCall.addArgument(regT1);
1402 emitLoad(src, regT1, regT0);
1404 Jump isInt32 = branch32(Equal, regT1, TrustedImm32(JSValue::Int32Tag));
1405 addSlowCase(branch32(AboveOrEqual, regT1, TrustedImm32(JSValue::EmptyValueTag)));
1409 emitStore(dst, regT1, regT0);
1410 map(m_bytecodeOffset + OPCODE_LENGTH(op_to_jsnumber), dst, regT1, regT0);
1420 stubCall.addArgument(regT1, regT0);
1440 load32(Address(regT3, OBJECT_OFFSETOF(JSGlobalData, exception) + OBJECT_OFFSETOF(JSValue, u.asBits.tag)), regT1);
1445 emitStore(exception, regT1, regT0);
1446 map(m_bytecodeOffset + OPCODE_LENGTH(op_catch), exception, regT1, regT0);
1563 emitStore(dst, regT1, regT0);
1564 emitStore(unmodifiedArgumentsRegister(dst), regT1, regT0);
1586 emitLoad(protoRegister, regT1, regT0);
1588 stubCall.addArgument(regT1, regT0);
1596 emitLoad(thisRegister, regT1, regT0);
1598 addSlowCase(branch32(NotEqual, regT1, TrustedImm32(JSValue::CellTag)));
1603 map(m_bytecodeOffset + OPCODE_LENGTH(op_convert_this), thisRegister, regT1, regT0);
1610 emitLoad(thisRegister, regT1, regT0);
1612 Jump notNull = branch32(NotEqual, regT1, TrustedImm32(JSValue::EmptyValueTag));
1616 Jump isImmediate = branch32(NotEqual, regT1, TrustedImm32(JSValue::CellTag));
1623 map(m_bytecodeOffset + OPCODE_LENGTH(op_convert_this_strict), thisRegister, regT1, regT0);
1634 stubCall.addArgument(regT1, regT0);
1645 stubCall.addArgument(regT1, regT0);
1700 emitLoad(property, regT1, regT2);
1701 addSlowCase(branch32(NotEqual, regT1, TrustedImm32(JSValue::Int32Tag)));
1711 addPtr(Imm32(static_cast<unsigned>(-(RegisterFile::CallFrameHeaderSize + numArgs) * sizeof(Register))), callFrameRegister, regT1);
1712 loadPtr(BaseIndex(regT1, regT2, TimesEight, OBJECT_OFFSETOF(JSValue, u.asBits.payload)), regT0);
1713 loadPtr(BaseIndex(regT1, regT2, TimesEight, OBJECT_OFFSETOF(JSValue, u.asBits.tag)), regT1);
1718 addPtr(Imm32(static_cast<unsigned>(-(RegisterFile::CallFrameHeaderSize + numArgs) * sizeof(Register))), callFrameRegister, regT1);
1720 subPtr(regT3, regT1);
1721 loadPtr(BaseIndex(regT1, regT2, TimesEight, OBJECT_OFFSETOF(JSValue, u.asBits.payload)), regT0);
1722 loadPtr(BaseIndex(regT1, regT2, TimesEight, OBJECT_OFFSETOF(JSValue, u.asBits.tag)), regT1);
1725 emitStore(dst, regT1, regT0);
1744 emitStore(arguments, regT1, regT0);
1745 emitStore(unmodifiedArgumentsRegister(arguments), regT1, regT0);
1757 push(regT1);
1761 move(TrustedImm32(0), regT1);
1766 xor32(TrustedImm32(1), regT1);
1771 xor32(TrustedImm32(2), regT1);
1775 push(regT1);
1791 countLeadingZeros32(regT3, regT1);
1792 sub32(regT0, regT1);
1794 Jump useFullTable = branch32(Equal, regT1, TrustedImm32(31));
1796 neg32(regT1);
1797 add32(TrustedImm32(31), regT1);
1805 relativeTableJump(regT1, elementSizeByShift);
1815 m_assembler.sub_S(regT1, regT2, regT3, shift);
1817 m_assembler.mov(regT2, regT1);
1831 pop(regT1);
1832 Jump positiveResult = branch32(Equal, regT1, TrustedImm32(0));
1839 pop(regT1);