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