OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 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 1667 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1678 | 1678 |
1679 // Do full GC and retry runtime call one final time. | 1679 // Do full GC and retry runtime call one final time. |
1680 Failure* failure = Failure::InternalError(); | 1680 Failure* failure = Failure::InternalError(); |
1681 __ mov(r0, Operand(reinterpret_cast<int32_t>(failure))); | 1681 __ mov(r0, Operand(reinterpret_cast<int32_t>(failure))); |
1682 GenerateCore(masm, | 1682 GenerateCore(masm, |
1683 &throw_normal_exception, | 1683 &throw_normal_exception, |
1684 &throw_termination_exception, | 1684 &throw_termination_exception, |
1685 true, | 1685 true, |
1686 true); | 1686 true); |
1687 | 1687 |
| 1688 { FrameScope scope(masm, StackFrame::MANUAL); |
| 1689 __ PrepareCallCFunction(0, r0); |
| 1690 __ CallCFunction( |
| 1691 ExternalReference::out_of_memory_function(masm->isolate()), 0, 0); |
| 1692 } |
| 1693 |
1688 __ bind(&throw_termination_exception); | 1694 __ bind(&throw_termination_exception); |
1689 __ ThrowUncatchable(r0); | 1695 __ ThrowUncatchable(r0); |
1690 | 1696 |
1691 __ bind(&throw_normal_exception); | 1697 __ bind(&throw_normal_exception); |
1692 __ Throw(r0); | 1698 __ Throw(r0); |
1693 } | 1699 } |
1694 | 1700 |
1695 | 1701 |
1696 void JSEntryStub::GenerateBody(MacroAssembler* masm, bool is_construct) { | 1702 void JSEntryStub::GenerateBody(MacroAssembler* masm, bool is_construct) { |
1697 // r0: code entry | 1703 // r0: code entry |
(...skipping 3755 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5453 MemOperand(fp, 6 * kPointerSize), | 5459 MemOperand(fp, 6 * kPointerSize), |
5454 NULL); | 5460 NULL); |
5455 } | 5461 } |
5456 | 5462 |
5457 | 5463 |
5458 #undef __ | 5464 #undef __ |
5459 | 5465 |
5460 } } // namespace v8::internal | 5466 } } // namespace v8::internal |
5461 | 5467 |
5462 #endif // V8_TARGET_ARCH_ARM | 5468 #endif // V8_TARGET_ARCH_ARM |
OLD | NEW |