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

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

Issue 2497243002: [stubs] Port builtin for Array.push fast-case from Crankshaft to TF (Closed)
Patch Set: Fix GC mole Created 4 years 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/interface-descriptors.h ('k') | src/mips/code-stubs-mips.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/interface-descriptors.h" 5 #include "src/interface-descriptors.h"
6 6
7 namespace v8 { 7 namespace v8 {
8 namespace internal { 8 namespace internal {
9 9
10 10
(...skipping 372 matching lines...) Expand 10 before | Expand all | Expand 10 after
383 // kFunction, kActualArgumentsCount, kSlot, kVector 383 // kFunction, kActualArgumentsCount, kSlot, kVector
384 MachineType machine_types[] = { 384 MachineType machine_types[] = {
385 MachineType::TaggedPointer(), MachineType::Int32(), 385 MachineType::TaggedPointer(), MachineType::Int32(),
386 MachineType::TaggedSigned(), MachineType::AnyTagged()}; 386 MachineType::TaggedSigned(), MachineType::AnyTagged()};
387 data->InitializePlatformIndependent(arraysize(machine_types), 0, 387 data->InitializePlatformIndependent(arraysize(machine_types), 0,
388 machine_types); 388 machine_types);
389 } 389 }
390 390
391 void BuiltinDescriptor::InitializePlatformIndependent( 391 void BuiltinDescriptor::InitializePlatformIndependent(
392 CallInterfaceDescriptorData* data) { 392 CallInterfaceDescriptorData* data) {
393 MachineType machine_types[] = {MachineType::AnyTagged(), 393 MachineType machine_types[] = {
394 MachineType::Int32()}; 394 MachineType::AnyTagged(), MachineType::AnyTagged(), MachineType::Int32()};
395 data->InitializePlatformIndependent(arraysize(machine_types), 0, 395 data->InitializePlatformIndependent(arraysize(machine_types), 0,
396 machine_types); 396 machine_types);
397 } 397 }
398 398
399 void BuiltinDescriptor::InitializePlatformSpecific( 399 void BuiltinDescriptor::InitializePlatformSpecific(
400 CallInterfaceDescriptorData* data) { 400 CallInterfaceDescriptorData* data) {
401 Register registers[] = {NewTargetRegister(), ArgumentsCountRegister()}; 401 Register registers[] = {TargetRegister(), NewTargetRegister(),
402 ArgumentsCountRegister()};
402 data->InitializePlatformSpecific(arraysize(registers), registers); 403 data->InitializePlatformSpecific(arraysize(registers), registers);
403 } 404 }
404 405
405 const Register BuiltinDescriptor::ArgumentsCountRegister() { 406 const Register BuiltinDescriptor::ArgumentsCountRegister() {
406 return kJavaScriptCallArgCountRegister; 407 return kJavaScriptCallArgCountRegister;
407 } 408 }
408 const Register BuiltinDescriptor::NewTargetRegister() { 409 const Register BuiltinDescriptor::NewTargetRegister() {
409 return kJavaScriptCallNewTargetRegister; 410 return kJavaScriptCallNewTargetRegister;
410 } 411 }
411 412
413 const Register BuiltinDescriptor::TargetRegister() {
414 return kJSFunctionRegister;
415 }
416
412 void ArrayNoArgumentConstructorDescriptor::InitializePlatformIndependent( 417 void ArrayNoArgumentConstructorDescriptor::InitializePlatformIndependent(
413 CallInterfaceDescriptorData* data) { 418 CallInterfaceDescriptorData* data) {
414 // kFunction, kAllocationSite, kActualArgumentsCount, kFunctionParameter 419 // kFunction, kAllocationSite, kActualArgumentsCount, kFunctionParameter
415 MachineType machine_types[] = {MachineType::TaggedPointer(), 420 MachineType machine_types[] = {MachineType::TaggedPointer(),
416 MachineType::AnyTagged(), MachineType::Int32(), 421 MachineType::AnyTagged(), MachineType::Int32(),
417 MachineType::AnyTagged()}; 422 MachineType::AnyTagged()};
418 data->InitializePlatformIndependent(arraysize(machine_types), 0, 423 data->InitializePlatformIndependent(arraysize(machine_types), 0,
419 machine_types); 424 machine_types);
420 } 425 }
421 426
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after
504 CallInterfaceDescriptorData* data) { 509 CallInterfaceDescriptorData* data) {
505 // kNumberOfArguments, kFirstArgument, kFunctionEntry 510 // kNumberOfArguments, kFirstArgument, kFunctionEntry
506 MachineType machine_types[] = {MachineType::Int32(), MachineType::Pointer(), 511 MachineType machine_types[] = {MachineType::Int32(), MachineType::Pointer(),
507 MachineType::Pointer()}; 512 MachineType::Pointer()};
508 data->InitializePlatformIndependent(arraysize(machine_types), 0, 513 data->InitializePlatformIndependent(arraysize(machine_types), 0,
509 machine_types); 514 machine_types);
510 } 515 }
511 516
512 } // namespace internal 517 } // namespace internal
513 } // namespace v8 518 } // namespace v8
OLDNEW
« no previous file with comments | « src/interface-descriptors.h ('k') | src/mips/code-stubs-mips.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698