Compare commits

...
14 Commits
21 changed files with 1098 additions and 70 deletions

No files matched your search

+3 -1
View File
@@ -69,11 +69,13 @@ jobs:
TAG="${{ needs.build.outputs.tag }}"
echo "Creating archive for $TAG"
git archive --format=tar.gz --prefix=libhbc-$TAG/ $TAG -o libhbc-$TAG.tgz
ls -l libhbc*
- name: Create GitHub Release
uses: softprops/action-gh-release@v2
uses: softprops/action-gh-release@v2.6.1
with:
tag_name: ${{ needs.build.outputs.tag }}
files: ./libhbc-${{ needs.build.outputs.tag }}.tgz
make_latest: true
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+1 -1
View File
@@ -48,7 +48,7 @@ jobs:
meson install -C builddir
- name: Upload artifacts
uses: actions/upload-artifact@v6
uses: actions/upload-artifact@v7
with:
name: build-windows
path: builddir\install\**\*
+1 -1
View File
@@ -1,4 +1,4 @@
Copyright 2025 pancake <pancake@nopcode.org>
Copyright 2025-2026 pancake <pancake@nopcode.org>
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+8 -20
View File
@@ -12,7 +12,7 @@ Meta's React Native Hermes bytecode assembler, disassembler, decompiler, and com
## Features
- Disassemble Hermes bytecode (v51 .. v96)
- Disassemble Hermes bytecode (v51 .. v99)
- Decompile to JavaScript pseudocode
- Assemble instructions
- Parse binary headers
@@ -29,23 +29,13 @@ r2pm -ci r2hermes
### From source
```bash
git clone https://github.com/radareorg/r2hermes
cd r2hermes
make
make user-install
```
## Building
### Make (default)
Build the `libhbctool` cli tool and install the `radare2` plugin:
```bash
make # Build library and CLI
make user-install # Install r2 plugins to ~/.local/share/radare2/plugins
make && make user-install
```
### Meson
The same oneliner can be done with meson (to please Windows and anti-make users)
```bash
meson setup build
@@ -53,15 +43,13 @@ ninja -C build
ninja -C build install
```
### Debug build
### Debugging
You can do a build with symbols and address sanitizer to help you debugging crashes
```bash
make debug
```
### AddressSanitizer build
```bash
# or
make asan
```
+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 (>>>)
+5
View File
@@ -22,6 +22,7 @@ typedef struct HBCHeader {
u32 stringCount;
u32 overflowStringCount;
u32 stringStorageSize;
u32 literalValueBufferSize;
u32 bigIntCount;
u32 bigIntStorageSize;
u32 regExpCount;
@@ -29,6 +30,8 @@ typedef struct HBCHeader {
u32 arrayBufferSize;
u32 objKeyBufferSize;
u32 objValueBufferSize;
u32 objShapeTableCount;
u32 numStringSwitchImms;
u32 segmentID;
u32 cjsModuleCount;
u32 functionSourceCount;
@@ -246,6 +249,8 @@ typedef struct {
char *text; // Caller must free with free ()
u32 size;
u8 opcode;
u8 canonical_opcode;
const char *mnemonic;
bool is_jump;
bool is_call;
u64 jump_target;
+3
View File
@@ -259,7 +259,10 @@ typedef struct {
const Instruction *instructions;
} HBCISA;
#define HBC_CANONICAL_OPCODE_UNKNOWN 0xffu
/* Public API for getting instruction set by version */
HBCISA hbc_isa_getv(int version);
u8 hbc_canonical_opcode_from_name(const char *name);
#endif /* LIBHBC_HERMES_OPCODES_H */
+11
View File
@@ -41,6 +41,7 @@ typedef struct HBCHeader {
u32 stringCount;
u32 overflowStringCount;
u32 stringStorageSize;
u32 literalValueBufferSize; /* >=97 */
/* Optional fields based on version */
u32 bigIntCount; /* >=87 */
u32 bigIntStorageSize; /* >=87 */
@@ -49,6 +50,8 @@ typedef struct HBCHeader {
u32 arrayBufferSize;
u32 objKeyBufferSize;
u32 objValueBufferSize;
u32 objShapeTableCount; /* >=97 */
u32 numStringSwitchImms; /* >=99 */
u32 segmentID; /* cjsModuleOffset before v78 */
u32 cjsModuleCount;
u32 functionSourceCount; /* >=84 */
@@ -168,6 +171,11 @@ typedef struct {
u32 string_id;
} FunctionSourceEntry;
typedef struct {
u32 key_buffer_offset;
u32 prop_count;
} ShapeTableEntry;
/* Debug info header (version dependent) */
typedef struct {
u32 filename_count;
@@ -224,9 +232,12 @@ struct HBCReader {
u32 string_storage_file_offset;
/* Array and object data */
u8 *literal_values;
u8 *arrays;
u8 *object_keys;
u8 *object_values;
ShapeTableEntry *object_shapes;
size_t object_shape_count;
/* BigInt data */
i64 *bigint_values;
+1 -1
View File
@@ -1,7 +1,7 @@
project(
'r2hermes',
'c',
version: '1.2.0',
version: '1.2.2',
license: 'MIT',
default_options: [
'c_std=c11',
+19
View File
@@ -231,6 +231,22 @@ static Result slp_append_value_js(HBCReader *r, const SLPValue *v, bool for_key,
}
Result _hbc_format_object_literal(HBCReader *r, u32 key_count, u32 value_count, u32 keys_id, u32 values_id, StringBuffer *out, LiteralsPrettyPolicy policy, bool suppress_comments) {
if (r && r->header.version >= 97 && r->object_shapes && r->object_shape_count > 0) {
u32 value_offset = value_count;
if (key_count >= r->object_shape_count || !r->object_keys || !r->object_values) {
if (suppress_comments) {
return _hbc_string_buffer_append (out, "}");
}
char tmp[96];
snprintf (tmp, sizeof (tmp), " /*shape:%u vals:%u*/ }", key_count, value_count);
return _hbc_string_buffer_append (out, tmp);
}
const ShapeTableEntry *shape = &r->object_shapes[key_count];
key_count = shape->prop_count;
value_count = shape->prop_count;
keys_id = shape->key_buffer_offset;
values_id = value_offset;
}
/* Apply policy */
bool pretty = (policy == LITERALS_PRETTY_ALWAYS) || (policy == LITERALS_PRETTY_AUTO && (key_count > 0));
bool multiline = pretty && (key_count > 0);
@@ -257,6 +273,9 @@ Result _hbc_format_object_literal(HBCReader *r, u32 key_count, u32 value_count,
bool ok1 = slp_parse_values (r->object_keys, r->header.objKeyBufferSize, keys_id, n, key_vals);
bool ok2 = slp_parse_values (r->object_values, r->header.objValueBufferSize, values_id, n, val_vals);
if (!ok2 && r->header.version >= 97) {
ok2 = slp_parse_values (r->object_values, r->header.objValueBufferSize, value_count, n, val_vals);
}
if (!ok1 || !ok2) {
free (key_vals);
free (val_vals);
+1 -1
View File
@@ -973,7 +973,7 @@ Result _hbc_translate_instruction_to_tokens(const ParsedInstruction *insn_c, Tok
/* Jump instructions */
case OP_Jmp:
case OP_JmpLong:
return emit_simple_jump (out, insn_c, get_operand_value (insn_c, 0) <= 0);
return emit_simple_jump (out, insn_c, (i32)get_operand_value (insn_c, 0) <= 0);
case OP_JmpTrue:
case OP_JmpTrueLong:
{
+9 -5
View File
@@ -355,8 +355,8 @@ void hbc_free_funcs(HBCFuncArray *arr) {
/* Single-instruction decode functions */
static char *build_literal_comment(HBCReader *reader, u8 opcode, const u32 *ovs, const char *base_text) {
const bool is_obj = (opcode == OP_NewObjectWithBuffer || opcode == OP_NewObjectWithBufferLong);
static char *build_literal_comment(HBCReader *reader, const char *mnemonic, const u32 *ovs, const char *base_text) {
const bool is_obj = mnemonic && !strncmp (mnemonic, "new_object_with_buffer", strlen ("new_object_with_buffer"));
StringBuffer sb;
if (_hbc_string_buffer_init (&sb, 256).code != RESULT_SUCCESS) {
return NULL;
@@ -417,6 +417,8 @@ Result hbc_dec(const HBCDecodeCtx *ctx, HBCInsnInfo *out) {
out->text = strdup ("unk");
out->size = 1;
out->opcode = opcode;
out->canonical_opcode = HBC_CANONICAL_OPCODE_UNKNOWN;
out->mnemonic = NULL;
out->is_jump = false;
out->is_call = false;
out->jump_target = 0;
@@ -555,10 +557,10 @@ Result hbc_dec(const HBCDecodeCtx *ctx, HBCInsnInfo *out) {
}
if (ctx->build_objects && ctx->hbc) {
const bool is_literal_op = (opcode == OP_NewObjectWithBuffer || opcode == OP_NewObjectWithBufferLong ||
opcode == OP_NewArrayWithBuffer || opcode == OP_NewArrayWithBufferLong);
const bool is_literal_op = !strncmp (mnemonic, "new_object_with_buffer", strlen ("new_object_with_buffer")) ||
!strncmp (mnemonic, "new_array_with_buffer", strlen ("new_array_with_buffer"));
if (is_literal_op) {
char *with_comment = build_literal_comment (&ctx->hbc->reader, opcode, operand_values, buf);
char *with_comment = build_literal_comment (&ctx->hbc->reader, mnemonic, operand_values, buf);
out->text = with_comment ? with_comment : strdup (buf);
} else {
out->text = strdup (buf);
@@ -568,6 +570,8 @@ Result hbc_dec(const HBCDecodeCtx *ctx, HBCInsnInfo *out) {
}
out->size = (u32)pos;
out->opcode = opcode;
out->canonical_opcode = hbc_canonical_opcode_from_name (mnemonic);
out->mnemonic = inst->name;
/* Detect jumps and calls (using snake_case mnemonic) */
out->is_jump = (strncmp (mnemonic, "jmp", 3) == 0) || (strncmp (mnemonic, "j", 1) == 0 && mnemonic[1] >= 'a' && mnemonic[1] <= 'z');
+20
View File
@@ -1,4 +1,5 @@
#include <hbc/opcodes.h>
#include <string.h>
/* Include per-version instruction set implementations (static functions) */
#include "v51.inc.c"
@@ -27,6 +28,8 @@
#include "v94.inc.c"
#include "v95.inc.c"
#include "v96.inc.c"
#include "v97.inc.c"
#include "v99.inc.c"
#define ISA_COUNT(v) (sizeof (k_instructions_v ## v) / sizeof (k_instructions_v ## v[0]))
#define ISA_ENTRY(v, count_expr) static const HBCISA k_isa_v ## v = { .count = count_expr, .instructions = k_instructions_v ## v };
@@ -57,6 +60,8 @@ ISA_ENTRY(93, 256)
ISA_ENTRY(94, 256)
ISA_ENTRY(95, 256)
ISA_ENTRY(96, 208)
ISA_ENTRY(97, ISA_COUNT(97))
ISA_ENTRY(99, ISA_COUNT(99))
typedef struct {
int version;
@@ -90,8 +95,23 @@ static const IsaVersion k_isa_versions[] = {
{ 94, &k_isa_v94 },
{ 95, &k_isa_v95 },
{ 96, &k_isa_v96 },
{ 97, &k_isa_v97 },
{ 99, &k_isa_v99 },
};
u8 hbc_canonical_opcode_from_name(const char *name) {
if (!name) {
return HBC_CANONICAL_OPCODE_UNKNOWN;
}
for (u32 i = 0; i < k_isa_v96.count; i++) {
const Instruction *inst = &k_isa_v96.instructions[i];
if (inst->name && !strcmp (inst->name, name)) {
return (u8)i;
}
}
return HBC_CANONICAL_OPCODE_UNKNOWN;
}
/* Public API for getting instruction set by version */
HBCISA hbc_isa_getv(int version) {
const IsaVersion *selected = &k_isa_versions[0];
+204
View File
@@ -0,0 +1,204 @@
#include <hbc/opcodes.h>
static const Instruction k_instructions_v97[200] = {
[0] = { "unreachable", { { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 1 },
[1] = { "new_object_with_buffer", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT16, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT16, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 6 },
[2] = { "new_object_with_buffer_long", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT32, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT32, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 10 },
[3] = { "new_object", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 2 },
[4] = { "new_object_with_parent", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 3 },
[5] = { "new_array_with_buffer", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT16, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT16, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT16, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 8 },
[6] = { "new_array_with_buffer_long", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT16, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT16, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT32, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 10 },
[7] = { "new_array", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT16, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 4 },
[8] = { "mov", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 3 },
[9] = { "mov_long", { { OPERAND_TYPE_REG32, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG32, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 9 },
[10] = { "negate", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 3 },
[11] = { "not", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 3 },
[12] = { "bit_not", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 3 },
[13] = { "type_of", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 3 },
[14] = { "eq", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 4 },
[15] = { "strict_eq", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 4 },
[16] = { "neq", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 4 },
[17] = { "strict_neq", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 4 },
[18] = { "less", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 4 },
[19] = { "less_eq", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 4 },
[20] = { "greater", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 4 },
[21] = { "greater_eq", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 4 },
[22] = { "add", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 4 },
[23] = { "add_n", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 4 },
[24] = { "add_s", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 4 },
[25] = { "mul", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 4 },
[26] = { "mul_n", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 4 },
[27] = { "div", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 4 },
[28] = { "div_n", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 4 },
[29] = { "mod", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 4 },
[30] = { "sub", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 4 },
[31] = { "sub_n", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 4 },
[32] = { "l_shift", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 4 },
[33] = { "r_shift", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 4 },
[34] = { "u_rshift", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 4 },
[35] = { "bit_and", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 4 },
[36] = { "bit_xor", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 4 },
[37] = { "bit_or", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 4 },
[38] = { "inc", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 3 },
[39] = { "dec", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 3 },
[40] = { "instance_of", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 4 },
[41] = { "is_in", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 4 },
[42] = { "get_parent_environment", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 3 },
[43] = { "get_environment", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 4 },
[44] = { "get_closure_environment", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 3 },
[45] = { "store_to_environment", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 4 },
[46] = { "store_to_environment_l", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT16, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 5 },
[47] = { "store_np_to_environment", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 4 },
[48] = { "store_np_to_environment_l", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT16, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 5 },
[49] = { "load_from_environment", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 4 },
[50] = { "load_from_environment_l", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT16, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 5 },
[51] = { "get_global_object", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 2 },
[52] = { "get_new_target", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 2 },
[53] = { "create_function_environment", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 3 },
[54] = { "create_top_level_environment", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT32, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 6 },
[55] = { "create_environment", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT32, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 7 },
[56] = { "declare_global_var", { { OPERAND_TYPE_UINT32, OPERAND_MEANING_STRING_ID }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 5 },
[57] = { "get_by_id_short", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT8, OPERAND_MEANING_STRING_ID }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 5 },
[58] = { "get_by_id", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT16, OPERAND_MEANING_STRING_ID }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 6 },
[59] = { "get_by_id_long", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT32, OPERAND_MEANING_STRING_ID }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 8 },
[60] = { "try_get_by_id", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT16, OPERAND_MEANING_STRING_ID }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 6 },
[61] = { "try_get_by_id_long", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT32, OPERAND_MEANING_STRING_ID }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 8 },
[62] = { "put_by_id_loose", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT16, OPERAND_MEANING_STRING_ID }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 6 },
[63] = { "put_by_id_strict", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT16, OPERAND_MEANING_STRING_ID }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 6 },
[64] = { "put_by_id_loose_long", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT32, OPERAND_MEANING_STRING_ID }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 8 },
[65] = { "put_by_id_strict_long", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT32, OPERAND_MEANING_STRING_ID }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 8 },
[66] = { "try_put_by_id_loose", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT16, OPERAND_MEANING_STRING_ID }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 6 },
[67] = { "try_put_by_id_strict", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT16, OPERAND_MEANING_STRING_ID }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 6 },
[68] = { "try_put_by_id_loose_long", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT32, OPERAND_MEANING_STRING_ID }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 8 },
[69] = { "try_put_by_id_strict_long", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT32, OPERAND_MEANING_STRING_ID }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 8 },
[70] = { "put_new_own_by_id_short", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT8, OPERAND_MEANING_STRING_ID }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 4 },
[71] = { "put_new_own_by_id", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT16, OPERAND_MEANING_STRING_ID }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 5 },
[72] = { "put_new_own_by_id_long", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT32, OPERAND_MEANING_STRING_ID }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 7 },
[73] = { "put_own_by_slot_idx", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 4 },
[74] = { "put_own_by_slot_idx_long", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT32, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 7 },
[75] = { "put_new_own_ne_by_id", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT16, OPERAND_MEANING_STRING_ID }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 5 },
[76] = { "put_new_own_ne_by_id_long", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT32, OPERAND_MEANING_STRING_ID }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 7 },
[77] = { "put_own_by_index", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 4 },
[78] = { "put_own_by_index_l", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT32, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 7 },
[79] = { "put_own_by_val", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 5 },
[80] = { "del_by_id_loose", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT16, OPERAND_MEANING_STRING_ID }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 5 },
[81] = { "del_by_id_strict", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT16, OPERAND_MEANING_STRING_ID }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 5 },
[82] = { "del_by_id_loose_long", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT32, OPERAND_MEANING_STRING_ID }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 7 },
[83] = { "del_by_id_strict_long", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT32, OPERAND_MEANING_STRING_ID }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 7 },
[84] = { "get_by_val", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 4 },
[85] = { "get_by_index", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 4 },
[86] = { "put_by_val_loose", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 4 },
[87] = { "put_by_val_strict", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 4 },
[88] = { "del_by_val_loose", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 4 },
[89] = { "del_by_val_strict", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 4 },
[90] = { "put_own_getter_setter_by_val", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 6 },
[91] = { "get_p_name_list", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 5 },
[92] = { "get_next_p_name", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 6 },
[93] = { "call", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 4 },
[94] = { "construct", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 4 },
[95] = { "call1", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 4 },
[96] = { "call_with_new_target", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 5 },
[97] = { "call2", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 5 },
[98] = { "call3", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 6 },
[99] = { "call4", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE } }, 7 },
[100] = { "call_with_new_target_long", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 5 },
[101] = { "call_builtin", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 4 },
[102] = { "call_builtin_long", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT32, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 7 },
[103] = { "get_builtin_closure", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 3 },
[104] = { "ret", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 2 },
[105] = { "catch", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 2 },
[106] = { "direct_eval", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 4 },
[107] = { "throw", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 2 },
[108] = { "throw_if_empty", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 3 },
[109] = { "debugger", { { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 1 },
[110] = { "async_break_check", { { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 1 },
[111] = { "profile_point", { { OPERAND_TYPE_UINT16, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 3 },
[112] = { "create_closure", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT16, OPERAND_MEANING_FUNCTION_ID }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 5 },
[113] = { "create_closure_long_index", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT32, OPERAND_MEANING_FUNCTION_ID }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 7 },
[114] = { "create_this", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 4 },
[115] = { "select_object", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 4 },
[116] = { "load_param", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 3 },
[117] = { "load_param_long", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT32, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 6 },
[118] = { "load_const_u_int8", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 3 },
[119] = { "load_const_int", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_IMM32, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 6 },
[120] = { "load_const_double", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_DOUBLE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 10 },
[121] = { "load_const_big_int", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT16, OPERAND_MEANING_BIGINT_ID }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 4 },
[122] = { "load_const_big_int_long_index", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT32, OPERAND_MEANING_BIGINT_ID }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 6 },
[123] = { "load_const_string", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT16, OPERAND_MEANING_STRING_ID }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 4 },
[124] = { "load_const_string_long_index", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT32, OPERAND_MEANING_STRING_ID }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 6 },
[125] = { "load_const_empty", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 2 },
[126] = { "load_const_undefined", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 2 },
[127] = { "load_const_null", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 2 },
[128] = { "load_const_true", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 2 },
[129] = { "load_const_false", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 2 },
[130] = { "load_const_zero", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 2 },
[131] = { "coerce_this_ns", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 3 },
[132] = { "load_this_ns", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 2 },
[133] = { "to_number", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 3 },
[134] = { "to_numeric", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 3 },
[135] = { "to_int32", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 3 },
[136] = { "add_empty_string", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 3 },
[137] = { "get_arguments_prop_by_val_loose", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 4 },
[138] = { "get_arguments_prop_by_val_strict", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 4 },
[139] = { "get_arguments_length", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 3 },
[140] = { "reify_arguments_strict", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 2 },
[141] = { "reify_arguments_loose", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 2 },
[142] = { "create_reg_exp", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT32, OPERAND_MEANING_STRING_ID }, { OPERAND_TYPE_UINT32, OPERAND_MEANING_STRING_ID }, { OPERAND_TYPE_UINT32, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 14 },
[143] = { "switch_imm", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT32, OPERAND_MEANING_NONE }, { OPERAND_TYPE_ADDR32, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT32, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT32, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 18 },
[144] = { "create_generator", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT16, OPERAND_MEANING_FUNCTION_ID }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 5 },
[145] = { "create_generator_long_index", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT32, OPERAND_MEANING_FUNCTION_ID }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 7 },
[146] = { "iterator_begin", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 3 },
[147] = { "iterator_next", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 4 },
[148] = { "iterator_close", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 3 },
[149] = { "name", { { OPERAND_TYPE_ADDR8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 2 },
[150] = { "name", { { OPERAND_TYPE_ADDR8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 3 },
[151] = { "name", { { OPERAND_TYPE_ADDR8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 4 },
[152] = { "jmp", { { OPERAND_TYPE_ADDR8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 2 },
[153] = { "jmp_long", { { OPERAND_TYPE_ADDR32, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 5 },
[154] = { "jmp_true", { { OPERAND_TYPE_ADDR8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 3 },
[155] = { "jmp_true_long", { { OPERAND_TYPE_ADDR32, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 6 },
[156] = { "jmp_false", { { OPERAND_TYPE_ADDR8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 3 },
[157] = { "jmp_false_long", { { OPERAND_TYPE_ADDR32, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 6 },
[158] = { "jmp_undefined", { { OPERAND_TYPE_ADDR8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 3 },
[159] = { "jmp_undefined_long", { { OPERAND_TYPE_ADDR32, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 6 },
[160] = { "j_less", { { OPERAND_TYPE_ADDR8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 4 },
[161] = { "j_less_long", { { OPERAND_TYPE_ADDR32, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 7 },
[162] = { "j_not_less", { { OPERAND_TYPE_ADDR8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 4 },
[163] = { "j_not_less_long", { { OPERAND_TYPE_ADDR32, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 7 },
[164] = { "j_less_n", { { OPERAND_TYPE_ADDR8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 4 },
[165] = { "j_less_n_long", { { OPERAND_TYPE_ADDR32, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 7 },
[166] = { "j_not_less_n", { { OPERAND_TYPE_ADDR8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 4 },
[167] = { "j_not_less_n_long", { { OPERAND_TYPE_ADDR32, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 7 },
[168] = { "j_less_equal", { { OPERAND_TYPE_ADDR8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 4 },
[169] = { "j_less_equal_long", { { OPERAND_TYPE_ADDR32, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 7 },
[170] = { "j_not_less_equal", { { OPERAND_TYPE_ADDR8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 4 },
[171] = { "j_not_less_equal_long", { { OPERAND_TYPE_ADDR32, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 7 },
[172] = { "j_less_equal_n", { { OPERAND_TYPE_ADDR8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 4 },
[173] = { "j_less_equal_n_long", { { OPERAND_TYPE_ADDR32, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 7 },
[174] = { "j_not_less_equal_n", { { OPERAND_TYPE_ADDR8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 4 },
[175] = { "j_not_less_equal_n_long", { { OPERAND_TYPE_ADDR32, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 7 },
[176] = { "j_greater", { { OPERAND_TYPE_ADDR8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 4 },
[177] = { "j_greater_long", { { OPERAND_TYPE_ADDR32, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 7 },
[178] = { "j_not_greater", { { OPERAND_TYPE_ADDR8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 4 },
[179] = { "j_not_greater_long", { { OPERAND_TYPE_ADDR32, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 7 },
[180] = { "j_greater_n", { { OPERAND_TYPE_ADDR8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 4 },
[181] = { "j_greater_n_long", { { OPERAND_TYPE_ADDR32, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 7 },
[182] = { "j_not_greater_n", { { OPERAND_TYPE_ADDR8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 4 },
[183] = { "j_not_greater_n_long", { { OPERAND_TYPE_ADDR32, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 7 },
[184] = { "j_greater_equal", { { OPERAND_TYPE_ADDR8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 4 },
[185] = { "j_greater_equal_long", { { OPERAND_TYPE_ADDR32, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 7 },
[186] = { "j_not_greater_equal", { { OPERAND_TYPE_ADDR8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 4 },
[187] = { "j_not_greater_equal_long", { { OPERAND_TYPE_ADDR32, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 7 },
[188] = { "j_greater_equal_n", { { OPERAND_TYPE_ADDR8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 4 },
[189] = { "j_greater_equal_n_long", { { OPERAND_TYPE_ADDR32, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 7 },
[190] = { "j_not_greater_equal_n", { { OPERAND_TYPE_ADDR8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 4 },
[191] = { "j_not_greater_equal_n_long", { { OPERAND_TYPE_ADDR32, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 7 },
[192] = { "j_equal", { { OPERAND_TYPE_ADDR8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 4 },
[193] = { "j_equal_long", { { OPERAND_TYPE_ADDR32, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 7 },
[194] = { "j_not_equal", { { OPERAND_TYPE_ADDR8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 4 },
[195] = { "j_not_equal_long", { { OPERAND_TYPE_ADDR32, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 7 },
[196] = { "j_strict_equal", { { OPERAND_TYPE_ADDR8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 4 },
[197] = { "j_strict_equal_long", { { OPERAND_TYPE_ADDR32, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 7 },
[198] = { "j_strict_not_equal", { { OPERAND_TYPE_ADDR8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 4 },
[199] = { "j_strict_not_equal_long", { { OPERAND_TYPE_ADDR32, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 7 },
};
+227
View File
@@ -0,0 +1,227 @@
#include <hbc/opcodes.h>
static const Instruction k_instructions_v99[223] = {
[0] = { "unreachable", { { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 1 },
[1] = { "new_object_with_buffer", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT16, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT16, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 6 },
[2] = { "new_object_with_buffer_long", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT32, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT32, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 10 },
[3] = { "new_object_with_buffer_and_parent", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT32, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT32, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 11 },
[4] = { "new_typed_object_with_buffer", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT32, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT32, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 12 },
[5] = { "new_object", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 2 },
[6] = { "new_object_with_parent", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 3 },
[7] = { "new_array_with_buffer", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT16, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT16, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT16, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 8 },
[8] = { "new_array_with_buffer_long", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT16, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT16, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT32, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 10 },
[9] = { "new_array", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT16, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 4 },
[10] = { "new_fast_array", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT16, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 4 },
[11] = { "fast_array_length", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 3 },
[12] = { "fast_array_load", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 4 },
[13] = { "fast_array_store", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 4 },
[14] = { "fast_array_push", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 3 },
[15] = { "fast_array_append", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 3 },
[16] = { "mov", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 3 },
[17] = { "mov_long", { { OPERAND_TYPE_REG32, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG32, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 9 },
[18] = { "negate", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 3 },
[19] = { "not", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 3 },
[20] = { "bit_not", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 3 },
[21] = { "type_of", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 3 },
[22] = { "eq", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 4 },
[23] = { "strict_eq", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 4 },
[24] = { "neq", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 4 },
[25] = { "strict_neq", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 4 },
[26] = { "less", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 4 },
[27] = { "less_eq", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 4 },
[28] = { "greater", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 4 },
[29] = { "greater_eq", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 4 },
[30] = { "add", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 4 },
[31] = { "add_n", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 4 },
[32] = { "add_s", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 4 },
[33] = { "mul", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 4 },
[34] = { "mul_n", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 4 },
[35] = { "div", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 4 },
[36] = { "div_n", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 4 },
[37] = { "mod", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 4 },
[38] = { "sub", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 4 },
[39] = { "sub_n", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 4 },
[40] = { "l_shift", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 4 },
[41] = { "r_shift", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 4 },
[42] = { "u_rshift", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 4 },
[43] = { "bit_and", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 4 },
[44] = { "bit_xor", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 4 },
[45] = { "bit_or", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 4 },
[46] = { "inc", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 3 },
[47] = { "dec", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 3 },
[48] = { "instance_of", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 4 },
[49] = { "is_in", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 4 },
[50] = { "private_is_in", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 5 },
[51] = { "type_of_is", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT16, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 5 },
[52] = { "get_parent_environment", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 3 },
[53] = { "get_environment", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 4 },
[54] = { "get_closure_environment", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 3 },
[55] = { "store_to_environment", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 4 },
[56] = { "store_to_environment_l", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT16, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 5 },
[57] = { "store_np_to_environment", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 4 },
[58] = { "store_np_to_environment_l", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT16, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 5 },
[59] = { "load_from_environment", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 4 },
[60] = { "load_from_environment_l", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT16, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 5 },
[61] = { "get_global_object", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 2 },
[62] = { "get_new_target", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 2 },
[63] = { "load_parent_no_traps", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 3 },
[64] = { "create_function_environment", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 3 },
[65] = { "create_top_level_environment", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT32, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 6 },
[66] = { "create_environment", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT32, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 7 },
[67] = { "declare_global_var", { { OPERAND_TYPE_UINT32, OPERAND_MEANING_STRING_ID }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 5 },
[68] = { "get_by_id_short", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT8, OPERAND_MEANING_STRING_ID }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 5 },
[69] = { "get_by_id", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT16, OPERAND_MEANING_STRING_ID }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 6 },
[70] = { "get_by_id_long", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT32, OPERAND_MEANING_STRING_ID }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 8 },
[71] = { "get_by_id_with_receiver_long", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT32, OPERAND_MEANING_STRING_ID }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 9 },
[72] = { "try_get_by_id", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT16, OPERAND_MEANING_STRING_ID }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 6 },
[73] = { "try_get_by_id_long", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT32, OPERAND_MEANING_STRING_ID }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 8 },
[74] = { "put_by_id_loose", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT16, OPERAND_MEANING_STRING_ID }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 6 },
[75] = { "put_by_id_strict", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT16, OPERAND_MEANING_STRING_ID }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 6 },
[76] = { "put_by_id_loose_long", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT32, OPERAND_MEANING_STRING_ID }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 8 },
[77] = { "put_by_id_strict_long", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT32, OPERAND_MEANING_STRING_ID }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 8 },
[78] = { "try_put_by_id_loose", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT16, OPERAND_MEANING_STRING_ID }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 6 },
[79] = { "try_put_by_id_strict", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT16, OPERAND_MEANING_STRING_ID }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 6 },
[80] = { "try_put_by_id_loose_long", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT32, OPERAND_MEANING_STRING_ID }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 8 },
[81] = { "try_put_by_id_strict_long", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT32, OPERAND_MEANING_STRING_ID }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 8 },
[82] = { "put_own_by_slot_idx", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 4 },
[83] = { "put_own_by_slot_idx_long", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT32, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 7 },
[84] = { "get_own_by_slot_idx", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 4 },
[85] = { "get_own_by_slot_idx_long", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT32, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 7 },
[86] = { "define_own_by_id", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT16, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 6 },
[87] = { "define_own_by_id_long", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT32, OPERAND_MEANING_STRING_ID }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 8 },
[88] = { "define_own_by_index", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 4 },
[89] = { "define_own_by_index_l", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT32, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 7 },
[90] = { "define_own_in_dense_array", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 4 },
[91] = { "define_own_in_dense_array_l", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT16, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 5 },
[92] = { "define_own_by_val", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 5 },
[93] = { "get_by_val", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 4 },
[94] = { "get_by_index", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 4 },
[95] = { "get_by_val_with_receiver", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 5 },
[96] = { "put_by_val_loose", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 4 },
[97] = { "put_by_val_strict", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 4 },
[98] = { "put_by_val_with_receiver", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 6 },
[99] = { "del_by_val", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 5 },
[100] = { "add_own_private_by_sym", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 4 },
[101] = { "get_own_private_by_sym", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 5 },
[102] = { "put_own_private_by_sym", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 5 },
[103] = { "define_own_getter_setter_by_val", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 6 },
[104] = { "get_p_name_list", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 5 },
[105] = { "get_next_p_name", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 6 },
[106] = { "call", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 4 },
[107] = { "construct", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 4 },
[108] = { "call1", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 4 },
[109] = { "call_with_new_target", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 5 },
[110] = { "call2", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 5 },
[111] = { "call3", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 6 },
[112] = { "call4", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE } }, 7 },
[113] = { "call_with_new_target_long", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 5 },
[114] = { "call_require", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT32, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 7 },
[115] = { "call_builtin", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 4 },
[116] = { "call_builtin_long", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT32, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 7 },
[117] = { "get_builtin_closure", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 3 },
[118] = { "ret", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 2 },
[119] = { "catch", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 2 },
[120] = { "direct_eval", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 4 },
[121] = { "throw", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 2 },
[122] = { "throw_if_empty", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 3 },
[123] = { "throw_if_undefined", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 3 },
[124] = { "throw_if_this_initialized", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 2 },
[125] = { "debugger", { { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 1 },
[126] = { "async_break_check", { { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 1 },
[127] = { "profile_point", { { OPERAND_TYPE_UINT16, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 3 },
[128] = { "create_base_class", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT16, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 6 },
[129] = { "create_base_class_long_index", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT32, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 8 },
[130] = { "create_derived_class", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT16, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 7 },
[131] = { "create_derived_class_long_index", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT32, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 9 },
[132] = { "create_closure", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT16, OPERAND_MEANING_FUNCTION_ID }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 5 },
[133] = { "create_closure_long_index", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT32, OPERAND_MEANING_FUNCTION_ID }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 7 },
[134] = { "create_this_for_new", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 4 },
[135] = { "create_this_for_super", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 5 },
[136] = { "select_object", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 4 },
[137] = { "load_param", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 3 },
[138] = { "load_param_long", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT32, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 6 },
[139] = { "load_const_u_int8", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 3 },
[140] = { "load_const_int", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_IMM32, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 6 },
[141] = { "load_const_double", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_DOUBLE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 10 },
[142] = { "load_const_big_int", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT16, OPERAND_MEANING_BIGINT_ID }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 4 },
[143] = { "load_const_big_int_long_index", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT32, OPERAND_MEANING_BIGINT_ID }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 6 },
[144] = { "load_const_string", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT16, OPERAND_MEANING_STRING_ID }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 4 },
[145] = { "load_const_string_long_index", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT32, OPERAND_MEANING_STRING_ID }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 6 },
[146] = { "load_const_empty", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 2 },
[147] = { "load_const_undefined", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 2 },
[148] = { "load_const_null", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 2 },
[149] = { "load_const_true", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 2 },
[150] = { "load_const_false", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 2 },
[151] = { "load_const_zero", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 2 },
[152] = { "coerce_this_ns", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 3 },
[153] = { "load_this_ns", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 2 },
[154] = { "to_number", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 3 },
[155] = { "to_numeric", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 3 },
[156] = { "to_int32", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 3 },
[157] = { "to_uint32", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 3 },
[158] = { "add_empty_string", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 3 },
[159] = { "create_private_name", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT32, OPERAND_MEANING_STRING_ID }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 6 },
[160] = { "get_arguments_prop_by_val_loose", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 4 },
[161] = { "get_arguments_prop_by_val_strict", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 4 },
[162] = { "get_arguments_length", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 3 },
[163] = { "reify_arguments_strict", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 2 },
[164] = { "reify_arguments_loose", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 2 },
[165] = { "to_property_key", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 3 },
[166] = { "create_reg_exp", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT32, OPERAND_MEANING_STRING_ID }, { OPERAND_TYPE_UINT32, OPERAND_MEANING_STRING_ID }, { OPERAND_TYPE_UINT32, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 14 },
[167] = { "u_int_switch_imm", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT32, OPERAND_MEANING_NONE }, { OPERAND_TYPE_ADDR32, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT32, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT32, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 18 },
[168] = { "string_switch_imm", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT32, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT32, OPERAND_MEANING_NONE }, { OPERAND_TYPE_ADDR32, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT32, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 18 },
[169] = { "create_generator", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT16, OPERAND_MEANING_FUNCTION_ID }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 5 },
[170] = { "create_generator_long_index", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT32, OPERAND_MEANING_FUNCTION_ID }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 7 },
[171] = { "iterator_begin", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 3 },
[172] = { "iterator_next", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 4 },
[173] = { "iterator_close", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 3 },
[174] = { "typed_load_parent", { { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 3 },
[175] = { "name", { { OPERAND_TYPE_ADDR8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 2 },
[176] = { "name", { { OPERAND_TYPE_ADDR8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 3 },
[177] = { "name", { { OPERAND_TYPE_ADDR8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 4 },
[178] = { "jmp", { { OPERAND_TYPE_ADDR8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 2 },
[179] = { "jmp_long", { { OPERAND_TYPE_ADDR32, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 5 },
[180] = { "jmp_true", { { OPERAND_TYPE_ADDR8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 3 },
[181] = { "jmp_true_long", { { OPERAND_TYPE_ADDR32, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 6 },
[182] = { "jmp_false", { { OPERAND_TYPE_ADDR8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 3 },
[183] = { "jmp_false_long", { { OPERAND_TYPE_ADDR32, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 6 },
[184] = { "jmp_undefined", { { OPERAND_TYPE_ADDR8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 3 },
[185] = { "jmp_undefined_long", { { OPERAND_TYPE_ADDR32, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 6 },
[186] = { "jmp_type_of_is", { { OPERAND_TYPE_ADDR32, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT16, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 8 },
[187] = { "j_less", { { OPERAND_TYPE_ADDR8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 4 },
[188] = { "j_less_long", { { OPERAND_TYPE_ADDR32, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 7 },
[189] = { "j_not_less", { { OPERAND_TYPE_ADDR8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 4 },
[190] = { "j_not_less_long", { { OPERAND_TYPE_ADDR32, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 7 },
[191] = { "j_less_n", { { OPERAND_TYPE_ADDR8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 4 },
[192] = { "j_less_n_long", { { OPERAND_TYPE_ADDR32, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 7 },
[193] = { "j_not_less_n", { { OPERAND_TYPE_ADDR8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 4 },
[194] = { "j_not_less_n_long", { { OPERAND_TYPE_ADDR32, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 7 },
[195] = { "j_less_equal", { { OPERAND_TYPE_ADDR8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 4 },
[196] = { "j_less_equal_long", { { OPERAND_TYPE_ADDR32, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 7 },
[197] = { "j_not_less_equal", { { OPERAND_TYPE_ADDR8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 4 },
[198] = { "j_not_less_equal_long", { { OPERAND_TYPE_ADDR32, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 7 },
[199] = { "j_less_equal_n", { { OPERAND_TYPE_ADDR8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 4 },
[200] = { "j_less_equal_n_long", { { OPERAND_TYPE_ADDR32, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 7 },
[201] = { "j_not_less_equal_n", { { OPERAND_TYPE_ADDR8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 4 },
[202] = { "j_not_less_equal_n_long", { { OPERAND_TYPE_ADDR32, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 7 },
[203] = { "j_greater", { { OPERAND_TYPE_ADDR8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 4 },
[204] = { "j_greater_long", { { OPERAND_TYPE_ADDR32, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 7 },
[205] = { "j_not_greater", { { OPERAND_TYPE_ADDR8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 4 },
[206] = { "j_not_greater_long", { { OPERAND_TYPE_ADDR32, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 7 },
[207] = { "j_greater_equal", { { OPERAND_TYPE_ADDR8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 4 },
[208] = { "j_greater_equal_long", { { OPERAND_TYPE_ADDR32, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 7 },
[209] = { "j_not_greater_equal", { { OPERAND_TYPE_ADDR8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 4 },
[210] = { "j_not_greater_equal_long", { { OPERAND_TYPE_ADDR32, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 7 },
[211] = { "j_equal", { { OPERAND_TYPE_ADDR8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 4 },
[212] = { "j_equal_long", { { OPERAND_TYPE_ADDR32, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 7 },
[213] = { "j_not_equal", { { OPERAND_TYPE_ADDR8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 4 },
[214] = { "j_not_equal_long", { { OPERAND_TYPE_ADDR32, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 7 },
[215] = { "j_strict_equal", { { OPERAND_TYPE_ADDR8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 4 },
[216] = { "j_strict_equal_long", { { OPERAND_TYPE_ADDR32, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 7 },
[217] = { "j_strict_not_equal", { { OPERAND_TYPE_ADDR8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 4 },
[218] = { "j_strict_not_equal_long", { { OPERAND_TYPE_ADDR32, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 7 },
[219] = { "jmp_builtin_is", { { OPERAND_TYPE_ADDR8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 4 },
[220] = { "jmp_builtin_is_long", { { OPERAND_TYPE_ADDR32, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 7 },
[221] = { "jmp_builtin_is_not", { { OPERAND_TYPE_ADDR8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 4 },
[222] = { "jmp_builtin_is_not_long", { { OPERAND_TYPE_ADDR32, OPERAND_MEANING_NONE }, { OPERAND_TYPE_UINT8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_REG8, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE }, { OPERAND_TYPE_NONE, OPERAND_MEANING_NONE } }, 7 },
};
+9 -3
View File
@@ -169,7 +169,7 @@ Result _hbc_parse_function_bytecode(HBCReader *reader, u32 function_id, ParsedIn
ParsedInstruction instruction;
memset (&instruction, 0, sizeof (ParsedInstruction));
instruction.inst = &k_unknown_instruction;
instruction.opcode = opcode;
instruction.opcode = HBC_CANONICAL_OPCODE_UNKNOWN;
instruction.arg1 = remaining > UINT32_MAX? UINT32_MAX: (u32)remaining; /* store skipped size */
instruction.original_pos = original_pos;
instruction.next_pos = original_pos + (u32) (remaining > UINT32_MAX? UINT32_MAX: remaining);
@@ -189,7 +189,7 @@ Result _hbc_parse_function_bytecode(HBCReader *reader, u32 function_id, ParsedIn
memset (&instruction, 0, sizeof (ParsedInstruction));
instruction.inst = inst;
instruction.opcode = opcode;
instruction.opcode = hbc_canonical_opcode_from_name (inst->name);
instruction.original_pos = original_pos;
instruction.function_offset = function_header->offset;
instruction.hbc_reader = reader;
@@ -200,6 +200,8 @@ Result _hbc_parse_function_bytecode(HBCReader *reader, u32 function_id, ParsedIn
/* Parse operands from the buffer */
u32 operand_values[6] = { 0 };
bool parsing_failed = false;
bool has_double_arg2 = false;
double double_arg2_value = 0;
for (int i = 0; i < 6 && inst->operands[i].operand_type != OPERAND_TYPE_NONE; i++) {
OperandType operand_type = inst->operands[i].operand_type;
@@ -295,7 +297,8 @@ Result _hbc_parse_function_bytecode(HBCReader *reader, u32 function_id, ParsedIn
parsing_failed = true;
break;
}
instruction.double_arg2 = value;
has_double_arg2 = true;
double_arg2_value = value;
break;
}
@@ -316,6 +319,9 @@ Result _hbc_parse_function_bytecode(HBCReader *reader, u32 function_id, ParsedIn
/* Store operand values */
instruction.arg1 = operand_values[0];
instruction.arg2 = operand_values[1];
if (has_double_arg2) {
instruction.double_arg2 = double_arg2_value;
}
instruction.arg3 = operand_values[2];
instruction.arg4 = operand_values[3];
instruction.arg5 = operand_values[4];
+190 -13
View File
@@ -51,9 +51,15 @@ Result _hbc_reader_cleanup(HBCReader *reader) {
}
/* Clean up array and object data */
free (reader->arrays);
free (reader->literal_values);
if (reader->arrays != reader->literal_values) {
free (reader->arrays);
}
free (reader->object_keys);
free (reader->object_values);
if (reader->object_values != reader->literal_values) {
free (reader->object_values);
}
free (reader->object_shapes);
/* Clean up BigInt data */
free (reader->bigint_values);
@@ -191,8 +197,8 @@ Result _hbc_reader_read_header(HBCReader *reader) {
"Unsupported bytecode version (too old, minimum supported is 72)");
}
if (version > 96) {
fprintf (stderr, "Warning: Version %u is newer than the latest supported version (96). Some features may not work correctly.\n", version);
if (version > 99) {
fprintf (stderr, "Warning: Version %u is newer than the latest supported version (99). Some features may not work correctly.\n", version);
}
/* Read the source hash */
@@ -248,14 +254,25 @@ Result _hbc_reader_read_header(HBCReader *reader) {
/* Read the RegExp storage size */
RETURN_IF_ERROR (_hbc_buffer_reader_read_u32 (&reader->file_buffer, &reader->header.regExpStorageSize));
/* Read the array buffer size */
RETURN_IF_ERROR (_hbc_buffer_reader_read_u32 (&reader->file_buffer, &reader->header.arrayBufferSize));
/* Read literal/array buffer size */
RETURN_IF_ERROR (_hbc_buffer_reader_read_u32 (&reader->file_buffer, &reader->header.literalValueBufferSize));
/* Read the object key buffer size */
RETURN_IF_ERROR (_hbc_buffer_reader_read_u32 (&reader->file_buffer, &reader->header.objKeyBufferSize));
/* Read the object value buffer size */
RETURN_IF_ERROR (_hbc_buffer_reader_read_u32 (&reader->file_buffer, &reader->header.objValueBufferSize));
if (version >= 97) {
RETURN_IF_ERROR (_hbc_buffer_reader_read_u32 (&reader->file_buffer, &reader->header.objShapeTableCount));
reader->header.arrayBufferSize = reader->header.literalValueBufferSize;
reader->header.objValueBufferSize = reader->header.literalValueBufferSize;
} else {
RETURN_IF_ERROR (_hbc_buffer_reader_read_u32 (&reader->file_buffer, &reader->header.objValueBufferSize));
reader->header.arrayBufferSize = reader->header.literalValueBufferSize;
reader->header.objShapeTableCount = 0;
}
reader->header.numStringSwitchImms = 0;
if (version >= 99) {
RETURN_IF_ERROR (_hbc_buffer_reader_read_u32 (&reader->file_buffer, &reader->header.numStringSwitchImms));
}
/* Read the segment ID (or CJS module offset for older versions) */
RETURN_IF_ERROR (_hbc_buffer_reader_read_u32 (&reader->file_buffer, &reader->header.segmentID));
@@ -287,11 +304,128 @@ Result _hbc_reader_read_header(HBCReader *reader) {
return SUCCESS_RESULT ();
}
static Result hbc_reader_read_functions_modern(HBCReader *reader) {
if (!reader) {
return ERROR_RESULT (RESULT_ERROR_INVALID_ARGUMENT, "Reader is NULL");
}
RETURN_IF_ERROR (align_over_padding (&reader->file_buffer, 4));
reader->function_headers = (FunctionHeader *)calloc (reader->header.functionCount, sizeof (FunctionHeader));
if (!reader->function_headers) {
return ERROR_RESULT (RESULT_ERROR_MEMORY_ALLOCATION, "Failed to allocate function headers");
}
reader->function_id_to_exc_handlers = (ExceptionHandlerList *)calloc (reader->header.functionCount, sizeof (ExceptionHandlerList));
if (!reader->function_id_to_exc_handlers) {
free (reader->function_headers);
reader->function_headers = NULL;
return ERROR_RESULT (RESULT_ERROR_MEMORY_ALLOCATION, "Failed to allocate exception handler lists");
}
reader->function_id_to_debug_offsets = (DebugOffsets *)calloc (reader->header.functionCount, sizeof (DebugOffsets));
if (!reader->function_id_to_debug_offsets) {
free (reader->function_headers);
free (reader->function_id_to_exc_handlers);
reader->function_headers = NULL;
reader->function_id_to_exc_handlers = NULL;
return ERROR_RESULT (RESULT_ERROR_MEMORY_ALLOCATION, "Failed to allocate debug offsets");
}
for (u32 i = 0; i < reader->header.functionCount; i++) {
size_t header_pos = reader->file_buffer.position;
u32 raw1 = 0, raw2 = 0, raw3 = 0;
RETURN_IF_ERROR (_hbc_buffer_reader_read_u32 (&reader->file_buffer, &raw1));
RETURN_IF_ERROR (_hbc_buffer_reader_read_u32 (&reader->file_buffer, &raw2));
RETURN_IF_ERROR (_hbc_buffer_reader_read_u32 (&reader->file_buffer, &raw3));
FunctionHeader *header = &reader->function_headers[i];
header->offset = raw1 & 0x1FFFFFFu;
header->paramCount = (reader->header.version >= 99)? ((raw1 >> 25) & 0x1Fu): ((raw1 >> 25) & 0x7Fu);
header->bytecodeSizeInBytes = (reader->header.version >= 99)? (raw2 & 0x3FFFu): (raw2 & 0x7FFFu);
header->functionName = (reader->header.version >= 99)? ((raw2 >> 14) & 0xFFu): ((raw2 >> 15) & 0x1FFFFu);
header->frameSize = raw3 & 0xFFu;
header->highestReadCacheIndex = (raw3 >> 8) & 0xFFu;
header->highestWriteCacheIndex = (reader->header.version >= 99)? ((raw3 >> 16) & 0x7Fu): ((raw3 >> 16) & 0xFFu);
header->environmentSize = (reader->header.version >= 99)? ((raw3 >> 23) & 0x1u): 0;
{
u8 flags = (raw3 >> 24) & 0xFFu;
header->prohibitInvoke = flags & 0x3u;
header->strictMode = (flags >> 2) & 0x1u;
header->hasExceptionHandler = (flags >> 3) & 0x1u;
header->hasDebugInfo = (flags >> 4) & 0x1u;
header->overflowed = (flags >> 5) & 0x1u;
header->unused = (flags >> 6) & 0x3u;
}
header->infoOffset = 0;
if (header->overflowed) {
u32 large_header_offset = (reader->header.version >= 99)? ((header->functionName << 24) | (header->offset & 0xFFFFFFu)): ((header->functionName << 16) | (header->offset & 0xFFFFu));
RETURN_IF_ERROR (_hbc_buffer_reader_seek (&reader->file_buffer, large_header_offset));
RETURN_IF_ERROR (_hbc_buffer_reader_read_u32 (&reader->file_buffer, &header->offset));
RETURN_IF_ERROR (_hbc_buffer_reader_read_u32 (&reader->file_buffer, &header->paramCount));
if (reader->header.version >= 99) {
u32 ignored = 0;
RETURN_IF_ERROR (_hbc_buffer_reader_read_u32 (&reader->file_buffer, &ignored));
RETURN_IF_ERROR (_hbc_buffer_reader_read_u32 (&reader->file_buffer, &header->bytecodeSizeInBytes));
RETURN_IF_ERROR (_hbc_buffer_reader_read_u32 (&reader->file_buffer, &header->functionName));
RETURN_IF_ERROR (_hbc_buffer_reader_read_u32 (&reader->file_buffer, &ignored));
RETURN_IF_ERROR (_hbc_buffer_reader_read_u32 (&reader->file_buffer, &ignored));
RETURN_IF_ERROR (_hbc_buffer_reader_read_u32 (&reader->file_buffer, &header->frameSize));
RETURN_IF_ERROR (_hbc_buffer_reader_read_u8 (&reader->file_buffer, &header->highestReadCacheIndex));
RETURN_IF_ERROR (_hbc_buffer_reader_read_u8 (&reader->file_buffer, &header->highestWriteCacheIndex));
RETURN_IF_ERROR (_hbc_buffer_reader_read_u8 (&reader->file_buffer, &header->environmentSize));
{
u8 flags = 0;
RETURN_IF_ERROR (_hbc_buffer_reader_read_u8 (&reader->file_buffer, &flags));
header->prohibitInvoke = flags & 0x3u;
header->strictMode = (flags >> 2) & 0x1u;
header->hasExceptionHandler = (flags >> 3) & 0x1u;
header->hasDebugInfo = (flags >> 4) & 0x1u;
header->overflowed = (flags >> 5) & 0x1u;
header->unused = (flags >> 6) & 0x3u;
}
} else {
RETURN_IF_ERROR (_hbc_buffer_reader_read_u32 (&reader->file_buffer, &header->bytecodeSizeInBytes));
RETURN_IF_ERROR (_hbc_buffer_reader_read_u32 (&reader->file_buffer, &header->functionName));
RETURN_IF_ERROR (_hbc_buffer_reader_read_u32 (&reader->file_buffer, &header->frameSize));
RETURN_IF_ERROR (_hbc_buffer_reader_read_u8 (&reader->file_buffer, &header->highestReadCacheIndex));
RETURN_IF_ERROR (_hbc_buffer_reader_read_u8 (&reader->file_buffer, &header->highestWriteCacheIndex));
{
u8 flags = 0;
RETURN_IF_ERROR (_hbc_buffer_reader_read_u8 (&reader->file_buffer, &flags));
header->prohibitInvoke = flags & 0x3u;
header->strictMode = (flags >> 2) & 0x1u;
header->hasExceptionHandler = (flags >> 3) & 0x1u;
header->hasDebugInfo = (flags >> 4) & 0x1u;
header->overflowed = (flags >> 5) & 0x1u;
header->unused = (flags >> 6) & 0x3u;
}
}
RETURN_IF_ERROR (_hbc_buffer_reader_seek (&reader->file_buffer, header_pos + 12));
}
if (header->offset + header->bytecodeSizeInBytes > reader->file_buffer.size) {
return ERROR_RESULT (RESULT_ERROR_PARSING_FAILED, "Function bytecode range is out of bounds");
}
header->bytecode = (u8 *)malloc (header->bytecodeSizeInBytes);
if (!header->bytecode) {
return ERROR_RESULT (RESULT_ERROR_MEMORY_ALLOCATION, "Failed to allocate bytecode buffer");
}
RETURN_IF_ERROR (_hbc_buffer_reader_seek (&reader->file_buffer, header->offset));
RETURN_IF_ERROR (_hbc_buffer_reader_read_bytes (&reader->file_buffer, header->bytecode, header->bytecodeSizeInBytes));
RETURN_IF_ERROR (_hbc_buffer_reader_seek (&reader->file_buffer, header_pos + 12));
}
return SUCCESS_RESULT ();
}
/* Read function headers */
Result _hbc_reader_read_functions(HBCReader *reader) {
if (!reader) {
return ERROR_RESULT (RESULT_ERROR_INVALID_ARGUMENT, "Reader is NULL");
}
if (reader->header.version >= 97) {
return hbc_reader_read_functions_modern (reader);
}
/* Check if the function count is reasonable to prevent memory exhaustion */
if (reader->header.functionCount > MAX_FUNCTIONS) {
@@ -850,8 +984,12 @@ Result _hbc_reader_read_string_tables(HBCReader *reader) {
is_utf16 = reader->small_string_table[i].isUTF16;
}
/* Check bounds */
if (offset + (is_utf16? length * 2: length) > string_storage_size) {
size_t decoded_length = (size_t)length;
size_t available = (size_t)offset > string_storage_size? 0: string_storage_size - (size_t)offset;
if ((size_t)offset > string_storage_size ||
decoded_length == SIZE_MAX ||
(is_utf16 && decoded_length > available / 2) ||
(!is_utf16 && decoded_length > available)) {
fprintf (stderr, "Warning: String %u offset/length out of bounds, treating as empty string\n", i);
reader->strings[i] = strdup ("");
if (!reader->strings[i]) {
@@ -862,8 +1000,8 @@ Result _hbc_reader_read_string_tables(HBCReader *reader) {
continue;
}
/* Allocate string buffer - for UTF-16, length is in characters, so allocate 2 bytes per character */
u32 buffer_size = is_utf16? (length * 2 + 1): (length + 1);
/* Allocate string buffer (+1 for null terminator) */
size_t buffer_size = decoded_length + 1;
char *str = (char *)malloc (buffer_size);
if (!str) {
free (string_storage);
@@ -906,6 +1044,10 @@ Result _hbc_reader_read_arrays(HBCReader *reader) {
}
hbc_debug_printf ("Reading arrays at position %zu\n", reader->file_buffer.position);
if (reader->header.version >= 97) {
reader->header.arrayBufferSize = reader->header.literalValueBufferSize;
reader->header.objValueBufferSize = reader->header.literalValueBufferSize;
}
/* Sanity check on array buffer size */
if (reader->header.arrayBufferSize > 100 * 1024 * 1024) { /* 100MB limit */
@@ -988,6 +1130,33 @@ Result _hbc_reader_read_arrays(HBCReader *reader) {
}
}
if (reader->header.version >= 97 && reader->header.objShapeTableCount > 0) {
Result shape_align_result = align_over_padding (&reader->file_buffer, 4);
if (shape_align_result.code != RESULT_SUCCESS) {
fprintf (stderr, "Error aligning buffer for object shapes: %s\n", shape_align_result.error_message);
reader->header.objShapeTableCount = 0;
} else {
size_t shape_table_size = (size_t)reader->header.objShapeTableCount * sizeof (ShapeTableEntry);
if (reader->file_buffer.position + shape_table_size > reader->file_buffer.size) {
fprintf (stderr, "Warning: Not enough data for object shape table (need %zu bytes)\n", shape_table_size);
reader->header.objShapeTableCount = 0;
} else {
reader->object_shapes = (ShapeTableEntry *)calloc (reader->header.objShapeTableCount, sizeof (ShapeTableEntry));
if (!reader->object_shapes) {
return ERROR_RESULT (RESULT_ERROR_MEMORY_ALLOCATION, "Failed to allocate object shape table");
}
for (u32 i = 0; i < reader->header.objShapeTableCount; i++) {
RETURN_IF_ERROR (_hbc_buffer_reader_read_u32 (&reader->file_buffer, &reader->object_shapes[i].key_buffer_offset));
RETURN_IF_ERROR (_hbc_buffer_reader_read_u32 (&reader->file_buffer, &reader->object_shapes[i].prop_count));
}
reader->object_shape_count = reader->header.objShapeTableCount;
}
}
reader->literal_values = reader->arrays;
reader->object_values = reader->arrays;
return SUCCESS_RESULT ();
}
/* Handle object value buffer with safety checks */
if (reader->header.objValueBufferSize > 0) {
/* Align buffer for object value buffer */
@@ -1171,7 +1340,9 @@ Result _hbc_reader_read_bigints(HBCReader *reader) {
u32 length = bigint_table[i].length;
/* Check bounds */
if (offset + length > reader->header.bigIntStorageSize) {
size_t bigint_available = (size_t)offset > reader->header.bigIntStorageSize? 0:
(size_t)reader->header.bigIntStorageSize - (size_t)offset;
if ((size_t)offset > reader->header.bigIntStorageSize || (size_t)length > bigint_available) {
fprintf (stderr, "Warning: BigInt %u has invalid offset/length (%u+%u exceeds %u)\n", i, offset, length, reader->header.bigIntStorageSize);
/* Use zero for this value */
reader->bigint_values[i] = 0;
@@ -1415,6 +1586,12 @@ Result _hbc_reader_read_debug_info(HBCReader *reader) {
if (!reader) {
return ERROR_RESULT (RESULT_ERROR_INVALID_ARGUMENT, "Reader is NULL");
}
if (reader->header.debugInfoOffset == 0) {
return SUCCESS_RESULT ();
}
if (reader->header.version >= 97) {
return SUCCESS_RESULT ();
}
/* Seek to debug info offset */
RETURN_IF_ERROR (_hbc_buffer_reader_seek (&reader->file_buffer, reader->header.debugInfoOffset));
+6 -5
View File
@@ -364,9 +364,10 @@ Result _hbc_generate_r2_script(const char *input_file, const char *output_file)
bool isUTF16 = string_infos[i].isUTF16;
/* Skip strings with obviously invalid offsets/lengths */
if (offset >= string_storage_size ||
(isUTF16 && offset + (length * 2) > string_storage_size) ||
(!isUTF16 && offset + length > string_storage_size)) {
size_t available = (size_t)offset > string_storage_size? 0: string_storage_size - (size_t)offset;
if ((size_t)offset > string_storage_size ||
(isUTF16 && (size_t)length > available / 2) ||
(!isUTF16 && (size_t)length > available)) {
continue;
}
@@ -432,9 +433,9 @@ Result _hbc_generate_r2_script(const char *input_file, const char *output_file)
snprintf (unique_name, sizeof (unique_name), "%s_%u", sanitized_name[0]? sanitized_name: "str", i);
/* Write the string flag - offset is relative to string storage base */
uint32_t size = (isUTF16)? length * 2: length;
size_t size = isUTF16? (size_t)length * 2: (size_t)length;
uint32_t addr = (unsigned long) (reader.file_buffer.position - string_storage_size + offset);
fprintf (out, "'f str.%s %d 0x%08x\n", unique_name, size, addr);
fprintf (out, "'f str.%s %zu 0x%08x\n", unique_name, size, addr);
#if 0
/* Add flag for string length */
if (isUTF16) {
+10 -12
View File
@@ -7,7 +7,6 @@
#include <hbc/parser.h>
#define MAX_OP_SIZE 16
#ifndef R_ARCH_SYNTAX_CAMEL
#define R_ARCH_SYNTAX_CAMEL 6
#endif
@@ -170,8 +169,6 @@ static void parse_operands_and_set_ptr(RAnalOp *op, const ut8 *bytes, ut32 size,
HBCStringMeta meta;
Result meta_result = hbc_get_string_meta (hs->hbc, string_id, &meta);
if (meta_result.code == RESULT_SUCCESS) {
/* Set op->ptr to the file offset of the string.
* meta.offset already includes string_storage_file_offset */
op->ptr = (st64)meta.offset;
}
}
@@ -188,7 +185,6 @@ static void parse_operands_and_set_ptr(RAnalOp *op, const ut8 *bytes, ut32 size,
offset = fi.offset;
(void)fi.size;
(void)fi.param_count;
// Set op->ptr to the function address as a file offset
op->ptr = (st64)offset;
}
}
@@ -264,12 +260,14 @@ static bool decode(RArchSession *s, RAnalOp *op, RArchDecodeMask mask) {
set_esil (op, op->bytes, op->addr);
}
if (sinfo.opcode == OP_Ret) {
const u8 opc = sinfo.canonical_opcode;
if (opc == OP_Ret) {
op->type = R_ANAL_OP_TYPE_RET;
return true;
}
if (opcode_is_conditional (sinfo.opcode)) {
if (opcode_is_conditional (opc)) {
op->type = R_ANAL_OP_TYPE_CJMP;
op->jump = sinfo.jump_target;
op->fail = op->addr + op->size;
@@ -277,7 +275,7 @@ static bool decode(RArchSession *s, RAnalOp *op, RArchDecodeMask mask) {
}
/* SaveGenerator instructions are conditional branches, not calls */
if (sinfo.opcode == OP_SaveGenerator || sinfo.opcode == OP_SaveGeneratorLong) {
if (opc == OP_SaveGenerator || opc == OP_SaveGeneratorLong) {
op->type = R_ANAL_OP_TYPE_CJMP;
op->jump = sinfo.jump_target;
op->fail = op->addr + op->size;
@@ -288,7 +286,7 @@ static bool decode(RArchSession *s, RAnalOp *op, RArchDecodeMask mask) {
op->type = R_ANAL_OP_TYPE_JMP;
}
if (sinfo.opcode == OP_Jmp || sinfo.opcode == OP_JmpLong) {
if (opc == OP_Jmp || opc == OP_JmpLong) {
op->type = R_ANAL_OP_TYPE_JMP;
op->jump = sinfo.jump_target;
return true;
@@ -297,13 +295,13 @@ static bool decode(RArchSession *s, RAnalOp *op, RArchDecodeMask mask) {
if (sinfo.is_call) {
op->type = R_ANAL_OP_TYPE_CALL;
op->jump = sinfo.jump_target;
if (!op->jump && op->ptr) {
op->jump = op->ptr;
}
op->fail = op->addr + op->size;
return true;
}
/* Classify opcode type */
u8 opc = sinfo.opcode;
switch (opc) {
/* Arithmetic operations */
case OP_Add:
@@ -663,7 +661,7 @@ const RArchPlugin r_arch_plugin_r2hermes = {
},
.arch = "hbc",
.bits = R_SYS_BITS_PACK1 (64),
.cpus = "v76,v90,v91,v92,v93,v94,v95,v96",
.cpus = "v76,v90,v91,v92,v93,v94,v95,v96,v97,v98,v99",
.decode = &decode,
.encode = &encode,
.regs = regs,
+18 -5
View File
@@ -51,6 +51,18 @@ static HBC *get_hbc(RBinFile *bf) {
return hbo? hbo->hbc: NULL;
}
static int bin_limit(RBinFile *bf) {
return bf && bf->rbin? bf->rbin->options.limit: 0;
}
static u32 clamp_count_with_warning(const char *kind, u32 count, int limit) {
if (limit > 0 && count > (u32)limit) {
R_LOG_WARN ("hbc.bin: bin.limit reached for %s (%u > %d)", kind, count, limit);
return (u32)limit;
}
return count;
}
/* Check if entrypoint offset is valid: in bounds and not all zeros */
static bool is_valid_entrypoint(RBuffer *buf, ut64 offset) {
ut64 file_size = r_buf_size (buf);
@@ -205,7 +217,8 @@ static RList *symbols(RBinFile *bf) {
return symbols;
}
u32 func_count = hbc_function_count (hbc);
int limit = bin_limit (bf);
u32 func_count = clamp_count_with_warning ("symbols", hbc_function_count (hbc), limit);
for (u32 i = 0; i < func_count; i++) {
HBCFunc fi;
if (hbc_get_function_info (hbc, i, &fi).code != RESULT_SUCCESS) {
@@ -260,7 +273,8 @@ static RList *strings(RBinFile *bf) {
return ret;
}
u32 string_count = hbc_string_count (hbc);
int limit = bin_limit (bf);
u32 string_count = clamp_count_with_warning ("strings", hbc_string_count (hbc), limit);
for (u32 i = 0; i < string_count; i++) {
const char *str = NULL;
if (hbc_get_string (hbc, i, &str).code != RESULT_SUCCESS || !str) {
@@ -277,8 +291,7 @@ static RList *strings(RBinFile *bf) {
}
RBinString *ptr = R_NEW0 (RBinString);
size_t str_len = strlen (str);
if (str_len >= R_BIN_SIZEOF_STRINGS) {
if (meta.length >= R_BIN_SIZEOF_STRINGS) {
ptr->string = r_str_ndup (str, R_BIN_SIZEOF_STRINGS - 4);
if (ptr->string) {
char *tmp = r_str_newf ("%s...", ptr->string);
@@ -286,7 +299,7 @@ static RList *strings(RBinFile *bf) {
ptr->string = tmp;
}
} else {
ptr->string = strdup (str);
ptr->string = r_str_ndup (str, meta.length);
}
if (!ptr->string) {
free (ptr);
+13 -2
View File
@@ -440,9 +440,20 @@ static Result cmd_h(const CliContext *ctx, int argc, char **argv) {
}
fprintf (out, " RegExp Count: %u\n", hh.regExpCount);
fprintf (out, " RegExp Storage Size: %u bytes\n", hh.regExpStorageSize);
fprintf (out, " Array Buffer Size: %u bytes\n", hh.arrayBufferSize);
if (hh.version >= 97) {
fprintf (out, " Literal Value Buffer Size: %u bytes\n", hh.literalValueBufferSize);
} else {
fprintf (out, " Array Buffer Size: %u bytes\n", hh.arrayBufferSize);
}
fprintf (out, " Object Key Buffer Size: %u bytes\n", hh.objKeyBufferSize);
fprintf (out, " Object Value Buffer Size: %u bytes\n", hh.objValueBufferSize);
if (hh.version >= 97) {
fprintf (out, " Object Shape Table Count: %u\n", hh.objShapeTableCount);
} else {
fprintf (out, " Object Value Buffer Size: %u bytes\n", hh.objValueBufferSize);
}
if (hh.version >= 99) {
fprintf (out, " String Switch Instruction Count: %u\n", hh.numStringSwitchImms);
}
fprintf (out, " %s: %u\n CJS Module Count: %u\n", (hh.version < 78)? "CJS Module Offset": "Segment ID", hh.segmentID, hh.cjsModuleCount);
if (hh.version >= 84) {
fprintf (out, " Function Source Count: %u\n", hh.functionSourceCount);