| OLD | NEW |
| 1 // Copyright 2010 the V8 project authors. All rights reserved. | 1 // Copyright 2010 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 1608 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1619 // Then process it as a normal function call. | 1619 // Then process it as a normal function call. |
| 1620 __ ldr(r0, MemOperand(sp, 3 * kPointerSize)); | 1620 __ ldr(r0, MemOperand(sp, 3 * kPointerSize)); |
| 1621 __ ldr(r1, MemOperand(sp, 2 * kPointerSize)); | 1621 __ ldr(r1, MemOperand(sp, 2 * kPointerSize)); |
| 1622 __ Strd(r0, r1, MemOperand(sp, 2 * kPointerSize)); | 1622 __ Strd(r0, r1, MemOperand(sp, 2 * kPointerSize)); |
| 1623 | 1623 |
| 1624 CallFunctionStub call_function(2, NOT_IN_LOOP, NO_CALL_FUNCTION_FLAGS); | 1624 CallFunctionStub call_function(2, NOT_IN_LOOP, NO_CALL_FUNCTION_FLAGS); |
| 1625 frame_->CallStub(&call_function, 3); | 1625 frame_->CallStub(&call_function, 3); |
| 1626 // The function and its two arguments have been dropped. | 1626 // The function and its two arguments have been dropped. |
| 1627 frame_->Drop(); // Drop the receiver as well. | 1627 frame_->Drop(); // Drop the receiver as well. |
| 1628 frame_->EmitPush(r0); | 1628 frame_->EmitPush(r0); |
| 1629 frame_->SpillAll(); // A spilled frame is also jumping to label done. |
| 1629 // Stack now has 1 element: | 1630 // Stack now has 1 element: |
| 1630 // sp[0]: result | 1631 // sp[0]: result |
| 1631 __ bind(&done); | 1632 __ bind(&done); |
| 1632 | 1633 |
| 1633 // Restore the context register after a call. | 1634 // Restore the context register after a call. |
| 1634 __ ldr(cp, frame_->Context()); | 1635 __ ldr(cp, frame_->Context()); |
| 1635 } | 1636 } |
| 1636 | 1637 |
| 1637 | 1638 |
| 1638 void CodeGenerator::Branch(bool if_true, JumpTarget* target) { | 1639 void CodeGenerator::Branch(bool if_true, JumpTarget* target) { |
| (...skipping 9599 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 11238 __ bind(&string_add_runtime); | 11239 __ bind(&string_add_runtime); |
| 11239 __ TailCallRuntime(Runtime::kStringAdd, 2, 1); | 11240 __ TailCallRuntime(Runtime::kStringAdd, 2, 1); |
| 11240 } | 11241 } |
| 11241 | 11242 |
| 11242 | 11243 |
| 11243 #undef __ | 11244 #undef __ |
| 11244 | 11245 |
| 11245 } } // namespace v8::internal | 11246 } } // namespace v8::internal |
| 11246 | 11247 |
| 11247 #endif // V8_TARGET_ARCH_ARM | 11248 #endif // V8_TARGET_ARCH_ARM |
| OLD | NEW |