# Copyright (C) 2015 The Android Open Source Project # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # # Configuration for ARM64 # handler-style computed-goto handler-size 128 # source for alternate entry stub asm-alt-stub arm64/alt_stub.S # file header and basic definitions import arm64/header.S # arch-specific entry point to interpreter import arm64/entry.S # Stub to switch to alternate interpreter fallback-stub arm64/fallback.S # opcode list; argument to op-start is default directory op-start arm64 # (override example:) op OP_SUB_FLOAT_2ADDR arm-vfp # (fallback example:) op OP_SUB_FLOAT_2ADDR FALLBACK # op op_nop FALLBACK # op op_move FALLBACK # op op_move_from16 FALLBACK # op op_move_16 FALLBACK # op op_move_wide FALLBACK # op op_move_wide_from16 FALLBACK # op op_move_wide_16 FALLBACK # op op_move_object FALLBACK # op op_move_object_from16 FALLBACK # op op_move_object_16 FALLBACK # op op_move_result FALLBACK # op op_move_result_wide FALLBACK # op op_move_result_object FALLBACK # op op_move_exception FALLBACK # op op_return_void FALLBACK # op op_return FALLBACK # op op_return_wide FALLBACK # op op_return_object FALLBACK # op op_const_4 FALLBACK # op op_const_16 FALLBACK # op op_const FALLBACK # op op_const_high16 FALLBACK # op op_const_wide_16 FALLBACK # op op_const_wide_32 FALLBACK # op op_const_wide FALLBACK # op op_const_wide_high16 FALLBACK # op op_const_string FALLBACK # op op_const_string_jumbo FALLBACK # op op_const_class FALLBACK # op op_monitor_enter FALLBACK # op op_monitor_exit FALLBACK # op op_check_cast FALLBACK # op op_instance_of FALLBACK # op op_array_length FALLBACK # op op_new_instance FALLBACK # op op_new_array FALLBACK # op op_filled_new_array FALLBACK # op op_filled_new_array_range FALLBACK # op op_fill_array_data FALLBACK # op op_throw FALLBACK # op op_goto FALLBACK # op op_goto_16 FALLBACK # op op_goto_32 FALLBACK # op op_packed_switch FALLBACK # op op_sparse_switch FALLBACK # op op_cmpl_float FALLBACK # op op_cmpg_float FALLBACK # op op_cmpl_double FALLBACK # op op_cmpg_double FALLBACK # op op_cmp_long FALLBACK # op op_if_eq FALLBACK # op op_if_ne FALLBACK # op op_if_lt FALLBACK # op op_if_ge FALLBACK # op op_if_gt FALLBACK # op op_if_le FALLBACK # op op_if_eqz FALLBACK # op op_if_nez FALLBACK # op op_if_ltz FALLBACK # op op_if_gez FALLBACK # op op_if_gtz FALLBACK # op op_if_lez FALLBACK # op op_unused_3e FALLBACK # op op_unused_3f FALLBACK # op op_unused_40 FALLBACK # op op_unused_41 FALLBACK # op op_unused_42 FALLBACK # op op_unused_43 FALLBACK # op op_aget FALLBACK # op op_aget_wide FALLBACK # op op_aget_object FALLBACK # op op_aget_boolean FALLBACK # op op_aget_byte FALLBACK # op op_aget_char FALLBACK # op op_aget_short FALLBACK # op op_aput FALLBACK # op op_aput_wide FALLBACK # op op_aput_object FALLBACK # op op_aput_boolean FALLBACK # op op_aput_byte FALLBACK # op op_aput_char FALLBACK # op op_aput_short FALLBACK # op op_iget FALLBACK # op op_iget_wide FALLBACK # op op_iget_object FALLBACK # op op_iget_boolean FALLBACK # op op_iget_byte FALLBACK # op op_iget_char FALLBACK # op op_iget_short FALLBACK # op op_iput FALLBACK # op op_iput_wide FALLBACK # op op_iput_object FALLBACK # op op_iput_boolean FALLBACK # op op_iput_byte FALLBACK # op op_iput_char FALLBACK # op op_iput_short FALLBACK # op op_sget FALLBACK # op op_sget_wide FALLBACK # op op_sget_object FALLBACK # op op_sget_boolean FALLBACK # op op_sget_byte FALLBACK # op op_sget_char FALLBACK # op op_sget_short FALLBACK # op op_sput FALLBACK # op op_sput_wide FALLBACK # op op_sput_object FALLBACK # op op_sput_boolean FALLBACK # op op_sput_byte FALLBACK # op op_sput_char FALLBACK # op op_sput_short FALLBACK # op op_invoke_virtual FALLBACK # op op_invoke_super FALLBACK # op op_invoke_direct FALLBACK # op op_invoke_static FALLBACK # op op_invoke_interface FALLBACK # op op_return_void_no_barrier FALLBACK # op op_invoke_virtual_range FALLBACK # op op_invoke_super_range FALLBACK # op op_invoke_direct_range FALLBACK # op op_invoke_static_range FALLBACK # op op_invoke_interface_range FALLBACK # op op_unused_79 FALLBACK # op op_unused_7a FALLBACK # op op_neg_int FALLBACK # op op_not_int FALLBACK # op op_neg_long FALLBACK # op op_not_long FALLBACK # op op_neg_float FALLBACK # op op_neg_double FALLBACK # op op_int_to_long FALLBACK # op op_int_to_float FALLBACK # op op_int_to_double FALLBACK # op op_long_to_int FALLBACK # op op_long_to_float FALLBACK # op op_long_to_double FALLBACK # op op_float_to_int FALLBACK # op op_float_to_long FALLBACK # op op_float_to_double FALLBACK # op op_double_to_int FALLBACK # op op_double_to_long FALLBACK # op op_double_to_float FALLBACK # op op_int_to_byte FALLBACK # op op_int_to_char FALLBACK # op op_int_to_short FALLBACK # op op_add_int FALLBACK # op op_sub_int FALLBACK # op op_mul_int FALLBACK # op op_div_int FALLBACK # op op_rem_int FALLBACK # op op_and_int FALLBACK # op op_or_int FALLBACK # op op_xor_int FALLBACK # op op_shl_int FALLBACK # op op_shr_int FALLBACK # op op_ushr_int FALLBACK # op op_add_long FALLBACK # op op_sub_long FALLBACK # op op_mul_long FALLBACK # op op_div_long FALLBACK # op op_rem_long FALLBACK # op op_and_long FALLBACK # op op_or_long FALLBACK # op op_xor_long FALLBACK # op op_shl_long FALLBACK # op op_shr_long FALLBACK # op op_ushr_long FALLBACK # op op_add_float FALLBACK # op op_sub_float FALLBACK # op op_mul_float FALLBACK # op op_div_float FALLBACK # op op_rem_float FALLBACK # op op_add_double FALLBACK # op op_sub_double FALLBACK # op op_mul_double FALLBACK # op op_div_double FALLBACK # op op_rem_double FALLBACK # op op_add_int_2addr FALLBACK # op op_sub_int_2addr FALLBACK # op op_mul_int_2addr FALLBACK # op op_div_int_2addr FALLBACK # op op_rem_int_2addr FALLBACK # op op_and_int_2addr FALLBACK # op op_or_int_2addr FALLBACK # op op_xor_int_2addr FALLBACK # op op_shl_int_2addr FALLBACK # op op_shr_int_2addr FALLBACK # op op_ushr_int_2addr FALLBACK # op op_add_long_2addr FALLBACK # op op_sub_long_2addr FALLBACK # op op_mul_long_2addr FALLBACK # op op_div_long_2addr FALLBACK # op op_rem_long_2addr FALLBACK # op op_and_long_2addr FALLBACK # op op_or_long_2addr FALLBACK # op op_xor_long_2addr FALLBACK # op op_shl_long_2addr FALLBACK # op op_shr_long_2addr FALLBACK # op op_ushr_long_2addr FALLBACK # op op_add_float_2addr FALLBACK # op op_sub_float_2addr FALLBACK # op op_mul_float_2addr FALLBACK # op op_div_float_2addr FALLBACK # op op_rem_float_2addr FALLBACK # op op_add_double_2addr FALLBACK # op op_sub_double_2addr FALLBACK # op op_mul_double_2addr FALLBACK # op op_div_double_2addr FALLBACK # op op_rem_double_2addr FALLBACK # op op_add_int_lit16 FALLBACK # op op_rsub_int FALLBACK # op op_mul_int_lit16 FALLBACK # op op_div_int_lit16 FALLBACK # op op_rem_int_lit16 FALLBACK # op op_and_int_lit16 FALLBACK # op op_or_int_lit16 FALLBACK # op op_xor_int_lit16 FALLBACK # op op_add_int_lit8 FALLBACK # op op_rsub_int_lit8 FALLBACK # op op_mul_int_lit8 FALLBACK # op op_div_int_lit8 FALLBACK # op op_rem_int_lit8 FALLBACK # op op_and_int_lit8 FALLBACK # op op_or_int_lit8 FALLBACK # op op_xor_int_lit8 FALLBACK # op op_shl_int_lit8 FALLBACK # op op_shr_int_lit8 FALLBACK # op op_ushr_int_lit8 FALLBACK # op op_iget_quick FALLBACK # op op_iget_wide_quick FALLBACK # op op_iget_object_quick FALLBACK # op op_iput_quick FALLBACK # op op_iput_wide_quick FALLBACK # op op_iput_object_quick FALLBACK # op op_invoke_virtual_quick FALLBACK # op op_invoke_virtual_range_quick FALLBACK # op op_iput_boolean_quick FALLBACK # op op_iput_byte_quick FALLBACK # op op_iput_char_quick FALLBACK # op op_iput_short_quick FALLBACK # op op_iget_boolean_quick FALLBACK # op op_iget_byte_quick FALLBACK # op op_iget_char_quick FALLBACK # op op_iget_short_quick FALLBACK op op_invoke_lambda FALLBACK # op op_unused_f4 FALLBACK op op_capture_variable FALLBACK op op_create_lambda FALLBACK op op_liberate_variable FALLBACK op op_box_lambda FALLBACK op op_unbox_lambda FALLBACK # op op_unused_fa FALLBACK # op op_unused_fb FALLBACK # op op_unused_fc FALLBACK # op op_unused_fd FALLBACK # op op_unused_fe FALLBACK # op op_unused_ff FALLBACK op-end # common subroutines for asm import arm64/footer.S