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 321 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
332 return function; | 332 return function; |
333 } | 333 } |
334 | 334 |
335 | 335 |
336 void ApiGetterDescriptor::InitializePlatformSpecific( | 336 void ApiGetterDescriptor::InitializePlatformSpecific( |
337 CallInterfaceDescriptorData* data) { | 337 CallInterfaceDescriptorData* data) { |
338 Register registers[] = {function_address()}; | 338 Register registers[] = {function_address()}; |
339 data->InitializePlatformSpecific(arraysize(registers), registers); | 339 data->InitializePlatformSpecific(arraysize(registers), registers); |
340 } | 340 } |
341 | 341 |
| 342 FunctionType* |
| 343 ArgumentsAccessNewDescriptor::BuildCallInterfaceDescriptorFunctionType( |
| 344 Isolate* isolate, int paramater_count) { |
| 345 Zone* zone = isolate->interface_descriptor_zone(); |
| 346 FunctionType* function = |
| 347 Type::Function(AnyTagged(zone), Type::Undefined(), 3, zone)->AsFunction(); |
| 348 function->InitParameter(0, AnyTagged(zone)); |
| 349 function->InitParameter(1, SmiType(zone)); |
| 350 function->InitParameter(2, ExternalPointer(zone)); |
| 351 return function; |
| 352 } |
| 353 |
| 354 |
| 355 void ArgumentsAccessNewDescriptor::InitializePlatformSpecific( |
| 356 CallInterfaceDescriptorData* data) { |
| 357 Register registers[] = {function(), parameter_count(), parameter_pointer()}; |
| 358 data->InitializePlatformSpecific(arraysize(registers), registers); |
| 359 } |
| 360 |
342 | 361 |
343 void ContextOnlyDescriptor::InitializePlatformSpecific( | 362 void ContextOnlyDescriptor::InitializePlatformSpecific( |
344 CallInterfaceDescriptorData* data) { | 363 CallInterfaceDescriptorData* data) { |
345 data->InitializePlatformSpecific(0, nullptr); | 364 data->InitializePlatformSpecific(0, nullptr); |
346 } | 365 } |
347 | 366 |
348 | 367 |
349 void GrowArrayElementsDescriptor::InitializePlatformSpecific( | 368 void GrowArrayElementsDescriptor::InitializePlatformSpecific( |
350 CallInterfaceDescriptorData* data) { | 369 CallInterfaceDescriptorData* data) { |
351 Register registers[] = {ObjectRegister(), KeyRegister()}; | 370 Register registers[] = {ObjectRegister(), KeyRegister()}; |
(...skipping 176 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
528 function->InitParameter(kAccumulatorParameter, AnyTagged(zone)); | 547 function->InitParameter(kAccumulatorParameter, AnyTagged(zone)); |
529 function->InitParameter(kRegisterFileParameter, ExternalPointer(zone)); | 548 function->InitParameter(kRegisterFileParameter, ExternalPointer(zone)); |
530 function->InitParameter(kBytecodeOffsetParameter, UntaggedIntegral32(zone)); | 549 function->InitParameter(kBytecodeOffsetParameter, UntaggedIntegral32(zone)); |
531 function->InitParameter(kBytecodeArrayParameter, AnyTagged(zone)); | 550 function->InitParameter(kBytecodeArrayParameter, AnyTagged(zone)); |
532 function->InitParameter(kDispatchTableParameter, AnyTagged(zone)); | 551 function->InitParameter(kDispatchTableParameter, AnyTagged(zone)); |
533 return function; | 552 return function; |
534 } | 553 } |
535 | 554 |
536 } // namespace internal | 555 } // namespace internal |
537 } // namespace v8 | 556 } // namespace v8 |
OLD | NEW |