#[repr(u32)]pub enum NativeHelper {
Show 32 variants
LoadConstant = 0,
Unary = 1,
Binary = 2,
CreateObject = 3,
CreateArray = 4,
CreateClosure = 5,
GetProperty = 6,
SetProperty = 7,
DeleteProperty = 8,
Call = 9,
Construct = 10,
Import = 11,
Truthy = 12,
ResumeValue = 13,
DefineAccessor = 14,
LoadGlobal = 15,
StoreGlobal = 16,
TypeOfGlobal = 17,
LoadThis = 18,
LoadArguments = 19,
LoadNewTarget = 20,
ArrayPush = 21,
ArrayExtend = 22,
ObjectSpread = 23,
SetPrototype = 24,
CreatePrivateName = 25,
CreateRegExp = 26,
GetIterator = 27,
IteratorNext = 28,
Export = 29,
ConsumeFuel = 30,
CreateCell = 31,
}Expand description
A runtime helper, identified by its stable ABI index. The variant order is
the canonical external_index order (0..31) and is byte-identical to
bamts_codegen::Helper; NativeHelper::symbol returns the exact linker
symbol generated code resolves against.
Variants§
LoadConstant = 0
§Safety
The caller must provide a live, uniquely owned frame whose nonempty handle
range is disjoint from its header, and a live, aligned, writable out when
this helper has one. Both remain valid and unaliased for the full call.
bamts_load_constant — index 0.
Unary = 1
§Safety
The caller must provide a live, uniquely owned frame whose nonempty handle
range is disjoint from its header, and a live, aligned, writable out when
this helper has one. Both remain valid and unaliased for the full call.
bamts_unary — index 1.
Binary = 2
§Safety
The caller must provide a live, uniquely owned frame whose nonempty handle
range is disjoint from its header, and a live, aligned, writable out when
this helper has one. Both remain valid and unaliased for the full call.
bamts_binary — index 2.
CreateObject = 3
§Safety
The caller must provide a live, uniquely owned frame whose nonempty handle
range is disjoint from its header, and a live, aligned, writable out when
this helper has one. Both remain valid and unaliased for the full call.
bamts_create_object — index 3.
CreateArray = 4
§Safety
The caller must provide a live, uniquely owned frame whose nonempty handle
range is disjoint from its header, and a live, aligned, writable out when
this helper has one. Both remain valid and unaliased for the full call.
bamts_create_array — index 4.
CreateClosure = 5
§Safety
The caller must provide a live, uniquely owned frame whose nonempty handle
range is disjoint from its header, and a live, aligned, writable out when
this helper has one. Both remain valid and unaliased for the full call.
bamts_create_closure — index 5.
GetProperty = 6
§Safety
The caller must provide a live, uniquely owned frame whose nonempty handle
range is disjoint from its header, and a live, aligned, writable out when
this helper has one. Both remain valid and unaliased for the full call.
bamts_get_property — index 6.
SetProperty = 7
§Safety
The caller must provide a live, uniquely owned frame whose nonempty handle
range is disjoint from its header, and a live, aligned, writable out when
this helper has one. Both remain valid and unaliased for the full call.
bamts_set_property — index 7.
DeleteProperty = 8
§Safety
The caller must provide a live, uniquely owned frame whose nonempty handle
range is disjoint from its header, and a live, aligned, writable out when
this helper has one. Both remain valid and unaliased for the full call.
bamts_delete_property — index 8.
Call = 9
§Safety
The caller must provide a live, uniquely owned frame whose nonempty handle
range is disjoint from its header, and a live, aligned, writable out when
this helper has one. Both remain valid and unaliased for the full call.
bamts_call — index 9.
Construct = 10
§Safety
The caller must provide a live, uniquely owned frame whose nonempty handle
range is disjoint from its header, and a live, aligned, writable out when
this helper has one. Both remain valid and unaliased for the full call.
bamts_construct — index 10.
Import = 11
§Safety
The caller must provide a live, uniquely owned frame whose nonempty handle
range is disjoint from its header, and a live, aligned, writable out when
this helper has one. Both remain valid and unaliased for the full call.
bamts_import — index 11.
Truthy = 12
§Safety
The caller must provide a live, uniquely owned frame whose nonempty handle
range is disjoint from its header, and a live, aligned, writable out when
this helper has one. Both remain valid and unaliased for the full call.
bamts_truthy — index 12 (returns 0/1, never writes out).
ResumeValue = 13
§Safety
The caller must provide a live, uniquely owned frame whose nonempty handle
range is disjoint from its header, and a live, aligned, writable out when
this helper has one. Both remain valid and unaliased for the full call.
bamts_resume_value — index 13.
DefineAccessor = 14
§Safety
The caller must provide a live, uniquely owned frame whose nonempty handle
range is disjoint from its header, and a live, aligned, writable out when
this helper has one. Both remain valid and unaliased for the full call.
bamts_define_accessor — index 14.
LoadGlobal = 15
§Safety
The caller must provide a live, uniquely owned frame whose nonempty handle
range is disjoint from its header, and a live, aligned, writable out when
this helper has one. Both remain valid and unaliased for the full call.
bamts_load_global — index 15.
StoreGlobal = 16
§Safety
The caller must provide a live, uniquely owned frame whose nonempty handle
range is disjoint from its header, and a live, aligned, writable out when
this helper has one. Both remain valid and unaliased for the full call.
bamts_store_global — index 16.
TypeOfGlobal = 17
§Safety
The caller must provide a live, uniquely owned frame whose nonempty handle
range is disjoint from its header, and a live, aligned, writable out when
this helper has one. Both remain valid and unaliased for the full call.
bamts_typeof_global — index 17.
LoadThis = 18
§Safety
The caller must provide a live, uniquely owned frame whose nonempty handle
range is disjoint from its header, and a live, aligned, writable out when
this helper has one. Both remain valid and unaliased for the full call.
bamts_load_this — index 18.
LoadArguments = 19
§Safety
The caller must provide a live, uniquely owned frame whose nonempty handle
range is disjoint from its header, and a live, aligned, writable out when
this helper has one. Both remain valid and unaliased for the full call.
bamts_load_arguments — index 19.
LoadNewTarget = 20
§Safety
The caller must provide a live, uniquely owned frame whose nonempty handle
range is disjoint from its header, and a live, aligned, writable out when
this helper has one. Both remain valid and unaliased for the full call.
bamts_load_new_target — index 20.
ArrayPush = 21
§Safety
The caller must provide a live, uniquely owned frame whose nonempty handle
range is disjoint from its header, and a live, aligned, writable out when
this helper has one. Both remain valid and unaliased for the full call.
bamts_array_push — index 21.
ArrayExtend = 22
§Safety
The caller must provide a live, uniquely owned frame whose nonempty handle
range is disjoint from its header, and a live, aligned, writable out when
this helper has one. Both remain valid and unaliased for the full call.
bamts_array_extend — index 22.
ObjectSpread = 23
§Safety
The caller must provide a live, uniquely owned frame whose nonempty handle
range is disjoint from its header, and a live, aligned, writable out when
this helper has one. Both remain valid and unaliased for the full call.
bamts_object_spread — index 23.
SetPrototype = 24
§Safety
The caller must provide a live, uniquely owned frame whose nonempty handle
range is disjoint from its header, and a live, aligned, writable out when
this helper has one. Both remain valid and unaliased for the full call.
bamts_set_prototype — index 24.
CreatePrivateName = 25
§Safety
The caller must provide a live, uniquely owned frame whose nonempty handle
range is disjoint from its header, and a live, aligned, writable out when
this helper has one. Both remain valid and unaliased for the full call.
bamts_create_private_name — index 25.
CreateRegExp = 26
§Safety
The caller must provide a live, uniquely owned frame whose nonempty handle
range is disjoint from its header, and a live, aligned, writable out when
this helper has one. Both remain valid and unaliased for the full call.
bamts_create_regexp — index 26.
GetIterator = 27
§Safety
The caller must provide a live, uniquely owned frame whose nonempty handle
range is disjoint from its header, and a live, aligned, writable out when
this helper has one. Both remain valid and unaliased for the full call.
bamts_get_iterator — index 27.
IteratorNext = 28
§Safety
The caller must provide a live, uniquely owned frame whose nonempty handle
range is disjoint from its header, and a live, aligned, writable out when
this helper has one. Both remain valid and unaliased for the full call.
bamts_iterator_next — index 28 (writes two registers directly).
Export = 29
§Safety
The caller must provide a live, uniquely owned frame whose nonempty handle
range is disjoint from its header, and a live, aligned, writable out when
this helper has one. Both remain valid and unaliased for the full call.
bamts_export — index 29.
ConsumeFuel = 30
§Safety
The caller must provide a live, uniquely owned frame whose nonempty handle
range is disjoint from its header, and a live, aligned, writable out.
Both remain valid and unaliased for the full call.
bamts_consume_fuel — index 30.
CreateCell = 31
bamts_create_cell — index 31.
§Safety
The caller must provide a live, uniquely owned frame whose nonempty
handle range is disjoint from its header, and a live, aligned, writable
out. Both remain valid and unaliased for the full call.
Implementations§
Source§impl NativeHelper
impl NativeHelper
Sourcepub const fn symbol(self) -> &'static str
pub const fn symbol(self) -> &'static str
The C symbol generated code links against. Byte-identical to
§Safety
The caller must provide a live, uniquely owned frame whose nonempty handle
range is disjoint from its header, and a live, aligned, writable out when
this helper has one. Both remain valid and unaliased for the full call.
bamts_codegen::Helper::symbol.
Sourcepub const fn from_u32(index: u32) -> Option<NativeHelper>
pub const fn from_u32(index: u32) -> Option<NativeHelper>
Parses an ABI index, rejecting values outside 0..HELPER_COUNT.
Trait Implementations§
Source§impl Clone for NativeHelper
impl Clone for NativeHelper
Source§fn clone(&self) -> NativeHelper
fn clone(&self) -> NativeHelper
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more