OLD | NEW |
1 // Copyright 2013 the V8 project authors. All rights reserved. | 1 // Copyright 2013 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 1461 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1472 #endif | 1472 #endif |
1473 | 1473 |
1474 Mov(x0, Smi::FromInt(reason)); | 1474 Mov(x0, Smi::FromInt(reason)); |
1475 Push(x0); | 1475 Push(x0); |
1476 | 1476 |
1477 // Disable stub call restrictions to always allow calls to throw. | 1477 // Disable stub call restrictions to always allow calls to throw. |
1478 if (!has_frame_) { | 1478 if (!has_frame_) { |
1479 // We don't actually want to generate a pile of code for this, so just | 1479 // We don't actually want to generate a pile of code for this, so just |
1480 // claim there is a stack frame, without generating one. | 1480 // claim there is a stack frame, without generating one. |
1481 FrameScope scope(this, StackFrame::NONE); | 1481 FrameScope scope(this, StackFrame::NONE); |
1482 CallRuntime(Runtime::kThrowMessage, 1); | 1482 CallRuntime(Runtime::kHiddenThrowMessage, 1); |
1483 } else { | 1483 } else { |
1484 CallRuntime(Runtime::kThrowMessage, 1); | 1484 CallRuntime(Runtime::kHiddenThrowMessage, 1); |
1485 } | 1485 } |
1486 // ThrowMessage should not return here. | 1486 // ThrowMessage should not return here. |
1487 Unreachable(); | 1487 Unreachable(); |
1488 } | 1488 } |
1489 | 1489 |
1490 | 1490 |
1491 void MacroAssembler::ThrowIf(Condition cc, BailoutReason reason) { | 1491 void MacroAssembler::ThrowIf(Condition cc, BailoutReason reason) { |
1492 Label ok; | 1492 Label ok; |
1493 B(InvertCondition(cc), &ok); | 1493 B(InvertCondition(cc), &ok); |
1494 Throw(reason); | 1494 Throw(reason); |
(...skipping 238 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1733 } | 1733 } |
1734 | 1734 |
1735 LeaveExitFrame(false, x1, !restore_context); | 1735 LeaveExitFrame(false, x1, !restore_context); |
1736 Drop(stack_space); | 1736 Drop(stack_space); |
1737 Ret(); | 1737 Ret(); |
1738 | 1738 |
1739 Bind(&promote_scheduled_exception); | 1739 Bind(&promote_scheduled_exception); |
1740 { | 1740 { |
1741 FrameScope frame(this, StackFrame::INTERNAL); | 1741 FrameScope frame(this, StackFrame::INTERNAL); |
1742 CallExternalReference( | 1742 CallExternalReference( |
1743 ExternalReference(Runtime::kPromoteScheduledException, isolate()), 0); | 1743 ExternalReference( |
| 1744 Runtime::kHiddenPromoteScheduledException, isolate()), 0); |
1744 } | 1745 } |
1745 B(&exception_handled); | 1746 B(&exception_handled); |
1746 | 1747 |
1747 // HandleScope limit has changed. Delete allocated extensions. | 1748 // HandleScope limit has changed. Delete allocated extensions. |
1748 Bind(&delete_allocated_handles); | 1749 Bind(&delete_allocated_handles); |
1749 Str(limit_reg, MemOperand(handle_scope_base, kLimitOffset)); | 1750 Str(limit_reg, MemOperand(handle_scope_base, kLimitOffset)); |
1750 // Save the return value in a callee-save register. | 1751 // Save the return value in a callee-save register. |
1751 Register saved_result = x19; | 1752 Register saved_result = x19; |
1752 Mov(saved_result, x0); | 1753 Mov(saved_result, x0); |
1753 Mov(x0, ExternalReference::isolate_address(isolate())); | 1754 Mov(x0, ExternalReference::isolate_address(isolate())); |
(...skipping 3420 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5174 } | 5175 } |
5175 } | 5176 } |
5176 | 5177 |
5177 | 5178 |
5178 #undef __ | 5179 #undef __ |
5179 | 5180 |
5180 | 5181 |
5181 } } // namespace v8::internal | 5182 } } // namespace v8::internal |
5182 | 5183 |
5183 #endif // V8_TARGET_ARCH_ARM64 | 5184 #endif // V8_TARGET_ARCH_ARM64 |
OLD | NEW |