diff options
author | Ali Ijaz Sheikh <ofrobots@google.com> | 2016-01-20 09:45:45 -0800 |
---|---|---|
committer | Ali Ijaz Sheikh <ofrobots@google.com> | 2016-01-21 16:53:58 -0800 |
commit | ef4170ea03a80b21b2d8a65ce432efaa370fe2fa (patch) | |
tree | e382b1b38b729cd8155b56b441c3a563914854a3 /deps/v8/src/interface-descriptors.h | |
parent | 5f6dfab832979999d2f806fc1a2f1c11a25b0f35 (diff) | |
download | android-node-v8-ef4170ea03a80b21b2d8a65ce432efaa370fe2fa.tar.gz android-node-v8-ef4170ea03a80b21b2d8a65ce432efaa370fe2fa.tar.bz2 android-node-v8-ef4170ea03a80b21b2d8a65ce432efaa370fe2fa.zip |
deps: upgrade to V8 4.8.271.17
Pick up V8 4.8 branch-head. This branch brings in @@isConcatSpreadable,
@@toPrimitive and ToLength ES6 changes. For full details see:
http://v8project.blogspot.de/2015/11/v8-release-48.html
https://github.com/v8/v8/commit/fa163e2
Ref: https://github.com/nodejs/node/pull/4399
PR-URL: https://github.com/nodejs/node/pull/4785
Reviewed-By: bnoordhuis - Ben Noordhuis <info@bnoordhuis.nl>
Diffstat (limited to 'deps/v8/src/interface-descriptors.h')
-rw-r--r-- | deps/v8/src/interface-descriptors.h | 88 |
1 files changed, 67 insertions, 21 deletions
diff --git a/deps/v8/src/interface-descriptors.h b/deps/v8/src/interface-descriptors.h index 534313f7d3..2c5ac4b052 100644 --- a/deps/v8/src/interface-descriptors.h +++ b/deps/v8/src/interface-descriptors.h @@ -25,6 +25,7 @@ class PlatformInterfaceDescriptor; V(FastNewClosure) \ V(FastNewContext) \ V(ToNumber) \ + V(ToLength) \ V(ToString) \ V(ToObject) \ V(NumberToString) \ @@ -38,10 +39,11 @@ class PlatformInterfaceDescriptor; V(CallFunctionWithFeedbackAndVector) \ V(CallConstruct) \ V(CallTrampoline) \ - V(PushArgsAndCall) \ V(RegExpConstructResult) \ V(TransitionElementsKind) \ V(AllocateHeapNumber) \ + V(AllocateMutableHeapNumber) \ + V(AllocateInNewSpace) \ V(ArrayConstructorConstantArgCount) \ V(ArrayConstructor) \ V(InternalArrayConstructorConstantArgCount) \ @@ -70,7 +72,10 @@ class PlatformInterfaceDescriptor; V(ContextOnly) \ V(GrowArrayElements) \ V(MathRoundVariantCallFromUnoptimizedCode) \ - V(MathRoundVariantCallFromOptimizedCode) + V(MathRoundVariantCallFromOptimizedCode) \ + V(InterpreterPushArgsAndCall) \ + V(InterpreterPushArgsAndConstruct) \ + V(InterpreterCEntry) class CallInterfaceDescriptorData { @@ -219,12 +224,12 @@ class CallInterfaceDescriptor { static inline CallDescriptors::Key key(); -#define DECLARE_DESCRIPTOR_WITH_CUSTOM_FUNCTION_TYPE(name, base) \ - DECLARE_DESCRIPTOR(name, base) \ - protected: \ - virtual Type::FunctionType* BuildCallInterfaceDescriptorFunctionType( \ - Isolate* isolate, int register_param_count) override; \ - \ +#define DECLARE_DESCRIPTOR_WITH_CUSTOM_FUNCTION_TYPE(name, base) \ + DECLARE_DESCRIPTOR(name, base) \ + protected: \ + Type::FunctionType* BuildCallInterfaceDescriptorFunctionType( \ + Isolate* isolate, int register_param_count) override; \ + \ public: // LoadDescriptor is used by all stubs that implement Load/KeyedLoad ICs. class LoadDescriptor : public CallInterfaceDescriptor { @@ -280,19 +285,21 @@ class VectorStoreTransitionDescriptor : public StoreDescriptor { // Extends StoreDescriptor with Map parameter. enum ParameterIndices { - kReceiverIndex, - kNameIndex, - kValueIndex, - kSlotIndex, - kVectorIndex, - kMapIndex, - kParameterCount + kReceiverIndex = 0, + kNameIndex = 1, + kValueIndex = 2, + + kMapIndex = 3, + + kSlotIndex = 4, // not present on ia32. + kVirtualSlotVectorIndex = 4, + + kVectorIndex = 5 }; - // These registers are no_reg for ia32, using the stack instead. + static const Register MapRegister(); static const Register SlotRegister(); static const Register VectorRegister(); - static const Register MapRegister(); }; @@ -368,6 +375,16 @@ class ToNumberDescriptor : public CallInterfaceDescriptor { }; +class ToLengthDescriptor : public CallInterfaceDescriptor { + public: + enum ParameterIndices { kReceiverIndex }; + + DECLARE_DESCRIPTOR(ToLengthDescriptor, CallInterfaceDescriptor) + + static const Register ReceiverRegister(); +}; + + class ToStringDescriptor : public CallInterfaceDescriptor { public: enum ParameterIndices { kReceiverIndex }; @@ -505,6 +522,19 @@ class AllocateHeapNumberDescriptor : public CallInterfaceDescriptor { }; +class AllocateMutableHeapNumberDescriptor : public CallInterfaceDescriptor { + public: + DECLARE_DESCRIPTOR(AllocateMutableHeapNumberDescriptor, + CallInterfaceDescriptor) +}; + + +class AllocateInNewSpaceDescriptor : public CallInterfaceDescriptor { + public: + DECLARE_DESCRIPTOR(AllocateInNewSpaceDescriptor, CallInterfaceDescriptor) +}; + + class ArrayConstructorConstantArgCountDescriptor : public CallInterfaceDescriptor { public: @@ -706,11 +736,27 @@ class GrowArrayElementsDescriptor : public CallInterfaceDescriptor { }; -class PushArgsAndCallDescriptor : public CallInterfaceDescriptor { +class InterpreterPushArgsAndCallDescriptor : public CallInterfaceDescriptor { + public: + DECLARE_DESCRIPTOR(InterpreterPushArgsAndCallDescriptor, + CallInterfaceDescriptor) +}; + + +class InterpreterPushArgsAndConstructDescriptor + : public CallInterfaceDescriptor { + public: + DECLARE_DESCRIPTOR(InterpreterPushArgsAndConstructDescriptor, + CallInterfaceDescriptor) +}; + + +class InterpreterCEntryDescriptor : public CallInterfaceDescriptor { public: - DECLARE_DESCRIPTOR(PushArgsAndCallDescriptor, CallInterfaceDescriptor) + DECLARE_DESCRIPTOR(InterpreterCEntryDescriptor, CallInterfaceDescriptor) }; + #undef DECLARE_DESCRIPTOR @@ -720,8 +766,8 @@ class PushArgsAndCallDescriptor : public CallInterfaceDescriptor { CallDescriptors::Key name##Descriptor::key() { return CallDescriptors::name; } INTERFACE_DESCRIPTOR_LIST(DEF_KEY) #undef DEF_KEY -} -} // namespace v8::internal +} // namespace internal +} // namespace v8 #if V8_TARGET_ARCH_ARM64 |