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 #include "src/v8.h" | 5 #include "src/v8.h" |
6 | 6 |
7 #if V8_TARGET_ARCH_ARM64 | 7 #if V8_TARGET_ARCH_ARM64 |
8 | 8 |
9 #include "src/bootstrapper.h" | 9 #include "src/bootstrapper.h" |
10 #include "src/code-stubs.h" | 10 #include "src/code-stubs.h" |
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
90 void CreateAllocationSiteStub::InitializeInterfaceDescriptor( | 90 void CreateAllocationSiteStub::InitializeInterfaceDescriptor( |
91 CodeStubInterfaceDescriptor* descriptor) { | 91 CodeStubInterfaceDescriptor* descriptor) { |
92 // cp: context | 92 // cp: context |
93 // x2: feedback vector | 93 // x2: feedback vector |
94 // x3: call feedback slot | 94 // x3: call feedback slot |
95 Register registers[] = { cp, x2, x3 }; | 95 Register registers[] = { cp, x2, x3 }; |
96 descriptor->Initialize(MajorKey(), ARRAY_SIZE(registers), registers); | 96 descriptor->Initialize(MajorKey(), ARRAY_SIZE(registers), registers); |
97 } | 97 } |
98 | 98 |
99 | 99 |
100 void InstanceofStub::InitializeInterfaceDescriptor( | |
101 Isolate* isolate, CodeStubInterfaceDescriptor* descriptor) { | |
102 Register registers[] = {cp, left(), right()}; | |
103 descriptor->Initialize(MajorKey(), ARRAY_SIZE(registers), registers); | |
104 } | |
105 | |
106 | |
107 void CallFunctionStub::InitializeInterfaceDescriptor( | 100 void CallFunctionStub::InitializeInterfaceDescriptor( |
108 Isolate* isolate, CodeStubInterfaceDescriptor* descriptor) { | 101 CodeStubInterfaceDescriptor* descriptor) { |
109 // x1 function the function to call | 102 // x1 function the function to call |
110 Register registers[] = {cp, x1}; | 103 Register registers[] = {cp, x1}; |
111 descriptor->Initialize(MajorKey(), ARRAY_SIZE(registers), registers); | 104 descriptor->Initialize(MajorKey(), ARRAY_SIZE(registers), registers); |
112 } | 105 } |
113 | 106 |
114 | 107 |
115 void CallConstructStub::InitializeInterfaceDescriptor( | 108 void CallConstructStub::InitializeInterfaceDescriptor( |
116 Isolate* isolate, CodeStubInterfaceDescriptor* descriptor) { | 109 CodeStubInterfaceDescriptor* descriptor) { |
117 // x0 : number of arguments | 110 // x0 : number of arguments |
118 // x1 : the function to call | 111 // x1 : the function to call |
119 // x2 : feedback vector | 112 // x2 : feedback vector |
120 // x3 : slot in feedback vector (smi) (if r2 is not the megamorphic symbol) | 113 // x3 : slot in feedback vector (smi) (if r2 is not the megamorphic symbol) |
121 // TODO(turbofan): So far we don't gather type feedback and hence skip the | 114 // TODO(turbofan): So far we don't gather type feedback and hence skip the |
122 // slot parameter, but ArrayConstructStub needs the vector to be undefined. | 115 // slot parameter, but ArrayConstructStub needs the vector to be undefined. |
123 Register registers[] = {cp, x0, x1, x2}; | 116 Register registers[] = {cp, x0, x1, x2}; |
124 descriptor->Initialize(MajorKey(), ARRAY_SIZE(registers), registers); | 117 descriptor->Initialize(MajorKey(), ARRAY_SIZE(registers), registers); |
125 } | 118 } |
126 | 119 |
(...skipping 5289 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5416 MemOperand(fp, 6 * kPointerSize), | 5409 MemOperand(fp, 6 * kPointerSize), |
5417 NULL); | 5410 NULL); |
5418 } | 5411 } |
5419 | 5412 |
5420 | 5413 |
5421 #undef __ | 5414 #undef __ |
5422 | 5415 |
5423 } } // namespace v8::internal | 5416 } } // namespace v8::internal |
5424 | 5417 |
5425 #endif // V8_TARGET_ARCH_ARM64 | 5418 #endif // V8_TARGET_ARCH_ARM64 |
OLD | NEW |