OLD | NEW |
1 // Copyright 2013 the V8 project authors. All rights reserved. | 1 // Copyright 2013 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #if V8_TARGET_ARCH_ARM64 | 5 #if V8_TARGET_ARCH_ARM64 |
6 | 6 |
7 #include "src/base/bits.h" | 7 #include "src/base/bits.h" |
8 #include "src/base/division-by-constant.h" | 8 #include "src/base/division-by-constant.h" |
9 #include "src/bootstrapper.h" | 9 #include "src/bootstrapper.h" |
10 #include "src/codegen.h" | 10 #include "src/codegen.h" |
(...skipping 2872 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2883 } | 2883 } |
2884 } else { | 2884 } else { |
2885 // Slot is in the current function context. Move it into the | 2885 // Slot is in the current function context. Move it into the |
2886 // destination register in case we store into it (the write barrier | 2886 // destination register in case we store into it (the write barrier |
2887 // cannot be allowed to destroy the context in cp). | 2887 // cannot be allowed to destroy the context in cp). |
2888 Mov(dst, cp); | 2888 Mov(dst, cp); |
2889 } | 2889 } |
2890 } | 2890 } |
2891 | 2891 |
2892 | 2892 |
2893 void MacroAssembler::DebugBreak() { | |
2894 Mov(x0, 0); | |
2895 Mov(x1, ExternalReference(Runtime::kHandleDebuggerStatement, isolate())); | |
2896 CEntryStub ces(isolate(), 1); | |
2897 DCHECK(AllowThisStubCall(&ces)); | |
2898 Call(ces.GetCode(), RelocInfo::DEBUGGER_STATEMENT); | |
2899 } | |
2900 | |
2901 | |
2902 void MacroAssembler::PushStackHandler() { | 2893 void MacroAssembler::PushStackHandler() { |
2903 DCHECK(jssp.Is(StackPointer())); | 2894 DCHECK(jssp.Is(StackPointer())); |
2904 // Adjust this code if the asserts don't hold. | 2895 // Adjust this code if the asserts don't hold. |
2905 STATIC_ASSERT(StackHandlerConstants::kSize == 1 * kPointerSize); | 2896 STATIC_ASSERT(StackHandlerConstants::kSize == 1 * kPointerSize); |
2906 STATIC_ASSERT(StackHandlerConstants::kNextOffset == 0 * kPointerSize); | 2897 STATIC_ASSERT(StackHandlerConstants::kNextOffset == 0 * kPointerSize); |
2907 | 2898 |
2908 // For the JSEntry handler, we must preserve the live registers x0-x4. | 2899 // For the JSEntry handler, we must preserve the live registers x0-x4. |
2909 // (See JSEntryStub::GenerateBody().) | 2900 // (See JSEntryStub::GenerateBody().) |
2910 | 2901 |
2911 // Link the current handler as the next handler. | 2902 // Link the current handler as the next handler. |
(...skipping 1756 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4668 } | 4659 } |
4669 | 4660 |
4670 | 4661 |
4671 #undef __ | 4662 #undef __ |
4672 | 4663 |
4673 | 4664 |
4674 } // namespace internal | 4665 } // namespace internal |
4675 } // namespace v8 | 4666 } // namespace v8 |
4676 | 4667 |
4677 #endif // V8_TARGET_ARCH_ARM64 | 4668 #endif // V8_TARGET_ARCH_ARM64 |
OLD | NEW |