diff options
author | Michaƫl Zasso <mic.besace@gmail.com> | 2015-10-06 08:42:38 +0200 |
---|---|---|
committer | Ali Ijaz Sheikh <ofrobots@google.com> | 2015-10-14 11:20:34 -0700 |
commit | d8011d1683fe0d977de2bea1147f5213d4490c5a (patch) | |
tree | 54967df8dc1732e59eef39e5c5b39fe99ad88977 /deps/v8/src/runtime/runtime.h | |
parent | d1a2e5357ef0357cec9b516fa9ac78cc38a984aa (diff) | |
download | node-new-d8011d1683fe0d977de2bea1147f5213d4490c5a.tar.gz |
deps: upgrade V8 to 4.6.85.23
PR-URL: https://github.com/nodejs/node/pull/3351
Reviewed-By: indutny - Fedor Indutny <fedor.indutny@gmail.com>
Reviewed-By: bnoordhuis - Ben Noordhuis <info@bnoordhuis.nl>
Diffstat (limited to 'deps/v8/src/runtime/runtime.h')
-rw-r--r-- | deps/v8/src/runtime/runtime.h | 289 |
1 files changed, 243 insertions, 46 deletions
diff --git a/deps/v8/src/runtime/runtime.h b/deps/v8/src/runtime/runtime.h index c4f74e7de1..4545426e83 100644 --- a/deps/v8/src/runtime/runtime.h +++ b/deps/v8/src/runtime/runtime.h @@ -66,6 +66,13 @@ namespace internal { F(AtomicsIsLockFree, 1, 1) +#define FOR_EACH_INTRINSIC_FUTEX(F) \ + F(AtomicsFutexWait, 4, 1) \ + F(AtomicsFutexWake, 3, 1) \ + F(AtomicsFutexWakeOrRequeue, 5, 1) \ + F(AtomicsFutexNumWaitersForTesting, 2, 1) + + #define FOR_EACH_INTRINSIC_CLASSES(F) \ F(ThrowNonMethodError, 0, 1) \ F(ThrowUnsupportedSuperError, 0, 1) \ @@ -75,7 +82,9 @@ namespace internal { F(ThrowIfStaticPrototype, 1, 1) \ F(ToMethod, 2, 1) \ F(HomeObjectSymbol, 0, 1) \ - F(DefineClass, 6, 1) \ + F(DefineClass, 5, 1) \ + F(DefineClassStrong, 5, 1) \ + F(FinalizeClassDefinition, 2, 1) \ F(DefineClassMethod, 3, 1) \ F(ClassGetSourceCode, 1, 1) \ F(LoadFromSuper, 4, 1) \ @@ -85,8 +94,7 @@ namespace internal { F(StoreKeyedToSuper_Strict, 4, 1) \ F(StoreKeyedToSuper_Sloppy, 4, 1) \ F(HandleStepInForDerivedConstructors, 1, 1) \ - F(DefaultConstructorCallSuper, 2, 1) \ - F(CallSuperWithSpread, 1, 1) + F(DefaultConstructorCallSuper, 2, 1) #define FOR_EACH_INTRINSIC_COLLECTIONS(F) \ @@ -145,6 +153,7 @@ namespace internal { #define FOR_EACH_INTRINSIC_DEBUG(F) \ + F(HandleDebuggerStatement, 0, 1) \ F(DebugBreak, 0, 1) \ F(SetDebugEventListener, 2, 1) \ F(ScheduleBreak, 0, 1) \ @@ -292,6 +301,9 @@ namespace internal { #define FOR_EACH_INTRINSIC_INTERNAL(F) \ F(CheckIsBootstrapping, 0, 1) \ + F(ImportToRuntime, 1, 1) \ + F(ImportExperimentalToRuntime, 1, 1) \ + F(InstallJSBuiltins, 1, 1) \ F(Throw, 1, 1) \ F(ReThrow, 1, 1) \ F(UnwindAndFindExceptionHandler, 0, 1) \ @@ -311,9 +323,9 @@ namespace internal { F(AllocateInTargetSpace, 2, 1) \ F(CollectStackTrace, 2, 1) \ F(RenderCallSite, 0, 1) \ - F(GetFromCacheRT, 2, 1) \ F(MessageGetStartPosition, 1, 1) \ F(MessageGetScript, 1, 1) \ + F(ErrorToStringRT, 1, 1) \ F(FormatMessageString, 4, 1) \ F(CallSiteGetFileNameRT, 3, 1) \ F(CallSiteGetFunctionNameRT, 3, 1) \ @@ -326,13 +338,13 @@ namespace internal { F(CallSiteIsEvalRT, 3, 1) \ F(CallSiteIsConstructorRT, 3, 1) \ F(IS_VAR, 1, 1) \ - F(GetFromCache, 2, 1) \ F(IncrementStatsCounter, 1, 1) \ F(Likely, 1, 1) \ F(Unlikely, 1, 1) \ F(HarmonyToString, 0, 1) \ F(GetTypeFeedbackVector, 1, 1) \ - F(GetCallerJSFunction, 0, 1) + F(GetCallerJSFunction, 0, 1) \ + F(GetCodeStubExportsObject, 0, 1) #define FOR_EACH_INTRINSIC_JSON(F) \ @@ -375,12 +387,11 @@ namespace internal { F(MathExpRT, 1, 1) \ F(MathClz32, 1, 1) \ F(MathFloor, 1, 1) \ - F(MathPowSlow, 2, 1) \ + F(MathPow, 2, 1) \ F(MathPowRT, 2, 1) \ F(RoundNumber, 1, 1) \ F(MathSqrt, 1, 1) \ F(MathFround, 1, 1) \ - F(MathPow, 2, 1) \ F(IsMinusZero, 1, 1) @@ -393,12 +404,10 @@ namespace internal { F(StringToNumber, 1, 1) \ F(StringParseInt, 2, 1) \ F(StringParseFloat, 1, 1) \ - F(NumberToStringRT, 1, 1) \ + F(NumberToString, 1, 1) \ F(NumberToStringSkipCache, 1, 1) \ F(NumberToInteger, 1, 1) \ F(NumberToIntegerMapMinusZero, 1, 1) \ - F(NumberToJSUint32, 1, 1) \ - F(NumberToJSInt32, 1, 1) \ F(NumberToSmi, 1, 1) \ F(NumberAdd, 2, 1) \ F(NumberSub, 2, 1) \ @@ -417,7 +426,6 @@ namespace internal { F(NumberCompare, 3, 1) \ F(SmiLexicographicCompare, 2, 1) \ F(MaxSmi, 0, 1) \ - F(NumberToString, 1, 1) \ F(IsSmi, 1, 1) \ F(IsNonNegativeSmi, 1, 1) \ F(GetRootNaN, 0, 1) @@ -438,16 +446,19 @@ namespace internal { F(GetPropertyStrong, 2, 1) \ F(KeyedGetProperty, 2, 1) \ F(KeyedGetPropertyStrong, 2, 1) \ + F(LoadGlobalViaContext, 1, 1) \ + F(StoreGlobalViaContext_Sloppy, 2, 1) \ + F(StoreGlobalViaContext_Strict, 2, 1) \ F(AddNamedProperty, 4, 1) \ F(SetProperty, 4, 1) \ F(AddElement, 3, 1) \ F(AppendElement, 2, 1) \ - F(DeleteProperty, 3, 1) \ + F(DeleteProperty_Sloppy, 2, 1) \ + F(DeleteProperty_Strict, 2, 1) \ F(HasOwnProperty, 2, 1) \ F(HasProperty, 2, 1) \ F(HasElement, 2, 1) \ F(IsPropertyEnumerable, 2, 1) \ - F(GetPropertyNames, 1, 1) \ F(GetPropertyNamesFast, 1, 1) \ F(GetOwnPropertyNames, 2, 1) \ F(GetOwnElementNames, 1, 1) \ @@ -456,7 +467,6 @@ namespace internal { F(GetIndexedInterceptorElementNames, 1, 1) \ F(OwnKeys, 1, 1) \ F(ToFastProperties, 1, 1) \ - F(ToBool, 1, 1) \ F(NewStringWrapper, 1, 1) \ F(AllocateHeapNumber, 0, 1) \ F(NewObject, 2, 1) \ @@ -478,12 +488,13 @@ namespace internal { F(MapGetInstanceType, 1, 1) \ F(ObjectEquals, 2, 1) \ F(IsObject, 1, 1) \ - F(IsUndetectableObject, 1, 1) \ F(IsSpecObject, 1, 1) \ F(IsStrong, 1, 1) \ F(ClassOf, 1, 1) \ F(DefineGetterPropertyUnchecked, 4, 1) \ F(DefineSetterPropertyUnchecked, 4, 1) \ + F(ToObject, 1, 1) \ + F(StrictEquals, 2, 1) \ F(IsAccessCheckNeeded, 1, 1) @@ -516,7 +527,6 @@ namespace internal { F(StringReplaceGlobalRegExpWithString, 4, 1) \ F(StringSplit, 3, 1) \ F(RegExpExec, 4, 1) \ - F(RegExpConstructResultRT, 3, 1) \ F(RegExpConstructResult, 3, 1) \ F(RegExpInitializeAndCompile, 3, 1) \ F(MaterializeRegExpLiteral, 4, 1) \ @@ -527,10 +537,11 @@ namespace internal { #define FOR_EACH_INTRINSIC_SCOPES(F) \ F(ThrowConstAssignError, 0, 1) \ - F(DeclareGlobals, 3, 1) \ + F(DeclareGlobals, 2, 1) \ F(InitializeVarGlobal, 3, 1) \ F(InitializeConstGlobal, 2, 1) \ - F(DeclareLookupSlot, 4, 1) \ + F(DeclareLookupSlot, 2, 1) \ + F(DeclareReadOnlyLookupSlot, 2, 1) \ F(InitializeLegacyConstLookupSlot, 3, 1) \ F(NewArguments, 1, 1) /* TODO(turbofan): Only temporary */ \ F(NewSloppyArguments, 3, 1) \ @@ -549,25 +560,195 @@ namespace internal { F(DeclareModules, 1, 1) \ F(DeleteLookupSlot, 2, 1) \ F(StoreLookupSlot, 4, 1) \ - F(GetArgumentsProperty, 1, 1) \ F(ArgumentsLength, 0, 1) \ F(Arguments, 1, 1) +#define FOR_EACH_INTRINSIC_SIMD(F) \ + F(IsSimdValue, 1, 1) \ + F(SimdToObject, 1, 1) \ + F(SimdEquals, 2, 1) \ + F(SimdSameValue, 2, 1) \ + F(SimdSameValueZero, 2, 1) \ + F(CreateFloat32x4, 4, 1) \ + F(CreateInt32x4, 4, 1) \ + F(CreateBool32x4, 4, 1) \ + F(CreateInt16x8, 8, 1) \ + F(CreateBool16x8, 8, 1) \ + F(CreateInt8x16, 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(Float32x4LessThan, 2, 1) \ + F(Float32x4LessThanOrEqual, 2, 1) \ + F(Float32x4GreaterThan, 2, 1) \ + F(Float32x4GreaterThanOrEqual, 2, 1) \ + F(Float32x4Equal, 2, 1) \ + F(Float32x4NotEqual, 2, 1) \ + F(Float32x4Select, 3, 1) \ + F(Float32x4Swizzle, 5, 1) \ + F(Float32x4Shuffle, 6, 1) \ + F(Float32x4FromInt32x4, 1, 1) \ + F(Float32x4FromInt32x4Bits, 1, 1) \ + F(Float32x4FromInt16x8Bits, 1, 1) \ + F(Float32x4FromInt8x16Bits, 1, 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(Int32x4ShiftRightLogicalByScalar, 2, 1) \ + F(Int32x4ShiftRightArithmeticByScalar, 2, 1) \ + F(Int32x4LessThan, 2, 1) \ + F(Int32x4LessThanOrEqual, 2, 1) \ + F(Int32x4GreaterThan, 2, 1) \ + F(Int32x4GreaterThanOrEqual, 2, 1) \ + F(Int32x4Equal, 2, 1) \ + F(Int32x4NotEqual, 2, 1) \ + F(Int32x4Select, 3, 1) \ + F(Int32x4Swizzle, 5, 1) \ + F(Int32x4Shuffle, 6, 1) \ + F(Int32x4FromFloat32x4, 1, 1) \ + F(Int32x4FromFloat32x4Bits, 1, 1) \ + F(Int32x4FromInt16x8Bits, 1, 1) \ + F(Int32x4FromInt8x16Bits, 1, 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(Bool32x4Equal, 2, 1) \ + F(Bool32x4NotEqual, 2, 1) \ + F(Bool32x4Swizzle, 5, 1) \ + F(Bool32x4Shuffle, 6, 1) \ + F(Int16x8Check, 1, 1) \ + F(Int16x8ExtractLane, 2, 1) \ + F(Int16x8UnsignedExtractLane, 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(Int16x8ShiftRightLogicalByScalar, 2, 1) \ + F(Int16x8ShiftRightArithmeticByScalar, 2, 1) \ + F(Int16x8LessThan, 2, 1) \ + F(Int16x8LessThanOrEqual, 2, 1) \ + F(Int16x8GreaterThan, 2, 1) \ + F(Int16x8GreaterThanOrEqual, 2, 1) \ + F(Int16x8Equal, 2, 1) \ + F(Int16x8NotEqual, 2, 1) \ + F(Int16x8Select, 3, 1) \ + F(Int16x8Swizzle, 9, 1) \ + F(Int16x8Shuffle, 10, 1) \ + F(Int16x8FromFloat32x4Bits, 1, 1) \ + F(Int16x8FromInt32x4Bits, 1, 1) \ + F(Int16x8FromInt8x16Bits, 1, 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(Bool16x8Equal, 2, 1) \ + F(Bool16x8NotEqual, 2, 1) \ + F(Bool16x8Swizzle, 9, 1) \ + F(Bool16x8Shuffle, 10, 1) \ + F(Int8x16Check, 1, 1) \ + F(Int8x16ExtractLane, 2, 1) \ + F(Int8x16UnsignedExtractLane, 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(Int8x16ShiftRightLogicalByScalar, 2, 1) \ + F(Int8x16ShiftRightArithmeticByScalar, 2, 1) \ + F(Int8x16LessThan, 2, 1) \ + F(Int8x16LessThanOrEqual, 2, 1) \ + F(Int8x16GreaterThan, 2, 1) \ + F(Int8x16GreaterThanOrEqual, 2, 1) \ + F(Int8x16Equal, 2, 1) \ + F(Int8x16NotEqual, 2, 1) \ + F(Int8x16Select, 3, 1) \ + F(Int8x16Swizzle, 17, 1) \ + F(Int8x16Shuffle, 18, 1) \ + F(Int8x16FromFloat32x4Bits, 1, 1) \ + F(Int8x16FromInt32x4Bits, 1, 1) \ + F(Int8x16FromInt16x8Bits, 1, 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(Bool8x16Equal, 2, 1) \ + F(Bool8x16NotEqual, 2, 1) \ + F(Bool8x16Swizzle, 17, 1) \ + F(Bool8x16Shuffle, 18, 1) + + #define FOR_EACH_INTRINSIC_STRINGS(F) \ F(StringReplaceOneCharWithString, 3, 1) \ F(StringIndexOf, 3, 1) \ F(StringLastIndexOf, 3, 1) \ F(StringLocaleCompare, 2, 1) \ - F(SubStringRT, 3, 1) \ F(SubString, 3, 1) \ - F(StringAddRT, 2, 1) \ F(StringAdd, 2, 1) \ F(InternalizeString, 1, 1) \ F(StringMatch, 3, 1) \ F(StringCharCodeAtRT, 2, 1) \ F(CharFromCode, 1, 1) \ - F(StringCompareRT, 2, 1) \ F(StringCompare, 2, 1) \ F(StringBuilderConcat, 3, 1) \ F(StringBuilderJoin, 3, 1) \ @@ -596,7 +777,6 @@ namespace internal { F(CreateSymbol, 1, 1) \ F(CreatePrivateSymbol, 1, 1) \ F(CreateGlobalPrivateSymbol, 1, 1) \ - F(NewSymbolWrapper, 1, 1) \ F(SymbolDescription, 1, 1) \ F(SymbolRegistry, 0, 1) \ F(SymbolIsPrivate, 1, 1) @@ -637,17 +817,8 @@ namespace internal { F(HasFastHoleyElements, 1, 1) \ F(HasDictionaryElements, 1, 1) \ F(HasSloppyArgumentsElements, 1, 1) \ - F(HasExternalArrayElements, 1, 1) \ + F(HasFixedTypedArrayElements, 1, 1) \ F(HasFastProperties, 1, 1) \ - F(HasExternalUint8Elements, 1, 1) \ - F(HasExternalInt8Elements, 1, 1) \ - F(HasExternalUint16Elements, 1, 1) \ - F(HasExternalInt16Elements, 1, 1) \ - F(HasExternalUint32Elements, 1, 1) \ - F(HasExternalInt32Elements, 1, 1) \ - F(HasExternalFloat32Elements, 1, 1) \ - F(HasExternalFloat64Elements, 1, 1) \ - F(HasExternalUint8ClampedElements, 1, 1) \ F(HasFixedUint8Elements, 1, 1) \ F(HasFixedInt8Elements, 1, 1) \ F(HasFixedUint16Elements, 1, 1) \ @@ -706,7 +877,37 @@ namespace internal { F(LoadLookupSlotNoReferenceError, 2, 2) +// Most intrinsics are implemented in the runtime/ directory, but ICs are +// implemented in ic.cc for now. +#define FOR_EACH_INTRINSIC_IC(F) \ + F(LoadIC_Miss, 3, 1) \ + F(KeyedLoadIC_Miss, 3, 1) \ + F(CallIC_Miss, 3, 1) \ + F(CallIC_Customization_Miss, 3, 1) \ + F(StoreIC_Miss, 3, 1) \ + F(StoreIC_Slow, 3, 1) \ + F(KeyedStoreIC_Miss, 3, 1) \ + F(KeyedStoreIC_Slow, 3, 1) \ + F(StoreCallbackProperty, 5, 1) \ + F(LoadPropertyWithInterceptorOnly, 3, 1) \ + F(LoadPropertyWithInterceptor, 3, 1) \ + F(LoadElementWithInterceptor, 2, 1) \ + F(StorePropertyWithInterceptor, 3, 1) \ + F(CompareIC_Miss, 3, 1) \ + F(BinaryOpIC_Miss, 2, 1) \ + F(CompareNilIC_Miss, 1, 1) \ + F(Unreachable, 0, 1) \ + F(ToBooleanIC_Miss, 1, 1) \ + F(KeyedLoadIC_MissFromStubFailure, 4, 1) \ + F(KeyedStoreIC_MissFromStubFailure, 3, 1) \ + F(StoreIC_MissFromStubFailure, 3, 1) \ + F(ElementsTransitionAndStoreIC_Miss, 4, 1) \ + F(BinaryOpIC_MissWithAllocationSite, 3, 1) \ + F(LoadIC_MissFromStubFailure, 0, 1) + + #define FOR_EACH_INTRINSIC_RETURN_OBJECT(F) \ + FOR_EACH_INTRINSIC_IC(F) \ FOR_EACH_INTRINSIC_ARRAY(F) \ FOR_EACH_INTRINSIC_ATOMICS(F) \ FOR_EACH_INTRINSIC_CLASSES(F) \ @@ -716,6 +917,7 @@ namespace internal { FOR_EACH_INTRINSIC_DEBUG(F) \ FOR_EACH_INTRINSIC_FORIN(F) \ FOR_EACH_INTRINSIC_FUNCTION(F) \ + FOR_EACH_INTRINSIC_FUTEX(F) \ FOR_EACH_INTRINSIC_GENERATOR(F) \ FOR_EACH_INTRINSIC_I18N(F) \ FOR_EACH_INTRINSIC_INTERNAL(F) \ @@ -729,6 +931,7 @@ namespace internal { 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) \ @@ -742,6 +945,12 @@ namespace internal { FOR_EACH_INTRINSIC_RETURN_OBJECT(F) +#define F(name, nargs, ressize) \ + Object* Runtime_##name(int args_length, Object** args_object, \ + Isolate* isolate); +FOR_EACH_INTRINSIC_RETURN_OBJECT(F) +#undef F + //--------------------------------------------------------------------------- // Runtime provides access to all C++ runtime functions. @@ -815,15 +1024,6 @@ class Runtime : public AllStatic { // Get the intrinsic function with the given function entry address. static const Function* FunctionForEntry(Address ref); - // TODO(1240886): Some of the following methods are *not* handle safe, but - // accept handle arguments. This seems fragile. - - // Support getting the characters in a string using [] notation as - // in Firefox/SpiderMonkey, Safari and Opera. - MUST_USE_RESULT static MaybeHandle<Object> GetElementOrCharAt( - Isolate* isolate, Handle<Object> object, uint32_t index, - LanguageMode language_mode = SLOPPY); - MUST_USE_RESULT static MaybeHandle<Object> DeleteObjectProperty( Isolate* isolate, Handle<JSReceiver> receiver, Handle<Object> key, LanguageMode language_mode); @@ -859,8 +1059,6 @@ class Runtime : public AllStatic { static void NeuterArrayBuffer(Handle<JSArrayBuffer> array_buffer); - static int FindIndexedNonNativeFrame(JavaScriptFrameIterator* it, int index); - enum TypedArrayId { // arrayIds below should be synchromized with typedarray.js natives. ARRAY_ID_UINT8 = 1, @@ -877,7 +1075,6 @@ class Runtime : public AllStatic { }; static void ArrayIdToTypeAndSize(int array_id, ExternalArrayType* type, - ElementsKind* external_elements_kind, ElementsKind* fixed_elements_kind, size_t* element_size); |