diff options
Diffstat (limited to 'deps/v8/src/arm64/interface-descriptors-arm64.cc')
-rw-r--r-- | deps/v8/src/arm64/interface-descriptors-arm64.cc | 80 |
1 files changed, 15 insertions, 65 deletions
diff --git a/deps/v8/src/arm64/interface-descriptors-arm64.cc b/deps/v8/src/arm64/interface-descriptors-arm64.cc index c6ae37e733..f307aeb6d4 100644 --- a/deps/v8/src/arm64/interface-descriptors-arm64.cc +++ b/deps/v8/src/arm64/interface-descriptors-arm64.cc @@ -114,37 +114,8 @@ void FastNewStrictArgumentsDescriptor::InitializePlatformSpecific( } -void ToNumberDescriptor::InitializePlatformSpecific( - CallInterfaceDescriptorData* data) { - // x0: value - Register registers[] = {x0}; - data->InitializePlatformSpecific(arraysize(registers), registers); -} - - -// static -const Register ToLengthDescriptor::ReceiverRegister() { return x0; } - - // static -const Register ToStringDescriptor::ReceiverRegister() { return x0; } - - -// static -const Register ToNameDescriptor::ReceiverRegister() { return x0; } - - -// static -const Register ToObjectDescriptor::ReceiverRegister() { return x0; } - - -void NumberToStringDescriptor::InitializePlatformSpecific( - CallInterfaceDescriptorData* data) { - // x0: value - Register registers[] = {x0}; - data->InitializePlatformSpecific(arraysize(registers), registers); -} - +const Register TypeConversionDescriptor::ArgumentRegister() { return x0; } void TypeofDescriptor::InitializePlatformSpecific( CallInterfaceDescriptorData* data) { @@ -294,6 +265,13 @@ void AllocateHeapNumberDescriptor::InitializePlatformSpecific( data->InitializePlatformSpecific(0, nullptr, nullptr); } +#define SIMD128_ALLOC_DESC(TYPE, Type, type, lane_count, lane_type) \ + void Allocate##Type##Descriptor::InitializePlatformSpecific( \ + CallInterfaceDescriptorData* data) { \ + data->InitializePlatformSpecific(0, nullptr, nullptr); \ + } +SIMD128_TYPES(SIMD128_ALLOC_DESC) +#undef SIMD128_ALLOC_DESC void AllocateInNewSpaceDescriptor::InitializePlatformSpecific( CallInterfaceDescriptorData* data) { @@ -336,28 +314,18 @@ void InternalArrayConstructorDescriptor::InitializePlatformSpecific( data->InitializePlatformSpecific(arraysize(registers), registers); } - -void CompareDescriptor::InitializePlatformSpecific( - CallInterfaceDescriptorData* data) { - // x1: left operand - // x0: right operand - Register registers[] = {x1, x0}; - data->InitializePlatformSpecific(arraysize(registers), registers); -} - - -void CompareNilDescriptor::InitializePlatformSpecific( +void FastArrayPushDescriptor::InitializePlatformSpecific( CallInterfaceDescriptorData* data) { - // x0: value to compare + // stack param count needs (arg count) Register registers[] = {x0}; data->InitializePlatformSpecific(arraysize(registers), registers); } - -void ToBooleanDescriptor::InitializePlatformSpecific( +void CompareDescriptor::InitializePlatformSpecific( CallInterfaceDescriptorData* data) { - // x0: value - Register registers[] = {x0}; + // x1: left operand + // x0: right operand + Register registers[] = {x1, x0}; data->InitializePlatformSpecific(arraysize(registers), registers); } @@ -444,25 +412,7 @@ void ArgumentAdaptorDescriptor::InitializePlatformSpecific( &default_descriptor); } - -void ApiFunctionDescriptor::InitializePlatformSpecific( - CallInterfaceDescriptorData* data) { - static PlatformInterfaceDescriptor default_descriptor = - PlatformInterfaceDescriptor(CAN_INLINE_TARGET_ADDRESS); - - Register registers[] = { - x0, // callee - x4, // call_data - x2, // holder - x1, // api_function_address - x3, // actual number of arguments - }; - data->InitializePlatformSpecific(arraysize(registers), registers, - &default_descriptor); -} - - -void ApiAccessorDescriptor::InitializePlatformSpecific( +void ApiCallbackDescriptorBase::InitializePlatformSpecific( CallInterfaceDescriptorData* data) { static PlatformInterfaceDescriptor default_descriptor = PlatformInterfaceDescriptor(CAN_INLINE_TARGET_ADDRESS); |