Module JS

Source

Modules§

Scalar
dbg
detail
shadow

Structs§

AllFrames
Capture all frames.
ArrayBuffer
ArrayBufferOrView
ArrayBufferView
AutoAssertGCCallback
Assert that code is only ever called from a GC callback, disable the static rooting hazard analysis and assert if any allocation that could potentially trigger a GC occurs while this guard object is live.
AutoAssertNoGC
Diagnostic assert (see MOZ_DIAGNOSTIC_ASSERT) that GC cannot occur while this class is live. This class does not disable the static rooting hazard analysis.
AutoBrittleMode
AutoCheckCannotGC
AutoClearTracingContext
AutoDebuggerJobQueueInterruption
[SMDOC] Protecting the debuggee’s job/microtask queue from debugger activity.
AutoDisableGenerationalGC
Ensure that generational GC is disabled within some scope.
AutoEnterCycleCollection
AutoFilename
AutoGCRooter
AutoHideScriptedCaller
AutoHoldPrincipals
AutoRequireNoGC
Pass a subclass of this “abstract” class to callees to require that they never GC. Subclasses can use assertions or the hazard analysis to ensure no GC happens.
AutoSaveExceptionState
Save and later restore the current exception state of a given JSContext. This is useful for implementing behavior in C++ that’s like try/catch or try/finally in JS.
AutoSetAsyncStackForNewCalls
Supply an alternative stack to incorporate into captured SavedFrame backtraces as the imputed caller of asynchronous JavaScript calls, like async function resumptions and DOM callbacks.
AutoStableStringChars
AutoSuppressGCAnalysis
AutoSuppressWarningReporter
A simple RAII class that clears the registered warning reporter on construction and restores it on destruction.
AutoTracingDetails
AutoTracingIndex
BigInt
BufferContentsDeleter
UniquePtr deleter for external buffer contents.
CallArgs
CallbackTracer
ClassInfo
ClippedTime
CloneDataPolicy
CodeSizes
Data for tracking JIT-code memory usage.
ColumnNumberOffset
ColumnNumberOneOrigin
ColumnNumberUnsignedOffset
Compartment
CompileOptions
Compilation options stored on the stack. An instance of this type simply holds references to dynamically allocated resources (element; filename; source map URL) that are owned by something else. If you create an instance of this type, it’s up to you to guarantee that everything you store in it will outlive it.
ConstLatin1Chars
ConstTwoByteChars
ConstUTF8CharsZ
ContextOptions
CustomAutoRooter
Custom rooting behavior for internal and external clients.
CustomAutoRooter__bindgen_vtable
DataView
DecodeOptions
DeletePolicy
Dispatchable
The Dispatchable interface allows the embedding to call SpiderMonkey on a JSContext thread when requested via DispatchToEventLoopCallback.
Dispatchable__bindgen_vtable
EnvironmentChain
JS::EnvironmentChain stores a list of objects to put on the environment chain.
Error
Type representing a JS error or exception. At the moment this only “represents” an error in a rather abstract way.
ErrorReportBuilder
ExceptionStack
ExpandoAndGeneration
FirstSubsumedFrame
Capture the first frame with the given principals. By default, do not consider self-hosted frames with the given principals as satisfying the stack capture.
ForOfIterator
A convenience class for imitating a JS for-of loop. Typical usage:
FreePolicy
GCBufferStats
GCCellPtr
A GC pointer, tagged with the trace kind.
GCContext
GCDescription
GCPointerPolicy
GCPolicy
GCSizes
Data for tracking GC memory usage.
GlobalStats
Measurements that not associated with any individual runtime.
Handle
Reference to a T that has been rooted elsewhere. This is most useful as a parameter type, which guarantees that the T lvalue is properly rooted. See “Move GC Stack Rooting” above.
HandleObjectVector
HandleValueArray
A generic handle to an array of rooted values.
HelperThreadStats
IgnoreGCPolicy
InstantiateOptions
Subset of CompileOptions fields used while instantiating Stencils.
InstantiationStorage
IsBaseTraceType
JSONParseHandler
Handler with callbacks for JS::ParseJSONWithHandler.
JSONParseHandler__bindgen_vtable
JSTimers
Timing information for telemetry purposes
JobQueue
Abstract base class for an ECMAScript Job Queue: https://www.ecma-international.org/ecma-262/9.0/index.html#sec-jobs-and-job-queues
JobQueue_SavedJobQueue
A saved job queue, represented however the JobQueue implementation pleases. Use AutoDebuggerJobQueueInterruption rather than trying to construct one of these directly; see documentation there.
JobQueue_SavedJobQueue__bindgen_vtable
JobQueue__bindgen_vtable
Latin1Chars
Latin1CharsZ
LimitedColumnNumberOneOrigin
LocaleString
MapTypeToRootKind
MapTypeToTraceKind
MaxFrames
Capture at most this many frames.
MutableHandle
Similar to a handle, but the underlying storage can be changed. This is useful for outparams.
MutableHandleIdVector
MutableHandleObjectVector
NonGCPointerPolicy
NotableClassInfo
Holds data about a notable class (one whose combined object and shape instances use more than a certain amount of memory) so we can report it individually.
NotableScriptSourceInfo
Holds data about a notable script source file (one whose combined script sources use more than a certain amount of memory) so we can report it individually.
NotableStringInfo
Holds data about a notable string (one which, counting all duplicates, uses more than a certain amount of memory) so we can report it individually.
OOM
ObjectOpResult
Per ES6, the [[DefineOwnProperty]] internal method has three different possible outcomes:
ObjectPrivateVisitor
ObjectPrivateVisitor__bindgen_vtable
OptimizedEncodingListener
The ConsumeStreamCallback is called from an active JSContext, passing a StreamConsumer that wishes to consume the given host object as a stream of bytes with the given MIME type. On failure, the embedding must report the appropriate error on ‘cx’. On success, the embedding must call consumer->consumeChunk() repeatedly on any thread until exactly one of:
OptimizedEncodingListener__bindgen_vtable
OwningCompileOptions
Compilation options, with dynamic lifetime. An instance of this type makes a copy of / holds / roots all dynamically allocated resources (principals; elements; strings) that it refers to. Its destructor frees / drops / unroots them. This is heavier than CompileOptions, below, but unlike CompileOptions, it can outlive any given stack frame.
OwningCompileOptions_ForFrontendContext
OwningDecodeOptions
PersistentRooted
A copyable, assignable global GC root type with arbitrary lifetime, an infallible constructor, and automatic unrooting on destruction.
PersistentRootedVector
PrefableCompileOptions
ProfilingCategoryPairInfo
PropertyAttributes
PropertyDescriptor
A structure that represents a property on an object, or the absence of a property. Use {,Mutable}Handle to interact with instances of this structure rather than interacting directly with member fields.
PropertyKey
RTPCallerTypeToken
ReadOnlyCompileOptions
The class representing a full set of compile options.
ReadOnlyDecodeOptions
Subset of CompileOptions fields used while decoding Stencils.
Realm
RealmBehaviors
RealmBehaviors specifies behaviors of a realm that can be changed after the realm’s been created.
RealmCreationOptions
RealmCreationOptions specifies options relevant to creating a new realm, that are either immutable characteristics of that realm or that are discarded after the realm has been created.
RealmOptions
RealmOptions specifies realm characteristics: both those that can’t be changed on a realm once it’s been created (RealmCreationOptions), and those that can be changed on an existing realm (RealmBehaviors).
RealmStats
RegExpFlag
Regular expression flag values, suitable for initializing a collection of regular expression flags as defined below in |RegExpFlags|. Flags are listed in alphabetical order by syntax – /d, /g, /i, /m, /s, /u, /v, /y.
RegExpFlags
A collection of regular expression flags. Individual flag values may be combined into a collection using bitwise operators.
RootingContext
Runtime
RuntimeSizes
These measurements relate directly to the JSRuntime, and not to zones, compartments, and realms within it.
RuntimeStats
RuntimeStats__bindgen_vtable
SafelyInitialized
SafelyInitialized::create() creates a safely-initialized |T|, suitable for use as a default value in situations requiring a safe but arbitrary |T| value. Implemented as a static method of a struct to allow partial specialization for subclasses via the Enable template parameter.
ScriptSourceInfo
This class holds information about the memory taken up by script sources from a particular file.
ServoSizes
These are the measurements used by Servo.
ShapeInfo
SliceBudget
SourceText
StreamConsumer
StreamConsumer__bindgen_vtable
StringInfo
This class holds information about the memory taken up by identical copies of a particular string. Multiple JSStrings may have their sizes aggregated together into one StringInfo object. Note that two strings with identical chars will not be aggregated together if one is a short string and the other is not.
StructGCPolicy
Symbol
TabSizes
TaggedColumnNumberOneOrigin
TenuredHeap
The TenuredHeap class is similar to the Heap class above in that it encapsulates the GC concerns of an on-heap reference to a JS object. However, it has two important differences:
TimeBudget
TraceOptions
TracingContext
TracingContext_Functor
TracingContext_Functor__bindgen_vtable
TranscodeSource
TransitiveCompileOptions
The common base class for the CompileOptions hierarchy.
TwoByteChars
TwoByteCharsZ
TypedArray_base
UTF8Chars
UTF8CharsZ
UnlimitedBudget
UnusedGCThingSizes
UnusedZero
Value
[SMDOC] JS::Value type
WasmFunctionIndex
WasmModule
The WasmModule interface allows the embedding to hold a reference to the underying C++ implementation of a JS WebAssembly.Module object for purposes of efficient postMessage() and (de)serialization from a random thread.
WasmModule__bindgen_vtable
WorkBudget
Zone
ZoneStats

Enums§

AsmJSOption
AutoGCRooterKind
AutoGCRooter_Kind
AutoSetAsyncStackForNewCalls_AsyncCallKind
CompartmentIterResult
An enum that JSIterateCompartmentCallback can return to indicate whether to keep iterating.
CompartmentSpecifier
Specification for which compartment/zone a newly created realm should use.
CompilationType
DOMProxyShadowsResult
DelazificationOption
Dispatchable_MaybeShuttingDown
ErrorReportBuilder_SniffingBehavior
Error_ErrorKind
ExceptionStackBehavior
ExceptionStatus
ForOfIterator_NonIterableBehavior
GCNurseryProgress
Describes the progress of an observed nursery collection.
GCOptions
GCProgress
GCReason
Handle_CallerIdentity
Handle_Disambiguator
HeapState
IsArrayAnswer
The answer to a successful query as to whether an object is an Array per ES6’s internal |IsArray| operation (as exposed by |Array.isArray|).
MemoryUse
MimeType
ModuleErrorBehaviour
ModuleType
NewArrayBufferOutOfMemory
Marker enum to notify callers that the buffer contents must be freed manually when the ArrayBuffer allocation failed.
ObjectOpResult_SpecialCodes
OnNewGlobalHookOption
During global creation, we fire notifications to callbacks registered via the Debugger API. These callbacks are arbitrary script, and can touch the global in arbitrary ways. When that happens, the global should not be in a half-baked state. But this creates a problem for consumers that need to set slots on the global to put it in a consistent state.
ProfilingCategory
ProfilingCategoryPair
PromiseRejectionHandlingState
PromiseState
PromiseUserInputEventHandlingState
PropertyAttribute
RootKind
RuntimeCode
SavedFrameResult
SavedFrameSelfHosted
ServoSizes_Kind
SmallestEncoding
SourceOwnership
StackKind
StructuredCloneScope
Indicates the “scope of validity” of serialized data.
SupportUnscopables
SymbolCode
TabSizes_Kind
TenuredHeap__bindgen_ty_1
TraceKind
TracerKind
TranscodeResult
TransferableOwnership
Values used to describe the ownership individual Transferables.
ValueType
WeakEdgeTraceAction
WeakMapTraceAction

Constants§

ForOfIterator_NOT_ARRAY
LimitedColumnNumberOneOrigin_Limit
NotableStringInfo_MAX_SAVED_CHARS
PropertyKey_IntMax
PropertyKey_IntMin
PropertyKey_IntTagBit
PropertyKey_StringTypeTag
PropertyKey_SymbolTypeTag
PropertyKey_TypeMask
PropertyKey_VoidTypeTag
RegExpFlag_AllFlags
All regular expression flags.
RegExpFlag_DotAll
RegExpFlag_Global
Act globally and find all matches (rather than stopping after just the first one), i.e. /g.
RegExpFlag_HasIndices
Add .indices property to the match result, i.e. /d
RegExpFlag_IgnoreCase
Interpret regular expression source text case-insensitively by folding uppercase letters to lowercase, i.e. /i.
RegExpFlag_Multiline
Treat ^ and $ as begin and end of line, i.e. /m.
RegExpFlag_NoFlags
No regular expression flags.
RegExpFlag_Sticky
Only match starting from .lastIndex, i.e. /y.
RegExpFlag_Unicode
Use Unicode semantics, i.e. /u.
RegExpFlag_UnicodeSets
Use Unicode Sets semantics, i.e. /v.
SliceBudget_StepsPerExpensiveCheck
SliceBudget_UnlimitedCounter
TaggedColumnNumberOneOrigin_WasmFunctionTag
TenuredHeap_flagsMask
TenuredHeap_maskBits
WasmFunctionIndex_DefaultBinarySourceColumnNumberOneOrigin
WasmFunctionIndex_Limit

Statics§

ArrayBuffer_FixedLengthSharedClass
ArrayBuffer_FixedLengthUnsharedClass
ArrayBuffer_GrowableSharedClass
ArrayBuffer_ResizableUnsharedClass
DataView_FixedLengthClassPtr
DataView_ResizableClassPtr
FalseHandleValue
NullHandleValue
TracingContext_InvalidIndex
TrueHandleValue
TypedArray_Scalar
TypedArray_base_fixedLengthClasses
TypedArray_base_resizableClasses
UndefinedHandleValue

Functions§

AbortCollectingDelazifications
AbortCollectingDelazifications1
AbortIncrementalGC
If IsIncrementalGCInProgress(cx), this call aborts the ongoing collection and performs whatever work needs to be done to return the collector to its idle state. This may take an arbitrarily long time. When this function returns, IsIncrementalGCInProgress(cx) will always be false.
AddAssociatedMemory
Advise the GC of external memory owned by a JSObject. This is used to determine when to collect zones. Calls must be matched by calls to RemoveAssociatedMemory() when the memory is deallocated or no longer owned by the object.
AddGCNurseryCollectionCallback
Add and remove nursery collection callbacks for the given runtime. These will be called at the start and end of every nursery collection.
AddPersistentRoot
AddPersistentRoot1
AddPromiseReactions
Unforgeable, optimized version of the JS builtin Promise.prototype.then.
AddPromiseReactionsIgnoringUnhandledRejection
Unforgeable, optimized version of the JS builtin Promise.prototype.then.
AddServoSizeOf
AddSizeOfTab
ArrayBufferClone
Copy data from one array buffer to another.
ArrayBufferCopyData
Copy data from one array buffer to another.
ArrayBufferHasData
Return true if the ArrayBuffer |obj| contains any data, i.e. it is not a detached ArrayBuffer. (ArrayBuffer.prototype is not an ArrayBuffer.)
AssertObjectBelongsToCurrentThread
Asserts (in debug and release builds) that obj belongs to the current thread’s context.
AtomsZoneIsCollecting
BigIntFitsNumber
Same as BigIntFits(), but checks if the value fits inside a JS Number value.
BigIntIsNegative
Return true if the given BigInt is negative.
BigIntToNumber
Convert the given BigInt to a Number value as if calling the Number constructor on it (https://tc39.es/ecma262/#sec-number-constructor-number-value). The value may be rounded if it doesn’t fit without loss of precision.
BigIntToString
Convert the given BigInt to a String value as if toString() were called on it.
BuildStackString
Given a SavedFrame JSObject stack, stringify it in the same format as Error.prototype.stack. The stringified stack out parameter is placed in the cx’s compartment. Defaults to the empty string.
Call
CallOriginalPromiseReject
Calls the current compartment’s original Promise.reject on the original Promise constructor, with resolutionValue passed as an argument.
CallOriginalPromiseResolve
Calls the current compartment’s original Promise.resolve on the original Promise constructor, with resolutionValue passed as an argument.
CallOriginalPromiseThen
Create a Promise with the given fulfill/reject handlers, that will be fulfilled/rejected with the value/reason that the promise promise is fulfilled/rejected with.
CaptureCurrentStack
Capture the current call stack as a chain of SavedFrame JSObjects, and set |stackp| to the SavedFrame for the youngest stack frame, or nullptr if there are no JS frames on the stack.
CheckCompileOptionsMatch
CheckRegExpSyntax
Check whether the given source is a valid regexp. If the regexp parses successfully, returns true and sets |error| to undefined. If the regexp has a syntax error, returns true, sets |error| to that error object, and clears the exception. Returns false on OOM or over-recursion.
ClearKeptObjects
Clear kept alive objects in JS WeakRef. https://tc39.es/proposal-weakrefs/#sec-clear-kept-objects
ClearModuleEnvironment
ClearModulePrivate
Clear the private value associated with a source text module record.
ClearRegExpStatics
CollectGlobalStats
CollectRuntimeStats
Compile
Compile the provided script using the given options. Return the script on success, or return null on failure (usually with an error reported).
Compile1
Compile the provided script using the given options. Return the script on success, or return null on failure (usually with an error reported).
CompileFunction
Compile a function with envChain plus the global as its scope chain. envChain must contain objects in the current compartment of cx. The actual scope chain used for the function will consist of With wrappers for those objects, followed by the current global of the compartment cx is in. This global must not be explicitly included in the scope chain.
CompileFunction1
Compile a function with envChain plus the global as its scope chain. envChain must contain objects in the current compartment of cx. The actual scope chain used for the function will consist of With wrappers for those objects, followed by the current global of the compartment cx is in. This global must not be explicitly included in the scope chain.
CompileFunctionUtf8
Identical to the CompileFunction overload above for UTF-8, but with Rust-friendly ergonomics.
CompileGlobalScriptToStencil
CompileGlobalScriptToStencil1
CompileJsonModule
Parse the given source buffer as a JSON module in the scope of the current global of cx and return a synthetic module record.
CompileJsonModule1
Parse the given source buffer as a JSON module in the scope of the current global of cx and return a synthetic module record. An error is reported if a UTF-8 encoding error is encountered.
CompileModule
Parse the given source buffer as a module in the scope of the current global of cx and return a source text module record.
CompileModule1
Parse the given source buffer as a module in the scope of the current global of cx and return a source text module record. An error is reported if a UTF-8 encoding error is encountered.
CompileModuleScriptToStencil
CompileModuleScriptToStencil1
CompileUtf8File
Compile the UTF-8 contents of the given file into a script. It is an error if the file contains invalid UTF-8. Return the script on success, or return null on failure (usually with an error reported).
CompileUtf8Path
Compile the UTF-8 contents of the file at the given path into a script. (The path itself is in the system encoding, not [necessarily] UTF-8.) It is an error if the file’s contents are invalid UTF-8. Return the script on success, or return null on failure (usually with an error reported).
Construct
Invoke a constructor. This is the C++ equivalent of rval = Reflect.construct(fun, args, newTarget).
Construct1
Invoke a constructor. This is the C++ equivalent of rval = new fun(...args).
ContainsSharedArrayBuffer
Returns true if there are any live SharedArrayBuffer objects, including those for wasm memories, associated with the context. This is conservative, because it does not run GC. Some dead objects may not have been collected yet and thus will be thought live.
ContextOptionsRef
ConvertSavedFrameToPlainObject
Given a SavedFrame object, convert it and its transitive parents to plain objects. Because SavedFrame objects store their properties on the prototype, they cannot be usefully stringified to JSON. Assigning their properties to plain objects allow those objects to be stringified and the saved frame stack can be encoded as a string.
CopyArrayBuffer
Create a new ArrayBuffer, whose bytes are set to the values of the bytes in the provided ArrayBuffer.
CreateMappedArrayBufferContents
Create memory mapped ArrayBuffer contents. Caller must take care of closing fd after calling this function.
CreateModuleRequest
CurrentGlobalOrNull
Get the current realm’s global. Returns nullptr if no realm has been entered.
DayFromTime
DayFromYear
DayWithinYear
DecodeStencil
DecodeStencil1
DeflateStringToUTF8Buffer
DetachArrayBuffer
Detach an ArrayBuffer, causing all associated views to no longer refer to the ArrayBuffer’s original attached memory.
DisableJitBackend
DisableSpectreMitigationsAfterInit
DisableWasmHugeMemory
Attempt to disable Wasm’s usage of reserving a large virtual memory allocation to avoid bounds checking overhead. This must be called before any Wasm module or memory is created in this process, or else this function will fail.
EncodeNarrowToUtf8
Encode a narrow multibyte character string to a UTF-8 string.
EncodeUtf8ToNarrow
Encode a UTF-8 string to a narrow multibyte character string.
EncodeUtf8ToWide
Encode a UTF-8 string to a wide string.
EncodeWideToUtf8
Encode a wide string to a UTF-8 string.
EnsureNonInlineArrayBufferOrView
EnterRealm
NB: This API is infallible; a nullptr return value does not indicate error.
Evaluate
Evaluate the given source buffer in the scope of the current global of cx, and return the completion value in |rval|.
Evaluate1
As above, but providing an explicit scope chain. envChain must not include the global object on it; that’s implicit. It needs to contain the other objects that should end up on the script’s scope chain.
Evaluate2
Evaluate the provided UTF-8 data in the scope of the current global of |cx|, and return the completion value in |rval|. If the data contains invalid UTF-8, an error is reported.
EvaluateUtf8Path
Evaluate the UTF-8 contents of the file at the given path, and return the completion value in |rval|. (The path itself is UTF-8 encoded, too.) If the contents contain any malformed UTF-8, an error is reported.
ExceptionStackOrNull
If the given object is an exception object (or an unwrappable cross-compartment wrapper for one), return the stack for that exception, if any. Will return null if the given object is not an exception object (including if it’s null or a security wrapper that can’t be unwrapped) or if the exception has no stack.
ExecuteRegExp
Execute a regexp on a given input, starting from |indexp|. Returns false on OOM or over-recursion.
ExecuteRegExpNoStatics
Execute a regexp on a given input, starting from |indexp|. This is the same as ExecuteRegExp, except it does not update the RegExp statics and can be called without a global object.
ExplainGCAbortReason
Get a statically allocated C string explaining the given Abort reason. Input is the integral value of the enum.
ExplainGCReason
Get a statically allocated C string explaining the given GC reason.
ExposeScriptToDebugger
FindSmallestEncoding
FinishCollectingDelazifications
FinishCollectingDelazifications1
FinishCollectingDelazifications2
FinishDynamicModuleImport
This must be called after a dynamic import operation is complete.
FinishIncrementalGC
If IsIncrementalGCInProgress(cx), this call finishes the ongoing collection by performing an arbitrarily long slice. If !IsIncrementalGCInProgress(cx), this is equivalent to NonIncrementalGC. When this function returns, IsIncrementalGCInProgress(cx) will always be false.
ForceLexicalInitialization
Set all of the uninitialized lexicals on an object to undefined. Return true if any lexicals were initialized and false otherwise.
GCThingTraceKind
GCTraceKindSize
Returns the base size in bytes of the GC thing of kind |kind|.
GCTraceKindToAscii
Returns a static string equivalent of |kind|.
GetArrayBufferByteLength
Return the available byte length of an ArrayBuffer.
GetArrayBufferData
Return a pointer to the start of the data referenced by a typed array. The data is still owned by the typed array, and should not be modified on another thread. Furthermore, the pointer can become invalid on GC (if the data is small and fits inside the array’s GC header), so callers must take care not to hold on across anything that could GC.
GetArrayBufferLengthAndData
GetArrayBufferMaybeSharedData
Return a pointer to the start of the array buffer’s data, and indicate whether the data is from a shared array buffer through an outparam.
GetArrayBufferMaybeSharedLengthAndData
Get the length, sharedness, and data from an ArrayBufferMaybeShared subtypes.
GetArrayLength
Store |*lengthp = ToLength(obj.length)| and return true on success, else return false.
GetBuiltinClass
Determine the ECMAScript “class” – Date, String, RegExp, and all the other builtin object types (described in ECMAScript in terms of an objecting having “an [[ArrayBufferData]] internal slot” or similar language for other kinds of object – of the provided object.
GetCurrentRealmOrNull
GetDebuggerObservesWasm
GetDeflatedUTF8StringLength
GetFirstArgumentAsTypeHint
If args.get(0) is one of the strings “string”, “number”, or “default”, set result to JSTYPE_STRING, JSTYPE_NUMBER, or JSTYPE_UNDEFINED accordingly and return true. Otherwise, return false with a TypeError pending.
GetFunctionRealm
GetGCPhaseName
Get a statically allocated C string describing the Phase. Input is the integral value of the enum.
GetIsSecureContext
GetJSTimers
GetModuleDynamicImportHook
Get the HostImportModuleDynamically hook for the runtime.
GetModuleEnvironment
GetModuleForNamespace
GetModuleMetadataHook
Get the hook for populating the import.meta metadata object.
GetModuleNamespace
GetModuleObject
GetModuleRequestSpecifier
GetModuleRequestType
GetModuleResolveHook
Get the HostResolveImportedModule hook for the runtime.
GetModuleScript
GetNonCCWObjectGlobal
Get the global object associated with an object’s realm. The object must not be a cross-compartment wrapper (because CCWs are shared by all realms in the compartment).
GetNurseryCellZone
GetObjectAsArrayBuffer
Attempt to unwrap |obj| as an ArrayBuffer.
GetObjectRealmOrNull
GetObjectZone
GetPendingExceptionStack
GetProfilingCategoryPairInfo
GetPromiseAllocationSite
Returns a js::SavedFrame linked list of the stack that lead to the given Promise’s allocation.
GetPromiseConstructor
Returns the current compartment’s original Promise constructor.
GetPromiseID
Returns the given Promise’s process-unique ID.
GetPromiseIsHandled
Returns whether the given promise’s rejection is already handled or not.
GetPromisePrototype
Returns the current compartment’s original Promise.prototype.
GetPromiseResolutionSite
GetPromiseState
Returns the given Promise’s state as a JS::PromiseState enum value.
GetPromiseUserInputEventHandlingState
Returns the given Promise’s activation behavior state flag per above as a JS::PromiseUserInputEventHandlingState value. All promises are created with the DontCare state by default.
GetRealmArrayPrototype
GetRealmAsyncIteratorPrototype
GetRealmErrorPrototype
GetRealmFunctionPrototype
GetRealmFunctionPrototypeHandle
GetRealmGlobalOrNull
GetRealmIteratorPrototype
GetRealmKeyObject
GetRealmObjectPrototype
GetRealmObjectPrototypeHandle
GetRealmPrincipals
GetRealmPrivate
GetReduceMicrosecondTimePrecisionCallback
GetRegExpSource
Return the source text for a RegExp object (or a wrapper around one), or null on failure.
GetRequestedModuleSourcePos
GetRequestedModuleSpecifier
GetRequestedModuleType
GetRequestedModulesCount
GetSavedFrameAsyncCause
Given a SavedFrame JSObject, get its asyncCause string. Defaults to nullptr.
GetSavedFrameAsyncParent
Given a SavedFrame JSObject, get its asyncParent SavedFrame object or nullptr if there is no asyncParent. The asyncParentp out parameter is NOT guaranteed to be in the cx’s compartment. Defaults to nullptr.
GetSavedFrameColumn
Given a SavedFrame JSObject, get its column property. Defaults to 0.
GetSavedFrameFunctionDisplayName
Given a SavedFrame JSObject, get its functionDisplayName string, or nullptr if SpiderMonkey was unable to infer a name for the captured frame’s function. Defaults to nullptr.
GetSavedFrameLine
Given a SavedFrame JSObject, get its line property (1-origin). Defaults to 0.
GetSavedFrameParent
Given a SavedFrame JSObject, get its parent SavedFrame object or nullptr if it is the oldest frame in the stack. The parentp out parameter is NOT guaranteed to be in the cx’s compartment. Defaults to nullptr.
GetSavedFrameSource
Given a SavedFrame JSObject, get its source property. Defaults to the empty string.
GetSavedFrameSourceId
Given a SavedFrame JSObject, get an ID identifying its ScriptSource. Defaults to 0.
GetScriptedCallerGlobal
GetSelfHostedFunction
GetSharedArrayBufferByteLength
GetSharedArrayBufferData
GetSharedArrayBufferLengthAndData
GetSymbolCode
Return the SymbolCode telling what sort of symbol symbol is.
GetSymbolDescription
Get the [[Description]] attribute of the given symbol.
GetSymbolFor
Symbol.for as specified in ES6.
GetTenuredGCThingZone
GetWaitForAllPromise
Unforgeable version of the JS builtin Promise.all.
GetWarningReporter
GetWasmModule
GetWeakMapEntry
GetWellKnownSymbol
Get one of the well-known symbols defined by ES6. A single set of well-known symbols is shared by all compartments in a JSRuntime.
GetWellKnownSymbolKey
Get one of the well-known symbols defined by ES6 as PropertyKey. This is equivalent to calling JS::GetWellKnownSymbol and then creating a PropertyKey.
HasDefinedArrayBufferDetachKey
HeapBigIntWriteBarriers
HeapObjectPostWriteBarrier
HeapObjectWriteBarriers
HeapScriptWriteBarriers
HeapStringWriteBarriers
HeapValuePostWriteBarrier
HeapValueWriteBarriers
HideScriptedCaller
Informs the JS engine that the scripted caller should be hidden. This can be used by the embedding to maintain an override of the scripted caller in its calculations, by hiding the scripted caller in the JS engine and pushing data onto a separate stack, which it inspects when DescribeScriptedCaller returns null.
IdentifyStandardConstructor
IdentifyStandardInstance
IdentifyStandardInstanceOrPrototype
IdentifyStandardPrototype
IncrementalGCHasForegroundWork
Return whether an incremental GC has work to do on the foreground thread and would make progress if a slice was run now. If this returns false then the GC is waiting for background threads to finish their work and a slice started now would return immediately.
IncrementalGCSlice
Perform a slice of an ongoing incremental collection. When this function returns, the collection may not be complete. It must be called repeatedly until !IsIncrementalGCInProgress(cx).
IncrementalPreWriteBarrier
IncrementalPreWriteBarrier1
InformalValueTypeName
InitConsumeStreamCallback
InitDispatchsToEventLoop
InitRealmStandardClasses
InitSelfHostedCode
InstantiateGlobalStencil
InstantiateModuleStencil
InternalGCReason
Return true if the GC reason is internal to the JS engine.
IsArray
ES6 7.2.2.
IsArray1
Identical to IsArray above, but the nature of the object (if successfully determined) is communicated via |*answer|. In particular this method returns true and sets |*answer = IsArrayAnswer::RevokedProxy| when called on a revoked proxy.
IsArrayBufferObject
IsArrayBufferObjectMaybeShared
Check whether obj supports the JS::GetArrayBufferMaybeShared* APIs. Note that this may return false if a security wrapper is encountered that denies the unwrapping. If this test succeeds, then it is safe to call the various predicate and accessor JSAPI calls defined below.
IsArrayBufferViewShared
Return the isShared flag of a ArrayBufferView subtypes, which denotes whether the underlying buffer is a SharedArrayBuffer.
IsArrayObject
Determine whether |value| is an Array object or a wrapper around one. (An ES6 proxy whose target is an Array object, e.g. |var target = [], handler = {}; Proxy.revocable(target, handler).proxy|, is not considered to be an Array.)
IsArrayObject1
Determine whether |obj| is an Array object or a wrapper around one. (An ES6 proxy whose target is an Array object, e.g. |var target = [], handler = {}; Proxy.revocable(target, handler).proxy|, is not considered to be an Array.)
IsAsyncStackCaptureEnabledForRealm
Returns true if capturing stack trace data to associate with an asynchronous operation is currently enabled for the current context realm.
IsAtomsZone
IsCallable
Return true if the given object is callable. In ES6 terms, an object is callable if it has a [Call] internal method.
IsConstructor
Return true if the given object is a constructor. In ES6 terms, an object is a constructor if it has a [Construct] internal method. The expression new obj() throws a TypeError if obj is not a constructor.
IsCyclicModule
Checks if the given module is a cyclic module.
IsDetachedArrayBufferObject
Check whether the obj is a detached ArrayBufferObject. Note that this may return false if a security wrapper is encountered that denies the unwrapping.
IsGCPoisoning
Whether we are poisoning unused/released data for error detection. Governed by the JS_GC_ALLOW_EXTRA_POISONING #ifdef as well as the javascript.options.extra_gc_poisoning pref.
IsGCScheduled
Returns true if any zone in the system has been scheduled for GC with one of the functions above or by the JS engine.
IsGenerationalGCEnabled
Returns true if generational allocation and collection is currently enabled on the given runtime.
IsISOStyleDate
IsIncrementalBarrierNeeded
IsIncrementalGCEnabled
Returns true if incremental GC is enabled. Simply having incremental GC enabled is not sufficient to ensure incremental collections are happening. See the comment “Incremental GC” above for reasons why incremental GC may be suppressed. Inspection of the “nonincremental reason” field of the GCDescription returned by GCSliceCallback may help narrow down the cause if collections are not happening incrementally when expected.
IsIncrementalGCInProgress
Returns true while an incremental GC is ongoing, both when actively collecting and between slices.
IsIncrementalGCInProgress1
Returns true while an incremental GC is ongoing, both when actively collecting and between slices.
IsLargeArrayBufferMaybeShared
Returns whether the passed array buffer is ‘large’: its byteLength >= 2 GB.
IsLargeArrayBufferView
IsMapObject
On success, returns true, setting |*isMap| to true if |obj| is a Map object or a wrapper around one, or to false if not. Returns false on failure.
IsMappedArrayBufferObject
Check whether the obj is ArrayBufferObject and memory mapped. Note that this may return false if a security wrapper is encountered that denies the unwrapping.
IsMaybeWrappedSavedFrame
Return true iff the given object is either a SavedFrame object or wrapper around a SavedFrame object, and it is not the SavedFrame.prototype object.
IsProfileTimelineRecordingEnabled
IsPromiseObject
Returns true if the given object is an unwrapped PromiseObject, false otherwise.
IsResizableArrayBufferMaybeShared
Returns whether the passed array buffer is resizable or growable for shared array buffers.
IsResizableArrayBufferView
IsSetObject
On success, returns true, setting |*isSet| to true if |obj| is a Set object or a wrapper around one, or to false if not. Returns false on failure.
IsSharedArrayBufferObject
Check whether obj supports the JS::GetSharedArrayBuffer* APIs. Note that this may return false if a security wrapper is encountered that denies the unwrapping. If this test succeeds, then it is safe to call the various accessor JSAPI calls defined below.
IsStencilCacheable
IsUnwrappedSavedFrame
Return true iff the given object is a SavedFrame object and not the SavedFrame.prototype object.
IsValidJSON
Returns true if the given text is valid JSON.
IsValidJSON1
IsWasmModuleObject
IsWeakMapObject
IterateRealms
This function calls |realmCallback| on every realm. Beware that there is no guarantee that the realm will survive after the callback returns. Also, barriers are disabled via the TraceSession.
IterateRealmsInCompartment
Like IterateRealms, but only iterates realms in |compartment|.
IterateRealmsWithPrincipals
Like IterateRealms, but only call the callback for realms using |principals|.
JobQueueIsEmpty
Inform the runtime that the job queue is empty and the embedding is going to execute its last promise job. The runtime may now choose to skip creating promise jobs for asynchronous execution and instead continue execution synchronously. More specifically, this optimization is used to skip the standard job queuing behavior for await operations in async functions.
JobQueueMayNotBeEmpty
Inform the runtime that job queue is no longer empty. The runtime can now no longer skip creating promise jobs for asynchronous execution, because pending jobs in the job queue must be executed first to preserve the FIFO (first in - first out) property of the queue. This effectively undoes JobQueueIsEmpty and re-enables the standard job queuing behavior.
LeaveRealm
LooselyEqual
Store |v1 == v2| to |*equal| – loose equality, which may perform user-modifiable conversions on |v1| or |v2|.
LossyTwoByteCharsToNewLatin1CharsZ
LossyUTF8CharsToNewTwoByteCharsZ
MakeDate
MakeDate1
MapClear
MapDelete
MapEntries
MapForEach
MapGet
MapHas
MapKeys
MapSet
MapSize
MapValues
MaybeFreezeCtorAndPrototype
MaybeRunNurseryCollection
Check whether the nursery should be eagerly collected as per WantEagerMajorGC above, and if so run a collection.
MinorGcToJSON
ModuleEvaluate
ModuleIsLinked
ModuleLink
MonthFromTime
NewArrayBuffer
Create a new ArrayBuffer with the given byte length.
NewArrayBufferWithUserOwnedContents
Create a new ArrayBuffer with the given non-null |contents|.
NewArrayObject
Create an Array from the current realm with the given contents.
NewArrayObject1
Create an Array from the current realm with the given length and allocate memory for all its elements. (The elements nonetheless will not exist as properties on the returned array until values have been assigned to them.)
NewDateObject
NewDateObject1
Create a new Date object for a year/month/day-of-month/hour/minute/second.
NewFunctionFromSpec
Create a new function based on the given JSFunctionSpec, *fs. id is the result of a successful call to PropertySpecNameToId(cx, fs->name, &id) or PropertySpecNameToPermanentId(cx, fs->name, &id).
NewFunctionFromSpec1
Same as above, but without an id arg, for callers who don’t have the id already.
NewMapObject
NewMappedArrayBufferWithContents
Create a new mapped ArrayBuffer with the given memory mapped contents. It must be legal to free the contents pointer by unmapping it. On success, ownership is transferred to the new mapped ArrayBuffer.
NewPromiseObject
Returns a new instance of the Promise builtin class in the current compartment, with the right slot layout.
NewRegExpObject
Create a new RegExp for the given Latin-1-encoded bytes and flags.
NewSetObject
NewSharedArrayBuffer
Create a new SharedArrayBuffer with the given byte length. This may only be called if JS::RealmCreationOptionsRef(cx).getSharedMemoryAndAtomicsEnabled() is true.
NewStringFromKnownLiveLatin1Buffer
Like NewStringFromLatin1Buffer, but can be used to avoid refcounting overhead in cases where the returned string doesn’t use the buffer. The caller must ensure the buffer outlives this call.
NewStringFromKnownLiveTwoByteBuffer
Similar to NewStringFromKnownLiveLatin1Buffer but for char16_t buffers.
NewStringFromKnownLiveUTF8Buffer
Like NewStringFromUTF8Buffer, but can be used to avoid refcounting overhead in cases where the returned string doesn’t use the buffer. The caller must ensure the buffer outlives this call.
NewStringFromLatin1Buffer
Create a new JSString possibly backed by |buffer|. The contents of |buffer| will be interpreted as an array of Latin1 characters.
NewStringFromTwoByteBuffer
Similar to NewStringFromLatin1Buffer but for char16_t buffers.
NewStringFromUTF8Buffer
Similar to NewStringFromLatin1Buffer but for UTF8 buffers.
NewSymbol
Create a new Symbol with the given description. This function never returns a Symbol that is in the Runtime-wide symbol registry.
NewUCRegExpObject
Create a new RegExp for the given source and flags.
NewWeakMapObject
NonIncrementalGC
Performs a non-incremental collection of all selected zones.
NotifyGCRootsRemoved
NumberToBigInt
Create a BigInt from a floating-point value. If the number isn’t integral (that is, if it’s NaN, an infinity, or contains a fractional component), this function returns null and throws an exception.
NumberToString
Store in |out| the null-terminated, base-10 result of |ToString| applied to |d| per https://tc39.es/ecma262/#sec-tostring-applied-to-the-number-type. (This will produce “NaN”, “-Infinity”, or “Infinity” for non-finite |d|.)
ObjectIsDate
On success, returns true, setting |*isDate| to true if |obj| is a Date object or a wrapper around one, or to false if not. Returns false on failure.
ObjectIsRegExp
On success, returns true, setting |*isRegExp| to true if |obj| is a RegExp object or a wrapper around one, or to false if not. Returns false on failure.
OrdinaryHasInstance
OrdinaryToPrimitive
ES6 draft 20141224, 7.1.1, second algorithm.
ParseJSONWithHandler
Performs the JSON.parse operation as specified by ECMAScript, and call callbacks defined by the handler.
ParseJSONWithHandler1
PeakSizeOfTemporary
PinArrayBufferOrViewLength
PrepareForFullGC
Schedule all zones to be collected in the next GC.
PrepareForIncrementalGC
When performing an incremental GC, the zones that were selected for the previous incremental slice must be selected in subsequent slices as well. This function selects those slices automatically.
PrepareZoneForGC
Schedule the given zone to be collected as part of the next GC.
PrintError
PrintError1
PropertySpecNameEqualsId
PropertySpecNameToPermanentId
Create a jsid that does not need to be marked for GC.
ProtoKeyToId
RealmBehaviorsRef
RealmBehaviorsRef1
RealmCreationOptionsRef
RealmCreationOptionsRef1
RejectPromise
Rejects the given promise with the given rejectionValue.
ReleaseMappedArrayBufferContents
Release the allocated resource of mapped ArrayBuffer contents before the object is created. If a new object has been created by JS::NewMappedArrayBufferWithContents() with this content, then JS::DetachArrayBuffer() should be used instead to release the resource used by the object.
RemoveAssociatedMemory
Advise the GC that external memory reported by JS::AddAssociatedMemory() is no longer owned by a JSObject. Calls must match those to AddAssociatedMemory().
RemoveGCNurseryCollectionCallback
ReportUncatchableException
An uncatchable exception is used to terminate execution by returning false or nullptr without reporting a pending exception on the context. These exceptions are called “uncatchable” because try-catch can’t be used to catch them.
ResetRealmMathRandomSeed
Reset the seed for Math.random() within the current realm.
ResetTimeZone
Re-query the system to determine the current time zone adjustment from UTC, including any component due to DST. If the time zone has changed, this will cause all Date object non-UTC methods and formatting functions to produce appropriately adjusted results.
ResolvePromise
Resolves the given Promise with the given resolutionValue.
RunNurseryCollection
RuntimeHeapState
SameValue
Stores |SameValue(v1, v2)| to |*equal| – using the SameValue operation defined in ECMAScript, initially exposed to script as |Object.is|. SameValue behaves identically to strict equality, except that it equates two NaN values and does not equate differently-signed zeroes. It performs no conversions on |v1| or |v2| before comparing.
SetAVXEnabled
SetAdd
SetAnyPromiseIsHandled
SetArrayLength
Perform |obj.length = length| as if in strict mode code, with a fast path for the case where |obj| is an Array.
SetBrittleMode
Transition the cx to a mode where failures that would normally cause a false return value will instead crash with a diagnostic assertion.
SetClear
SetCreateGCSliceBudgetCallback
Called when generating a GC slice budget. It allows the embedding to control the duration of slices and potentially check an interrupt flag as well. For internally triggered GCs, the given millis parameter is the JS engine’s internal scheduling decision, which the embedding can choose to ignore. (Otherwise, it will be the value that was passed to eg JS::IncrementalGCSlice()).
SetDOMProxyInformation
SetDelete
SetDestroyRealmCallback
SetDoCycleCollectionCallback
The purge gray callback is called after any COMPARTMENT_REVIVED GC in which the majority of compartments have been marked gray.
SetEntries
SetFilenameValidationCallback
SetForEach
SetGCSliceCallback
The GC slice callback is called at the beginning and end of each slice. This callback may be used for GC notifications as well as to perform additional marking.
SetHas
SetHostCleanupFinalizationRegistryCallback
SetHostEnsureCanAddPrivateElementHook
SetJobQueue
Tell SpiderMonkey to use queue to schedule promise reactions.
SetKeys
SetLowMemoryState
SetModuleDynamicImportHook
Set the HostImportModuleDynamically hook for the runtime to the given function.
SetModuleMetadataHook
Set the hook for populating the import.meta metadata object to the given function.
SetModulePrivate
Set a private value associated with a source text module record.
SetModuleResolveHook
Set the HostResolveImportedModule hook for the runtime to the given function.
SetOutOfMemoryCallback
SetPendingExceptionStack
SetProcessBuildIdOp
Embedder hook to set the buildId-generating function.
SetProcessLargeAllocationFailureCallback
SetProfileTimelineRecordingEnabled
Tell JS engine whether Profile Timeline Recording is enabled or not. If Profile Timeline Recording is enabled, data shown there like stack won’t be optimized out. This is global state and not associated with specific runtime or context.
SetProfilingThreadCallbacks
SetPromiseRejectionTrackerCallback
Sets the callback that’s invoked whenever a Promise is rejected without a rejection handler, and when a Promise that was previously rejected without a handler gets a handler attached.
SetPromiseUserInputEventHandlingState
Sets the given Promise’s activation behavior state flag per above as a JS::PromiseUserInputEventHandlingState value.
SetRealmNameCallback
SetRealmNonLive
SetRealmPrincipals
SetRealmPrivate
SetRealmReduceTimerPrecisionCallerType
SetReduceMicrosecondTimePrecisionCallback
SetRegExpInput
SetScriptPrivate
Set a private value associated with a script. Note that this value is shared by all nested scripts compiled from a single source file.
SetScriptPrivateReferenceHooks
Set the script private finalize hook for the runtime to the given function.
SetSettledPromiseIsHandled
SetSize
SetTimeResolutionUsec
SetValues
SetWaitCallback
SetWarningReporter
SetWeakMapEntry
ShutdownAsyncTasks
When a JSRuntime is destroyed it implicitly cancels all async tasks in progress, releasing any roots held by the task. However, this is not soon enough for cycle collection, which needs to have roots dropped earlier so that the cycle collector can transitively remove roots for a future GC. For these and other cases, the set of pending async tasks can be canceled with this call earlier than JSRuntime destruction.
SimpleStringToBigInt
Create a BigInt by parsing a string consisting of an optional sign character followed by one or more alphanumeric ASCII digits in the provided radix.
SizeOfStencil
SkipZoneForGC
Undoes the effect of the Prepare methods above. The given zone will not be collected in the next GC.
StartCollectingDelazifications
StartCollectingDelazifications1
StartIncrementalGC
Begin an incremental collection and perform one slice worth of work. When this function returns, the collection may not be complete. IncrementalGCSlice() must be called repeatedly until !IsIncrementalGCInProgress(cx).
StealArrayBufferContents
Steal the contents of the given ArrayBuffer. The ArrayBuffer has its length set to 0 and its contents array cleared. The caller takes ownership of the return value and must free it or transfer ownership via JS::NewArrayBufferWithContents when done using it.
StealPendingExceptionStack
StencilAddRef
StencilIsBorrowed
StencilRelease
StrictlyEqual
Store |v1 === v2| to |*equal| – strict equality, which performs no conversions on |v1| or |v2| before comparing.
StringIsASCII
StringIsASCII1
StringToBigInt
Create a BigInt by parsing a string using the ECMAScript StringToBigInt algorithm (https://tc39.es/ecma262/#sec-stringtobigint). Latin1 and two-byte character ranges are supported. It may be convenient to use JS::ConstLatin1Chars or JS::ConstTwoByteChars.
StringToBigInt1
SystemCompartmentCount
SystemRealmCount
ThrowOnModuleEvaluationFailure
ToBigInt
Convert a JS::Value to a BigInt using the ECMAScript ToBigInt algorithm (https://tc39.es/ecma262/#sec-tobigint).
ToBigInt64
Convert the given BigInt, modulo 2**64, to a signed 64-bit integer.
ToBigUint64
Convert the given BigInt, modulo 2**64, to an unsigned 64-bit integer.
ToCompletePropertyDescriptor
ToGetterId
Generate getter/setter id for given id, by adding “get “ or “set “ prefix.
ToJSON
Performs the JSON.stringify operation, as specified by ECMAScript, except writing stringified data by one call of |callback|, passing |data| as argument.
ToJSONMaybeSafely
An API akin to JS_Stringify but with the goal of not having observable side-effects when the stringification is performed. This means it does not allow a replacer or a custom space and has the following constraints on its input:
ToPrimitive
Convert obj to a primitive value. On success, store the result in vp and return true.
ToSetterId
TraceChildren
TraceRoot
TraceRoot1
TraceRoot2
TraceRoot3
TraceRoot4
TraceRoot5
TraceRoot6
TraceRoot7
TraceRoot8
TraceRoot9
TraceRoot10
TraceRoot11
TraceRoot12
UTF8CharsToNewLatin1CharsZ
UTF8CharsToNewTwoByteCharsZ
UnhideScriptedCaller
UnmarkGrayGCThingRecursively
Unsets the gray bit for anything reachable from |thing|. |kind| should not be JS::TraceKind::Shape. |thing| should be non-null. The return value indicates if anything was unmarked.
UnwrapArrayBuffer
UnwrapArrayBufferMaybeShared
UnwrapSharedArrayBuffer
UpdateDebugMetadata
UserCompartmentCount
UserRealmCount
Utf8ToOneUcs4Char
WantEagerMajorGC
WantEagerMinorGC
Check whether the nursery should be eagerly collected, this is before it is full.
WarnASCII
Report a warning represented by the sprintf-like conversion of ASCII format filled from trailing ASCII arguments.
WarnLatin1
Report a warning represented by the sprintf-like conversion of Latin-1 format filled from trailing Latin-1 arguments.
WarnUTF8
Report a warning represented by the sprintf-like conversion of UTF-8 format filled from trailing UTF-8 arguments.
WasIncrementalGC
Returns true if the most recent GC ran incrementally.
YearFromTime

Type Aliases§

AfterWaitCallback
ArrayBufferOrView_DataType
AutoRooterListHeads
EnumeratedArray is a fixed-size array container for use when an array is indexed by a specific enum class.
BeforeWaitCallback
BigInt64Array
BigUint64Array
BufferContentsFreeFunc
BuildIdCharVector
Vector of characters used for holding build ids.
BuildIdOp
Return the buildId (represented as a sequence of characters) associated with the currently-executing build. If the JS engine is embedded such that a single cache entry can be observed by different compiled versions of the JS engine, it is critical that the buildId shall change for each new build of the JS engine.
ColumnNumberOneOrigin_Base
ConstCharPtr
ConstLatin1Chars_Base
ConstLatin1Chars_CharT
ConstTwoByteChars_Base
ConstTwoByteChars_CharT
ConstUTF8CharsZ_CharT
ConsumeStreamCallback
CreateSliceBudgetCallback
DOMProxyShadowsCheck
DelayedDispatchToEventLoopCallback
DestroyRealmCallback
DispatchToEventLoopCallback
Callbacks to dispatch a JS::Dispatchable to a JSContext’s thread’s event loop.
DoCycleCollectionCallback
EnsureCanAddPrivateElementOp
Install an context wide callback that implements the ECMA262 specification host hook HostEnsureCanAddPrivateElement.
FilenameValidationCallback
Install a process-wide callback to validate script filenames. The JS engine will invoke this callback for each JS script it parses or XDR decodes.
Float16Array
Float32Array
Float64Array
FrontendContext
GCNurseryCollectionCallback
A nursery collection callback receives the progress of the nursery collection and the reason for the collection.
GCSliceCallback
GCVector_ElementType
HandleBigInt
HandleFunction
Reference to a T that has been rooted elsewhere. This is most useful as a parameter type, which guarantees that the T lvalue is properly rooted. See “Move GC Stack Rooting” above.
HandleId
Reference to a T that has been rooted elsewhere. This is most useful as a parameter type, which guarantees that the T lvalue is properly rooted. See “Move GC Stack Rooting” above.
HandleIdVector
HandleObject
Reference to a T that has been rooted elsewhere. This is most useful as a parameter type, which guarantees that the T lvalue is properly rooted. See “Move GC Stack Rooting” above.
HandleScript
HandleString
Reference to a T that has been rooted elsewhere. This is most useful as a parameter type, which guarantees that the T lvalue is properly rooted. See “Move GC Stack Rooting” above.
HandleSymbol
HandleValue
Reference to a T that has been rooted elsewhere. This is most useful as a parameter type, which guarantees that the T lvalue is properly rooted. See “Move GC Stack Rooting” above.
HandleValueVector
Handle_ElementType
Heap
Heap_ElementType
IdVector
Int8Array
Int16Array
Int32Array
IsAcceptableThis
IterateRealmCallback
LargeAllocationFailureCallback
If a large allocation fails when calling pod_{calloc,realloc}CanGC, the JS engine may call the large-allocation-failure callback, if set, to allow the embedding to flush caches, possibly perform shrinking GCs, etc. to make some room. The allocation will then be retried (and may still fail.) This callback can be called on any thread and must be set at most once in a process.
Latin1Char
Latin1CharsZ_Base
Latin1CharsZ_CharT
Latin1Chars_Base
Latin1Chars_CharT
LimitedColumnNumberOneOrigin_Base
ModuleDynamicImportHook
The HostImportModuleDynamically hook.
ModuleMetadataHook
The module metadata hook.
ModuleResolveHook
The HostResolveImportedModule hook.
MutableHandleBigInt
MutableHandleFunction
Similar to a handle, but the underlying storage can be changed. This is useful for outparams.
MutableHandleId
Similar to a handle, but the underlying storage can be changed. This is useful for outparams.
MutableHandleObject
Similar to a handle, but the underlying storage can be changed. This is useful for outparams.
MutableHandleScript
MutableHandleString
Similar to a handle, but the underlying storage can be changed. This is useful for outparams.
MutableHandleSymbol
MutableHandleValue
Similar to a handle, but the underlying storage can be changed. This is useful for outparams.
MutableHandleValueVector
MutableHandle_ElementType
NativeImpl
NativeStackBase
NativeStackLimit
NativeStackSize
ObjectPrivateVisitor_GetISupportsFun
OutOfMemoryCallback
Unlike the error reporter, which is only called if the exception for an OOM bubbles up and is not caught, the OutOfMemoryCallback is called immediately at the OOM site to allow the embedding to capture the current state of heap allocation before anything is freed. If the large-allocation-failure callback is called at all (not all allocation sites call the large-allocation-failure callback on failure), it is called before the out-of-memory callback; the out-of-memory callback is only called if the allocation still fails after the large-allocation-failure callback has returned.
PersistentRootedBigInt
PersistentRootedFunction
PersistentRootedId
PersistentRootedIdVector
PersistentRootedObject
A copyable, assignable global GC root type with arbitrary lifetime, an infallible constructor, and automatic unrooting on destruction.
PersistentRootedObjectVector
PersistentRootedScript
PersistentRootedString
PersistentRootedSymbol
PersistentRootedValue
PersistentRootedVector_Base
A copyable, assignable global GC root type with arbitrary lifetime, an infallible constructor, and automatic unrooting on destruction.
PersistentRootedVector_Vec
PersistentRooted_ElementType
PromiseRejectionTrackerCallback
RealmNameCallback
RealmStatsVector
RealmStats_ClassesHashMap
ReduceMicrosecondTimePrecisionCallback
RegExpFlags_Flag
RegisterThreadCallback
ReportStreamErrorCallback
Result
Result is intended to be the return type of JSAPI calls and internal functions that can run JS code or allocate memory from the JS GC heap. Such functions can:
Rooted
RootedBigInt
RootedField_ElementType
RootedField_WrapperT
RootedFunction
RootedId
RootedListHeads
EnumeratedArray is a fixed-size array container for use when an array is indexed by a specific enum class.
RootedObject
Local variable of type T whose value is always rooted. This is typically used for local variables, or for non-rooted values being passed to a function that requires a handle, e.g. Foo(Root(cx, x)).
RootedScript
RootedString
RootedSymbol
RootedValue
Local variable of type T whose value is always rooted. This is typically used for local variables, or for non-rooted values being passed to a function that requires a handle, e.g. Foo(Root(cx, x)).
Rooted_ElementType
RuntimeSizes_ScriptSourcesHashMap
ScriptPrivateReferenceHook
Hooks called when references to a script private value are created or destroyed. This allows use of a reference counted object as the script private.
ScriptVector
SelfHostedCache
Span - slices for C++
SelfHostedWriter
SliceBudget_InterruptRequestFlag
SourceText_CharT
StackCapture
mozilla::Variant
StackGCVector
Stencil
StringVector
TenuredHeap_ElementType
TranscodeBuffer
TranscodeRange
TwoByteCharsZ_Base
TwoByteCharsZ_CharT
TwoByteChars_Base
TwoByteChars_CharT
TypedArray_DataType
UTF8CharsZ_Base
UTF8CharsZ_CharT
UTF8Chars_Base
UTF8Chars_CharT
Uint8Array
Uint8ClampedArray
Uint16Array
Uint32Array
UniqueChars
UniqueLatin1Chars
UniqueTwoByteChars
UniqueWideChars
UnregisterThreadCallback
UnusedZero_StorageType
ValueVector
Value_PayloadType
WarningReporter
ZoneStatsVector
ZoneStats_StringsHashMap

Unions§

RealmCreationOptions__bindgen_ty_1