Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(6)

Side by Side Diff: runtime/vm/stub_code_arm64.cc

Issue 1417433002: Don't touch x18 on ARM64 - it is globally reserved on iOS. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 5 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « runtime/vm/stack_frame_mips.h ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 #include "vm/globals.h" 5 #include "vm/globals.h"
6 #if defined(TARGET_ARCH_ARM64) 6 #if defined(TARGET_ARCH_ARM64)
7 7
8 #include "vm/assembler.h" 8 #include "vm/assembler.h"
9 #include "vm/code_generator.h" 9 #include "vm/code_generator.h"
10 #include "vm/compiler.h" 10 #include "vm/compiler.h"
(...skipping 811 matching lines...) Expand 10 before | Expand all | Expand 10 after
822 __ StoreToOffset(R6, THR, Thread::vm_tag_offset()); 822 __ StoreToOffset(R6, THR, Thread::vm_tag_offset());
823 823
824 // Save top resource and top exit frame info. Use R6 as a temporary register. 824 // Save top resource and top exit frame info. Use R6 as a temporary register.
825 // StackFrameIterator reads the top exit frame info saved in this frame. 825 // StackFrameIterator reads the top exit frame info saved in this frame.
826 __ LoadFromOffset(R6, THR, Thread::top_resource_offset()); 826 __ LoadFromOffset(R6, THR, Thread::top_resource_offset());
827 __ StoreToOffset(ZR, THR, Thread::top_resource_offset()); 827 __ StoreToOffset(ZR, THR, Thread::top_resource_offset());
828 __ Push(R6); 828 __ Push(R6);
829 __ LoadFromOffset(R6, THR, Thread::top_exit_frame_info_offset()); 829 __ LoadFromOffset(R6, THR, Thread::top_exit_frame_info_offset());
830 __ StoreToOffset(ZR, THR, Thread::top_exit_frame_info_offset()); 830 __ StoreToOffset(ZR, THR, Thread::top_exit_frame_info_offset());
831 // kExitLinkSlotFromEntryFp must be kept in sync with the code below. 831 // kExitLinkSlotFromEntryFp must be kept in sync with the code below.
832 ASSERT(kExitLinkSlotFromEntryFp == -22); 832 ASSERT(kExitLinkSlotFromEntryFp == -21);
833 __ Push(R6); 833 __ Push(R6);
834 834
835 // Load arguments descriptor array into R4, which is passed to Dart code. 835 // Load arguments descriptor array into R4, which is passed to Dart code.
836 __ LoadFromOffset(R4, R1, VMHandles::kOffsetOfRawPtrInHandle); 836 __ LoadFromOffset(R4, R1, VMHandles::kOffsetOfRawPtrInHandle);
837 837
838 // Load number of arguments into S5. 838 // Load number of arguments into S5.
839 __ LoadFieldFromOffset(R5, R4, ArgumentsDescriptor::count_offset()); 839 __ LoadFieldFromOffset(R5, R4, ArgumentsDescriptor::count_offset());
840 __ SmiUntag(R5); 840 __ SmiUntag(R5);
841 841
842 // Compute address of 'arguments array' data area into R2. 842 // Compute address of 'arguments array' data area into R2.
(...skipping 1302 matching lines...) Expand 10 before | Expand all | Expand 10 after
2145 // Result: 2145 // Result:
2146 // R1: entry point. 2146 // R1: entry point.
2147 void StubCode::GenerateMegamorphicLookupStub(Assembler* assembler) { 2147 void StubCode::GenerateMegamorphicLookupStub(Assembler* assembler) {
2148 EmitMegamorphicLookup(assembler, R0, R1, R1); 2148 EmitMegamorphicLookup(assembler, R0, R1, R1);
2149 __ ret(); 2149 __ ret();
2150 } 2150 }
2151 2151
2152 } // namespace dart 2152 } // namespace dart
2153 2153
2154 #endif // defined TARGET_ARCH_ARM64 2154 #endif // defined TARGET_ARCH_ARM64
OLDNEW
« no previous file with comments | « runtime/vm/stack_frame_mips.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698