• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /macosx-10.9.5/JavaScriptCore-7537.78.1/jit/

Lines Matching defs:op2

88 void JIT::emit_compareAndJump(OpcodeID opcode, unsigned op1, unsigned op2, unsigned target, RelationalCondition condition)
95 emitLoad(op2, regT1, regT0);
103 if (isOperandConstantImmediateChar(op2)) {
109 addJump(branch32(condition, regT0, Imm32(asString(getConstantOperand(op2))->tryGetValue()[0])), target);
113 emitLoad(op2, regT3, regT2);
116 } else if (isOperandConstantImmediateInt(op2)) {
119 addJump(branch32(condition, regT0, Imm32(getConstantOperand(op2).asInt32())), target);
121 emitLoad2(op1, regT1, regT0, op2, regT3, regT2);
135 emitBinaryDoubleOp(opcode, target, op1, op2, OperandTypes(), notInt32Op1, notInt32Op2, !isOperandConstantImmediateInt(op1), isOperandConstantImmediateInt(op1) || !isOperandConstantImmediateInt(op2));
139 void JIT::emit_compareAndJumpSlow(unsigned op1, unsigned op2, unsigned target, DoubleCondition, int (JIT_STUB *stub)(STUB_ARGS_DECLARATION), bool invert, Vector<SlowCaseEntry>::iterator& iter)
141 if (isOperandConstantImmediateChar(op1) || isOperandConstantImmediateChar(op2)) {
148 if (!isOperandConstantImmediateInt(op1) && !isOperandConstantImmediateInt(op2))
156 if (isOperandConstantImmediateInt(op1) || !isOperandConstantImmediateInt(op2))
162 stubCall.addArgument(op2);
173 unsigned op2 = currentInstruction[3].u.operand;
175 if (isOperandConstantImmediateInt(op2)) {
178 lshift32(Imm32(getConstantOperand(op2).asInt32()), regT0);
183 emitLoad2(op1, regT1, regT0, op2, regT3, regT2);
188 emitStoreAndMapInt32(dst, regT1, regT0, dst == op1 || dst == op2, OPCODE_LENGTH(op_lshift));
195 unsigned op2 = currentInstruction[3].u.operand;
197 if (!isOperandConstantImmediateInt(op1) && !isOperandConstantImmediateInt(op2))
203 stubCall.addArgument(op2);
213 unsigned op2 = currentInstruction[3].u.operand;
217 if (isOperandConstantImmediateInt(op2)) {
220 int shift = getConstantOperand(op2).asInt32() & 0x1f;
230 emitLoad2(op1, regT1, regT0, op2, regT3, regT2);
247 unsigned op2 = currentInstruction[3].u.operand;
248 if (isOperandConstantImmediateInt(op2)) {
249 int shift = getConstantOperand(op2).asInt32() & 0x1f;
273 // op2 = regT3:regT2
280 failures.append(branch32(NotEqual, regT3, TrustedImm32(JSValue::Int32Tag))); // op2 is not an int
294 linkSlowCase(iter); // int32 check - op2 is not an int
301 stubCall.addArgument(op2);
335 unsigned op2 = currentInstruction[3].u.operand;
339 if (getOperandConstantImmediateInt(op1, op2, op, constant)) {
347 emitLoad2(op1, regT1, regT0, op2, regT3, regT2);
351 emitStoreAndMapInt32(dst, regT1, regT0, (op1 == dst || op2 == dst), OPCODE_LENGTH(op_bitand));
358 unsigned op2 = currentInstruction[3].u.operand;
360 if (!isOperandConstantImmediateInt(op1) && !isOperandConstantImmediateInt(op2))
366 stubCall.addArgument(op2);
376 unsigned op2 = currentInstruction[3].u.operand;
380 if (getOperandConstantImmediateInt(op1, op2, op, constant)) {
388 emitLoad2(op1, regT1, regT0, op2, regT3, regT2);
392 emitStoreAndMapInt32(dst, regT1, regT0, (op1 == dst || op2 == dst), OPCODE_LENGTH(op_bitor));
399 unsigned op2 = currentInstruction[3].u.operand;
401 if (!isOperandConstantImmediateInt(op1) && !isOperandConstantImmediateInt(op2))
407 stubCall.addArgument(op2);
417 unsigned op2 = currentInstruction[3].u.operand;
421 if (getOperandConstantImmediateInt(op1, op2, op, constant)) {
429 emitLoad2(op1, regT1, regT0, op2, regT3, regT2);
433 emitStoreAndMapInt32(dst, regT1, regT0, (op1 == dst || op2 == dst), OPCODE_LENGTH(op_bitxor));
440 unsigned op2 = currentInstruction[3].u.operand;
442 if (!isOperandConstantImmediateInt(op1) && !isOperandConstantImmediateInt(op2))
448 stubCall.addArgument(op2);
504 unsigned op2 = currentInstruction[3].u.operand;
511 stubCall.addArgument(op2);
521 if (getOperandConstantImmediateInt(op1, op2, op, constant)) {
526 emitLoad2(op1, regT1, regT0, op2, regT3, regT2);
532 emitStoreInt32(dst, regT0, (op1 == dst || op2 == dst));
542 emitBinaryDoubleOp(op_add, dst, op1, op2, types, notInt32Op1, notInt32Op2);
577 unsigned op2 = currentInstruction[3].u.operand;
587 if (getOperandConstantImmediateInt(op1, op2, op, constant)) {
616 stubCall.addArgument(op2);
626 unsigned op2 = currentInstruction[3].u.operand;
632 if (isOperandConstantImmediateInt(op2)) {
633 emitSub32Constant(dst, op1, getConstantOperand(op2).asInt32(), types.first());
637 emitLoad2(op1, regT1, regT0, op2, regT3, regT2);
643 emitStoreInt32(dst, regT0, (op1 == dst || op2 == dst));
653 emitBinaryDoubleOp(op_sub, dst, op1, op2, types, notInt32Op1, notInt32Op2);
693 unsigned op2 = currentInstruction[3].u.operand;
696 if (isOperandConstantImmediateInt(op2)) {
720 stubCall.addArgument(op2);
724 void JIT::emitBinaryDoubleOp(OpcodeID opcodeID, unsigned dst, unsigned op1, unsigned op2, OperandTypes types, JumpList& notInt32Op1, JumpList& notInt32Op2, bool op1IsInRegisters, bool op2IsInRegisters)
739 emitLoad(op2, regT3, regT2);
751 emitLoadDouble(op2, fpRegT0);
855 // Verify op2 is double.
862 emitLoadDouble(op2, fpRegT2);
867 emitLoadDouble(op2, fpRegT2);
872 emitLoadDouble(op2, fpRegT2);
877 emitLoadDouble(op2, fpRegT2);
909 emitLoadDouble(op2, fpRegT1);
913 emitLoadDouble(op2, fpRegT1);
917 emitLoadDouble(op2, fpRegT1);
921 emitLoadDouble(op2, fpRegT1);
925 emitLoadDouble(op2, fpRegT1);
929 emitLoadDouble(op2, fpRegT1);
933 emitLoadDouble(op2, fpRegT1);
937 emitLoadDouble(op2, fpRegT1);
954 unsigned op2 = currentInstruction[3].u.operand;
964 emitLoad2(op1, regT1, regT0, op2, regT3, regT2);
972 emitStoreInt32(dst, regT0, (op1 == dst || op2 == dst));
982 emitBinaryDoubleOp(op_mul, dst, op1, op2, types, notInt32Op1, notInt32Op2);
990 unsigned op2 = currentInstruction[3].u.operand;
997 emitStoreInt32(dst, TrustedImm32(0), (op1 == dst || op2 == dst));
1028 stubCall.addArgument(op2);
1038 unsigned op2 = currentInstruction[3].u.operand;
1056 emitLoad2(op1, regT1, regT0, op2, regT3, regT2);
1093 emitBinaryDoubleOp(op_div, dst, op1, op2, types, notInt32Op1, notInt32Op2);
1101 unsigned op2 = currentInstruction[3].u.operand;
1118 stubCall.addArgument(op2);
1130 unsigned op2 = currentInstruction[3].u.operand;
1139 emitLoad2(op1, regT0, regT3, op2, regT1, regT2);
1153 emitStoreInt32(dst, regT1, (op1 == dst || op2 == dst));
1157 stubCall.addArgument(op2);
1167 unsigned op2 = currentInstruction[3].u.operand;
1175 stubCall.addArgument(op2);