Home | History | Annotate | Download | only in jit

Lines Matching refs:op1

89     unsigned op1 = currentInstruction[1].u.operand;
97 if (isOperandConstantImmediateChar(op1)) {
103 addJump(branch32(LessThanOrEqual, regT0, Imm32(asString(getConstantOperand(op1))->tryGetValue()[0])), target);
107 emitLoad(op1, regT1, regT0);
115 if (isOperandConstantImmediateInt(op1)) {
119 addJump(branch32(LessThanOrEqual, regT2, Imm32(getConstantOperand(op1).asInt32())), target);
121 emitLoad(op1, regT1, regT0);
125 emitLoad2(op1, regT1, regT0, op2, regT3, regT2);
139 emitBinaryDoubleOp(op_jnless, target, op1, op2, OperandTypes(), notInt32Op1, notInt32Op2, !isOperandConstantImmediateInt(op1), isOperandConstantImmediateInt(op1) || !isOperandConstantImmediateInt(op2));
145 unsigned op1 = currentInstruction[1].u.operand;
149 if (isOperandConstantImmediateChar(op1) || isOperandConstantImmediateChar(op2)) {
156 if (!isOperandConstantImmediateInt(op1) && !isOperandConstantImmediateInt(op2))
160 if (!isOperandConstantImmediateInt(op1)) {
164 if (isOperandConstantImmediateInt(op1) || !isOperandConstantImmediateInt(op2))
170 stubCall.addArgument(op1);
178 unsigned op1 = currentInstruction[1].u.operand;
186 if (isOperandConstantImmediateChar(op1)) {
192 addJump(branch32(GreaterThan, regT0, Imm32(asString(getConstantOperand(op1))->tryGetValue()[0])), target);
196 emitLoad(op1, regT1, regT0);
204 if (isOperandConstantImmediateInt(op1)) {
207 addJump(branch32(GreaterThan, regT2, Imm32(getConstantOperand(op1).asInt32())), target);
209 emitLoad(op1, regT1, regT0);
213 emitLoad2(op1, regT1, regT0, op2, regT3, regT2);
227 emitBinaryDoubleOp(op_jless, target, op1, op2, OperandTypes(), notInt32Op1, notInt32Op2, !isOperandConstantImmediateInt(op1), isOperandConstantImmediateInt(op1) || !isOperandConstantImmediateInt(op2));
233 unsigned op1 = currentInstruction[1].u.operand;
237 if (isOperandConstantImmediateChar(op1) || isOperandConstantImmediateChar(op2)) {
244 if (!isOperandConstantImmediateInt(op1) && !isOperandConstantImmediateInt(op2))
248 if (!isOperandConstantImmediateInt(op1)) {
252 if (isOperandConstantImmediateInt(op1) || !isOperandConstantImmediateInt(op2))
257 stubCall.addArgument(op1);
265 unsigned op1 = currentInstruction[1].u.operand;
273 if (isOperandConstantImmediateChar(op1)) {
279 addJump(branch32(invert ? LessThan : GreaterThanOrEqual, regT0, Imm32(asString(getConstantOperand(op1))->tryGetValue()[0])), target);
283 emitLoad(op1, regT1, regT0);
291 if (isOperandConstantImmediateInt(op1)) {
294 addJump(branch32(invert ? LessThan : GreaterThanOrEqual, regT2, Imm32(getConstantOperand(op1).asInt32())), target);
296 emitLoad(op1, regT1, regT0);
300 emitLoad2(op1, regT1, regT0, op2, regT3, regT2);
314 emitBinaryDoubleOp(invert ? op_jnlesseq : op_jlesseq, target, op1, op2, OperandTypes(), notInt32Op1, notInt32Op2, !isOperandConstantImmediateInt(op1), isOperandConstantImmediateInt(op1) || !isOperandConstantImmediateInt(op2));
320 unsigned op1 = currentInstruction[1].u.operand;
324 if (isOperandConstantImmediateChar(op1) || isOperandConstantImmediateChar(op2)) {
331 if (!isOperandConstantImmediateInt(op1) && !isOperandConstantImmediateInt(op2))
335 if (!isOperandConstantImmediateInt(op1)) {
339 if (isOperandConstantImmediateInt(op1) || !isOperandConstantImmediateInt(op2))
345 stubCall.addArgument(op1);
366 unsigned op1 = currentInstruction[2].u.operand;
370 emitLoad(op1, regT1, regT0);
373 emitStoreInt32(dst, regT0, dst == op1);
377 emitLoad2(op1, regT1, regT0, op2, regT3, regT2);
378 if (!isOperandConstantImmediateInt(op1))
382 emitStoreInt32(dst, regT0, dst == op1 || dst == op2);
388 unsigned op1 = currentInstruction[2].u.operand;
391 if (!isOperandConstantImmediateInt(op1) && !isOperandConstantImmediateInt(op2))
396 stubCall.addArgument(op1);
406 unsigned op1 = currentInstruction[2].u.operand;
412 emitLoad(op1, regT1, regT0);
426 emitStoreInt32(dst, regT0, dst == op1);
430 emitLoad2(op1, regT1, regT0, op2, regT3, regT2);
431 if (!isOperandConstantImmediateInt(op1))
439 emitStoreInt32(dst, regT0, dst == op1 || dst == op2);
445 unsigned op1 = currentInstruction[2].u.operand;
449 // op1 = regT1:regT0
454 emitLoadDouble(op1, fpRegT0);
470 // op1 = regT1:regT0
472 if (!isOperandConstantImmediateInt(op1)) {
473 linkSlowCase(iter); // int32 check -- op1 is not an int
475 Jump notDouble = branch32(Above, regT1, TrustedImm32(JSValue::LowestTag)); // op1 is not a double
476 emitLoadDouble(op1, fpRegT0);
497 stubCall.addArgument(op1);
531 unsigned op1 = currentInstruction[2].u.operand;
536 if (getOperandConstantImmediateInt(op1, op2, op, constant)) {
544 emitLoad2(op1, regT1, regT0, op2, regT3, regT2);
548 emitStoreInt32(dst, regT0, (op1 == dst || op2 == dst));
554 unsigned op1 = currentInstruction[2].u.operand;
557 if (!isOperandConstantImmediateInt(op1) && !isOperandConstantImmediateInt(op2))
562 stubCall.addArgument(op1);
572 unsigned op1 = currentInstruction[2].u.operand;
577 if (getOperandConstantImmediateInt(op1, op2, op, constant)) {
585 emitLoad2(op1, regT1, regT0, op2, regT3, regT2);
589 emitStoreInt32(dst, regT0, (op1 == dst || op2 == dst));
595 unsigned op1 = currentInstruction[2].u.operand;
598 if (!isOperandConstantImmediateInt(op1) && !isOperandConstantImmediateInt(op2))
603 stubCall.addArgument(op1);
613 unsigned op1 = currentInstruction[2].u.operand;
618 if (getOperandConstantImmediateInt(op1, op2, op, constant)) {
626 emitLoad2(op1, regT1, regT0, op2, regT3, regT2);
630 emitStoreInt32(dst, regT0, (op1 == dst || op2 == dst));
636 unsigned op1 = currentInstruction[2].u.operand;
639 if (!isOperandConstantImmediateInt(op1) && !isOperandConstantImmediateInt(op2))
644 stubCall.addArgument(op1);
797 unsigned op1 = currentInstruction[2].u.operand;
803 stubCall.addArgument(op1);
814 if (getOperandConstantImmediateInt(op1, op2, op, constant)) {
815 emitAdd32Constant(dst, op, constant, op == op1 ? types.first() : types.second());
819 emitLoad2(op1, regT1, regT0, op2, regT3, regT2);
825 emitStoreInt32(dst, regT0, (op1 == dst || op2 == dst));
835 emitBinaryDoubleOp(op_add, dst, op1, op2, types, notInt32Op1, notInt32Op2);
869 unsigned op1 = currentInstruction[2].u.operand;
878 if (getOperandConstantImmediateInt(op1, op2, op, constant)) {
884 ResultType opType = op == op1 ? types.first() : types.second();
906 stubCall.addArgument(op1);
916 unsigned op1 = currentInstruction[2].u.operand;
924 emitSub32Constant(dst, op1, getConstantOperand(op2).asInt32(), types.first());
928 emitLoad2(op1, regT1, regT0, op2, regT3, regT2);
934 emitStoreInt32(dst, regT0, (op1 == dst || op2 == dst));
944 emitBinaryDoubleOp(op_sub, dst, op1, op2, types, notInt32Op1, notInt32Op2);
978 unsigned op1 = currentInstruction[2].u.operand;
1005 stubCall.addArgument(op1);
1010 void JIT::emitBinaryDoubleOp(OpcodeID opcodeID, unsigned dst, unsigned op1, unsigned op2, OperandTypes types, JumpList& notInt32Op1, JumpList& notInt32Op2, bool op1IsInRegisters, bool op2IsInRegisters)
1015 // Double case 1: Op1 is not int32; Op2 is unknown.
1020 // Verify Op1 is double.
1043 emitLoadDouble(op1, fpRegT2);
1048 emitLoadDouble(op1, fpRegT2);
1053 emitLoadDouble(op1, fpRegT1);
1058 emitLoadDouble(op1, fpRegT1);
1063 emitLoadDouble(op1, fpRegT2);
1067 emitLoadDouble(op1, fpRegT2);
1071 emitLoadDouble(op1, fpRegT2);
1075 emitLoadDouble(op1, fpRegT2);
1087 // Double case 2: Op1 is int32; Op2 is not int32.
1093 emitLoadPayload(op1, regT0);
1152 unsigned op1 = currentInstruction[2].u.operand;
1159 emitLoad2(op1, regT1, regT0, op2, regT3, regT2);
1167 emitStoreInt32(dst, regT0, (op1 == dst || op2 == dst));
1177 emitBinaryDoubleOp(op_mul, dst, op1, op2, types, notInt32Op1, notInt32Op2);
1184 unsigned op1 = currentInstruction[2].u.operand;
1192 emitStoreInt32(dst, TrustedImm32(0), (op1 == dst || op2 == dst));
1216 stubCall.addArgument(op1);
1226 unsigned op1 = currentInstruction[2].u.operand;
1241 emitLoad2(op1, regT1, regT0, op2, regT3, regT2);
1254 emitStoreInt32(dst, regT0, (op1 == dst || op2 == dst));
1263 emitBinaryDoubleOp(op_div, dst, op1, op2, types, notInt32Op1, notInt32Op2);
1270 unsigned op1 = currentInstruction[2].u.operand;
1287 stubCall.addArgument(op1);
1301 unsigned op1 = currentInstruction[2].u.operand;
1313 emitLoad(op1, regT1, regT0);
1319 emitLoad2(op1, regT1, regT0, op2, regT3, regT2);
1344 emitStoreInt32(dst, regT1, (op1 == dst || op2 == dst));
1351 unsigned op1 = currentInstruction[2].u.operand;
1366 stubCall.addArgument(op1);
1376 unsigned op1 = currentInstruction[2].u.operand;
1380 emitLoad2(op1, regT1, regT0, op2, regT3, regT2);
1388 emitStoreInt32(dst, regT0, (op1 == dst || op2 == dst));
1391 stubCall.addArgument(op1);
1403 unsigned op1 = currentInstruction[2].u.operand;
1409 stubCall.addArgument(op1);