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

Side by Side Diff: src/arm/interface-descriptors-arm.cc

Issue 2670843002: [stubs] Also port the CallICStub to CSA. (Closed)
Patch Set: Introduce FullCodeGenerator::IntFromSlot. Created 3 years, 10 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 | « src/arm/code-stubs-arm.cc ('k') | src/arm64/code-stubs-arm64.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2012 the V8 project authors. All rights reserved. 1 // Copyright 2012 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/arm/interface-descriptors-arm.h" 5 #include "src/arm/interface-descriptors-arm.h"
6 6
7 #if V8_TARGET_ARCH_ARM 7 #if V8_TARGET_ARCH_ARM
8 8
9 #include "src/interface-descriptors.h" 9 #include "src/interface-descriptors.h"
10 10
(...skipping 124 matching lines...) Expand 10 before | Expand all | Expand 10 after
135 data->InitializePlatformSpecific(arraysize(registers), registers); 135 data->InitializePlatformSpecific(arraysize(registers), registers);
136 } 136 }
137 137
138 138
139 void CallFunctionDescriptor::InitializePlatformSpecific( 139 void CallFunctionDescriptor::InitializePlatformSpecific(
140 CallInterfaceDescriptorData* data) { 140 CallInterfaceDescriptorData* data) {
141 Register registers[] = {r1}; 141 Register registers[] = {r1};
142 data->InitializePlatformSpecific(arraysize(registers), registers); 142 data->InitializePlatformSpecific(arraysize(registers), registers);
143 } 143 }
144 144
145 145 void CallICTrampolineDescriptor::InitializePlatformSpecific(
146 void CallFunctionWithFeedbackDescriptor::InitializePlatformSpecific(
147 CallInterfaceDescriptorData* data) { 146 CallInterfaceDescriptorData* data) {
148 Register registers[] = {r1, r0, r3}; 147 Register registers[] = {r1, r0, r3};
149 data->InitializePlatformSpecific(arraysize(registers), registers); 148 data->InitializePlatformSpecific(arraysize(registers), registers);
150 } 149 }
151 150
152 151 void CallICDescriptor::InitializePlatformSpecific(
153 void CallFunctionWithFeedbackAndVectorDescriptor::InitializePlatformSpecific(
154 CallInterfaceDescriptorData* data) { 152 CallInterfaceDescriptorData* data) {
155 Register registers[] = {r1, r0, r3, r2}; 153 Register registers[] = {r1, r0, r3, r2};
156 data->InitializePlatformSpecific(arraysize(registers), registers); 154 data->InitializePlatformSpecific(arraysize(registers), registers);
157 } 155 }
158 156
159 157
160 void CallConstructDescriptor::InitializePlatformSpecific( 158 void CallConstructDescriptor::InitializePlatformSpecific(
161 CallInterfaceDescriptorData* data) { 159 CallInterfaceDescriptorData* data) {
162 // r0 : number of arguments 160 // r0 : number of arguments
163 // r1 : the function to call 161 // r1 : the function to call
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
221 } 219 }
222 220
223 #define SIMD128_ALLOC_DESC(TYPE, Type, type, lane_count, lane_type) \ 221 #define SIMD128_ALLOC_DESC(TYPE, Type, type, lane_count, lane_type) \
224 void Allocate##Type##Descriptor::InitializePlatformSpecific( \ 222 void Allocate##Type##Descriptor::InitializePlatformSpecific( \
225 CallInterfaceDescriptorData* data) { \ 223 CallInterfaceDescriptorData* data) { \
226 data->InitializePlatformSpecific(0, nullptr, nullptr); \ 224 data->InitializePlatformSpecific(0, nullptr, nullptr); \
227 } 225 }
228 SIMD128_TYPES(SIMD128_ALLOC_DESC) 226 SIMD128_TYPES(SIMD128_ALLOC_DESC)
229 #undef SIMD128_ALLOC_DESC 227 #undef SIMD128_ALLOC_DESC
230 228
229 void ArrayConstructorDescriptor::InitializePlatformSpecific(
230 CallInterfaceDescriptorData* data) {
231 // kTarget, kNewTarget, kActualArgumentsCount, kAllocationSite
232 Register registers[] = {r1, r3, r0, r2};
233 data->InitializePlatformSpecific(arraysize(registers), registers, NULL);
234 }
235
231 void ArrayNoArgumentConstructorDescriptor::InitializePlatformSpecific( 236 void ArrayNoArgumentConstructorDescriptor::InitializePlatformSpecific(
232 CallInterfaceDescriptorData* data) { 237 CallInterfaceDescriptorData* data) {
233 // register state 238 // register state
234 // r0 -- number of arguments 239 // r0 -- number of arguments
235 // r1 -- function 240 // r1 -- function
236 // r2 -- allocation site with elements kind 241 // r2 -- allocation site with elements kind
237 Register registers[] = {r1, r2, r0}; 242 Register registers[] = {r1, r2, r0};
238 data->InitializePlatformSpecific(arraysize(registers), registers, NULL); 243 data->InitializePlatformSpecific(arraysize(registers), registers, NULL);
239 } 244 }
240 245
(...skipping 201 matching lines...) Expand 10 before | Expand all | Expand 10 after
442 Register registers[] = { 447 Register registers[] = {
443 r1, // loaded new FP 448 r1, // loaded new FP
444 }; 449 };
445 data->InitializePlatformSpecific(arraysize(registers), registers); 450 data->InitializePlatformSpecific(arraysize(registers), registers);
446 } 451 }
447 452
448 } // namespace internal 453 } // namespace internal
449 } // namespace v8 454 } // namespace v8
450 455
451 #endif // V8_TARGET_ARCH_ARM 456 #endif // V8_TARGET_ARCH_ARM
OLDNEW
« no previous file with comments | « src/arm/code-stubs-arm.cc ('k') | src/arm64/code-stubs-arm64.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698