diff options
author | Michaël Zasso <targos@protonmail.com> | 2017-05-02 10:50:00 +0200 |
---|---|---|
committer | Michaël Zasso <targos@protonmail.com> | 2017-05-06 20:02:35 +0200 |
commit | 60d1aac8d225e844e68ae48e8f3d58802e635fbe (patch) | |
tree | 922f347dd054db18d88666fad7181e5a777f4022 /deps/v8/src/interface-descriptors.h | |
parent | 73d9c0f903ae371cd5011af64c3a6f69a1bda978 (diff) | |
download | android-node-v8-60d1aac8d225e844e68ae48e8f3d58802e635fbe.tar.gz android-node-v8-60d1aac8d225e844e68ae48e8f3d58802e635fbe.tar.bz2 android-node-v8-60d1aac8d225e844e68ae48e8f3d58802e635fbe.zip |
deps: update V8 to 5.8.283.38
PR-URL: https://github.com/nodejs/node/pull/12784
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Gibson Fahnestock <gibfahn@gmail.com>
Diffstat (limited to 'deps/v8/src/interface-descriptors.h')
-rw-r--r-- | deps/v8/src/interface-descriptors.h | 176 |
1 files changed, 126 insertions, 50 deletions
diff --git a/deps/v8/src/interface-descriptors.h b/deps/v8/src/interface-descriptors.h index 1d1b48af93..4cf5c29d6c 100644 --- a/deps/v8/src/interface-descriptors.h +++ b/deps/v8/src/interface-descriptors.h @@ -33,9 +33,7 @@ class PlatformInterfaceDescriptor; V(FastNewClosure) \ V(FastNewFunctionContext) \ V(FastNewObject) \ - V(FastNewRestParameter) \ - V(FastNewSloppyArguments) \ - V(FastNewStrictArguments) \ + V(FastNewArguments) \ V(TypeConversion) \ V(Typeof) \ V(FastCloneRegExp) \ @@ -44,27 +42,22 @@ class PlatformInterfaceDescriptor; V(CreateAllocationSite) \ V(CreateWeakCell) \ V(CallFunction) \ - V(CallFunctionWithFeedback) \ - V(CallFunctionWithFeedbackAndVector) \ + V(CallIC) \ + V(CallICTrampoline) \ + V(CallForwardVarargs) \ V(CallConstruct) \ V(CallTrampoline) \ V(ConstructStub) \ V(ConstructTrampoline) \ V(RegExpExec) \ + V(RegExpReplace) \ + V(RegExpSplit) \ V(CopyFastSmiOrObjectElements) \ V(TransitionElementsKind) \ V(AllocateHeapNumber) \ - V(AllocateFloat32x4) \ - V(AllocateInt32x4) \ - V(AllocateUint32x4) \ - V(AllocateBool32x4) \ - V(AllocateInt16x8) \ - V(AllocateUint16x8) \ - V(AllocateBool16x8) \ - V(AllocateInt8x16) \ - V(AllocateUint8x16) \ - V(AllocateBool8x16) \ V(Builtin) \ + V(ArrayConstructor) \ + V(ForEach) \ V(ArrayNoArgumentConstructor) \ V(ArraySingleArgumentConstructor) \ V(ArrayNArgumentsConstructor) \ @@ -77,12 +70,15 @@ class PlatformInterfaceDescriptor; V(StringCharAt) \ V(StringCharCodeAt) \ V(StringCompare) \ + V(StringIndexOf) \ V(SubString) \ V(Keyed) \ V(Named) \ V(CreateIterResultObject) \ V(HasProperty) \ V(ForInFilter) \ + V(ForInNext) \ + V(ForInPrepare) \ V(GetProperty) \ V(CallHandler) \ V(ArgumentAdaptor) \ @@ -98,7 +94,9 @@ class PlatformInterfaceDescriptor; V(InterpreterPushArgsAndConstructArray) \ V(InterpreterCEntry) \ V(ResumeGenerator) \ - V(PromiseHandleReject) + V(FrameDropperTrampoline) \ + V(PromiseHandleReject) \ + V(WasmRuntimeCall) class V8_EXPORT_PRIVATE CallInterfaceDescriptorData { public: @@ -288,6 +286,41 @@ class V8_EXPORT_PRIVATE CallInterfaceDescriptor { kContext = kParameterCount /* implicit parameter */ \ }; +#define DECLARE_BUILTIN_DESCRIPTOR(name) \ + DECLARE_DESCRIPTOR_WITH_BASE(name, BuiltinDescriptor) \ + protected: \ + void InitializePlatformIndependent(CallInterfaceDescriptorData* data) \ + override { \ + MachineType machine_types[] = {MachineType::AnyTagged(), \ + MachineType::AnyTagged(), \ + MachineType::Int32()}; \ + int argc = kStackParameterCount + 1 - arraysize(machine_types); \ + data->InitializePlatformIndependent(arraysize(machine_types), argc, \ + machine_types); \ + } \ + void InitializePlatformSpecific(CallInterfaceDescriptorData* data) \ + override { \ + Register registers[] = {TargetRegister(), NewTargetRegister(), \ + ArgumentsCountRegister()}; \ + data->InitializePlatformSpecific(arraysize(registers), registers); \ + } \ + \ + public: + +#define DEFINE_BUILTIN_PARAMETERS(...) \ + enum ParameterIndices { \ + kReceiver, \ + kBeforeFirstStackParameter = kReceiver, \ + __VA_ARGS__, \ + kAfterLastStackParameter, \ + kNewTarget = kAfterLastStackParameter, \ + kArgumentsCount, \ + kContext, /* implicit parameter */ \ + kParameterCount = kContext, \ + kStackParameterCount = \ + kAfterLastStackParameter - kBeforeFirstStackParameter - 1, \ + }; + class VoidDescriptor : public CallInterfaceDescriptor { public: DECLARE_DESCRIPTOR(VoidDescriptor, CallInterfaceDescriptor) @@ -455,21 +488,11 @@ class FastNewObjectDescriptor : public CallInterfaceDescriptor { static const Register NewTargetRegister(); }; -class FastNewRestParameterDescriptor : public CallInterfaceDescriptor { - public: - DECLARE_DESCRIPTOR(FastNewRestParameterDescriptor, CallInterfaceDescriptor) -}; - -class FastNewSloppyArgumentsDescriptor : public CallInterfaceDescriptor { - public: - DECLARE_DESCRIPTOR(FastNewSloppyArgumentsDescriptor, - CallInterfaceDescriptor) -}; - -class FastNewStrictArgumentsDescriptor : public CallInterfaceDescriptor { +class FastNewArgumentsDescriptor : public CallInterfaceDescriptor { public: - DECLARE_DESCRIPTOR(FastNewStrictArgumentsDescriptor, - CallInterfaceDescriptor) + DEFINE_PARAMETERS(kFunction) + DECLARE_DESCRIPTOR(FastNewArgumentsDescriptor, CallInterfaceDescriptor) + static const Register TargetRegister(); }; class TypeConversionDescriptor final : public CallInterfaceDescriptor { @@ -501,6 +524,20 @@ class ForInFilterDescriptor final : public CallInterfaceDescriptor { kParameterCount) }; +class ForInNextDescriptor final : public CallInterfaceDescriptor { + public: + DEFINE_PARAMETERS(kObject, kCacheArray, kCacheType, kIndex) + DECLARE_DEFAULT_DESCRIPTOR(ForInNextDescriptor, CallInterfaceDescriptor, + kParameterCount) +}; + +class ForInPrepareDescriptor final : public CallInterfaceDescriptor { + public: + DEFINE_PARAMETERS(kObject) + DECLARE_DEFAULT_DESCRIPTOR(ForInPrepareDescriptor, CallInterfaceDescriptor, + kParameterCount) +}; + class GetPropertyDescriptor final : public CallInterfaceDescriptor { public: DEFINE_PARAMETERS(kObject, kKey) @@ -560,6 +597,12 @@ class CallTrampolineDescriptor : public CallInterfaceDescriptor { CallInterfaceDescriptor) }; +class CallForwardVarargsDescriptor : public CallInterfaceDescriptor { + public: + DEFINE_PARAMETERS(kTarget, kStartIndex) + DECLARE_DESCRIPTOR_WITH_CUSTOM_FUNCTION_TYPE(CallForwardVarargsDescriptor, + CallInterfaceDescriptor) +}; class ConstructStubDescriptor : public CallInterfaceDescriptor { public: @@ -583,24 +626,20 @@ class CallFunctionDescriptor : public CallInterfaceDescriptor { DECLARE_DESCRIPTOR(CallFunctionDescriptor, CallInterfaceDescriptor) }; - -class CallFunctionWithFeedbackDescriptor : public CallInterfaceDescriptor { +class CallICDescriptor : public CallInterfaceDescriptor { public: - DEFINE_PARAMETERS(kFunction, kSlot) - DECLARE_DESCRIPTOR_WITH_CUSTOM_FUNCTION_TYPE( - CallFunctionWithFeedbackDescriptor, CallInterfaceDescriptor) + DEFINE_PARAMETERS(kTarget, kActualArgumentsCount, kSlot, kVector) + DECLARE_DESCRIPTOR_WITH_CUSTOM_FUNCTION_TYPE(CallICDescriptor, + CallInterfaceDescriptor) }; - -class CallFunctionWithFeedbackAndVectorDescriptor - : public CallInterfaceDescriptor { +class CallICTrampolineDescriptor : public CallInterfaceDescriptor { public: - DEFINE_PARAMETERS(kFunction, kActualArgumentsCount, kSlot, kVector) - DECLARE_DESCRIPTOR_WITH_CUSTOM_FUNCTION_TYPE( - CallFunctionWithFeedbackAndVectorDescriptor, CallInterfaceDescriptor) + DEFINE_PARAMETERS(kTarget, kActualArgumentsCount, kSlot) + DECLARE_DESCRIPTOR_WITH_CUSTOM_FUNCTION_TYPE(CallICTrampolineDescriptor, + CallInterfaceDescriptor) }; - class CallConstructDescriptor : public CallInterfaceDescriptor { public: DECLARE_DESCRIPTOR(CallConstructDescriptor, CallInterfaceDescriptor) @@ -613,6 +652,20 @@ class RegExpExecDescriptor : public CallInterfaceDescriptor { CallInterfaceDescriptor) }; +class RegExpReplaceDescriptor : public CallInterfaceDescriptor { + public: + DEFINE_PARAMETERS(kReceiver, kString, kReplaceValue) + DECLARE_DEFAULT_DESCRIPTOR(RegExpReplaceDescriptor, CallInterfaceDescriptor, + kParameterCount) +}; + +class RegExpSplitDescriptor : public CallInterfaceDescriptor { + public: + DEFINE_PARAMETERS(kReceiver, kString, kLimit) + DECLARE_DEFAULT_DESCRIPTOR(RegExpSplitDescriptor, CallInterfaceDescriptor, + kParameterCount) +}; + class CopyFastSmiOrObjectElementsDescriptor : public CallInterfaceDescriptor { public: DEFINE_PARAMETERS(kObject) @@ -632,14 +685,6 @@ class AllocateHeapNumberDescriptor : public CallInterfaceDescriptor { DECLARE_DESCRIPTOR(AllocateHeapNumberDescriptor, CallInterfaceDescriptor) }; -#define SIMD128_ALLOC_DESC(TYPE, Type, type, lane_count, lane_type) \ - class Allocate##Type##Descriptor : public CallInterfaceDescriptor { \ - public: \ - DECLARE_DESCRIPTOR(Allocate##Type##Descriptor, CallInterfaceDescriptor) \ - }; -SIMD128_TYPES(SIMD128_ALLOC_DESC) -#undef SIMD128_ALLOC_DESC - class BuiltinDescriptor : public CallInterfaceDescriptor { public: // TODO(ishell): Where is kFunction?? @@ -651,6 +696,19 @@ class BuiltinDescriptor : public CallInterfaceDescriptor { static const Register TargetRegister(); }; +class ForEachDescriptor : public BuiltinDescriptor { + public: + DEFINE_BUILTIN_PARAMETERS(kCallback, kThisArg) + DECLARE_BUILTIN_DESCRIPTOR(ForEachDescriptor) +}; + +class ArrayConstructorDescriptor : public CallInterfaceDescriptor { + public: + DEFINE_PARAMETERS(kTarget, kNewTarget, kActualArgumentsCount, kAllocationSite) + DECLARE_DESCRIPTOR_WITH_CUSTOM_FUNCTION_TYPE(ArrayConstructorDescriptor, + CallInterfaceDescriptor) +}; + class ArrayNoArgumentConstructorDescriptor : public CallInterfaceDescriptor { public: DEFINE_PARAMETERS(kFunction, kAllocationSite, kActualArgumentsCount, @@ -745,6 +803,13 @@ class SubStringDescriptor : public CallInterfaceDescriptor { CallInterfaceDescriptor) }; +class StringIndexOfDescriptor final : public CallInterfaceDescriptor { + public: + DEFINE_PARAMETERS(kReceiver, kSearchString, kPosition) + DECLARE_DEFAULT_DESCRIPTOR(StringIndexOfDescriptor, CallInterfaceDescriptor, + kParameterCount) +}; + // TODO(ishell): not used, remove. class KeyedDescriptor : public CallInterfaceDescriptor { public: @@ -876,6 +941,11 @@ class ResumeGeneratorDescriptor final : public CallInterfaceDescriptor { DECLARE_DESCRIPTOR(ResumeGeneratorDescriptor, CallInterfaceDescriptor) }; +class FrameDropperTrampolineDescriptor final : public CallInterfaceDescriptor { + DECLARE_DESCRIPTOR_WITH_CUSTOM_FUNCTION_TYPE(FrameDropperTrampolineDescriptor, + CallInterfaceDescriptor) +}; + class PromiseHandleRejectDescriptor final : public CallInterfaceDescriptor { public: DEFINE_PARAMETERS(kPromise, kOnReject, kException) @@ -883,6 +953,12 @@ class PromiseHandleRejectDescriptor final : public CallInterfaceDescriptor { CallInterfaceDescriptor, kParameterCount) }; +class WasmRuntimeCallDescriptor final : public CallInterfaceDescriptor { + public: + DECLARE_DEFAULT_DESCRIPTOR(WasmRuntimeCallDescriptor, CallInterfaceDescriptor, + 0) +}; + #undef DECLARE_DESCRIPTOR_WITH_BASE #undef DECLARE_DESCRIPTOR #undef DECLARE_DESCRIPTOR_WITH_CUSTOM_FUNCTION_TYPE |