/*
 * DO NOT EDIT THIS FILE, it is autogenerated.
 */
"use strict";

(function() {
    let source = `# SHA1Hash: ed1768b3225888d7af479d545d6763d107028191
# Copyright (C) 2014 Apple Inc. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
#
# 1.  Redistributions of source code must retain the above copyright
#     notice, this list of conditions and the following disclaimer. 
# 2.  Redistributions in binary form must reproduce the above copyright
#     notice, this list of conditions and the following disclaimer in the
#     documentation and/or other materials provided with the distribution. 
#
# THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
# DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

# Autogenerated from JavaScriptCore/bytecode/BytecodeList.json, do not modify.

setEntryAddress(0, _llint_op_enter)
setEntryAddress(1, _llint_op_get_scope)
setEntryAddress(2, _llint_op_create_direct_arguments)
setEntryAddress(3, _llint_op_create_scoped_arguments)
setEntryAddress(4, _llint_op_create_cloned_arguments)
setEntryAddress(5, _llint_op_create_this)
setEntryAddress(6, _llint_op_get_argument)
setEntryAddress(7, _llint_op_argument_count)
setEntryAddress(8, _llint_op_to_this)
setEntryAddress(9, _llint_op_check_tdz)
setEntryAddress(10, _llint_op_new_object)
setEntryAddress(11, _llint_op_new_array)
setEntryAddress(12, _llint_op_new_array_with_size)
setEntryAddress(13, _llint_op_new_array_with_spread)
setEntryAddress(14, _llint_op_spread)
setEntryAddress(15, _llint_op_new_array_buffer)
setEntryAddress(16, _llint_op_new_regexp)
setEntryAddress(17, _llint_op_mov)
setEntryAddress(18, _llint_op_not)
setEntryAddress(19, _llint_op_eq)
setEntryAddress(20, _llint_op_eq_null)
setEntryAddress(21, _llint_op_neq)
setEntryAddress(22, _llint_op_neq_null)
setEntryAddress(23, _llint_op_stricteq)
setEntryAddress(24, _llint_op_nstricteq)
setEntryAddress(25, _llint_op_less)
setEntryAddress(26, _llint_op_lesseq)
setEntryAddress(27, _llint_op_greater)
setEntryAddress(28, _llint_op_greatereq)
setEntryAddress(29, _llint_op_inc)
setEntryAddress(30, _llint_op_dec)
setEntryAddress(31, _llint_op_to_number)
setEntryAddress(32, _llint_op_to_string)
setEntryAddress(33, _llint_op_negate)
setEntryAddress(34, _llint_op_add)
setEntryAddress(35, _llint_op_mul)
setEntryAddress(36, _llint_op_div)
setEntryAddress(37, _llint_op_mod)
setEntryAddress(38, _llint_op_sub)
setEntryAddress(39, _llint_op_pow)
setEntryAddress(40, _llint_op_lshift)
setEntryAddress(41, _llint_op_rshift)
setEntryAddress(42, _llint_op_urshift)
setEntryAddress(43, _llint_op_unsigned)
setEntryAddress(44, _llint_op_bitand)
setEntryAddress(45, _llint_op_bitxor)
setEntryAddress(46, _llint_op_bitor)
setEntryAddress(47, _llint_op_overrides_has_instance)
setEntryAddress(48, _llint_op_instanceof)
setEntryAddress(49, _llint_op_instanceof_custom)
setEntryAddress(50, _llint_op_typeof)
setEntryAddress(51, _llint_op_is_empty)
setEntryAddress(52, _llint_op_is_undefined)
setEntryAddress(53, _llint_op_is_boolean)
setEntryAddress(54, _llint_op_is_number)
setEntryAddress(55, _llint_op_is_object)
setEntryAddress(56, _llint_op_is_object_or_null)
setEntryAddress(57, _llint_op_is_function)
setEntryAddress(58, _llint_op_is_cell_with_type)
setEntryAddress(59, _llint_op_in)
setEntryAddress(60, _llint_op_get_array_length)
setEntryAddress(61, _llint_op_get_by_id)
setEntryAddress(62, _llint_op_get_by_id_proto_load)
setEntryAddress(63, _llint_op_get_by_id_unset)
setEntryAddress(64, _llint_op_get_by_id_with_this)
setEntryAddress(65, _llint_op_get_by_val_with_this)
setEntryAddress(66, _llint_op_try_get_by_id)
setEntryAddress(67, _llint_op_put_by_id)
setEntryAddress(68, _llint_op_put_by_id_with_this)
setEntryAddress(69, _llint_op_del_by_id)
setEntryAddress(70, _llint_op_get_by_val)
setEntryAddress(71, _llint_op_put_by_val)
setEntryAddress(72, _llint_op_put_by_val_with_this)
setEntryAddress(73, _llint_op_put_by_val_direct)
setEntryAddress(74, _llint_op_del_by_val)
setEntryAddress(75, _llint_op_put_by_index)
setEntryAddress(76, _llint_op_put_getter_by_id)
setEntryAddress(77, _llint_op_put_setter_by_id)
setEntryAddress(78, _llint_op_put_getter_setter_by_id)
setEntryAddress(79, _llint_op_put_getter_by_val)
setEntryAddress(80, _llint_op_put_setter_by_val)
setEntryAddress(81, _llint_op_define_data_property)
setEntryAddress(82, _llint_op_define_accessor_property)
setEntryAddress(83, _llint_op_jmp)
setEntryAddress(84, _llint_op_jtrue)
setEntryAddress(85, _llint_op_jfalse)
setEntryAddress(86, _llint_op_jeq_null)
setEntryAddress(87, _llint_op_jneq_null)
setEntryAddress(88, _llint_op_jneq_ptr)
setEntryAddress(89, _llint_op_jless)
setEntryAddress(90, _llint_op_jlesseq)
setEntryAddress(91, _llint_op_jgreater)
setEntryAddress(92, _llint_op_jgreatereq)
setEntryAddress(93, _llint_op_jnless)
setEntryAddress(94, _llint_op_jnlesseq)
setEntryAddress(95, _llint_op_jngreater)
setEntryAddress(96, _llint_op_jngreatereq)
setEntryAddress(97, _llint_op_loop_hint)
setEntryAddress(98, _llint_op_switch_imm)
setEntryAddress(99, _llint_op_switch_char)
setEntryAddress(100, _llint_op_switch_string)
setEntryAddress(101, _llint_op_new_func)
setEntryAddress(102, _llint_op_new_func_exp)
setEntryAddress(103, _llint_op_new_generator_func)
setEntryAddress(104, _llint_op_new_generator_func_exp)
setEntryAddress(105, _llint_op_new_async_func)
setEntryAddress(106, _llint_op_new_async_func_exp)
setEntryAddress(107, _llint_op_set_function_name)
setEntryAddress(108, _llint_op_call)
setEntryAddress(109, _llint_op_tail_call)
setEntryAddress(110, _llint_op_call_eval)
setEntryAddress(111, _llint_op_call_varargs)
setEntryAddress(112, _llint_op_tail_call_varargs)
setEntryAddress(113, _llint_op_tail_call_forward_arguments)
setEntryAddress(114, _llint_op_ret)
setEntryAddress(115, _llint_op_construct)
setEntryAddress(116, _llint_op_construct_varargs)
setEntryAddress(117, _llint_op_strcat)
setEntryAddress(118, _llint_op_to_primitive)
setEntryAddress(119, _llint_op_resolve_scope)
setEntryAddress(120, _llint_op_get_from_scope)
setEntryAddress(121, _llint_op_put_to_scope)
setEntryAddress(122, _llint_op_get_from_arguments)
setEntryAddress(123, _llint_op_put_to_arguments)
setEntryAddress(124, _llint_op_push_with_scope)
setEntryAddress(125, _llint_op_create_lexical_environment)
setEntryAddress(126, _llint_op_get_parent_scope)
setEntryAddress(127, _llint_op_catch)
setEntryAddress(128, _llint_op_throw)
setEntryAddress(129, _llint_op_throw_static_error)
setEntryAddress(130, _llint_op_debug)
setEntryAddress(131, _llint_op_end)
setEntryAddress(132, _llint_op_profile_type)
setEntryAddress(133, _llint_op_profile_control_flow)
setEntryAddress(134, _llint_op_get_enumerable_length)
setEntryAddress(135, _llint_op_has_indexed_property)
setEntryAddress(136, _llint_op_has_structure_property)
setEntryAddress(137, _llint_op_has_generic_property)
setEntryAddress(138, _llint_op_get_direct_pname)
setEntryAddress(139, _llint_op_get_property_enumerator)
setEntryAddress(140, _llint_op_enumerator_structure_pname)
setEntryAddress(141, _llint_op_enumerator_generic_pname)
setEntryAddress(142, _llint_op_to_index_string)
setEntryAddress(143, _llint_op_assert)
setEntryAddress(144, _llint_op_unreachable)
setEntryAddress(145, _llint_op_create_rest)
setEntryAddress(146, _llint_op_get_rest_length)
setEntryAddress(147, _llint_op_yield)
setEntryAddress(148, _llint_op_check_traps)
setEntryAddress(149, _llint_op_log_shadow_chicken_prologue)
setEntryAddress(150, _llint_op_log_shadow_chicken_tail)
setEntryAddress(151, _llint_op_resolve_scope_for_hoisting_func_decl_in_eval)
setEntryAddress(152, _llint_op_nop)
setEntryAddress(153, _llint_program_prologue)
setEntryAddress(154, _llint_eval_prologue)
setEntryAddress(155, _llint_module_program_prologue)
setEntryAddress(156, _llint_function_for_call_prologue)
setEntryAddress(157, _llint_function_for_construct_prologue)
setEntryAddress(158, _llint_function_for_call_arity_check)
setEntryAddress(159, _llint_function_for_construct_arity_check)
setEntryAddress(160, _llint_generic_return_point)
setEntryAddress(161, _llint_throw_from_slow_path_trampoline)
setEntryAddress(162, _llint_throw_during_call_trampoline)
setEntryAddress(163, _llint_native_call_trampoline)
setEntryAddress(164, _llint_native_construct_trampoline)
setEntryAddress(165, _handleUncaughtException)
`;

    new File("InitBytecodes.asm", source);
})();

