High-level, safe bindings for JS typed array APIs. Allows creating new
typed arrays or wrapping existing JS reflectors, and prevents reinterpreting
existing buffers as different types except in well-defined cases.
An RAII guard used to root underlying data in CustomAutoRooter until the
guard is dropped (falls out of scope).
The underlying data can be accessed through this guard via its Deref and
DerefMut implementations.
This structure is created by root method on CustomAutoRooter or
by the auto_root! macro.
Wrapper to relace JSNative for JSPropertySpecs and JSFunctionSpecs. This will
allow us to pass one JSJitInfo per function with the property/function spec,
without additional field overhead.
Description of a property. JS_DefineProperties and JS_InitClass take arrays
of these and define many properties at once. JS_PSG, JS_PSGS and JS_PS_END
are helper macros for defining such arrays.
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.
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.
An enum that describes what this getter/setter/method aliases. This
determines what things can be hoisted past this call, and if this
call is movable what it can be hoisted past.
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.
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.