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 | |
361 | 342 |
362 void ContextOnlyDescriptor::InitializePlatformSpecific( | 343 void ContextOnlyDescriptor::InitializePlatformSpecific( |
363 CallInterfaceDescriptorData* data) { | 344 CallInterfaceDescriptorData* data) { |
364 data->InitializePlatformSpecific(0, nullptr); | 345 data->InitializePlatformSpecific(0, nullptr); |
365 } | 346 } |
366 | 347 |
367 | 348 |
368 void GrowArrayElementsDescriptor::InitializePlatformSpecific( | 349 void GrowArrayElementsDescriptor::InitializePlatformSpecific( |
369 CallInterfaceDescriptorData* data) { | 350 CallInterfaceDescriptorData* data) { |
370 Register registers[] = {ObjectRegister(), KeyRegister()}; | 351 Register registers[] = {ObjectRegister(), KeyRegister()}; |
(...skipping 176 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
547 function->InitParameter(kAccumulatorParameter, AnyTagged(zone)); | 528 function->InitParameter(kAccumulatorParameter, AnyTagged(zone)); |
548 function->InitParameter(kRegisterFileParameter, ExternalPointer(zone)); | 529 function->InitParameter(kRegisterFileParameter, ExternalPointer(zone)); |
549 function->InitParameter(kBytecodeOffsetParameter, UntaggedIntegral32(zone)); | 530 function->InitParameter(kBytecodeOffsetParameter, UntaggedIntegral32(zone)); |
550 function->InitParameter(kBytecodeArrayParameter, AnyTagged(zone)); | 531 function->InitParameter(kBytecodeArrayParameter, AnyTagged(zone)); |
551 function->InitParameter(kDispatchTableParameter, AnyTagged(zone)); | 532 function->InitParameter(kDispatchTableParameter, AnyTagged(zone)); |
552 return function; | 533 return function; |
553 } | 534 } |
554 | 535 |
555 } // namespace internal | 536 } // namespace internal |
556 } // namespace v8 | 537 } // namespace v8 |
OLD | NEW |