| OLD | NEW |
| 1 // Copyright 2011 the V8 project authors. All rights reserved. | 1 // Copyright 2011 the V8 project authors. All rights reserved. |
| 2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
| 3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
| 4 // met: | 4 // met: |
| 5 // | 5 // |
| 6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
| 7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
| 8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
| 9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
| 10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
| (...skipping 2610 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2621 ASSERT(operands_type_ == TRBinaryOpIC::STRING); | 2621 ASSERT(operands_type_ == TRBinaryOpIC::STRING); |
| 2622 ASSERT(op_ == Token::ADD); | 2622 ASSERT(op_ == Token::ADD); |
| 2623 // Try to add arguments as strings, otherwise, transition to the generic | 2623 // Try to add arguments as strings, otherwise, transition to the generic |
| 2624 // TRBinaryOpIC type. | 2624 // TRBinaryOpIC type. |
| 2625 GenerateAddStrings(masm); | 2625 GenerateAddStrings(masm); |
| 2626 GenerateTypeTransition(masm); | 2626 GenerateTypeTransition(masm); |
| 2627 } | 2627 } |
| 2628 | 2628 |
| 2629 | 2629 |
| 2630 void TypeRecordingBinaryOpStub::GenerateInt32Stub(MacroAssembler* masm) { | 2630 void TypeRecordingBinaryOpStub::GenerateInt32Stub(MacroAssembler* masm) { |
| 2631 ASSERT(op_ == Token::ADD || op_ == Token::SUB || op_ == Token::SUB); | 2631 ASSERT(op_ == Token::ADD || op_ == Token::SUB || op_ == Token::MUL); |
| 2632 | 2632 |
| 2633 ASSERT(operands_type_ == TRBinaryOpIC::INT32); | 2633 ASSERT(operands_type_ == TRBinaryOpIC::INT32); |
| 2634 | 2634 |
| 2635 GenerateTypeTransition(masm); | 2635 GenerateTypeTransition(masm); |
| 2636 } | 2636 } |
| 2637 | 2637 |
| 2638 | 2638 |
| 2639 void TypeRecordingBinaryOpStub::GenerateHeapNumberStub(MacroAssembler* masm) { | 2639 void TypeRecordingBinaryOpStub::GenerateHeapNumberStub(MacroAssembler* masm) { |
| 2640 ASSERT(op_ == Token::ADD || op_ == Token::SUB || op_ == Token::MUL); | 2640 ASSERT(op_ == Token::ADD || op_ == Token::SUB || op_ == Token::MUL); |
| 2641 | 2641 |
| (...skipping 124 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2766 | 2766 |
| 2767 void TypeRecordingBinaryOpStub::GenerateCallRuntime(MacroAssembler* masm) { | 2767 void TypeRecordingBinaryOpStub::GenerateCallRuntime(MacroAssembler* masm) { |
| 2768 GenerateRegisterArgsPush(masm); | 2768 GenerateRegisterArgsPush(masm); |
| 2769 switch (op_) { | 2769 switch (op_) { |
| 2770 case Token::ADD: | 2770 case Token::ADD: |
| 2771 __ InvokeBuiltin(Builtins::ADD, JUMP_JS); | 2771 __ InvokeBuiltin(Builtins::ADD, JUMP_JS); |
| 2772 break; | 2772 break; |
| 2773 case Token::SUB: | 2773 case Token::SUB: |
| 2774 __ InvokeBuiltin(Builtins::SUB, JUMP_JS); | 2774 __ InvokeBuiltin(Builtins::SUB, JUMP_JS); |
| 2775 break; | 2775 break; |
| 2776 case Token::MUL: |
| 2777 __ InvokeBuiltin(Builtins::MUL, JUMP_JS); |
| 2778 break; |
| 2776 default: | 2779 default: |
| 2777 UNREACHABLE(); | 2780 UNREACHABLE(); |
| 2778 } | 2781 } |
| 2779 } | 2782 } |
| 2780 | 2783 |
| 2781 | 2784 |
| 2782 void TypeRecordingBinaryOpStub::GenerateHeapResultAllocation( | 2785 void TypeRecordingBinaryOpStub::GenerateHeapResultAllocation( |
| 2783 MacroAssembler* masm, | 2786 MacroAssembler* masm, |
| 2784 Register result, | 2787 Register result, |
| 2785 Register heap_number_map, | 2788 Register heap_number_map, |
| (...skipping 2907 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5693 __ pop(r1); | 5696 __ pop(r1); |
| 5694 __ Jump(r2); | 5697 __ Jump(r2); |
| 5695 } | 5698 } |
| 5696 | 5699 |
| 5697 | 5700 |
| 5698 #undef __ | 5701 #undef __ |
| 5699 | 5702 |
| 5700 } } // namespace v8::internal | 5703 } } // namespace v8::internal |
| 5701 | 5704 |
| 5702 #endif // V8_TARGET_ARCH_ARM | 5705 #endif // V8_TARGET_ARCH_ARM |
| OLD | NEW |