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/runtime/runtime.h | |
parent | 73d9c0f903ae371cd5011af64c3a6f69a1bda978 (diff) | |
download | node-new-60d1aac8d225e844e68ae48e8f3d58802e635fbe.tar.gz |
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/runtime/runtime.h')
-rw-r--r-- | deps/v8/src/runtime/runtime.h | 524 |
1 files changed, 112 insertions, 412 deletions
diff --git a/deps/v8/src/runtime/runtime.h b/deps/v8/src/runtime/runtime.h index 7eadbe2c09..6c5a039d67 100644 --- a/deps/v8/src/runtime/runtime.h +++ b/deps/v8/src/runtime/runtime.h @@ -9,8 +9,8 @@ #include "src/allocation.h" #include "src/base/platform/time.h" +#include "src/elements-kind.h" #include "src/globals.h" -#include "src/objects.h" #include "src/unicode.h" #include "src/zone/zone.h" @@ -56,7 +56,8 @@ namespace internal { F(ArraySpeciesConstructor, 1, 1) \ F(ArrayIncludes_Slow, 3, 1) \ F(ArrayIndexOf, 3, 1) \ - F(SpreadIterablePrepare, 1, 1) + F(SpreadIterablePrepare, 1, 1) \ + F(SpreadIterableFixed, 1, 1) #define FOR_EACH_INTRINSIC_ATOMICS(F) \ F(ThrowNotIntegerSharedTypedArrayError, 1, 1) \ @@ -72,7 +73,8 @@ namespace internal { F(AtomicsIsLockFree, 1, 1) \ F(AtomicsWait, 4, 1) \ F(AtomicsWake, 3, 1) \ - F(AtomicsNumWaitersForTesting, 2, 1) + F(AtomicsNumWaitersForTesting, 2, 1) \ + F(SetAllowAtomicsWait, 1, 1) #define FOR_EACH_INTRINSIC_CLASSES(F) \ F(ThrowUnsupportedSuperError, 0, 1) \ @@ -90,8 +92,7 @@ namespace internal { F(StoreToSuper_Sloppy, 4, 1) \ F(StoreKeyedToSuper_Strict, 4, 1) \ F(StoreKeyedToSuper_Sloppy, 4, 1) \ - F(GetSuperConstructor, 1, 1) \ - F(NewWithSpread, -1, 1) + F(GetSuperConstructor, 1, 1) #define FOR_EACH_INTRINSIC_COLLECTIONS(F) \ F(StringGetRawHashField, 1, 1) \ @@ -170,9 +171,8 @@ namespace internal { F(ChangeBreakOnException, 2, 1) \ F(IsBreakOnException, 1, 1) \ F(PrepareStep, 2, 1) \ - F(PrepareStepFrame, 0, 1) \ F(ClearStepping, 0, 1) \ - F(DebugEvaluate, 4, 1) \ + F(DebugEvaluate, 5, 1) \ F(DebugEvaluateGlobal, 2, 1) \ F(DebugGetLoadedScripts, 0, 1) \ F(DebugReferencedBy, 3, 1) \ @@ -181,7 +181,6 @@ namespace internal { F(DebugSetScriptSource, 2, 1) \ F(FunctionGetInferredName, 1, 1) \ F(FunctionGetDebugName, 1, 1) \ - F(ExecuteInDebugContext, 1, 1) \ F(GetDebugContext, 0, 1) \ F(CollectGarbage, 1, 1) \ F(GetHeapUsage, 0, 1) \ @@ -200,19 +199,19 @@ namespace internal { F(DebugPushPromise, 1, 1) \ F(DebugPopPromise, 0, 1) \ F(DebugPromiseReject, 2, 1) \ - F(DebugNextAsyncTaskId, 1, 1) \ F(DebugAsyncEventEnqueueRecurring, 2, 1) \ F(DebugAsyncFunctionPromiseCreated, 1, 1) \ F(DebugIsActive, 0, 1) \ - F(DebugBreakInOptimizedCode, 0, 1) + F(DebugBreakInOptimizedCode, 0, 1) \ + F(DebugCollectCoverage, 0, 1) \ + F(DebugTogglePreciseCoverage, 1, 1) #define FOR_EACH_INTRINSIC_ERROR(F) F(ErrorToString, 1, 1) #define FOR_EACH_INTRINSIC_FORIN(F) \ F(ForInEnumerate, 1, 1) \ F(ForInFilter, 2, 1) \ - F(ForInHasProperty, 2, 1) \ - F(ForInNext, 4, 1) + F(ForInHasProperty, 2, 1) #define FOR_EACH_INTRINSIC_INTERPRETER(F) \ F(InterpreterNewClosure, 4, 1) \ @@ -290,12 +289,9 @@ namespace internal { F(AllocateSeqOneByteString, 1, 1) \ F(AllocateSeqTwoByteString, 1, 1) \ F(CheckIsBootstrapping, 0, 1) \ + F(CreateAsyncFromSyncIterator, 1, 1) \ F(CreateListFromArrayLike, 1, 1) \ - F(EnqueueMicrotask, 1, 1) \ - F(EnqueuePromiseReactionJob, 3, 1) \ - F(EnqueuePromiseResolveThenableJob, 1, 1) \ F(GetAndResetRuntimeCallStats, -1 /* <= 2 */, 1) \ - F(ExportExperimentalFromRuntime, 1, 1) \ F(ExportFromRuntime, 1, 1) \ F(IncrementUseCounter, 1, 1) \ F(InstallToContext, 1, 1) \ @@ -305,17 +301,6 @@ namespace internal { F(NewSyntaxError, 2, 1) \ F(NewTypeError, 2, 1) \ F(OrdinaryHasInstance, 2, 1) \ - F(ReportPromiseReject, 2, 1) \ - F(PromiseHookInit, 2, 1) \ - F(PromiseHookResolve, 1, 1) \ - F(PromiseHookBefore, 1, 1) \ - F(PromiseHookAfter, 1, 1) \ - F(PromiseMarkAsHandled, 1, 1) \ - F(PromiseMarkHandledHint, 1, 1) \ - F(PromiseRejectEventFromStack, 2, 1) \ - F(PromiseRevokeReject, 1, 1) \ - F(PromiseResult, 1, 1) \ - F(PromiseStatus, 1, 1) \ F(PromoteScheduledException, 0, 1) \ F(ReThrow, 1, 1) \ F(RunMicrotasks, 0, 1) \ @@ -334,9 +319,13 @@ namespace internal { F(ThrowInvalidStringLength, 0, 1) \ F(ThrowIteratorResultNotAnObject, 1, 1) \ F(ThrowSymbolIteratorInvalid, 0, 1) \ + F(ThrowNonCallableInInstanceOfCheck, 0, 1) \ + F(ThrowNonObjectInInstanceOfCheck, 0, 1) \ + F(ThrowNotConstructor, 1, 1) \ F(ThrowNotGeneric, 1, 1) \ F(ThrowReferenceError, 1, 1) \ F(ThrowStackOverflow, 0, 1) \ + F(ThrowSymbolAsyncIteratorInvalid, 0, 1) \ F(ThrowTypeError, -1 /* >= 1 */, 1) \ F(ThrowUndefinedOrNullToObject, 1, 1) \ F(Typeof, 1, 1) \ @@ -366,6 +355,7 @@ namespace internal { #define FOR_EACH_INTRINSIC_MATHS(F) F(GenerateRandomNumbers, 0, 1) #define FOR_EACH_INTRINSIC_MODULE(F) \ + F(DynamicImportCall, 1, 1) \ F(GetModuleNamespace, 1, 1) \ F(LoadModuleVariable, 1, 1) \ F(StoreModuleVariable, 2, 1) @@ -385,56 +375,57 @@ namespace internal { F(GetHoleNaNUpper, 0, 1) \ F(GetHoleNaNLower, 0, 1) -#define FOR_EACH_INTRINSIC_OBJECT(F) \ - F(GetPrototype, 1, 1) \ - F(ObjectHasOwnProperty, 2, 1) \ - F(ObjectCreate, 2, 1) \ - F(InternalSetPrototype, 2, 1) \ - F(OptimizeObjectForAddingMultipleProperties, 2, 1) \ - F(GetProperty, 2, 1) \ - F(KeyedGetProperty, 2, 1) \ - F(AddNamedProperty, 4, 1) \ - F(SetProperty, 4, 1) \ - F(AddElement, 3, 1) \ - F(AppendElement, 2, 1) \ - F(DeleteProperty_Sloppy, 2, 1) \ - F(DeleteProperty_Strict, 2, 1) \ - F(HasProperty, 2, 1) \ - F(GetOwnPropertyKeys, 2, 1) \ - F(GetInterceptorInfo, 1, 1) \ - F(ToFastProperties, 1, 1) \ - F(AllocateHeapNumber, 0, 1) \ - F(NewObject, 2, 1) \ - F(FinalizeInstanceSize, 1, 1) \ - F(LoadMutableDouble, 2, 1) \ - F(TryMigrateInstance, 1, 1) \ - F(IsJSGlobalProxy, 1, 1) \ - F(DefineAccessorPropertyUnchecked, 5, 1) \ - F(DefineDataPropertyInLiteral, 6, 1) \ - F(GetDataProperty, 2, 1) \ - F(GetConstructorName, 1, 1) \ - F(HasFastPackedElements, 1, 1) \ - F(ValueOf, 1, 1) \ - F(IsJSReceiver, 1, 1) \ - F(ClassOf, 1, 1) \ - F(CopyDataProperties, 2, 1) \ - F(DefineGetterPropertyUnchecked, 4, 1) \ - F(DefineSetterPropertyUnchecked, 4, 1) \ - F(ToObject, 1, 1) \ - F(ToPrimitive, 1, 1) \ - F(ToPrimitive_Number, 1, 1) \ - F(ToNumber, 1, 1) \ - F(ToInteger, 1, 1) \ - F(ToLength, 1, 1) \ - F(ToString, 1, 1) \ - F(ToName, 1, 1) \ - F(SameValue, 2, 1) \ - F(SameValueZero, 2, 1) \ - F(Compare, 3, 1) \ - F(HasInPrototypeChain, 2, 1) \ - F(CreateIterResultObject, 2, 1) \ - F(CreateKeyValueArray, 2, 1) \ - F(IsAccessCheckNeeded, 1, 1) \ +#define FOR_EACH_INTRINSIC_OBJECT(F) \ + F(GetPrototype, 1, 1) \ + F(ObjectHasOwnProperty, 2, 1) \ + F(ObjectCreate, 2, 1) \ + F(InternalSetPrototype, 2, 1) \ + F(OptimizeObjectForAddingMultipleProperties, 2, 1) \ + F(GetProperty, 2, 1) \ + F(KeyedGetProperty, 2, 1) \ + F(AddNamedProperty, 4, 1) \ + F(SetProperty, 4, 1) \ + F(AddElement, 3, 1) \ + F(AppendElement, 2, 1) \ + F(DeleteProperty_Sloppy, 2, 1) \ + F(DeleteProperty_Strict, 2, 1) \ + F(HasProperty, 2, 1) \ + F(GetOwnPropertyKeys, 2, 1) \ + F(GetInterceptorInfo, 1, 1) \ + F(ToFastProperties, 1, 1) \ + F(AllocateHeapNumber, 0, 1) \ + F(NewObject, 2, 1) \ + F(FinalizeInstanceSize, 1, 1) \ + F(LoadMutableDouble, 2, 1) \ + F(TryMigrateInstance, 1, 1) \ + F(IsJSGlobalProxy, 1, 1) \ + F(DefineAccessorPropertyUnchecked, 5, 1) \ + F(DefineDataPropertyInLiteral, 6, 1) \ + F(GetDataProperty, 2, 1) \ + F(GetConstructorName, 1, 1) \ + F(HasFastPackedElements, 1, 1) \ + F(ValueOf, 1, 1) \ + F(IsJSReceiver, 1, 1) \ + F(ClassOf, 1, 1) \ + F(CopyDataProperties, 2, 1) \ + F(CopyDataPropertiesWithExcludedProperties, -1 /* >= 1 */, 1) \ + F(DefineGetterPropertyUnchecked, 4, 1) \ + F(DefineSetterPropertyUnchecked, 4, 1) \ + F(ToObject, 1, 1) \ + F(ToPrimitive, 1, 1) \ + F(ToPrimitive_Number, 1, 1) \ + F(ToNumber, 1, 1) \ + F(ToInteger, 1, 1) \ + F(ToLength, 1, 1) \ + F(ToString, 1, 1) \ + F(ToName, 1, 1) \ + F(SameValue, 2, 1) \ + F(SameValueZero, 2, 1) \ + F(Compare, 3, 1) \ + F(HasInPrototypeChain, 2, 1) \ + F(CreateIterResultObject, 2, 1) \ + F(CreateKeyValueArray, 2, 1) \ + F(IsAccessCheckNeeded, 1, 1) \ F(CreateDataProperty, 3, 1) #define FOR_EACH_INTRINSIC_OPERATORS(F) \ @@ -459,6 +450,21 @@ namespace internal { F(GreaterThanOrEqual, 2, 1) \ F(InstanceOf, 2, 1) +#define FOR_EACH_INTRINSIC_PROMISE(F) \ + F(EnqueueMicrotask, 1, 1) \ + F(EnqueuePromiseReactionJob, 1, 1) \ + F(EnqueuePromiseResolveThenableJob, 1, 1) \ + F(PromiseHookInit, 2, 1) \ + F(PromiseHookResolve, 1, 1) \ + F(PromiseHookBefore, 1, 1) \ + F(PromiseHookAfter, 1, 1) \ + F(PromiseMarkAsHandled, 1, 1) \ + F(PromiseRejectEventFromStack, 2, 1) \ + F(PromiseRevokeReject, 1, 1) \ + F(PromiseResult, 1, 1) \ + F(PromiseStatus, 1, 1) \ + F(ReportPromiseReject, 2, 1) + #define FOR_EACH_INTRINSIC_PROXY(F) \ F(IsJSProxy, 1, 1) \ F(JSProxyCall, -1 /* >= 2 */, 1) \ @@ -507,317 +513,8 @@ namespace internal { F(StoreLookupSlot_Sloppy, 2, 1) \ F(StoreLookupSlot_Strict, 2, 1) -#define FOR_EACH_INTRINSIC_SIMD(F) \ - F(IsSimdValue, 1, 1) \ - F(CreateFloat32x4, 4, 1) \ - F(CreateInt32x4, 4, 1) \ - F(CreateUint32x4, 4, 1) \ - F(CreateBool32x4, 4, 1) \ - F(CreateInt16x8, 8, 1) \ - F(CreateUint16x8, 8, 1) \ - F(CreateBool16x8, 8, 1) \ - F(CreateInt8x16, 16, 1) \ - F(CreateUint8x16, 16, 1) \ - F(CreateBool8x16, 16, 1) \ - F(Float32x4Check, 1, 1) \ - F(Float32x4ExtractLane, 2, 1) \ - F(Float32x4ReplaceLane, 3, 1) \ - F(Float32x4Abs, 1, 1) \ - F(Float32x4Neg, 1, 1) \ - F(Float32x4Sqrt, 1, 1) \ - F(Float32x4RecipApprox, 1, 1) \ - F(Float32x4RecipSqrtApprox, 1, 1) \ - F(Float32x4Add, 2, 1) \ - F(Float32x4Sub, 2, 1) \ - F(Float32x4Mul, 2, 1) \ - F(Float32x4Div, 2, 1) \ - F(Float32x4Min, 2, 1) \ - F(Float32x4Max, 2, 1) \ - F(Float32x4MinNum, 2, 1) \ - F(Float32x4MaxNum, 2, 1) \ - F(Float32x4Equal, 2, 1) \ - F(Float32x4NotEqual, 2, 1) \ - F(Float32x4LessThan, 2, 1) \ - F(Float32x4LessThanOrEqual, 2, 1) \ - F(Float32x4GreaterThan, 2, 1) \ - F(Float32x4GreaterThanOrEqual, 2, 1) \ - F(Float32x4Select, 3, 1) \ - F(Float32x4Swizzle, 5, 1) \ - F(Float32x4Shuffle, 6, 1) \ - F(Float32x4FromInt32x4, 1, 1) \ - F(Float32x4FromUint32x4, 1, 1) \ - F(Float32x4FromInt32x4Bits, 1, 1) \ - F(Float32x4FromUint32x4Bits, 1, 1) \ - F(Float32x4FromInt16x8Bits, 1, 1) \ - F(Float32x4FromUint16x8Bits, 1, 1) \ - F(Float32x4FromInt8x16Bits, 1, 1) \ - F(Float32x4FromUint8x16Bits, 1, 1) \ - F(Float32x4Load, 2, 1) \ - F(Float32x4Load1, 2, 1) \ - F(Float32x4Load2, 2, 1) \ - F(Float32x4Load3, 2, 1) \ - F(Float32x4Store, 3, 1) \ - F(Float32x4Store1, 3, 1) \ - F(Float32x4Store2, 3, 1) \ - F(Float32x4Store3, 3, 1) \ - F(Int32x4Check, 1, 1) \ - F(Int32x4ExtractLane, 2, 1) \ - F(Int32x4ReplaceLane, 3, 1) \ - F(Int32x4Neg, 1, 1) \ - F(Int32x4Add, 2, 1) \ - F(Int32x4Sub, 2, 1) \ - F(Int32x4Mul, 2, 1) \ - F(Int32x4Min, 2, 1) \ - F(Int32x4Max, 2, 1) \ - F(Int32x4And, 2, 1) \ - F(Int32x4Or, 2, 1) \ - F(Int32x4Xor, 2, 1) \ - F(Int32x4Not, 1, 1) \ - F(Int32x4ShiftLeftByScalar, 2, 1) \ - F(Int32x4ShiftRightByScalar, 2, 1) \ - F(Int32x4Equal, 2, 1) \ - F(Int32x4NotEqual, 2, 1) \ - F(Int32x4LessThan, 2, 1) \ - F(Int32x4LessThanOrEqual, 2, 1) \ - F(Int32x4GreaterThan, 2, 1) \ - F(Int32x4GreaterThanOrEqual, 2, 1) \ - F(Int32x4Select, 3, 1) \ - F(Int32x4Swizzle, 5, 1) \ - F(Int32x4Shuffle, 6, 1) \ - F(Int32x4FromFloat32x4, 1, 1) \ - F(Int32x4FromUint32x4, 1, 1) \ - F(Int32x4FromFloat32x4Bits, 1, 1) \ - F(Int32x4FromUint32x4Bits, 1, 1) \ - F(Int32x4FromInt16x8Bits, 1, 1) \ - F(Int32x4FromUint16x8Bits, 1, 1) \ - F(Int32x4FromInt8x16Bits, 1, 1) \ - F(Int32x4FromUint8x16Bits, 1, 1) \ - F(Int32x4Load, 2, 1) \ - F(Int32x4Load1, 2, 1) \ - F(Int32x4Load2, 2, 1) \ - F(Int32x4Load3, 2, 1) \ - F(Int32x4Store, 3, 1) \ - F(Int32x4Store1, 3, 1) \ - F(Int32x4Store2, 3, 1) \ - F(Int32x4Store3, 3, 1) \ - F(Uint32x4Check, 1, 1) \ - F(Uint32x4ExtractLane, 2, 1) \ - F(Uint32x4ReplaceLane, 3, 1) \ - F(Uint32x4Add, 2, 1) \ - F(Uint32x4Sub, 2, 1) \ - F(Uint32x4Mul, 2, 1) \ - F(Uint32x4Min, 2, 1) \ - F(Uint32x4Max, 2, 1) \ - F(Uint32x4And, 2, 1) \ - F(Uint32x4Or, 2, 1) \ - F(Uint32x4Xor, 2, 1) \ - F(Uint32x4Not, 1, 1) \ - F(Uint32x4ShiftLeftByScalar, 2, 1) \ - F(Uint32x4ShiftRightByScalar, 2, 1) \ - F(Uint32x4Equal, 2, 1) \ - F(Uint32x4NotEqual, 2, 1) \ - F(Uint32x4LessThan, 2, 1) \ - F(Uint32x4LessThanOrEqual, 2, 1) \ - F(Uint32x4GreaterThan, 2, 1) \ - F(Uint32x4GreaterThanOrEqual, 2, 1) \ - F(Uint32x4Select, 3, 1) \ - F(Uint32x4Swizzle, 5, 1) \ - F(Uint32x4Shuffle, 6, 1) \ - F(Uint32x4FromFloat32x4, 1, 1) \ - F(Uint32x4FromInt32x4, 1, 1) \ - F(Uint32x4FromFloat32x4Bits, 1, 1) \ - F(Uint32x4FromInt32x4Bits, 1, 1) \ - F(Uint32x4FromInt16x8Bits, 1, 1) \ - F(Uint32x4FromUint16x8Bits, 1, 1) \ - F(Uint32x4FromInt8x16Bits, 1, 1) \ - F(Uint32x4FromUint8x16Bits, 1, 1) \ - F(Uint32x4Load, 2, 1) \ - F(Uint32x4Load1, 2, 1) \ - F(Uint32x4Load2, 2, 1) \ - F(Uint32x4Load3, 2, 1) \ - F(Uint32x4Store, 3, 1) \ - F(Uint32x4Store1, 3, 1) \ - F(Uint32x4Store2, 3, 1) \ - F(Uint32x4Store3, 3, 1) \ - F(Bool32x4Check, 1, 1) \ - F(Bool32x4ExtractLane, 2, 1) \ - F(Bool32x4ReplaceLane, 3, 1) \ - F(Bool32x4And, 2, 1) \ - F(Bool32x4Or, 2, 1) \ - F(Bool32x4Xor, 2, 1) \ - F(Bool32x4Not, 1, 1) \ - F(Bool32x4AnyTrue, 1, 1) \ - F(Bool32x4AllTrue, 1, 1) \ - F(Bool32x4Swizzle, 5, 1) \ - F(Bool32x4Shuffle, 6, 1) \ - F(Bool32x4Equal, 2, 1) \ - F(Bool32x4NotEqual, 2, 1) \ - F(Int16x8Check, 1, 1) \ - F(Int16x8ExtractLane, 2, 1) \ - F(Int16x8ReplaceLane, 3, 1) \ - F(Int16x8Neg, 1, 1) \ - F(Int16x8Add, 2, 1) \ - F(Int16x8AddSaturate, 2, 1) \ - F(Int16x8Sub, 2, 1) \ - F(Int16x8SubSaturate, 2, 1) \ - F(Int16x8Mul, 2, 1) \ - F(Int16x8Min, 2, 1) \ - F(Int16x8Max, 2, 1) \ - F(Int16x8And, 2, 1) \ - F(Int16x8Or, 2, 1) \ - F(Int16x8Xor, 2, 1) \ - F(Int16x8Not, 1, 1) \ - F(Int16x8ShiftLeftByScalar, 2, 1) \ - F(Int16x8ShiftRightByScalar, 2, 1) \ - F(Int16x8Equal, 2, 1) \ - F(Int16x8NotEqual, 2, 1) \ - F(Int16x8LessThan, 2, 1) \ - F(Int16x8LessThanOrEqual, 2, 1) \ - F(Int16x8GreaterThan, 2, 1) \ - F(Int16x8GreaterThanOrEqual, 2, 1) \ - F(Int16x8Select, 3, 1) \ - F(Int16x8Swizzle, 9, 1) \ - F(Int16x8Shuffle, 10, 1) \ - F(Int16x8FromUint16x8, 1, 1) \ - F(Int16x8FromFloat32x4Bits, 1, 1) \ - F(Int16x8FromInt32x4Bits, 1, 1) \ - F(Int16x8FromUint32x4Bits, 1, 1) \ - F(Int16x8FromUint16x8Bits, 1, 1) \ - F(Int16x8FromInt8x16Bits, 1, 1) \ - F(Int16x8FromUint8x16Bits, 1, 1) \ - F(Int16x8Load, 2, 1) \ - F(Int16x8Store, 3, 1) \ - F(Uint16x8Check, 1, 1) \ - F(Uint16x8ExtractLane, 2, 1) \ - F(Uint16x8ReplaceLane, 3, 1) \ - F(Uint16x8Add, 2, 1) \ - F(Uint16x8AddSaturate, 2, 1) \ - F(Uint16x8Sub, 2, 1) \ - F(Uint16x8SubSaturate, 2, 1) \ - F(Uint16x8Mul, 2, 1) \ - F(Uint16x8Min, 2, 1) \ - F(Uint16x8Max, 2, 1) \ - F(Uint16x8And, 2, 1) \ - F(Uint16x8Or, 2, 1) \ - F(Uint16x8Xor, 2, 1) \ - F(Uint16x8Not, 1, 1) \ - F(Uint16x8ShiftLeftByScalar, 2, 1) \ - F(Uint16x8ShiftRightByScalar, 2, 1) \ - F(Uint16x8Equal, 2, 1) \ - F(Uint16x8NotEqual, 2, 1) \ - F(Uint16x8LessThan, 2, 1) \ - F(Uint16x8LessThanOrEqual, 2, 1) \ - F(Uint16x8GreaterThan, 2, 1) \ - F(Uint16x8GreaterThanOrEqual, 2, 1) \ - F(Uint16x8Select, 3, 1) \ - F(Uint16x8Swizzle, 9, 1) \ - F(Uint16x8Shuffle, 10, 1) \ - F(Uint16x8FromInt16x8, 1, 1) \ - F(Uint16x8FromFloat32x4Bits, 1, 1) \ - F(Uint16x8FromInt32x4Bits, 1, 1) \ - F(Uint16x8FromUint32x4Bits, 1, 1) \ - F(Uint16x8FromInt16x8Bits, 1, 1) \ - F(Uint16x8FromInt8x16Bits, 1, 1) \ - F(Uint16x8FromUint8x16Bits, 1, 1) \ - F(Uint16x8Load, 2, 1) \ - F(Uint16x8Store, 3, 1) \ - F(Bool16x8Check, 1, 1) \ - F(Bool16x8ExtractLane, 2, 1) \ - F(Bool16x8ReplaceLane, 3, 1) \ - F(Bool16x8And, 2, 1) \ - F(Bool16x8Or, 2, 1) \ - F(Bool16x8Xor, 2, 1) \ - F(Bool16x8Not, 1, 1) \ - F(Bool16x8AnyTrue, 1, 1) \ - F(Bool16x8AllTrue, 1, 1) \ - F(Bool16x8Swizzle, 9, 1) \ - F(Bool16x8Shuffle, 10, 1) \ - F(Bool16x8Equal, 2, 1) \ - F(Bool16x8NotEqual, 2, 1) \ - F(Int8x16Check, 1, 1) \ - F(Int8x16ExtractLane, 2, 1) \ - F(Int8x16ReplaceLane, 3, 1) \ - F(Int8x16Neg, 1, 1) \ - F(Int8x16Add, 2, 1) \ - F(Int8x16AddSaturate, 2, 1) \ - F(Int8x16Sub, 2, 1) \ - F(Int8x16SubSaturate, 2, 1) \ - F(Int8x16Mul, 2, 1) \ - F(Int8x16Min, 2, 1) \ - F(Int8x16Max, 2, 1) \ - F(Int8x16And, 2, 1) \ - F(Int8x16Or, 2, 1) \ - F(Int8x16Xor, 2, 1) \ - F(Int8x16Not, 1, 1) \ - F(Int8x16ShiftLeftByScalar, 2, 1) \ - F(Int8x16ShiftRightByScalar, 2, 1) \ - F(Int8x16Equal, 2, 1) \ - F(Int8x16NotEqual, 2, 1) \ - F(Int8x16LessThan, 2, 1) \ - F(Int8x16LessThanOrEqual, 2, 1) \ - F(Int8x16GreaterThan, 2, 1) \ - F(Int8x16GreaterThanOrEqual, 2, 1) \ - F(Int8x16Select, 3, 1) \ - F(Int8x16Swizzle, 17, 1) \ - F(Int8x16Shuffle, 18, 1) \ - F(Int8x16FromUint8x16, 1, 1) \ - F(Int8x16FromFloat32x4Bits, 1, 1) \ - F(Int8x16FromInt32x4Bits, 1, 1) \ - F(Int8x16FromUint32x4Bits, 1, 1) \ - F(Int8x16FromInt16x8Bits, 1, 1) \ - F(Int8x16FromUint16x8Bits, 1, 1) \ - F(Int8x16FromUint8x16Bits, 1, 1) \ - F(Int8x16Load, 2, 1) \ - F(Int8x16Store, 3, 1) \ - F(Uint8x16Check, 1, 1) \ - F(Uint8x16ExtractLane, 2, 1) \ - F(Uint8x16ReplaceLane, 3, 1) \ - F(Uint8x16Add, 2, 1) \ - F(Uint8x16AddSaturate, 2, 1) \ - F(Uint8x16Sub, 2, 1) \ - F(Uint8x16SubSaturate, 2, 1) \ - F(Uint8x16Mul, 2, 1) \ - F(Uint8x16Min, 2, 1) \ - F(Uint8x16Max, 2, 1) \ - F(Uint8x16And, 2, 1) \ - F(Uint8x16Or, 2, 1) \ - F(Uint8x16Xor, 2, 1) \ - F(Uint8x16Not, 1, 1) \ - F(Uint8x16ShiftLeftByScalar, 2, 1) \ - F(Uint8x16ShiftRightByScalar, 2, 1) \ - F(Uint8x16Equal, 2, 1) \ - F(Uint8x16NotEqual, 2, 1) \ - F(Uint8x16LessThan, 2, 1) \ - F(Uint8x16LessThanOrEqual, 2, 1) \ - F(Uint8x16GreaterThan, 2, 1) \ - F(Uint8x16GreaterThanOrEqual, 2, 1) \ - F(Uint8x16Select, 3, 1) \ - F(Uint8x16Swizzle, 17, 1) \ - F(Uint8x16Shuffle, 18, 1) \ - F(Uint8x16FromInt8x16, 1, 1) \ - F(Uint8x16FromFloat32x4Bits, 1, 1) \ - F(Uint8x16FromInt32x4Bits, 1, 1) \ - F(Uint8x16FromUint32x4Bits, 1, 1) \ - F(Uint8x16FromInt16x8Bits, 1, 1) \ - F(Uint8x16FromUint16x8Bits, 1, 1) \ - F(Uint8x16FromInt8x16Bits, 1, 1) \ - F(Uint8x16Load, 2, 1) \ - F(Uint8x16Store, 3, 1) \ - F(Bool8x16Check, 1, 1) \ - F(Bool8x16ExtractLane, 2, 1) \ - F(Bool8x16ReplaceLane, 3, 1) \ - F(Bool8x16And, 2, 1) \ - F(Bool8x16Or, 2, 1) \ - F(Bool8x16Xor, 2, 1) \ - F(Bool8x16Not, 1, 1) \ - F(Bool8x16AnyTrue, 1, 1) \ - F(Bool8x16AllTrue, 1, 1) \ - F(Bool8x16Swizzle, 17, 1) \ - F(Bool8x16Shuffle, 18, 1) \ - F(Bool8x16Equal, 2, 1) \ - F(Bool8x16NotEqual, 2, 1) - #define FOR_EACH_INTRINSIC_STRINGS(F) \ + F(GetSubstitution, 4, 1) \ F(StringReplaceOneCharWithString, 3, 1) \ F(StringIndexOf, 3, 1) \ F(StringIndexOfUnchecked, 3, 1) \ @@ -831,8 +528,6 @@ namespace internal { F(StringBuilderJoin, 3, 1) \ F(SparseJoinWithSeparator, 3, 1) \ F(StringToArray, 2, 1) \ - F(StringToLowerCase, 1, 1) \ - F(StringToUpperCase, 1, 1) \ F(StringLessThan, 2, 1) \ F(StringLessThanOrEqual, 2, 1) \ F(StringGreaterThan, 2, 1) \ @@ -867,7 +562,7 @@ namespace internal { F(GetOptimizationCount, 1, 1) \ F(GetUndetectable, 0, 1) \ F(GetCallable, 0, 1) \ - F(ClearFunctionTypeFeedback, 1, 1) \ + F(ClearFunctionFeedback, 1, 1) \ F(CheckWasmWrapperElision, 2, 1) \ F(NotifyContextDisposed, 0, 1) \ F(SetAllocationTimeout, -1 /* 2 || 3 */, 1) \ @@ -929,28 +624,23 @@ namespace internal { F(TypedArrayGetLength, 1, 1) \ F(TypedArrayGetBuffer, 1, 1) \ F(TypedArraySetFastCases, 3, 1) \ + F(TypedArraySortFast, 1, 1) \ F(TypedArrayMaxSizeInHeap, 0, 1) \ F(IsTypedArray, 1, 1) \ F(IsSharedTypedArray, 1, 1) \ F(IsSharedIntegerTypedArray, 1, 1) \ F(IsSharedInteger32TypedArray, 1, 1) -#define FOR_EACH_INTRINSIC_WASM(F) \ - F(WasmGrowMemory, 1, 1) \ - F(WasmMemorySize, 0, 1) \ - F(ThrowWasmError, 2, 1) \ - F(WasmThrowTypeError, 0, 1) \ - F(WasmThrow, 2, 1) \ - F(WasmGetCaughtExceptionValue, 1, 1) \ - F(ThrowWasmTrapUnreachable, 0, 1) \ - F(ThrowWasmTrapMemOutOfBounds, 0, 1) \ - F(ThrowWasmTrapDivByZero, 0, 1) \ - F(ThrowWasmTrapDivUnrepresentable, 0, 1) \ - F(ThrowWasmTrapRemByZero, 0, 1) \ - F(ThrowWasmTrapFloatUnrepresentable, 0, 1) \ - F(ThrowWasmTrapFuncInvalid, 0, 1) \ - F(ThrowWasmTrapFuncSigMismatch, 0, 1) \ - F(WasmRunInterpreter, 3, 1) +#define FOR_EACH_INTRINSIC_WASM(F) \ + F(WasmGrowMemory, 1, 1) \ + F(WasmMemorySize, 0, 1) \ + F(ThrowWasmError, 2, 1) \ + F(ThrowWasmErrorFromTrapIf, 1, 1) \ + F(WasmThrowTypeError, 0, 1) \ + F(WasmThrow, 2, 1) \ + F(WasmGetCaughtExceptionValue, 1, 1) \ + F(WasmRunInterpreter, 3, 1) \ + F(WasmStackGuard, 0, 1) #define FOR_EACH_INTRINSIC_RETURN_PAIR(F) \ F(LoadLookupSlotForCall, 1, 2) @@ -963,22 +653,20 @@ namespace internal { #define FOR_EACH_INTRINSIC_IC(F) \ F(BinaryOpIC_Miss, 2, 1) \ F(BinaryOpIC_MissWithAllocationSite, 3, 1) \ - F(CallIC_Miss, 3, 1) \ F(CompareIC_Miss, 3, 1) \ F(ElementsTransitionAndStoreIC_Miss, 6, 1) \ F(KeyedLoadIC_Miss, 4, 1) \ - F(KeyedLoadIC_MissFromStubFailure, 4, 1) \ F(KeyedStoreIC_Miss, 5, 1) \ F(KeyedStoreIC_Slow, 5, 1) \ F(LoadElementWithInterceptor, 2, 1) \ F(LoadGlobalIC_Miss, 3, 1) \ - F(LoadGlobalIC_Slow, 1, 1) \ + F(LoadGlobalIC_Slow, 3, 1) \ F(LoadIC_Miss, 4, 1) \ - F(LoadPropertyWithInterceptor, 3, 1) \ + F(LoadPropertyWithInterceptor, 5, 1) \ F(LoadPropertyWithInterceptorOnly, 3, 1) \ F(StoreCallbackProperty, 6, 1) \ F(StoreIC_Miss, 5, 1) \ - F(StorePropertyWithInterceptor, 3, 1) \ + F(StorePropertyWithInterceptor, 5, 1) \ F(ToBooleanIC_Miss, 1, 1) \ F(Unreachable, 0, 1) @@ -1005,10 +693,10 @@ namespace internal { FOR_EACH_INTRINSIC_NUMBERS(F) \ FOR_EACH_INTRINSIC_OBJECT(F) \ FOR_EACH_INTRINSIC_OPERATORS(F) \ + FOR_EACH_INTRINSIC_PROMISE(F) \ FOR_EACH_INTRINSIC_PROXY(F) \ FOR_EACH_INTRINSIC_REGEXP(F) \ FOR_EACH_INTRINSIC_SCOPES(F) \ - FOR_EACH_INTRINSIC_SIMD(F) \ FOR_EACH_INTRINSIC_STRINGS(F) \ FOR_EACH_INTRINSIC_SYMBOL(F) \ FOR_EACH_INTRINSIC_TEST(F) \ @@ -1157,6 +845,18 @@ class DeclareGlobalsNativeFlag : public BitField<bool, 1, 1> {}; STATIC_ASSERT(LANGUAGE_END == 2); class DeclareGlobalsLanguageMode : public BitField<LanguageMode, 2, 1> {}; +// A set of bits returned by Runtime_GetOptimizationStatus. +// These bits must be in sync with bits defined in test/mjsunit/mjsunit.js +enum class OptimizationStatus { + kIsFunction = 1 << 0, + kNeverOptimize = 1 << 1, + kAlwaysOptimize = 1 << 2, + kMaybeDeopted = 1 << 3, + kOptimized = 1 << 4, + kTurboFanned = 1 << 5, + kInterpreted = 1 << 6, +}; + } // namespace internal } // namespace v8 |