1# Copyright (C) 2015 The Android Open Source Project 2# 3# Licensed under the Apache License, Version 2.0 (the "License"); 4# you may not use this file except in compliance with the License. 5# You may obtain a copy of the License at 6# 7# http://www.apache.org/licenses/LICENSE-2.0 8# 9# Unless required by applicable law or agreed to in writing, software 10# distributed under the License is distributed on an "AS IS" BASIS, 11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12# See the License for the specific language governing permissions and 13# limitations under the License. 14 15# 16# Configuration for X86 17# 18 19handler-style computed-goto 20handler-size 128 21 22function-type-format FUNCTION_TYPE(%s) 23function-size-format SIZE(%s,%s) 24global-name-format SYMBOL(%s) 25 26# source for alternate entry stub 27asm-alt-stub x86/alt_stub.S 28 29# file header and basic definitions 30import x86/header.S 31 32# arch-specific entry point to interpreter 33import x86/entry.S 34 35# Stub to switch to alternate interpreter 36fallback-stub x86/fallback.S 37 38# opcode list; argument to op-start is default directory 39op-start x86 40 # (override example:) op OP_SUB_FLOAT_2ADDR arm-vfp 41 # (fallback example:) op OP_SUB_FLOAT_2ADDR FALLBACK 42 43 # op op_nop FALLBACK 44 # op op_move FALLBACK 45 # op op_move_from16 FALLBACK 46 # op op_move_16 FALLBACK 47 # op op_move_wide FALLBACK 48 # op op_move_wide_from16 FALLBACK 49 # op op_move_wide_16 FALLBACK 50 # op op_move_object FALLBACK 51 # op op_move_object_from16 FALLBACK 52 # op op_move_object_16 FALLBACK 53 # op op_move_result FALLBACK 54 # op op_move_result_wide FALLBACK 55 # op op_move_result_object FALLBACK 56 # op op_move_exception FALLBACK 57 # op op_return_void FALLBACK 58 # op op_return FALLBACK 59 # op op_return_wide FALLBACK 60 # op op_return_object FALLBACK 61 # op op_const_4 FALLBACK 62 # op op_const_16 FALLBACK 63 # op op_const FALLBACK 64 # op op_const_high16 FALLBACK 65 # op op_const_wide_16 FALLBACK 66 # op op_const_wide_32 FALLBACK 67 # op op_const_wide FALLBACK 68 # op op_const_wide_high16 FALLBACK 69 # op op_const_string FALLBACK 70 # op op_const_string_jumbo FALLBACK 71 # op op_const_class FALLBACK 72 # op op_monitor_enter FALLBACK 73 # op op_monitor_exit FALLBACK 74 # op op_check_cast FALLBACK 75 # op op_instance_of FALLBACK 76 # op op_array_length FALLBACK 77 # op op_new_instance FALLBACK 78 # op op_new_array FALLBACK 79 # op op_filled_new_array FALLBACK 80 # op op_filled_new_array_range FALLBACK 81 # op op_fill_array_data FALLBACK 82 # op op_throw FALLBACK 83 # op op_goto FALLBACK 84 # op op_goto_16 FALLBACK 85 # op op_goto_32 FALLBACK 86 # op op_packed_switch FALLBACK 87 # op op_sparse_switch FALLBACK 88 # op op_cmpl_float FALLBACK 89 # op op_cmpg_float FALLBACK 90 # op op_cmpl_double FALLBACK 91 # op op_cmpg_double FALLBACK 92 # op op_cmp_long FALLBACK 93 # op op_if_eq FALLBACK 94 # op op_if_ne FALLBACK 95 # op op_if_lt FALLBACK 96 # op op_if_ge FALLBACK 97 # op op_if_gt FALLBACK 98 # op op_if_le FALLBACK 99 # op op_if_eqz FALLBACK 100 # op op_if_nez FALLBACK 101 # op op_if_ltz FALLBACK 102 # op op_if_gez FALLBACK 103 # op op_if_gtz FALLBACK 104 # op op_if_lez FALLBACK 105 # op op_unused_3e FALLBACK 106 # op op_unused_3f FALLBACK 107 # op op_unused_40 FALLBACK 108 # op op_unused_41 FALLBACK 109 # op op_unused_42 FALLBACK 110 # op op_unused_43 FALLBACK 111 # op op_aget FALLBACK 112 # op op_aget_wide FALLBACK 113 # op op_aget_object FALLBACK 114 # op op_aget_boolean FALLBACK 115 # op op_aget_byte FALLBACK 116 # op op_aget_char FALLBACK 117 # op op_aget_short FALLBACK 118 # op op_aput FALLBACK 119 # op op_aput_wide FALLBACK 120 # op op_aput_object FALLBACK 121 # op op_aput_boolean FALLBACK 122 # op op_aput_byte FALLBACK 123 # op op_aput_char FALLBACK 124 # op op_aput_short FALLBACK 125 # op op_iget FALLBACK 126 # op op_iget_wide FALLBACK 127 # op op_iget_object FALLBACK 128 # op op_iget_boolean FALLBACK 129 # op op_iget_byte FALLBACK 130 # op op_iget_char FALLBACK 131 # op op_iget_short FALLBACK 132 # op op_iput FALLBACK 133 # op op_iput_wide FALLBACK 134 # op op_iput_object FALLBACK 135 # op op_iput_boolean FALLBACK 136 # op op_iput_byte FALLBACK 137 # op op_iput_char FALLBACK 138 # op op_iput_short FALLBACK 139 # op op_sget FALLBACK 140 # op op_sget_wide FALLBACK 141 # op op_sget_object FALLBACK 142 # op op_sget_boolean FALLBACK 143 # op op_sget_byte FALLBACK 144 # op op_sget_char FALLBACK 145 # op op_sget_short FALLBACK 146 # op op_sput FALLBACK 147 # op op_sput_wide FALLBACK 148 # op op_sput_object FALLBACK 149 # op op_sput_boolean FALLBACK 150 # op op_sput_byte FALLBACK 151 # op op_sput_char FALLBACK 152 # op op_sput_short FALLBACK 153 # op op_invoke_virtual FALLBACK 154 # op op_invoke_super FALLBACK 155 # op op_invoke_direct FALLBACK 156 # op op_invoke_static FALLBACK 157 # op op_invoke_interface FALLBACK 158 # op op_return_void_no_barrier FALLBACK 159 # op op_invoke_virtual_range FALLBACK 160 # op op_invoke_super_range FALLBACK 161 # op op_invoke_direct_range FALLBACK 162 # op op_invoke_static_range FALLBACK 163 # op op_invoke_interface_range FALLBACK 164 # op op_unused_79 FALLBACK 165 # op op_unused_7a FALLBACK 166 # op op_neg_int FALLBACK 167 # op op_not_int FALLBACK 168 # op op_neg_long FALLBACK 169 # op op_not_long FALLBACK 170 # op op_neg_float FALLBACK 171 # op op_neg_double FALLBACK 172 # op op_int_to_long FALLBACK 173 # op op_int_to_float FALLBACK 174 # op op_int_to_double FALLBACK 175 # op op_long_to_int FALLBACK 176 # op op_long_to_float FALLBACK 177 # op op_long_to_double FALLBACK 178 # op op_float_to_int FALLBACK 179 # op op_float_to_long FALLBACK 180 # op op_float_to_double FALLBACK 181 # op op_double_to_int FALLBACK 182 # op op_double_to_long FALLBACK 183 # op op_double_to_float FALLBACK 184 # op op_int_to_byte FALLBACK 185 # op op_int_to_char FALLBACK 186 # op op_int_to_short FALLBACK 187 # op op_add_int FALLBACK 188 # op op_sub_int FALLBACK 189 # op op_mul_int FALLBACK 190 # op op_div_int FALLBACK 191 # op op_rem_int FALLBACK 192 # op op_and_int FALLBACK 193 # op op_or_int FALLBACK 194 # op op_xor_int FALLBACK 195 # op op_shl_int FALLBACK 196 # op op_shr_int FALLBACK 197 # op op_ushr_int FALLBACK 198 # op op_add_long FALLBACK 199 # op op_sub_long FALLBACK 200 # op op_mul_long FALLBACK 201 # op op_div_long FALLBACK 202 # op op_rem_long FALLBACK 203 # op op_and_long FALLBACK 204 # op op_or_long FALLBACK 205 # op op_xor_long FALLBACK 206 # op op_shl_long FALLBACK 207 # op op_shr_long FALLBACK 208 # op op_ushr_long FALLBACK 209 # op op_add_float FALLBACK 210 # op op_sub_float FALLBACK 211 # op op_mul_float FALLBACK 212 # op op_div_float FALLBACK 213 # op op_rem_float FALLBACK 214 # op op_add_double FALLBACK 215 # op op_sub_double FALLBACK 216 # op op_mul_double FALLBACK 217 # op op_div_double FALLBACK 218 # op op_rem_double FALLBACK 219 # op op_add_int_2addr FALLBACK 220 # op op_sub_int_2addr FALLBACK 221 # op op_mul_int_2addr FALLBACK 222 # op op_div_int_2addr FALLBACK 223 # op op_rem_int_2addr FALLBACK 224 # op op_and_int_2addr FALLBACK 225 # op op_or_int_2addr FALLBACK 226 # op op_xor_int_2addr FALLBACK 227 # op op_shl_int_2addr FALLBACK 228 # op op_shr_int_2addr FALLBACK 229 # op op_ushr_int_2addr FALLBACK 230 # op op_add_long_2addr FALLBACK 231 # op op_sub_long_2addr FALLBACK 232 # op op_mul_long_2addr FALLBACK 233 # op op_div_long_2addr FALLBACK 234 # op op_rem_long_2addr FALLBACK 235 # op op_and_long_2addr FALLBACK 236 # op op_or_long_2addr FALLBACK 237 # op op_xor_long_2addr FALLBACK 238 # op op_shl_long_2addr FALLBACK 239 # op op_shr_long_2addr FALLBACK 240 # op op_ushr_long_2addr FALLBACK 241 # op op_add_float_2addr FALLBACK 242 # op op_sub_float_2addr FALLBACK 243 # op op_mul_float_2addr FALLBACK 244 # op op_div_float_2addr FALLBACK 245 # op op_rem_float_2addr FALLBACK 246 # op op_add_double_2addr FALLBACK 247 # op op_sub_double_2addr FALLBACK 248 # op op_mul_double_2addr FALLBACK 249 # op op_div_double_2addr FALLBACK 250 # op op_rem_double_2addr FALLBACK 251 # op op_add_int_lit16 FALLBACK 252 # op op_rsub_int FALLBACK 253 # op op_mul_int_lit16 FALLBACK 254 # op op_div_int_lit16 FALLBACK 255 # op op_rem_int_lit16 FALLBACK 256 # op op_and_int_lit16 FALLBACK 257 # op op_or_int_lit16 FALLBACK 258 # op op_xor_int_lit16 FALLBACK 259 # op op_add_int_lit8 FALLBACK 260 # op op_rsub_int_lit8 FALLBACK 261 # op op_mul_int_lit8 FALLBACK 262 # op op_div_int_lit8 FALLBACK 263 # op op_rem_int_lit8 FALLBACK 264 # op op_and_int_lit8 FALLBACK 265 # op op_or_int_lit8 FALLBACK 266 # op op_xor_int_lit8 FALLBACK 267 # op op_shl_int_lit8 FALLBACK 268 # op op_shr_int_lit8 FALLBACK 269 # op op_ushr_int_lit8 FALLBACK 270 # op op_iget_quick FALLBACK 271 # op op_iget_wide_quick FALLBACK 272 # op op_iget_object_quick FALLBACK 273 # op op_iput_quick FALLBACK 274 # op op_iput_wide_quick FALLBACK 275 # op op_iput_object_quick FALLBACK 276 # op op_invoke_virtual_quick FALLBACK 277 # op op_invoke_virtual_range_quick FALLBACK 278 # op op_iput_boolean_quick FALLBACK 279 # op op_iput_byte_quick FALLBACK 280 # op op_iput_char_quick FALLBACK 281 # op op_iput_short_quick FALLBACK 282 # op op_iget_boolean_quick FALLBACK 283 # op op_iget_byte_quick FALLBACK 284 # op op_iget_char_quick FALLBACK 285 # op op_iget_short_quick FALLBACK 286 # op op_unused_f3 FALLBACK 287 # op op_unused_f4 FALLBACK 288 # op op_unused_f5 FALLBACK 289 # op op_unused_f6 FALLBACK 290 # op op_unused_f7 FALLBACK 291 # op op_unused_f8 FALLBACK 292 # op op_unused_f9 FALLBACK 293 # op op_invoke_polymorphic FALLBACK 294 # op op_invoke_polymorphic_range FALLBACK 295 # op op_invoke_custom FALLBACK 296 # op op_invoke_custom_range FALLBACK 297 # op op_const_method_handle FALLBACK 298 # op op_const_method_type FALLBACK 299op-end 300 301# common subroutines for asm 302import x86/footer.S 303