blob: ff302acc7fb35388b1b444ada2defed312158c3a [file] [log] [blame]
[
{
"section" : "Bytecodes", "emitInHFile" : true, "emitInStructsFile" : true, "emitInASMFile" : true,
"emitOpcodeIDStringValuesInHFile" : true, "macroNameComponent" : "BYTECODE", "asmPrefix" : "llint_",
"bytecodes" : [
{ "name" : "op_enter", "length" : 1 },
{ "name" : "op_get_scope", "length" : 2 },
{ "name" : "op_create_direct_arguments", "length" : 2 },
{ "name" : "op_create_scoped_arguments", "length" : 3 },
{ "name" : "op_create_cloned_arguments", "length" : 2 },
{ "name" : "op_create_this", "offsets" :
[{"dst" : "int"},
{"callee" : "int"},
{"inlineCapacity" : "int"},
{"cachedCallee" : "WriteBarrier<JSCell>"}]},
{ "name" : "op_get_argument", "length" : 4 },
{ "name" : "op_argument_count", "length" : 2 },
{ "name" : "op_to_this", "length" : 5 },
{ "name" : "op_check_tdz", "length" : 2 },
{ "name" : "op_new_object", "length" : 4 },
{ "name" : "op_new_array", "length" : 5 },
{ "name" : "op_new_array_with_size", "length" : 4 },
{ "name" : "op_new_array_with_spread", "length" : 5 },
{ "name" : "op_spread", "length" : 3 },
{ "name" : "op_new_array_buffer", "length" : 4 },
{ "name" : "op_new_regexp", "length" : 3 },
{ "name" : "op_mov", "length" : 3 },
{ "name" : "op_not", "length" : 3 },
{ "name" : "op_eq", "length" : 4 },
{ "name" : "op_eq_null", "length" : 3 },
{ "name" : "op_neq", "length" : 4 },
{ "name" : "op_neq_null", "length" : 3 },
{ "name" : "op_stricteq", "length" : 4 },
{ "name" : "op_nstricteq", "length" : 4 },
{ "name" : "op_less", "length" : 4 },
{ "name" : "op_lesseq", "length" : 4 },
{ "name" : "op_greater", "length" : 4 },
{ "name" : "op_greatereq", "length" : 4 },
{ "name" : "op_below", "length" : 4 },
{ "name" : "op_beloweq", "length" : 4 },
{ "name" : "op_inc", "length" : 2 },
{ "name" : "op_dec", "length" : 2 },
{ "name" : "op_to_number", "length" : 4 },
{ "name" : "op_to_string", "length" : 3 },
{ "name" : "op_to_object", "length" : 5 },
{ "name" : "op_negate", "length" : 4 },
{ "name" : "op_add", "length" : 5 },
{ "name" : "op_mul", "length" : 5 },
{ "name" : "op_div", "length" : 5 },
{ "name" : "op_mod", "length" : 4 },
{ "name" : "op_sub", "length" : 5 },
{ "name" : "op_pow", "length" : 4 },
{ "name" : "op_lshift", "length" : 4 },
{ "name" : "op_rshift", "length" : 4 },
{ "name" : "op_urshift", "length" : 4 },
{ "name" : "op_unsigned", "length" : 3 },
{ "name" : "op_bitand", "length" : 5 },
{ "name" : "op_bitxor", "length" : 5 },
{ "name" : "op_bitor", "length" : 5 },
{ "name" : "op_identity_with_profile", "length" : 4 },
{ "name" : "op_overrides_has_instance", "offsets" :
[{"dst" : "int"},
{"constructor" : "int"},
{"hasInstanceValue" : "int"}] },
{ "name" : "op_instanceof", "offsets" :
[{"dst" : "int"},
{"value" : "int"},
{"prototype" : "int"}] },
{ "name" : "op_instanceof_custom", "offsets" :
[{"dst" : "int"},
{"value" : "int"},
{"constructor" : "int"},
{"hasInstanceValue" : "int"}] },
{ "name" : "op_typeof", "length" : 3 },
{ "name" : "op_is_empty", "length" : 3 },
{ "name" : "op_is_undefined", "length" : 3 },
{ "name" : "op_is_boolean", "length" : 3 },
{ "name" : "op_is_number", "length" : 3 },
{ "name" : "op_is_object", "length" : 3 },
{ "name" : "op_is_object_or_null", "length" : 3 },
{ "name" : "op_is_function", "length" : 3 },
{ "name" : "op_is_cell_with_type", "length" : 4 },
{ "name" : "op_in", "length" : 5 },
{ "name" : "op_get_array_length", "length" : 9 },
{ "name" : "op_get_by_id", "length" : 9 },
{ "name" : "op_get_by_id_proto_load", "length" : 9 },
{ "name" : "op_get_by_id_unset", "length" : 9 },
{ "name" : "op_get_by_id_with_this", "length" : 6 },
{ "name" : "op_get_by_val_with_this", "length" : 6 },
{ "name" : "op_try_get_by_id", "length" : 5 },
{ "name" : "op_put_by_id", "length" : 9 },
{ "name" : "op_put_by_id_with_this", "length" : 5 },
{ "name" : "op_del_by_id", "length" : 4 },
{ "name" : "op_get_by_val", "length" : 6 },
{ "name" : "op_put_by_val", "length" : 5 },
{ "name" : "op_put_by_val_with_this", "length" : 5 },
{ "name" : "op_put_by_val_direct", "length" : 5 },
{ "name" : "op_del_by_val", "length" : 4 },
{ "name" : "op_put_getter_by_id", "length" : 5 },
{ "name" : "op_put_setter_by_id", "length" : 5 },
{ "name" : "op_put_getter_setter_by_id", "length" : 6 },
{ "name" : "op_put_getter_by_val", "length" : 5 },
{ "name" : "op_put_setter_by_val", "length" : 5 },
{ "name" : "op_define_data_property", "length" : 5 },
{ "name" : "op_define_accessor_property", "length" : 6 },
{ "name" : "op_jmp", "length" : 2 },
{ "name" : "op_jtrue", "length" : 3 },
{ "name" : "op_jfalse", "length" : 3 },
{ "name" : "op_jeq_null", "length" : 3 },
{ "name" : "op_jneq_null", "length" : 3 },
{ "name" : "op_jneq_ptr", "length" : 5 },
{ "name" : "op_jeq", "length" : 4 },
{ "name" : "op_jstricteq", "length" : 4 },
{ "name" : "op_jneq", "length" : 4 },
{ "name" : "op_jnstricteq", "length" : 4 },
{ "name" : "op_jless", "length" : 4 },
{ "name" : "op_jlesseq", "length" : 4 },
{ "name" : "op_jgreater", "length" : 4 },
{ "name" : "op_jgreatereq", "length" : 4 },
{ "name" : "op_jnless", "length" : 4 },
{ "name" : "op_jnlesseq", "length" : 4 },
{ "name" : "op_jngreater", "length" : 4 },
{ "name" : "op_jngreatereq", "length" : 4 },
{ "name" : "op_jbelow", "length" : 4 },
{ "name" : "op_jbeloweq", "length" : 4 },
{ "name" : "op_loop_hint", "length" : 1 },
{ "name" : "op_switch_imm", "length" : 4 },
{ "name" : "op_switch_char", "length" : 4 },
{ "name" : "op_switch_string", "length" : 4 },
{ "name" : "op_new_func", "length" : 4 },
{ "name" : "op_new_func_exp", "length" : 4 },
{ "name" : "op_new_generator_func", "length" : 4 },
{ "name" : "op_new_generator_func_exp", "length" : 4 },
{ "name" : "op_new_async_func", "length" : 4 },
{ "name" : "op_new_async_func_exp", "length" : 4 },
{ "name" : "op_new_async_generator_func", "length" : 4 },
{ "name" : "op_new_async_generator_func_exp", "length" : 4 },
{ "name" : "op_set_function_name", "length" : 3 },
{ "name" : "op_call", "length" : 9 },
{ "name" : "op_tail_call", "length" : 9 },
{ "name" : "op_call_eval", "length" : 9 },
{ "name" : "op_call_varargs", "length" : 9 },
{ "name" : "op_tail_call_varargs", "length" : 9 },
{ "name" : "op_tail_call_forward_arguments", "length" : 9 },
{ "name" : "op_ret", "length" : 2 },
{ "name" : "op_construct", "length" : 9 },
{ "name" : "op_construct_varargs", "length" : 9 },
{ "name" : "op_strcat", "length" : 4 },
{ "name" : "op_to_primitive", "length" : 3 },
{ "name" : "op_resolve_scope", "length" : 7 },
{ "name" : "op_get_from_scope", "length" : 8 },
{ "name" : "op_put_to_scope", "length" : 7 },
{ "name" : "op_get_from_arguments", "length" : 5 },
{ "name" : "op_put_to_arguments", "length" : 4 },
{ "name" : "op_push_with_scope", "length" : 4 },
{ "name" : "op_create_lexical_environment", "length" : 5 },
{ "name" : "op_get_parent_scope", "length" : 3 },
{ "name" : "op_catch", "length" : 4 },
{ "name" : "op_throw", "length" : 2 },
{ "name" : "op_throw_static_error", "length" : 3 },
{ "name" : "op_debug", "length" : 3 },
{ "name" : "op_end", "length" : 2 },
{ "name" : "op_profile_type", "length" : 6 },
{ "name" : "op_profile_control_flow", "length" : 2 },
{ "name" : "op_get_enumerable_length", "length" : 3 },
{ "name" : "op_has_indexed_property", "length" : 5 },
{ "name" : "op_has_structure_property", "length" : 5 },
{ "name" : "op_has_generic_property", "length" : 4 },
{ "name" : "op_get_direct_pname", "length" : 7 },
{ "name" : "op_get_property_enumerator", "length" : 3 },
{ "name" : "op_enumerator_structure_pname", "length" : 4 },
{ "name" : "op_enumerator_generic_pname", "length" : 4 },
{ "name" : "op_to_index_string", "length" : 3 },
{ "name" : "op_unreachable", "length" : 1 },
{ "name" : "op_create_rest", "length": 4 },
{ "name" : "op_get_rest_length", "length": 3 },
{ "name" : "op_yield", "length" : 4 },
{ "name" : "op_check_traps", "length" : 1 },
{ "name" : "op_log_shadow_chicken_prologue", "length" : 2},
{ "name" : "op_log_shadow_chicken_tail", "length" : 3},
{ "name" : "op_resolve_scope_for_hoisting_func_decl_in_eval", "length" : 4 },
{ "name" : "op_nop", "length" : 1 },
{ "name" : "op_super_sampler_begin", "length" : 1 },
{ "name" : "op_super_sampler_end", "length" : 1 }
]
},
{
"section" : "CLoopHelpers", "emitInHFile" : true, "emitInStructsFile" : false, "emitInASMFile" : false,
"emitOpcodeIDStringValuesInHFile" : false, "defaultLength" : 1, "macroNameComponent" : "CLOOP_BYTECODE_HELPER",
"bytecodes" : [
{ "name" : "llint_entry" },
{ "name" : "getHostCallReturnValue" },
{ "name" : "llint_return_to_host" },
{ "name" : "llint_vm_entry_to_javascript" },
{ "name" : "llint_vm_entry_to_native" },
{ "name" : "llint_cloop_did_return_from_js_1" },
{ "name" : "llint_cloop_did_return_from_js_2" },
{ "name" : "llint_cloop_did_return_from_js_3" },
{ "name" : "llint_cloop_did_return_from_js_4" },
{ "name" : "llint_cloop_did_return_from_js_5" },
{ "name" : "llint_cloop_did_return_from_js_6" },
{ "name" : "llint_cloop_did_return_from_js_7" },
{ "name" : "llint_cloop_did_return_from_js_8" },
{ "name" : "llint_cloop_did_return_from_js_9" },
{ "name" : "llint_cloop_did_return_from_js_10" },
{ "name" : "llint_cloop_did_return_from_js_11" },
{ "name" : "llint_cloop_did_return_from_js_12" }
]
},
{
"section" : "NativeHelpers", "emitInHFile" : true, "emitInStructsFile" : false, "emitInASMFile" : true,
"emitOpcodeIDStringValuesInHFile" : false, "defaultLength" : 1, "macroNameComponent" : "BYTECODE_HELPER",
"bytecodes" : [
{ "name" : "llint_program_prologue" },
{ "name" : "llint_eval_prologue" },
{ "name" : "llint_module_program_prologue" },
{ "name" : "llint_function_for_call_prologue" },
{ "name" : "llint_function_for_construct_prologue" },
{ "name" : "llint_function_for_call_arity_check" },
{ "name" : "llint_function_for_construct_arity_check" },
{ "name" : "llint_generic_return_point" },
{ "name" : "llint_throw_from_slow_path_trampoline" },
{ "name" : "llint_throw_during_call_trampoline" },
{ "name" : "llint_native_call_trampoline" },
{ "name" : "llint_native_construct_trampoline" },
{ "name" : "llint_internal_function_call_trampoline" },
{ "name" : "llint_internal_function_construct_trampoline" },
{ "name" : "handleUncaughtException" }
]
}
]