| OLD | NEW |
| 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 352 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 363 } | 363 } |
| 364 | 364 |
| 365 | 365 |
| 366 void ArgumentsAccessNewDescriptor::InitializePlatformSpecific( | 366 void ArgumentsAccessNewDescriptor::InitializePlatformSpecific( |
| 367 CallInterfaceDescriptorData* data) { | 367 CallInterfaceDescriptorData* data) { |
| 368 Register registers[] = {function(), parameter_count(), parameter_pointer()}; | 368 Register registers[] = {function(), parameter_count(), parameter_pointer()}; |
| 369 data->InitializePlatformSpecific(arraysize(registers), registers); | 369 data->InitializePlatformSpecific(arraysize(registers), registers); |
| 370 } | 370 } |
| 371 | 371 |
| 372 | 372 |
| 373 Type::FunctionType* |
| 374 RestParamAccessDescriptor::BuildCallInterfaceDescriptorFunctionType( |
| 375 Isolate* isolate, int paramater_count) { |
| 376 Zone* zone = isolate->interface_descriptor_zone(); |
| 377 Type::FunctionType* function = |
| 378 Type::FunctionType::New(AnyTagged(zone), Type::Undefined(), 4, zone); |
| 379 function->InitParameter(0, SmiType(zone)); |
| 380 function->InitParameter(1, ExternalPointer(zone)); |
| 381 function->InitParameter(2, SmiType(zone)); |
| 382 function->InitParameter(3, SmiType(zone)); |
| 383 return function; |
| 384 } |
| 385 |
| 386 |
| 387 void RestParamAccessDescriptor::InitializePlatformSpecific( |
| 388 CallInterfaceDescriptorData* data) { |
| 389 Register registers[] = {parameter_count(), parameter_pointer(), |
| 390 rest_parameter_index(), language_mode()}; |
| 391 data->InitializePlatformSpecific(arraysize(registers), registers); |
| 392 } |
| 393 |
| 394 |
| 373 void ContextOnlyDescriptor::InitializePlatformSpecific( | 395 void ContextOnlyDescriptor::InitializePlatformSpecific( |
| 374 CallInterfaceDescriptorData* data) { | 396 CallInterfaceDescriptorData* data) { |
| 375 data->InitializePlatformSpecific(0, nullptr); | 397 data->InitializePlatformSpecific(0, nullptr); |
| 376 } | 398 } |
| 377 | 399 |
| 378 | 400 |
| 379 void GrowArrayElementsDescriptor::InitializePlatformSpecific( | 401 void GrowArrayElementsDescriptor::InitializePlatformSpecific( |
| 380 CallInterfaceDescriptorData* data) { | 402 CallInterfaceDescriptorData* data) { |
| 381 Register registers[] = {ObjectRegister(), KeyRegister()}; | 403 Register registers[] = {ObjectRegister(), KeyRegister()}; |
| 382 data->InitializePlatformSpecific(arraysize(registers), registers); | 404 data->InitializePlatformSpecific(arraysize(registers), registers); |
| (...skipping 179 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 562 function->InitParameter(0, AnyTagged(zone)); // callee | 584 function->InitParameter(0, AnyTagged(zone)); // callee |
| 563 function->InitParameter(1, AnyTagged(zone)); // call_data | 585 function->InitParameter(1, AnyTagged(zone)); // call_data |
| 564 function->InitParameter(2, AnyTagged(zone)); // holder | 586 function->InitParameter(2, AnyTagged(zone)); // holder |
| 565 function->InitParameter(3, ExternalPointer(zone)); // api_function_address | 587 function->InitParameter(3, ExternalPointer(zone)); // api_function_address |
| 566 return function; | 588 return function; |
| 567 } | 589 } |
| 568 | 590 |
| 569 | 591 |
| 570 } // namespace internal | 592 } // namespace internal |
| 571 } // namespace v8 | 593 } // namespace v8 |
| OLD | NEW |