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

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

Issue 1987183002: [stubs] Convert Internal/ArraySingleArgumentsConstructor to a TurboFan stub (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Review feedback Created 4 years, 7 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 237 matching lines...) Expand 10 before | Expand all | Expand 10 after
248 void ArrayNoArgumentConstructorDescriptor::InitializePlatformSpecific( 248 void ArrayNoArgumentConstructorDescriptor::InitializePlatformSpecific(
249 CallInterfaceDescriptorData* data) { 249 CallInterfaceDescriptorData* data) {
250 // register state 250 // register state
251 // r0 -- number of arguments 251 // r0 -- number of arguments
252 // r1 -- function 252 // r1 -- function
253 // r2 -- allocation site with elements kind 253 // r2 -- allocation site with elements kind
254 Register registers[] = {r1, r2, r0}; 254 Register registers[] = {r1, r2, r0};
255 data->InitializePlatformSpecific(arraysize(registers), registers, NULL); 255 data->InitializePlatformSpecific(arraysize(registers), registers, NULL);
256 } 256 }
257 257
258 void ArrayConstructorConstantArgCountDescriptor::InitializePlatformSpecific( 258 void ArraySingleArgumentConstructorDescriptor::InitializePlatformSpecific(
259 CallInterfaceDescriptorData* data) { 259 CallInterfaceDescriptorData* data) {
260 // register state 260 // register state
261 // r0 -- number of arguments 261 // r0 -- number of arguments
262 // r1 -- function 262 // r1 -- function
263 // r2 -- allocation site with elements kind 263 // r2 -- allocation site with elements kind
264 Register registers[] = {r1, r2}; 264 Register registers[] = {r1, r2, r0};
265 data->InitializePlatformSpecific(arraysize(registers), registers); 265 data->InitializePlatformSpecific(arraysize(registers), registers, NULL);
266 } 266 }
267 267
268
269 void ArrayConstructorDescriptor::InitializePlatformSpecific( 268 void ArrayConstructorDescriptor::InitializePlatformSpecific(
270 CallInterfaceDescriptorData* data) { 269 CallInterfaceDescriptorData* data) {
271 // stack param count needs (constructor pointer, and single argument) 270 // stack param count needs (constructor pointer, and single argument)
272 Register registers[] = {r1, r2, r0}; 271 Register registers[] = {r1, r2, r0};
273 data->InitializePlatformSpecific(arraysize(registers), registers); 272 data->InitializePlatformSpecific(arraysize(registers), registers);
274 } 273 }
275 274
276 275
277 void InternalArrayConstructorConstantArgCountDescriptor::
278 InitializePlatformSpecific(CallInterfaceDescriptorData* data) {
279 // register state
280 // r0 -- number of arguments
281 // r1 -- constructor function
282 Register registers[] = {r1};
283 data->InitializePlatformSpecific(arraysize(registers), registers);
284 }
285
286
287 void InternalArrayConstructorDescriptor::InitializePlatformSpecific( 276 void InternalArrayConstructorDescriptor::InitializePlatformSpecific(
288 CallInterfaceDescriptorData* data) { 277 CallInterfaceDescriptorData* data) {
289 // stack param count needs (constructor pointer, and single argument) 278 // stack param count needs (constructor pointer, and single argument)
290 Register registers[] = {r1, r0}; 279 Register registers[] = {r1, r0};
291 data->InitializePlatformSpecific(arraysize(registers), registers); 280 data->InitializePlatformSpecific(arraysize(registers), registers);
292 } 281 }
293 282
294 void FastArrayPushDescriptor::InitializePlatformSpecific( 283 void FastArrayPushDescriptor::InitializePlatformSpecific(
295 CallInterfaceDescriptorData* data) { 284 CallInterfaceDescriptorData* data) {
296 // stack param count needs (arg count) 285 // stack param count needs (arg count)
(...skipping 149 matching lines...) Expand 10 before | Expand all | Expand 10 after
446 r1, // the JSGeneratorObject to resume 435 r1, // the JSGeneratorObject to resume
447 r2 // the resume mode (tagged) 436 r2 // the resume mode (tagged)
448 }; 437 };
449 data->InitializePlatformSpecific(arraysize(registers), registers); 438 data->InitializePlatformSpecific(arraysize(registers), registers);
450 } 439 }
451 440
452 } // namespace internal 441 } // namespace internal
453 } // namespace v8 442 } // namespace v8
454 443
455 #endif // V8_TARGET_ARCH_ARM 444 #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