blob: 277817d92ebd404dd93316231dbdd5054beee8f4 [file] [log] [blame]
buzbee1452bee2015-03-06 14:43:04 -08001# 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
22# source for alternate entry stub
23asm-alt-stub x86/alt_stub.S
24
25# file header and basic definitions
26import x86/header.S
27
28# arch-specific entry point to interpreter
29import x86/entry.S
30
31# Stub to switch to alternate interpreter
32fallback-stub x86/fallback.S
33
34# opcode list; argument to op-start is default directory
35op-start x86
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_unused_3e FALLBACK
102 op_unused_3f FALLBACK
103 op_unused_40 FALLBACK
104 op_unused_41 FALLBACK
105 op_unused_42 FALLBACK
106 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_unused_79 FALLBACK
161 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_unused_f3 FALLBACK
283 op_unused_f4 FALLBACK
284 op_unused_f5 FALLBACK
285 op_unused_f6 FALLBACK
286 op_unused_f7 FALLBACK
287 op_unused_f8 FALLBACK
288 op_unused_f9 FALLBACK
289 op_unused_fa FALLBACK
290 op_unused_fb FALLBACK
291 op_unused_fc FALLBACK
292 op_unused_fd FALLBACK
293 op_unused_fe FALLBACK
294 op_unused_ff FALLBACK
295op-end
296
297# common subroutines for asm
298import x86/footer.S