Compare commits

...
Author SHA1 Message Date
pancake 31e519fa8b Add hbc.sdb.txt 2026-04-10 12:08:16 +02:00
+339
View File
@@ -0,0 +1,339 @@
add=binary add of two registers (numeric or string concatenation)
add_empty_string=convert a value to string by concatenating with the empty string
add_n=numeric add (operands known to be numeric)
add_own_private_by_sym=add a private own property using a symbol key
add_s=string add (operands known to be strings)
add32=32-bit integer add
async_break_check=check if execution should break asynchronously
bit_and=bitwise AND of two registers
bit_not=bitwise NOT of a register
bit_or=bitwise OR of two registers
bit_xor=bitwise XOR of two registers
call=call a function with a given number of arguments
call_builtin=call a builtin function by id
call_builtin_long=call a builtin function by id (long form)
call_direct=call a function whose code address is statically known
call_direct_long_index=call a function with a long function index
call_long=call a function with a long argument count
call_require=call the require builtin to import a module
call_with_new_target=call a function passing an explicit new.target
call_with_new_target_long=call with new.target (long form)
call1=call a function with 1 argument
call2=call a function with 2 arguments
call3=call a function with 3 arguments
call4=call a function with 4 arguments
catch=mark catch handler entry, receives the thrown exception
coerce_this_n_s=coerce 'this' to an object in non-strict mode
coerce_this_ns=coerce 'this' to an object in non-strict mode
complete_generator=mark generator as completed
construct=invoke a constructor with a given number of arguments
construct_long=invoke a constructor (long form)
create_async_closure=create an async closure
create_async_closure_long_index=create an async closure (long function index)
create_base_class=create a class with no superclass
create_base_class_long_index=create a base class (long function index)
create_closure=create a closure from a function
create_closure_long_index=create a closure (long function index)
create_derived_class=create a class that extends a superclass
create_derived_class_long_index=create a derived class (long function index)
create_environment=create a new lexical environment for the current function
create_function_environment=create the function's lexical environment
create_generator=create a generator function instance
create_generator_closure=create a generator closure
create_generator_closure_long_index=create a generator closure (long function index)
create_generator_long_index=create a generator (long function index)
create_inner_environment=create an inner (nested) lexical environment
create_private_name=create a unique private name symbol
create_reg_exp=create a RegExp object from a pattern and flags
create_this=create the 'this' object for a constructor call
create_this_for_new=allocate 'this' for a 'new' expression
create_this_for_super=allocate 'this' for a super constructor call
create_top_level_environment=create the top-level lexical environment
debugger=trigger the JavaScript debugger statement
debugger_check=check if a debugger break is requested
debugger_check_break=check and yield to debugger if breakpoint is set
dec=decrement a register by 1
declare_global_var=declare a variable on the global object
define_own_by_id=define an own property by string id
define_own_by_id_long=define an own property by string id (long form)
define_own_by_index=define an own indexed property
define_own_by_index_l=define an own indexed property (long form)
define_own_by_val=define an own property by computed value
define_own_getter_setter_by_val=define accessor (getter/setter) property
define_own_in_dense_array=define an element in a dense array literal
define_own_in_dense_array_l=define an element in a dense array literal (long)
del_by_id=delete a property by string id
del_by_id_long=delete a property by string id (long form)
del_by_id_loose=delete a property by id (loose mode)
del_by_id_loose_long=delete a property by id (loose, long form)
del_by_id_strict=delete a property by id (strict mode)
del_by_id_strict_long=delete a property by id (strict, long form)
del_by_val=delete a property by computed value
del_by_val_loose=delete a property by computed value (loose mode)
del_by_val_strict=delete a property by computed value (strict mode)
direct_eval=invoke direct eval()
div=divide two registers
div_n=numeric divide (operands known to be numeric)
divi32=signed 32-bit integer divide
divu32=unsigned 32-bit integer divide
eq=loose equality comparison (==)
fast_array_append=append all elements of a fast array to another
fast_array_length=read the length of a fast array
fast_array_load=load element from a fast array by index
fast_array_push=push a value into a fast array
fast_array_store=store value into a fast array at index
get_arguments_length=read 'arguments.length' lazily
get_arguments_prop_by_val=read an element from 'arguments' lazily
get_arguments_prop_by_val_loose=read 'arguments' element (loose mode)
get_arguments_prop_by_val_strict=read 'arguments' element (strict mode)
get_builtin_closure=get a closure for a builtin function
get_by_id=load a property by string id
get_by_id_long=load a property by string id (long form)
get_by_id_short=load a property by string id (short cache)
get_by_id_with_receiver_long=load a property with explicit receiver (long form)
get_by_index=load an element by integer index
get_by_val=load a property by computed value
get_by_val_with_receiver=load a property by computed value with receiver
get_closure_environment=get the environment of an enclosing closure
get_environment=get the lexical environment at a given depth
get_global_object=get the global object
get_new_target=read the new.target meta-property
get_next_p_name=advance a for-in property iterator
get_next_pname=advance a for-in property iterator
get_own_by_slot_idx=load own property by inline cache slot index
get_own_by_slot_idx_long=load own property by slot index (long form)
get_own_private_by_sym=load an own private property by symbol
get_p_name_list=initialize a for-in property name list
get_parent_environment=get the parent of a lexical environment
get_pname_list=initialize a for-in property name list
greater=greater than comparison (>)
greater_eq=greater than or equal comparison (>=)
inc=increment a register by 1
instance_of=instanceof operator
is_in='in' operator (property exists in object)
iterator_begin=start iteration over an iterable
iterator_close=close (cleanup) an iterator
iterator_next=advance an iterator and read the next value
j_equal=branch if loose equal
j_equal_long=branch if loose equal (long offset)
j_greater=branch if greater than
j_greater_equal=branch if greater than or equal
j_greater_equal_long=branch if greater than or equal (long offset)
j_greater_equal_n=branch if greater or equal (numeric)
j_greater_equal_n_long=branch if greater or equal (numeric, long offset)
j_greater_long=branch if greater than (long offset)
j_greater_n=branch if greater than (numeric)
j_greater_n_long=branch if greater than (numeric, long offset)
j_less=branch if less than
j_less_equal=branch if less than or equal
j_less_equal_long=branch if less than or equal (long offset)
j_less_equal_n=branch if less than or equal (numeric)
j_less_equal_n_long=branch if less than or equal (numeric, long offset)
j_less_long=branch if less than (long offset)
j_less_n=branch if less than (numeric)
j_less_n_long=branch if less than (numeric, long offset)
j_not_equal=branch if loose not equal
j_not_equal_long=branch if loose not equal (long offset)
j_not_greater=branch if not greater than
j_not_greater_equal=branch if not greater than or equal
j_not_greater_equal_long=branch if not greater than or equal (long offset)
j_not_greater_equal_n=branch if not greater than or equal (numeric)
j_not_greater_equal_n_long=branch if not greater than or equal (numeric, long offset)
j_not_greater_long=branch if not greater than (long offset)
j_not_greater_n=branch if not greater than (numeric)
j_not_greater_n_long=branch if not greater than (numeric, long offset)
j_not_less=branch if not less than
j_not_less_equal=branch if not less than or equal
j_not_less_equal_long=branch if not less than or equal (long offset)
j_not_less_equal_n=branch if not less than or equal (numeric)
j_not_less_equal_n_long=branch if not less than or equal (numeric, long offset)
j_not_less_long=branch if not less than (long offset)
j_not_less_n=branch if not less than (numeric)
j_not_less_n_long=branch if not less than (numeric, long offset)
j_strict_equal=branch if strict equal (===)
j_strict_equal_long=branch if strict equal (long offset)
j_strict_not_equal=branch if strict not equal (!==)
j_strict_not_equal_long=branch if strict not equal (long offset)
jequal=branch if loose equal
jequal_long=branch if loose equal (long offset)
jgreater=branch if greater than
jgreater_equal=branch if greater than or equal
jgreater_equal_long=branch if greater than or equal (long offset)
jgreater_equal_n=branch if greater or equal (numeric)
jgreater_equal_nlong=branch if greater or equal (numeric, long offset)
jgreater_long=branch if greater than (long offset)
jgreater_n=branch if greater than (numeric)
jgreater_nlong=branch if greater than (numeric, long offset)
jless=branch if less than
jless_equal=branch if less than or equal
jless_equal_long=branch if less than or equal (long offset)
jless_equal_n=branch if less than or equal (numeric)
jless_equal_nlong=branch if less than or equal (numeric, long offset)
jless_long=branch if less than (long offset)
jless_n=branch if less than (numeric)
jless_nlong=branch if less than (numeric, long offset)
jmp=unconditional branch
jmp_builtin_is=branch if value is a specific builtin
jmp_builtin_is_long=branch if value is a specific builtin (long offset)
jmp_builtin_is_not=branch if value is not a specific builtin
jmp_builtin_is_not_long=branch if value is not a specific builtin (long offset)
jmp_false=branch if value is falsy
jmp_false_long=branch if value is falsy (long offset)
jmp_long=unconditional branch (long offset)
jmp_true=branch if value is truthy
jmp_true_long=branch if value is truthy (long offset)
jmp_type_of_is=branch if typeof value matches a tag
jmp_undefined=branch if value is undefined
jmp_undefined_long=branch if value is undefined (long offset)
jnot_equal=branch if loose not equal
jnot_equal_long=branch if loose not equal (long offset)
jnot_greater=branch if not greater than
jnot_greater_equal=branch if not greater than or equal
jnot_greater_equal_long=branch if not greater than or equal (long offset)
jnot_greater_equal_n=branch if not greater than or equal (numeric)
jnot_greater_equal_nlong=branch if not greater than or equal (numeric, long offset)
jnot_greater_long=branch if not greater than (long offset)
jnot_greater_n=branch if not greater than (numeric)
jnot_greater_nlong=branch if not greater than (numeric, long offset)
jnot_less=branch if not less than
jnot_less_equal=branch if not less than or equal
jnot_less_equal_long=branch if not less than or equal (long offset)
jnot_less_equal_n=branch if not less than or equal (numeric)
jnot_less_equal_nlong=branch if not less than or equal (numeric, long offset)
jnot_less_long=branch if not less than (long offset)
jnot_less_n=branch if not less than (numeric)
jnot_less_nlong=branch if not less than (numeric, long offset)
jstrict_equal=branch if strict equal (===)
jstrict_equal_long=branch if strict equal (long offset)
jstrict_not_equal=branch if strict not equal (!==)
jstrict_not_equal_long=branch if strict not equal (long offset)
l_shift=left shift (<<)
less=less than comparison (<)
less_eq=less than or equal comparison (<=)
load_const_big_int=load a BigInt constant
load_const_big_int_long_index=load a BigInt constant (long index)
load_const_double=load a double-precision float constant
load_const_empty=load the 'empty' sentinel value
load_const_false=load the boolean false constant
load_const_int=load an integer constant
load_const_null=load the null constant
load_const_string=load a string constant by id
load_const_string_long_index=load a string constant by id (long index)
load_const_true=load the boolean true constant
load_const_u_int8=load an 8-bit unsigned integer constant
load_const_uint8=load an 8-bit unsigned integer constant
load_const_undefined=load the undefined constant
load_const_zero=load the integer zero constant
load_from_environment=read a variable from a lexical environment slot
load_from_environment_l=read from environment slot (long index)
load_param=read a function parameter into a register
load_param_long=read a function parameter (long index)
load_parent_no_traps=load object's prototype skipping proxy traps
load_this_n_s=load 'this' in non-strict mode
load_this_ns=load 'this' in non-strict mode
loadi16=load a signed 16-bit integer
loadi32=load a signed 32-bit integer
loadi8=load a signed 8-bit integer
loadu16=load an unsigned 16-bit integer
loadu32=load an unsigned 32-bit integer
loadu8=load an unsigned 8-bit integer
lshift=left shift (<<)
mod=modulo (%) operation
mov=copy a register into another register
mov_long=copy a register (long form)
mul=multiply two registers
mul_n=numeric multiply (operands known to be numeric)
mul32=32-bit integer multiply
name=get the name (string id) of an object
negate=arithmetic negation (unary minus)
neq=loose inequality comparison (!=)
new_array=create an empty array of given size
new_array_with_buffer=create an array initialized from a literal buffer
new_array_with_buffer_long=create an array from a literal buffer (long form)
new_fast_array=create a new fast (dense, integer-indexed) array
new_object=create an empty object
new_object_with_buffer=create an object initialized from a literal buffer
new_object_with_buffer_and_parent=create an object from a buffer with a given prototype
new_object_with_buffer_long=create an object from a literal buffer (long form)
new_object_with_parent=create an empty object with a given prototype
new_typed_object_with_buffer=create a typed object from a literal buffer
not=logical NOT (!)
private_is_in=test if a private name is present in an object
profile_point=marker used by the profiler to record execution
put_by_id=store a property by string id
put_by_id_long=store a property by string id (long form)
put_by_id_loose=store a property by id (loose mode)
put_by_id_loose_long=store a property by id (loose, long form)
put_by_id_strict=store a property by id (strict mode)
put_by_id_strict_long=store a property by id (strict, long form)
put_by_val=store a property by computed value
put_by_val_loose=store a property by computed value (loose mode)
put_by_val_strict=store a property by computed value (strict mode)
put_by_val_with_receiver=store a property by computed value with receiver
put_new_own_by_id=define a new own property by id
put_new_own_by_id_long=define a new own property by id (long form)
put_new_own_by_id_short=define a new own property by id (short form)
put_new_own_n_eby_id=define a new own non-enumerable property by id
put_new_own_n_eby_id_long=define a new own non-enumerable property by id (long form)
put_new_own_ne_by_id=define a new own non-enumerable property by id
put_new_own_ne_by_id_long=define a new own non-enumerable property by id (long form)
put_own_by_index=define an own property by integer index
put_own_by_index_l=define an own property by integer index (long form)
put_own_by_slot_idx=store an own property by inline cache slot
put_own_by_slot_idx_long=store an own property by slot index (long form)
put_own_by_val=define an own property by computed value
put_own_getter_setter_by_val=define an own accessor (getter/setter) property
put_own_private_by_sym=store an own private property by symbol
r_shift=signed right shift (>>)
reify_arguments=create the actual 'arguments' object lazily
reify_arguments_loose=reify 'arguments' object in loose mode
reify_arguments_strict=reify 'arguments' object in strict mode
resume_generator=resume a suspended generator
ret=return from the current function
rshift=signed right shift (>>)
save_generator=suspend the current generator and yield
save_generator_long=suspend the current generator (long offset)
select_object=pick the object operand among two values
start_generator=initialize execution of a generator body
store_n_pto_environment=store non-pointer value to environment slot
store_n_pto_environment_l=store non-pointer value to environment slot (long index)
store_np_to_environment=store non-pointer value to environment slot
store_np_to_environment_l=store non-pointer value to environment slot (long index)
store_to_environment=store a variable into a lexical environment slot
store_to_environment_l=store into environment slot (long index)
store16=store a 16-bit value to memory
store32=store a 32-bit value to memory
store8=store an 8-bit value to memory
strict_eq=strict equality comparison (===)
strict_neq=strict inequality comparison (!==)
string_switch_imm=switch on a string with an inline jump table
sub=subtract two registers
sub_n=numeric subtract (operands known to be numeric)
sub32=32-bit integer subtract
switch_imm=switch on an integer with an inline jump table
throw=throw an exception
throw_if_empty=throw a ReferenceError if value is the empty sentinel (TDZ)
throw_if_has_restricted_global_property=throw if a restricted global property already exists
throw_if_this_initialized=throw if 'this' has already been initialized in a derived ctor
throw_if_undefined=throw a TypeError if the value is undefined
throw_if_undefined_inst=throw TypeError if the value is undefined (instance form)
to_int32=convert a value to a signed 32-bit integer (ToInt32)
to_number=convert a value to a number (ToNumber)
to_numeric=convert a value to numeric (ToNumeric, supports BigInt)
to_property_key=convert a value to a property key (ToPropertyKey)
to_uint32=convert a value to an unsigned 32-bit integer (ToUint32)
try_get_by_id=load a property by id, throwing if missing
try_get_by_id_long=load a property by id, throwing if missing (long form)
try_put_by_id=store a property by id, throwing if missing
try_put_by_id_long=store a property by id, throwing if missing (long form)
try_put_by_id_loose=store a property by id, throwing if missing (loose)
try_put_by_id_loose_long=store a property by id, throwing if missing (loose, long form)
try_put_by_id_strict=store a property by id, throwing if missing (strict)
try_put_by_id_strict_long=store a property by id, throwing if missing (strict, long form)
type_of=typeof operator
type_of_is=test if typeof value equals a specific tag
typed_load_parent=load the prototype of a typed object
u_int_switch_imm=switch on an unsigned integer with an inline jump table
u_rshift=unsigned right shift (>>>)
unreachable=trap; this point should never be reached
urshift=unsigned right shift (>>>)