Skip to content

Instantly share code, notes, and snippets.

@totherik
Last active August 30, 2024 10:18
Show Gist options
  • Save totherik/3a4432f26eea1224ceeb to your computer and use it in GitHub Desktop.
Save totherik/3a4432f26eea1224ceeb to your computer and use it in GitHub Desktop.
v8 --allow-natives-syntax RuntimeFunctions
Per https://code.google.com/p/v8/codesearch#v8/trunk/src/runtime.cc
%CreateSymbol
%CreatePrivateSymbol
%CreateGlobalPrivateSymbol
%NewSymbolWrapper
%SymbolDescription
%SymbolRegistry
%SymbolIsPrivate
%CreateJSProxy
%CreateJSFunctionProxy
%IsJSProxy
%IsJSFunctionProxy
%GetHandler
%GetCallTrap
%GetConstructTrap
%Fix
%ArrayBufferInitialize
%ArrayBufferGetByteLength
%ArrayBufferSliceImpl
%ArrayBufferIsView
%ArrayBufferNeuter
%TypedArrayInitialize
%TypedArrayInitializeFromArrayLike
%TypedArrayGetBuffer
%TypedArraySetFastCases
%TypedArrayMaxSizeInHeap
%DataViewInitialize
%SetInitialize
%SetAdd
%SetHas
%SetDelete
%SetClear
%SetGetSize
%SetCreateIterator
%SetIteratorNext
%SetIteratorClose
%MapInitialize
%MapGet
%MapHas
%MapDelete
%MapClear
%MapSet
%MapGetSize
%MapCreateIterator
%MapIteratorNext
%MapIteratorClose
%WeakCollectionInitialize
%WeakCollectionGet
%WeakCollectionHas
%WeakCollectionDelete
%WeakCollectionSet
%ClassOf
%GetPrototype
%SetPrototype
%IsInPrototypeChain
%GetOwnProperty
%PreventExtensions
%IsExtensible
%RegExpCompile
%CreateApiFunction
%IsTemplate
%GetTemplateField
%DisableAccessChecks
%EnableAccessChecks
%SetAccessorProperty
%InitializeVarGlobal
%OptimizeObjectForAddingMultipleProperties
%RegExpInitializeObject
%FinishArrayPrototypeSetup
%SpecialArrayFunctions
%IsSloppyModeFunction
%GetDefaultReceiver
%FunctionGetName
%FunctionSetName
%FunctionNameShouldPrintAsAnonymous
%FunctionMarkNameShouldPrintAsAnonymous
%FunctionIsGenerator
%FunctionRemovePrototype
%FunctionGetScript
%FunctionGetSourceCode
%FunctionGetScriptSourcePosition
%FunctionGetPositionForOffset
%FunctionSetInstanceClassName
%FunctionSetLength
%FunctionSetPrototype
%FunctionSetReadOnlyPrototype
%FunctionIsAPIFunction
%FunctionIsBuiltin
%SetCode
%SetExpectedNumberOfProperties
%ObjectFreeze
%CharFromCode
%StringReplaceGlobalRegExpWithString
%StringReplaceOneCharWithString
%StringIndexOf
%StringLastIndexOf
%StringLocaleCompare
%StringMatch
%RegExpExecMultiple
%NumberToRadixString
%NumberToFixed
%NumberToExponential
%NumberToPrecision
%IsValidSmi
%GetProperty
%KeyedGetProperty
%DefineOrRedefineAccessorProperty
%DefineOrRedefineDataProperty
%GetDataProperty
%SetHiddenProperty
%SetProperty
%TransitionElementsKind
%SetNativeFlag
%SetInlineBuiltinFlag
%StoreArrayLiteralElement
%DebugCallbackSupportsStepping
%DebugPrepareStepInIfStepping
%DebugPendingExceptionInPromise
%IgnoreAttributesAndSetProperty
%DeleteProperty
%HasLocalProperty
%HasProperty
%HasElement
%IsPropertyEnumerable
%GetPropertyNames
%GetPropertyNamesFast
%GetLocalPropertyNames
%GetLocalElementNames
%GetInterceptorInfo
%GetNamedInterceptorPropertyNames
%GetIndexedInterceptorElementNames
%LocalKeys
%GetArgumentsProperty
%ToFastProperties
%ToBool
%Typeof
%StringToNumber
%NewString
%TruncateString
%URIEscape
%URIUnescape
%QuoteJSONString
%BasicJSONStringify
%StringParseInt
%StringParseFloat
%StringToLowerCase
%StringToUpperCase
%StringTrim
%StringSplit
%StringToArray
%NewStringWrapper
%NumberToInteger
%NumberToIntegerMapMinusZero
%NumberToJSUint32
%NumberToJSInt32
%NumberAdd
%NumberSub
%NumberMul
%NumberUnaryMinus
%NumberDiv
%NumberMod
%NumberImul
%StringBuilderConcat
%StringBuilderJoin
%SparseJoinWithSeparator
%NumberOr
%NumberAnd
%NumberXor
%NumberShl
%NumberShr
%NumberSar
%NumberEquals
%StringEquals
%NumberCompare
%SmiLexicographicCompare
%Math##Name
%DoubleHi
%DoubleLo
%ConstructDouble
%MathAtan2
%MathExp
%MathFloor
%RoundNumber
%MathSqrt
%MathFround
%DateMakeDay
%DateSetValue
%FunctionBindArguments
%BoundFunctionGetBindings
%NewObjectFromBound
%DeoptimizeFunction
%ClearFunctionTypeFeedback
%RunningInSimulator
%IsConcurrentRecompilationSupported
%OptimizeFunctionOnNextCall
%NeverOptimizeFunction
%GetOptimizationStatus
%UnblockConcurrentRecompilation
%GetOptimizationCount
%CompileForOnStackReplacement
%SetAllocationTimeout
%CheckIsBootstrapping
%GetRootNaN
%Call
%Apply
%GetFunctionDelegate
%GetConstructorDelegate
%IsJSModule
%TraceEnter
%TraceExit
%DebugPrint
%DebugTrace
%DateCurrentTime
%DateParseString
%DateLocalTimezone
%DateToUTC
%DateCacheVersion
%GlobalReceiver
%IsAttachedGlobal
%ParseJson
%CompileString
%PushIfAbsent
%ArrayConcat
%GlobalPrint
%RemoveArrayHoles
%MoveArrayContents
%EstimateNumberOfElements
%GetArrayKeys
%LookupAccessor
%DebugBreak
%SetDebugEventListener
%Break
%DebugGetPropertyDetails
%DebugGetProperty
%DebugPropertyTypeFromDetails
%DebugPropertyAttributesFromDetails
%DebugPropertyIndexFromDetails
%DebugNamedInterceptorPropertyValue
%DebugIndexedInterceptorElementValue
%CheckExecutionState
%GetFrameCount
%GetFrameDetails
%GetScopeCount
%GetStepInPositions
%GetScopeDetails
%GetAllScopesDetails
%GetFunctionScopeCount
%GetFunctionScopeDetails
%SetScopeVariableValue
%DebugPrintScopes
%GetThreadCount
%GetThreadDetails
%SetDisableBreak
%GetBreakLocations
%SetFunctionBreakPoint
%SetScriptBreakPoint
%ClearBreakPoint
%ChangeBreakOnException
%IsBreakOnException
%PrepareStep
%ClearStepping
%DebugEvaluate
%DebugEvaluateGlobal
%DebugGetLoadedScripts
%DebugReferencedBy
%DebugConstructedBy
%DebugGetPrototype
%DebugSetScriptSource
%SystemBreak
%DebugDisassembleFunction
%DebugDisassembleConstructor
%FunctionGetInferredName
%LiveEditFindSharedFunctionInfosForScript
%LiveEditGatherCompileInfo
%LiveEditReplaceScript
%LiveEditFunctionSourceUpdated
%LiveEditReplaceFunctionCode
%LiveEditFunctionSetScript
%LiveEditReplaceRefToNestedFunction
%LiveEditPatchFunctionPositions
%LiveEditCheckAndDropActivations
%LiveEditCompareStrings
%LiveEditRestartFrame
%GetFunctionCodePositionFromSource
%ExecuteInDebugContext
%SetFlags
%CollectGarbage
%GetHeapUsage
%CanonicalizeLanguageTag
%AvailableLocalesOf
%GetDefaultICULocale
%GetLanguageTagVariants
%IsInitializedIntlObject
%IsInitializedIntlObjectOfType
%MarkAsInitializedIntlObjectOfType
%GetImplFromInitializedIntlObject
%CreateDateTimeFormat
%InternalDateFormat
%InternalDateParse
%CreateNumberFormat
%InternalNumberFormat
%InternalNumberParse
%CreateCollator
%InternalCompare
%StringNormalize
%CreateBreakIterator
%BreakIteratorAdoptText
%BreakIteratorFirst
%BreakIteratorNext
%BreakIteratorCurrent
%BreakIteratorBreakType
%GetScript
%CollectStackTrace
%GetAndClearOverflowedStackTrace
%GetV8Version
%Abort
%AbortJS
%FlattenString
%NotifyContextDisposed
%LoadMutableDouble
%TryMigrateInstance
%MessageGetStartPosition
%MessageGetScript
%ListNatives
%IS_VAR
%HaveSameMap
%IsAccessCheckNeeded
%IsObserved
%SetIsObserved
%SetMicrotaskPending
%RunMicrotasks
%GetMicrotaskState
%GetObservationState
%ObservationWeakMapCreate
%IsAccessAllowedForObserver
%MaxSmi
@thoamsy
Copy link

thoamsy commented Oct 9, 2019

I found some functions are outdate like GetLocalPropertyNames, maybe the link is more authoritative

@jhmaster2000
Copy link

5 years later, the above link points to the master branch of V8, which is 3 years out of date and no longer used in favor of the main branch.

Here's the updated link: v8/v8@main:/src/runtime/runtime.h

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment