302 lines
9.6 KiB
Text
302 lines
9.6 KiB
Text
# 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 X86_64
|
|
#
|
|
|
|
handler-style computed-goto
|
|
handler-size 128
|
|
|
|
function-type-format FUNCTION_TYPE(%s)
|
|
function-size-format SIZE(%s,%s)
|
|
global-name-format SYMBOL(%s)
|
|
|
|
# source for alternate entry stub
|
|
asm-alt-stub x86_64/alt_stub.S
|
|
|
|
# file header and basic definitions
|
|
import x86_64/header.S
|
|
|
|
# arch-specific entry point to interpreter
|
|
import x86_64/entry.S
|
|
|
|
# Stub to switch to alternate interpreter
|
|
fallback-stub x86_64/fallback.S
|
|
|
|
# opcode list; argument to op-start is default directory
|
|
op-start x86_64
|
|
# (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_unused_f3 FALLBACK
|
|
# op op_unused_f4 FALLBACK
|
|
# op op_unused_f5 FALLBACK
|
|
# op op_unused_f6 FALLBACK
|
|
# op op_unused_f7 FALLBACK
|
|
# op op_unused_f8 FALLBACK
|
|
# op op_unused_f9 FALLBACK
|
|
op op_invoke_polymorphic FALLBACK
|
|
op op_invoke_polymorphic_range FALLBACK
|
|
op op_invoke_custom FALLBACK
|
|
op op_invoke_custom_range FALLBACK
|
|
# op op_unused_fe FALLBACK
|
|
# op op_unused_ff FALLBACK
|
|
op-end
|
|
|
|
# common subroutines for asm
|
|
import x86_64/footer.S
|