Changeset 48895 in webkit for trunk/JavaScriptCore/jit/JITArithmetic.cpp
- Timestamp:
- Sep 29, 2009, 1:28:00 PM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/JavaScriptCore/jit/JITArithmetic.cpp
r48830 r48895 567 567 OperandTypes types = OperandTypes::fromInt(currentInstruction[4].u.operand); 568 568 569 if (!types.first().mightBeNumber() || !types.second().mightBeNumber()) { 570 JITStubCall stubCall(this, cti_op_add); 571 stubCall.addArgument(op1); 572 stubCall.addArgument(op2); 573 stubCall.call(dst); 574 return; 575 } 576 569 577 JumpList notInt32Op1; 570 578 JumpList notInt32Op2; … … 630 638 unsigned op2 = currentInstruction[3].u.operand; 631 639 OperandTypes types = OperandTypes::fromInt(currentInstruction[4].u.operand); 640 641 if (!types.first().mightBeNumber() || !types.second().mightBeNumber()) 642 return; 632 643 633 644 unsigned op; … … 2027 2038 unsigned op1 = currentInstruction[2].u.operand; 2028 2039 unsigned op2 = currentInstruction[3].u.operand; 2040 OperandTypes types = OperandTypes::fromInt(currentInstruction[4].u.operand); 2041 2042 if (!types.first().mightBeNumber() || !types.second().mightBeNumber()) 2043 return; 2029 2044 2030 2045 if (isOperandConstantImmediateInt(op1) || isOperandConstantImmediateInt(op2)) { … … 2384 2399 unsigned op2 = currentInstruction[3].u.operand; 2385 2400 2401 if (!types.first().mightBeNumber() || !types.second().mightBeNumber()) { 2402 JITStubCall stubCall(this, cti_op_add); 2403 stubCall.addArgument(op1); 2404 stubCall.addArgument(op2); 2405 stubCall.call(dst); 2406 return; 2407 } 2408 2386 2409 if (isOperandConstantImmediateInt(op1)) { 2387 2410 emitGetVirtualRegister(op2, regT0); … … 2414 2437 unsigned op1 = currentInstruction[2].u.operand; 2415 2438 unsigned op2 = currentInstruction[3].u.operand; 2439 2440 if (!types.first().mightBeNumber() || !types.second().mightBeNumber()) 2441 return; 2416 2442 2417 2443 if (isOperandConstantImmediateInt(op1)) {
Note:
See TracChangeset
for help on using the changeset viewer.