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

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

Issue 1348773002: [turbofan] Call ArgumentsAccessStub to materialize arguments. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: One more variant. Created 5 years, 3 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
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 namespace { 10 namespace {
(...skipping 285 matching lines...) Expand 10 before | Expand all | Expand 10 after
296 } 296 }
297 297
298 298
299 void ArgumentsAccessReadDescriptor::InitializePlatformSpecific( 299 void ArgumentsAccessReadDescriptor::InitializePlatformSpecific(
300 CallInterfaceDescriptorData* data) { 300 CallInterfaceDescriptorData* data) {
301 Register registers[] = {index(), parameter_count()}; 301 Register registers[] = {index(), parameter_count()};
302 data->InitializePlatformSpecific(arraysize(registers), registers); 302 data->InitializePlatformSpecific(arraysize(registers), registers);
303 } 303 }
304 304
305 305
306 Type::FunctionType*
307 ArgumentsAccessNewDescriptor::BuildCallInterfaceDescriptorFunctionType(
308 Isolate* isolate, int paramater_count) {
309 Zone* zone = isolate->interface_descriptor_zone();
310 Type::FunctionType* function =
311 Type::FunctionType::New(AnyTagged(zone), Type::Undefined(), 3, zone);
312 function->InitParameter(0, AnyTagged(zone));
313 function->InitParameter(1, SmiType(zone));
314 function->InitParameter(2, ExternalPointer(zone));
315 return function;
316 }
317
318
319 void ArgumentsAccessNewDescriptor::InitializePlatformSpecific(
320 CallInterfaceDescriptorData* data) {
321 Register registers[] = {function(), parameter_count(), parameter_pointer()};
322 data->InitializePlatformSpecific(arraysize(registers), registers);
323 }
324
325
306 void ContextOnlyDescriptor::InitializePlatformSpecific( 326 void ContextOnlyDescriptor::InitializePlatformSpecific(
307 CallInterfaceDescriptorData* data) { 327 CallInterfaceDescriptorData* data) {
308 data->InitializePlatformSpecific(0, nullptr); 328 data->InitializePlatformSpecific(0, nullptr);
309 } 329 }
310 330
311 331
312 void GrowArrayElementsDescriptor::InitializePlatformSpecific( 332 void GrowArrayElementsDescriptor::InitializePlatformSpecific(
313 CallInterfaceDescriptorData* data) { 333 CallInterfaceDescriptorData* data) {
314 Register registers[] = {ObjectRegister(), KeyRegister()}; 334 Register registers[] = {ObjectRegister(), KeyRegister()};
315 data->InitializePlatformSpecific(arraysize(registers), registers); 335 data->InitializePlatformSpecific(arraysize(registers), registers);
(...skipping 169 matching lines...) Expand 10 before | Expand all | Expand 10 after
485 Type::FunctionType::New(AnyTagged(zone), Type::Undefined(), 5, zone); 505 Type::FunctionType::New(AnyTagged(zone), Type::Undefined(), 5, zone);
486 function->InitParameter(0, Type::Receiver()); 506 function->InitParameter(0, Type::Receiver());
487 function->InitParameter(1, SmiType(zone)); 507 function->InitParameter(1, SmiType(zone));
488 function->InitParameter(2, AnyTagged(zone)); 508 function->InitParameter(2, AnyTagged(zone));
489 function->InitParameter(3, AnyTagged(zone)); 509 function->InitParameter(3, AnyTagged(zone));
490 function->InitParameter(4, AnyTagged(zone)); 510 function->InitParameter(4, AnyTagged(zone));
491 return function; 511 return function;
492 } 512 }
493 } // namespace internal 513 } // namespace internal
494 } // namespace v8 514 } // namespace v8
OLDNEW
« src/compiler/js-typed-lowering.cc ('K') | « src/interface-descriptors.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698