OLD | NEW |
1 /* native_client/src/trusted/validator_ragel/gen/validator_x86_32.c | 1 /* native_client/src/trusted/validator_ragel/gen/validator_x86_32.c |
2 * THIS FILE IS AUTO-GENERATED. DO NOT EDIT. | 2 * THIS FILE IS AUTO-GENERATED. DO NOT EDIT. |
3 * Compiled for ia32 mode. | 3 * Compiled for ia32 mode. |
4 */ | 4 */ |
5 | 5 |
6 /* | 6 /* |
7 * This is the core of ia32-mode validator. Please note that this file | 7 * This is the core of ia32-mode validator. Please note that this file |
8 * combines ragel machine description and C language actions. Please read | 8 * combines ragel machine description and C language actions. Please read |
9 * validator_internals.html first to understand how the whole thing is built: | 9 * validator_internals.html first to understand how the whole thing is built: |
10 * it explains how the byte sequences are constructed, what constructs like | 10 * it explains how the byte sequences are constructed, what constructs like |
11 * "@{}" or "REX_WRX?" mean, etc. | 11 * "@{}" or "REX_WRX?" mean, etc. |
12 */ | 12 */ |
13 | 13 |
14 #include <assert.h> | 14 #include <assert.h> |
15 #include <errno.h> | 15 #include <errno.h> |
16 #include <stddef.h> | 16 #include <stddef.h> |
17 #include <stdio.h> | 17 #include <stdio.h> |
18 #include <stdlib.h> | 18 #include <stdlib.h> |
19 #include <string.h> | 19 #include <string.h> |
20 | 20 |
21 #include "native_client/src/trusted/validator_ragel/bitmap.h" | 21 #include "native_client/src/trusted/validator_ragel/bitmap.h" |
22 #include "native_client/src/trusted/validator_ragel/unreviewed/validator_interna
l.h" | 22 #include "native_client/src/trusted/validator_ragel/validator_internal.h" |
23 | 23 |
24 /* Ignore this information: it's not used by security model in IA32 mode. */ | 24 /* Ignore this information: it's not used by security model in IA32 mode. */ |
| 25 /* TODO(khim): change gen_dfa to remove needs for these lines. */ |
25 #undef GET_VEX_PREFIX3 | 26 #undef GET_VEX_PREFIX3 |
26 #define GET_VEX_PREFIX3 0 | 27 #define GET_VEX_PREFIX3 0 |
27 #undef SET_VEX_PREFIX3 | 28 #undef SET_VEX_PREFIX3 |
28 #define SET_VEX_PREFIX3(P) | 29 #define SET_VEX_PREFIX3(PREFIX_BYTE) |
29 | 30 |
30 | 31 |
31 | 32 |
32 | 33 |
| 34 /* |
| 35 * The "write data" statement causes Ragel to emit the constant static data |
| 36 * needed by the ragel machine. |
| 37 */ |
33 | 38 |
34 static const int x86_32_validator_start = 233; | 39 static const int x86_32_validator_start = 218; |
35 static const int x86_32_validator_first_final = 233; | 40 static const int x86_32_validator_first_final = 218; |
36 static const int x86_32_validator_error = 0; | 41 static const int x86_32_validator_error = 0; |
37 | 42 |
38 static const int x86_32_validator_en_main = 233; | 43 static const int x86_32_validator_en_main = 218; |
39 | 44 |
40 | 45 |
41 | 46 |
42 | 47 Bool ValidateChunkIA32(const uint8_t codeblock[], |
43 Bool ValidateChunkIA32(const uint8_t *data, size_t size, | 48 size_t size, |
44 uint32_t options, | 49 uint32_t options, |
45 const NaClCPUFeaturesX86 *cpu_features, | 50 const NaClCPUFeaturesX86 *cpu_features, |
46 ValidationCallbackFunc user_callback, | 51 ValidationCallbackFunc user_callback, |
47 void *callback_data) { | 52 void *callback_data) { |
48 bitmap_word valid_targets_small; | 53 bitmap_word valid_targets_small; |
49 bitmap_word jump_dests_small; | 54 bitmap_word jump_dests_small; |
50 bitmap_word *valid_targets; | 55 bitmap_word *valid_targets; |
51 bitmap_word *jump_dests; | 56 bitmap_word *jump_dests; |
52 const uint8_t *current_position; | 57 const uint8_t *current_position; |
53 const uint8_t *end_of_bundle; | 58 const uint8_t *end_of_bundle; |
(...skipping 15 matching lines...) Expand all Loading... |
69 free(jump_dests); | 74 free(jump_dests); |
70 free(valid_targets); | 75 free(valid_targets); |
71 errno = ENOMEM; | 76 errno = ENOMEM; |
72 return FALSE; | 77 return FALSE; |
73 } | 78 } |
74 } | 79 } |
75 | 80 |
76 /* | 81 /* |
77 * This option is usually used in tests: we will process the whole chunk | 82 * This option is usually used in tests: we will process the whole chunk |
78 * in one pass. Usually each bundle is processed separately which means | 83 * in one pass. Usually each bundle is processed separately which means |
79 * instructions (and super-instructions) can not cross borders of the bundle. | 84 * instructions (and "superinstructions") can not cross borders of the bundle. |
80 */ | 85 */ |
81 if (options & PROCESS_CHUNK_AS_A_CONTIGUOUS_STREAM) | 86 if (options & PROCESS_CHUNK_AS_A_CONTIGUOUS_STREAM) |
82 end_of_bundle = data + size; | 87 end_of_bundle = codeblock + size; |
83 else | 88 else |
84 end_of_bundle = data + kBundleSize; | 89 end_of_bundle = codeblock + kBundleSize; |
85 | 90 |
86 /* | 91 /* |
87 * Main loop. Here we process the data array bundle-after-bundle. | 92 * Main loop. Here we process the data array bundle-after-bundle. |
88 * Ragel-produced DFA does all the checks with one exception: direct jumps. | 93 * Ragel-produced DFA does all the checks with one exception: direct jumps. |
89 * It collects the two arrays: valid_targets and jump_dests which are used | 94 * It collects the two arrays: valid_targets and jump_dests which are used |
90 * to test direct jumps later. | 95 * to test direct jumps later. |
91 */ | 96 */ |
92 for (current_position = data; | 97 for (current_position = codeblock; |
93 current_position < data + size; | 98 current_position < codeblock + size; |
94 current_position = end_of_bundle, | 99 current_position = end_of_bundle, |
95 end_of_bundle = current_position + kBundleSize) { | 100 end_of_bundle = current_position + kBundleSize) { |
96 /* Start of the instruction being processed. */ | 101 /* Start of the instruction being processed. */ |
97 const uint8_t *instruction_begin = current_position; | 102 const uint8_t *instruction_begin = current_position; |
98 /* Only used locally in the end_of_instruction_cleanup action. */ | 103 /* Only used locally in the end_of_instruction_cleanup action. */ |
99 const uint8_t *instruction_end; | 104 const uint8_t *instruction_end; |
100 uint32_t instruction_info_collected = 0; | 105 uint32_t instruction_info_collected = 0; |
101 int current_state; | 106 int current_state; |
102 | 107 |
| 108 /* |
| 109 * The "write init" statement causes Ragel to emit initialization code. |
| 110 * This should be executed once before the ragel machine is started. |
| 111 */ |
103 | 112 |
104 { | 113 { |
105 ( current_state) = x86_32_validator_start; | 114 ( current_state) = x86_32_validator_start; |
106 } | 115 } |
107 | 116 |
| 117 /* |
| 118 * The "write exec" statement causes Ragel to emit the ragel machine's |
| 119 * execution code. |
| 120 */ |
108 | 121 |
109 { | 122 { |
110 if ( ( current_position) == ( end_of_bundle) ) | 123 if ( ( current_position) == ( end_of_bundle) ) |
111 goto _test_eof; | 124 goto _test_eof; |
112 switch ( ( current_state) ) | 125 switch ( ( current_state) ) |
113 { | 126 { |
114 tr0: | 127 tr0: |
115 { | 128 { |
116 /* Mark start of this instruction as a valid target for jump. */ | 129 /* Mark start of this instruction as a valid target for jump. */ |
117 MarkValidJumpTarget(instruction_begin - data, valid_targets); | 130 MarkValidJumpTarget(instruction_begin - codeblock, valid_targets); |
118 | 131 |
119 /* Call user-supplied callback. */ | 132 /* Call user-supplied callback. */ |
120 instruction_end = current_position + 1; | 133 instruction_end = current_position + 1; |
121 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || | 134 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || |
122 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { | 135 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { |
123 result &= user_callback(instruction_begin, instruction_end, | 136 result &= user_callback(instruction_begin, instruction_end, |
124 instruction_info_collected, callback_data); | 137 instruction_info_collected, callback_data); |
125 } | 138 } |
126 | 139 |
127 /* On successful match the instruction_begin must point to the next byte | 140 /* |
128 * to be able to report the new offset as the start of instruction | 141 * We may set instruction_begin at the first byte of the instruction instead |
129 * causing error. */ | 142 * of here but in the case of incorrect one byte instructions user callback |
| 143 * may be called before instruction_begin is set. |
| 144 */ |
130 instruction_begin = instruction_end; | 145 instruction_begin = instruction_end; |
131 | 146 |
132 /* Clear variables (well, one variable currently). */ | 147 /* Clear variables (well, one variable currently). */ |
133 instruction_info_collected = 0; | 148 instruction_info_collected = 0; |
134 } | 149 } |
135 » goto st233; | 150 » goto st218; |
136 tr9: | 151 tr9: |
137 { | 152 { |
138 SET_DISP_TYPE(DISP32); | 153 SET_DISPLACEMENT_FORMAT(DISP32); |
139 SET_DISP_PTR(current_position - 3); | 154 SET_DISPLACEMENT_POINTER(current_position - 3); |
140 } | 155 } |
141 {} | 156 {} |
142 { | 157 { |
143 /* Mark start of this instruction as a valid target for jump. */ | 158 /* Mark start of this instruction as a valid target for jump. */ |
144 MarkValidJumpTarget(instruction_begin - data, valid_targets); | 159 MarkValidJumpTarget(instruction_begin - codeblock, valid_targets); |
145 | 160 |
146 /* Call user-supplied callback. */ | 161 /* Call user-supplied callback. */ |
147 instruction_end = current_position + 1; | 162 instruction_end = current_position + 1; |
148 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || | 163 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || |
149 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { | 164 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { |
150 result &= user_callback(instruction_begin, instruction_end, | 165 result &= user_callback(instruction_begin, instruction_end, |
151 instruction_info_collected, callback_data); | 166 instruction_info_collected, callback_data); |
152 } | 167 } |
153 | 168 |
154 /* On successful match the instruction_begin must point to the next byte | 169 /* |
155 * to be able to report the new offset as the start of instruction | 170 * We may set instruction_begin at the first byte of the instruction instead |
156 * causing error. */ | 171 * of here but in the case of incorrect one byte instructions user callback |
| 172 * may be called before instruction_begin is set. |
| 173 */ |
157 instruction_begin = instruction_end; | 174 instruction_begin = instruction_end; |
158 | 175 |
159 /* Clear variables (well, one variable currently). */ | 176 /* Clear variables (well, one variable currently). */ |
160 instruction_info_collected = 0; | 177 instruction_info_collected = 0; |
161 } | 178 } |
162 » goto st233; | 179 » goto st218; |
163 tr10: | 180 tr10: |
164 { | 181 { |
165 SET_DISP_TYPE(DISP8); | 182 SET_DISPLACEMENT_FORMAT(DISP8); |
166 SET_DISP_PTR(current_position); | 183 SET_DISPLACEMENT_POINTER(current_position); |
167 } | 184 } |
168 {} | 185 {} |
169 { | 186 { |
170 /* Mark start of this instruction as a valid target for jump. */ | 187 /* Mark start of this instruction as a valid target for jump. */ |
171 MarkValidJumpTarget(instruction_begin - data, valid_targets); | 188 MarkValidJumpTarget(instruction_begin - codeblock, valid_targets); |
172 | 189 |
173 /* Call user-supplied callback. */ | 190 /* Call user-supplied callback. */ |
174 instruction_end = current_position + 1; | 191 instruction_end = current_position + 1; |
175 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || | 192 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || |
176 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { | 193 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { |
177 result &= user_callback(instruction_begin, instruction_end, | 194 result &= user_callback(instruction_begin, instruction_end, |
178 instruction_info_collected, callback_data); | 195 instruction_info_collected, callback_data); |
179 } | 196 } |
180 | 197 |
181 /* On successful match the instruction_begin must point to the next byte | 198 /* |
182 * to be able to report the new offset as the start of instruction | 199 * We may set instruction_begin at the first byte of the instruction instead |
183 * causing error. */ | 200 * of here but in the case of incorrect one byte instructions user callback |
| 201 * may be called before instruction_begin is set. |
| 202 */ |
184 instruction_begin = instruction_end; | 203 instruction_begin = instruction_end; |
185 | 204 |
186 /* Clear variables (well, one variable currently). */ | 205 /* Clear variables (well, one variable currently). */ |
187 instruction_info_collected = 0; | 206 instruction_info_collected = 0; |
188 } | 207 } |
189 » goto st233; | 208 » goto st218; |
190 tr11: | 209 tr11: |
191 { | 210 { |
192 SET_IMM_TYPE(IMM8); | 211 SET_IMMEDIATE_FORMAT(IMM8); |
193 SET_IMM_PTR(current_position); | 212 SET_IMMEDIATE_POINTER(current_position); |
194 } | 213 } |
195 {} | 214 {} |
196 { | 215 { |
197 /* Mark start of this instruction as a valid target for jump. */ | 216 /* Mark start of this instruction as a valid target for jump. */ |
198 MarkValidJumpTarget(instruction_begin - data, valid_targets); | 217 MarkValidJumpTarget(instruction_begin - codeblock, valid_targets); |
199 | 218 |
200 /* Call user-supplied callback. */ | 219 /* Call user-supplied callback. */ |
201 instruction_end = current_position + 1; | 220 instruction_end = current_position + 1; |
202 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || | 221 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || |
203 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { | 222 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { |
204 result &= user_callback(instruction_begin, instruction_end, | 223 result &= user_callback(instruction_begin, instruction_end, |
205 instruction_info_collected, callback_data); | 224 instruction_info_collected, callback_data); |
206 } | 225 } |
207 | 226 |
208 /* On successful match the instruction_begin must point to the next byte | 227 /* |
209 * to be able to report the new offset as the start of instruction | 228 * We may set instruction_begin at the first byte of the instruction instead |
210 * causing error. */ | 229 * of here but in the case of incorrect one byte instructions user callback |
| 230 * may be called before instruction_begin is set. |
| 231 */ |
211 instruction_begin = instruction_end; | 232 instruction_begin = instruction_end; |
212 | 233 |
213 /* Clear variables (well, one variable currently). */ | 234 /* Clear variables (well, one variable currently). */ |
214 instruction_info_collected = 0; | 235 instruction_info_collected = 0; |
215 } | 236 } |
216 » goto st233; | 237 » goto st218; |
217 tr15: | 238 tr15: |
218 { | 239 { |
219 SET_IMM_TYPE(IMM32); | 240 SET_IMMEDIATE_FORMAT(IMM32); |
220 SET_IMM_PTR(current_position - 3); | 241 SET_IMMEDIATE_POINTER(current_position - 3); |
221 } | 242 } |
222 {} | 243 {} |
223 { | 244 { |
224 /* Mark start of this instruction as a valid target for jump. */ | 245 /* Mark start of this instruction as a valid target for jump. */ |
225 MarkValidJumpTarget(instruction_begin - data, valid_targets); | 246 MarkValidJumpTarget(instruction_begin - codeblock, valid_targets); |
226 | 247 |
227 /* Call user-supplied callback. */ | 248 /* Call user-supplied callback. */ |
228 instruction_end = current_position + 1; | 249 instruction_end = current_position + 1; |
229 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || | 250 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || |
230 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { | 251 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { |
231 result &= user_callback(instruction_begin, instruction_end, | 252 result &= user_callback(instruction_begin, instruction_end, |
232 instruction_info_collected, callback_data); | 253 instruction_info_collected, callback_data); |
233 } | 254 } |
234 | 255 |
235 /* On successful match the instruction_begin must point to the next byte | 256 /* |
236 * to be able to report the new offset as the start of instruction | 257 * We may set instruction_begin at the first byte of the instruction instead |
237 * causing error. */ | 258 * of here but in the case of incorrect one byte instructions user callback |
| 259 * may be called before instruction_begin is set. |
| 260 */ |
238 instruction_begin = instruction_end; | 261 instruction_begin = instruction_end; |
239 | 262 |
240 /* Clear variables (well, one variable currently). */ | 263 /* Clear variables (well, one variable currently). */ |
241 instruction_info_collected = 0; | 264 instruction_info_collected = 0; |
242 } | 265 } |
243 » goto st233; | 266 » goto st218; |
244 tr19: | 267 tr19: |
245 { SET_CPU_FEATURE(CPUFeature_3DNOW); } | 268 { SET_CPU_FEATURE(CPUFeature_3DNOW); } |
246 { | 269 { |
247 /* Mark start of this instruction as a valid target for jump. */ | 270 /* Mark start of this instruction as a valid target for jump. */ |
248 MarkValidJumpTarget(instruction_begin - data, valid_targets); | 271 MarkValidJumpTarget(instruction_begin - codeblock, valid_targets); |
249 | 272 |
250 /* Call user-supplied callback. */ | 273 /* Call user-supplied callback. */ |
251 instruction_end = current_position + 1; | 274 instruction_end = current_position + 1; |
252 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || | 275 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || |
253 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { | 276 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { |
254 result &= user_callback(instruction_begin, instruction_end, | 277 result &= user_callback(instruction_begin, instruction_end, |
255 instruction_info_collected, callback_data); | 278 instruction_info_collected, callback_data); |
256 } | 279 } |
257 | 280 |
258 /* On successful match the instruction_begin must point to the next byte | 281 /* |
259 * to be able to report the new offset as the start of instruction | 282 * We may set instruction_begin at the first byte of the instruction instead |
260 * causing error. */ | 283 * of here but in the case of incorrect one byte instructions user callback |
| 284 * may be called before instruction_begin is set. |
| 285 */ |
261 instruction_begin = instruction_end; | 286 instruction_begin = instruction_end; |
262 | 287 |
263 /* Clear variables (well, one variable currently). */ | 288 /* Clear variables (well, one variable currently). */ |
264 instruction_info_collected = 0; | 289 instruction_info_collected = 0; |
265 } | 290 } |
266 » goto st233; | 291 » goto st218; |
267 tr26: | 292 tr26: |
268 { SET_CPU_FEATURE(CPUFeature_TSC); } | 293 { SET_CPU_FEATURE(CPUFeature_TSC); } |
269 { | 294 { |
270 /* Mark start of this instruction as a valid target for jump. */ | 295 /* Mark start of this instruction as a valid target for jump. */ |
271 MarkValidJumpTarget(instruction_begin - data, valid_targets); | 296 MarkValidJumpTarget(instruction_begin - codeblock, valid_targets); |
272 | 297 |
273 /* Call user-supplied callback. */ | 298 /* Call user-supplied callback. */ |
274 instruction_end = current_position + 1; | 299 instruction_end = current_position + 1; |
275 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || | 300 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || |
276 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { | 301 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { |
277 result &= user_callback(instruction_begin, instruction_end, | 302 result &= user_callback(instruction_begin, instruction_end, |
278 instruction_info_collected, callback_data); | 303 instruction_info_collected, callback_data); |
279 } | 304 } |
280 | 305 |
281 /* On successful match the instruction_begin must point to the next byte | 306 /* |
282 * to be able to report the new offset as the start of instruction | 307 * We may set instruction_begin at the first byte of the instruction instead |
283 * causing error. */ | 308 * of here but in the case of incorrect one byte instructions user callback |
| 309 * may be called before instruction_begin is set. |
| 310 */ |
284 instruction_begin = instruction_end; | 311 instruction_begin = instruction_end; |
285 | 312 |
286 /* Clear variables (well, one variable currently). */ | 313 /* Clear variables (well, one variable currently). */ |
287 instruction_info_collected = 0; | 314 instruction_info_collected = 0; |
288 } | 315 } |
289 » goto st233; | 316 » goto st218; |
290 tr35: | 317 tr35: |
291 { SET_CPU_FEATURE(CPUFeature_MMX); } | 318 { SET_CPU_FEATURE(CPUFeature_MMX); } |
292 { | 319 { |
293 /* Mark start of this instruction as a valid target for jump. */ | 320 /* Mark start of this instruction as a valid target for jump. */ |
294 MarkValidJumpTarget(instruction_begin - data, valid_targets); | 321 MarkValidJumpTarget(instruction_begin - codeblock, valid_targets); |
295 | 322 |
296 /* Call user-supplied callback. */ | 323 /* Call user-supplied callback. */ |
297 instruction_end = current_position + 1; | 324 instruction_end = current_position + 1; |
298 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || | 325 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || |
299 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { | 326 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { |
300 result &= user_callback(instruction_begin, instruction_end, | 327 result &= user_callback(instruction_begin, instruction_end, |
301 instruction_info_collected, callback_data); | 328 instruction_info_collected, callback_data); |
302 } | 329 } |
303 | 330 |
304 /* On successful match the instruction_begin must point to the next byte | 331 /* |
305 * to be able to report the new offset as the start of instruction | 332 * We may set instruction_begin at the first byte of the instruction instead |
306 * causing error. */ | 333 * of here but in the case of incorrect one byte instructions user callback |
| 334 * may be called before instruction_begin is set. |
| 335 */ |
307 instruction_begin = instruction_end; | 336 instruction_begin = instruction_end; |
308 | 337 |
309 /* Clear variables (well, one variable currently). */ | 338 /* Clear variables (well, one variable currently). */ |
310 instruction_info_collected = 0; | 339 instruction_info_collected = 0; |
311 } | 340 } |
312 » goto st233; | 341 » goto st218; |
313 tr47: | 342 tr47: |
314 { SET_CPU_FEATURE(CPUFeature_MON); } | 343 { SET_CPU_FEATURE(CPUFeature_MON); } |
315 { | 344 { |
316 /* Mark start of this instruction as a valid target for jump. */ | 345 /* Mark start of this instruction as a valid target for jump. */ |
317 MarkValidJumpTarget(instruction_begin - data, valid_targets); | 346 MarkValidJumpTarget(instruction_begin - codeblock, valid_targets); |
318 | 347 |
319 /* Call user-supplied callback. */ | 348 /* Call user-supplied callback. */ |
320 instruction_end = current_position + 1; | 349 instruction_end = current_position + 1; |
321 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || | 350 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || |
322 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { | 351 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { |
323 result &= user_callback(instruction_begin, instruction_end, | 352 result &= user_callback(instruction_begin, instruction_end, |
324 instruction_info_collected, callback_data); | 353 instruction_info_collected, callback_data); |
325 } | 354 } |
326 | 355 |
327 /* On successful match the instruction_begin must point to the next byte | 356 /* |
328 * to be able to report the new offset as the start of instruction | 357 * We may set instruction_begin at the first byte of the instruction instead |
329 * causing error. */ | 358 * of here but in the case of incorrect one byte instructions user callback |
| 359 * may be called before instruction_begin is set. |
| 360 */ |
330 instruction_begin = instruction_end; | 361 instruction_begin = instruction_end; |
331 | 362 |
332 /* Clear variables (well, one variable currently). */ | 363 /* Clear variables (well, one variable currently). */ |
333 instruction_info_collected = 0; | 364 instruction_info_collected = 0; |
334 } | 365 } |
335 » goto st233; | 366 » goto st218; |
336 tr48: | 367 tr48: |
337 { SET_CPU_FEATURE(CPUFeature_FXSR); } | 368 { SET_CPU_FEATURE(CPUFeature_FXSR); } |
338 { | 369 { |
339 /* Mark start of this instruction as a valid target for jump. */ | 370 /* Mark start of this instruction as a valid target for jump. */ |
340 MarkValidJumpTarget(instruction_begin - data, valid_targets); | 371 MarkValidJumpTarget(instruction_begin - codeblock, valid_targets); |
341 | 372 |
342 /* Call user-supplied callback. */ | 373 /* Call user-supplied callback. */ |
343 instruction_end = current_position + 1; | 374 instruction_end = current_position + 1; |
344 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || | 375 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || |
345 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { | 376 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { |
346 result &= user_callback(instruction_begin, instruction_end, | 377 result &= user_callback(instruction_begin, instruction_end, |
347 instruction_info_collected, callback_data); | 378 instruction_info_collected, callback_data); |
348 } | 379 } |
349 | 380 |
350 /* On successful match the instruction_begin must point to the next byte | 381 /* |
351 * to be able to report the new offset as the start of instruction | 382 * We may set instruction_begin at the first byte of the instruction instead |
352 * causing error. */ | 383 * of here but in the case of incorrect one byte instructions user callback |
| 384 * may be called before instruction_begin is set. |
| 385 */ |
353 instruction_begin = instruction_end; | 386 instruction_begin = instruction_end; |
354 | 387 |
355 /* Clear variables (well, one variable currently). */ | 388 /* Clear variables (well, one variable currently). */ |
356 instruction_info_collected = 0; | 389 instruction_info_collected = 0; |
357 } | 390 } |
358 » goto st233; | 391 » goto st218; |
359 tr49: | 392 tr49: |
360 { SET_CPU_FEATURE(CPUFeature_3DPRFTCH); } | 393 { SET_CPU_FEATURE(CPUFeature_3DPRFTCH); } |
361 { | 394 { |
362 /* Mark start of this instruction as a valid target for jump. */ | 395 /* Mark start of this instruction as a valid target for jump. */ |
363 MarkValidJumpTarget(instruction_begin - data, valid_targets); | 396 MarkValidJumpTarget(instruction_begin - codeblock, valid_targets); |
364 | 397 |
365 /* Call user-supplied callback. */ | 398 /* Call user-supplied callback. */ |
366 instruction_end = current_position + 1; | 399 instruction_end = current_position + 1; |
367 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || | 400 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || |
368 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { | 401 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { |
369 result &= user_callback(instruction_begin, instruction_end, | 402 result &= user_callback(instruction_begin, instruction_end, |
370 instruction_info_collected, callback_data); | 403 instruction_info_collected, callback_data); |
371 } | 404 } |
372 | 405 |
373 /* On successful match the instruction_begin must point to the next byte | 406 /* |
374 * to be able to report the new offset as the start of instruction | 407 * We may set instruction_begin at the first byte of the instruction instead |
375 * causing error. */ | 408 * of here but in the case of incorrect one byte instructions user callback |
| 409 * may be called before instruction_begin is set. |
| 410 */ |
376 instruction_begin = instruction_end; | 411 instruction_begin = instruction_end; |
377 | 412 |
378 /* Clear variables (well, one variable currently). */ | 413 /* Clear variables (well, one variable currently). */ |
379 instruction_info_collected = 0; | 414 instruction_info_collected = 0; |
380 } | 415 } |
381 » goto st233; | 416 » goto st218; |
382 tr61: | 417 tr61: |
383 { | 418 { |
384 instruction_info_collected |= LAST_BYTE_IS_NOT_IMMEDIATE; | 419 instruction_info_collected |= LAST_BYTE_IS_NOT_IMMEDIATE; |
385 } | 420 } |
386 { SET_CPU_FEATURE(CPUFeature_E3DNOW); } | 421 { SET_CPU_FEATURE(CPUFeature_E3DNOW); } |
387 { | 422 { |
388 /* Mark start of this instruction as a valid target for jump. */ | 423 /* Mark start of this instruction as a valid target for jump. */ |
389 MarkValidJumpTarget(instruction_begin - data, valid_targets); | 424 MarkValidJumpTarget(instruction_begin - codeblock, valid_targets); |
390 | 425 |
391 /* Call user-supplied callback. */ | 426 /* Call user-supplied callback. */ |
392 instruction_end = current_position + 1; | 427 instruction_end = current_position + 1; |
393 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || | 428 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || |
394 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { | 429 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { |
395 result &= user_callback(instruction_begin, instruction_end, | 430 result &= user_callback(instruction_begin, instruction_end, |
396 instruction_info_collected, callback_data); | 431 instruction_info_collected, callback_data); |
397 } | 432 } |
398 | 433 |
399 /* On successful match the instruction_begin must point to the next byte | 434 /* |
400 * to be able to report the new offset as the start of instruction | 435 * We may set instruction_begin at the first byte of the instruction instead |
401 * causing error. */ | 436 * of here but in the case of incorrect one byte instructions user callback |
| 437 * may be called before instruction_begin is set. |
| 438 */ |
402 instruction_begin = instruction_end; | 439 instruction_begin = instruction_end; |
403 | 440 |
404 /* Clear variables (well, one variable currently). */ | 441 /* Clear variables (well, one variable currently). */ |
405 instruction_info_collected = 0; | 442 instruction_info_collected = 0; |
406 } | 443 } |
407 » goto st233; | 444 » goto st218; |
408 tr62: | 445 tr62: |
409 { | 446 { |
410 instruction_info_collected |= LAST_BYTE_IS_NOT_IMMEDIATE; | 447 instruction_info_collected |= LAST_BYTE_IS_NOT_IMMEDIATE; |
411 } | 448 } |
412 { SET_CPU_FEATURE(CPUFeature_3DNOW); } | 449 { SET_CPU_FEATURE(CPUFeature_3DNOW); } |
413 { | 450 { |
414 /* Mark start of this instruction as a valid target for jump. */ | 451 /* Mark start of this instruction as a valid target for jump. */ |
415 MarkValidJumpTarget(instruction_begin - data, valid_targets); | 452 MarkValidJumpTarget(instruction_begin - codeblock, valid_targets); |
416 | 453 |
417 /* Call user-supplied callback. */ | 454 /* Call user-supplied callback. */ |
418 instruction_end = current_position + 1; | 455 instruction_end = current_position + 1; |
419 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || | 456 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || |
420 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { | 457 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { |
421 result &= user_callback(instruction_begin, instruction_end, | 458 result &= user_callback(instruction_begin, instruction_end, |
422 instruction_info_collected, callback_data); | 459 instruction_info_collected, callback_data); |
423 } | 460 } |
424 | 461 |
425 /* On successful match the instruction_begin must point to the next byte | 462 /* |
426 * to be able to report the new offset as the start of instruction | 463 * We may set instruction_begin at the first byte of the instruction instead |
427 * causing error. */ | 464 * of here but in the case of incorrect one byte instructions user callback |
| 465 * may be called before instruction_begin is set. |
| 466 */ |
428 instruction_begin = instruction_end; | 467 instruction_begin = instruction_end; |
429 | 468 |
430 /* Clear variables (well, one variable currently). */ | 469 /* Clear variables (well, one variable currently). */ |
431 instruction_info_collected = 0; | 470 instruction_info_collected = 0; |
432 } | 471 } |
433 » goto st233; | 472 » goto st218; |
434 tr68: | 473 tr68: |
435 { SET_CPU_FEATURE(CPUFeature_SSE); } | 474 { SET_CPU_FEATURE(CPUFeature_SSE); } |
436 { | 475 { |
437 /* Mark start of this instruction as a valid target for jump. */ | 476 /* Mark start of this instruction as a valid target for jump. */ |
438 MarkValidJumpTarget(instruction_begin - data, valid_targets); | 477 MarkValidJumpTarget(instruction_begin - codeblock, valid_targets); |
439 | 478 |
440 /* Call user-supplied callback. */ | 479 /* Call user-supplied callback. */ |
441 instruction_end = current_position + 1; | 480 instruction_end = current_position + 1; |
442 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || | 481 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || |
443 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { | 482 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { |
444 result &= user_callback(instruction_begin, instruction_end, | 483 result &= user_callback(instruction_begin, instruction_end, |
445 instruction_info_collected, callback_data); | 484 instruction_info_collected, callback_data); |
446 } | 485 } |
447 | 486 |
448 /* On successful match the instruction_begin must point to the next byte | 487 /* |
449 * to be able to report the new offset as the start of instruction | 488 * We may set instruction_begin at the first byte of the instruction instead |
450 * causing error. */ | 489 * of here but in the case of incorrect one byte instructions user callback |
| 490 * may be called before instruction_begin is set. |
| 491 */ |
451 instruction_begin = instruction_end; | 492 instruction_begin = instruction_end; |
452 | 493 |
453 /* Clear variables (well, one variable currently). */ | 494 /* Clear variables (well, one variable currently). */ |
454 instruction_info_collected = 0; | 495 instruction_info_collected = 0; |
455 } | 496 } |
456 » goto st233; | 497 » goto st218; |
457 tr74: | 498 tr74: |
458 { SET_CPU_FEATURE(CPUFeature_SSE2); } | 499 { SET_CPU_FEATURE(CPUFeature_SSE2); } |
459 { | 500 { |
460 /* Mark start of this instruction as a valid target for jump. */ | 501 /* Mark start of this instruction as a valid target for jump. */ |
461 MarkValidJumpTarget(instruction_begin - data, valid_targets); | 502 MarkValidJumpTarget(instruction_begin - codeblock, valid_targets); |
462 | 503 |
463 /* Call user-supplied callback. */ | 504 /* Call user-supplied callback. */ |
464 instruction_end = current_position + 1; | 505 instruction_end = current_position + 1; |
465 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || | 506 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || |
466 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { | 507 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { |
467 result &= user_callback(instruction_begin, instruction_end, | 508 result &= user_callback(instruction_begin, instruction_end, |
468 instruction_info_collected, callback_data); | 509 instruction_info_collected, callback_data); |
469 } | 510 } |
470 | 511 |
471 /* On successful match the instruction_begin must point to the next byte | 512 /* |
472 * to be able to report the new offset as the start of instruction | 513 * We may set instruction_begin at the first byte of the instruction instead |
473 * causing error. */ | 514 * of here but in the case of incorrect one byte instructions user callback |
| 515 * may be called before instruction_begin is set. |
| 516 */ |
474 instruction_begin = instruction_end; | 517 instruction_begin = instruction_end; |
475 | 518 |
476 /* Clear variables (well, one variable currently). */ | 519 /* Clear variables (well, one variable currently). */ |
477 instruction_info_collected = 0; | 520 instruction_info_collected = 0; |
478 } | 521 } |
479 » goto st233; | 522 » goto st218; |
480 tr82: | 523 tr82: |
481 { SET_CPU_FEATURE(CPUFeature_SSSE3); } | 524 { SET_CPU_FEATURE(CPUFeature_SSSE3); } |
482 { | 525 { |
483 /* Mark start of this instruction as a valid target for jump. */ | 526 /* Mark start of this instruction as a valid target for jump. */ |
484 MarkValidJumpTarget(instruction_begin - data, valid_targets); | 527 MarkValidJumpTarget(instruction_begin - codeblock, valid_targets); |
485 | 528 |
486 /* Call user-supplied callback. */ | 529 /* Call user-supplied callback. */ |
487 instruction_end = current_position + 1; | 530 instruction_end = current_position + 1; |
488 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || | 531 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || |
489 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { | 532 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { |
490 result &= user_callback(instruction_begin, instruction_end, | 533 result &= user_callback(instruction_begin, instruction_end, |
491 instruction_info_collected, callback_data); | 534 instruction_info_collected, callback_data); |
492 } | 535 } |
493 | 536 |
494 /* On successful match the instruction_begin must point to the next byte | 537 /* |
495 * to be able to report the new offset as the start of instruction | 538 * We may set instruction_begin at the first byte of the instruction instead |
496 * causing error. */ | 539 * of here but in the case of incorrect one byte instructions user callback |
| 540 * may be called before instruction_begin is set. |
| 541 */ |
497 instruction_begin = instruction_end; | 542 instruction_begin = instruction_end; |
498 | 543 |
499 /* Clear variables (well, one variable currently). */ | 544 /* Clear variables (well, one variable currently). */ |
500 instruction_info_collected = 0; | 545 instruction_info_collected = 0; |
501 } | 546 } |
502 » goto st233; | 547 » goto st218; |
503 tr93: | 548 tr93: |
504 { SET_CPU_FEATURE(CPUFeature_MOVBE); } | 549 { SET_CPU_FEATURE(CPUFeature_MOVBE); } |
505 { | 550 { |
506 /* Mark start of this instruction as a valid target for jump. */ | 551 /* Mark start of this instruction as a valid target for jump. */ |
507 MarkValidJumpTarget(instruction_begin - data, valid_targets); | 552 MarkValidJumpTarget(instruction_begin - codeblock, valid_targets); |
508 | 553 |
509 /* Call user-supplied callback. */ | 554 /* Call user-supplied callback. */ |
510 instruction_end = current_position + 1; | 555 instruction_end = current_position + 1; |
511 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || | 556 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || |
512 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { | 557 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { |
513 result &= user_callback(instruction_begin, instruction_end, | 558 result &= user_callback(instruction_begin, instruction_end, |
514 instruction_info_collected, callback_data); | 559 instruction_info_collected, callback_data); |
515 } | 560 } |
516 | 561 |
517 /* On successful match the instruction_begin must point to the next byte | 562 /* |
518 * to be able to report the new offset as the start of instruction | 563 * We may set instruction_begin at the first byte of the instruction instead |
519 * causing error. */ | 564 * of here but in the case of incorrect one byte instructions user callback |
| 565 * may be called before instruction_begin is set. |
| 566 */ |
520 instruction_begin = instruction_end; | 567 instruction_begin = instruction_end; |
521 | 568 |
522 /* Clear variables (well, one variable currently). */ | 569 /* Clear variables (well, one variable currently). */ |
523 instruction_info_collected = 0; | 570 instruction_info_collected = 0; |
524 } | 571 } |
525 » goto st233; | 572 » goto st218; |
526 tr114: | 573 tr114: |
527 { SET_CPU_FEATURE(CPUFeature_CMOV); } | 574 { SET_CPU_FEATURE(CPUFeature_CMOV); } |
528 { | 575 { |
529 /* Mark start of this instruction as a valid target for jump. */ | 576 /* Mark start of this instruction as a valid target for jump. */ |
530 MarkValidJumpTarget(instruction_begin - data, valid_targets); | 577 MarkValidJumpTarget(instruction_begin - codeblock, valid_targets); |
531 | 578 |
532 /* Call user-supplied callback. */ | 579 /* Call user-supplied callback. */ |
533 instruction_end = current_position + 1; | 580 instruction_end = current_position + 1; |
534 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || | 581 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || |
535 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { | 582 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { |
536 result &= user_callback(instruction_begin, instruction_end, | 583 result &= user_callback(instruction_begin, instruction_end, |
537 instruction_info_collected, callback_data); | 584 instruction_info_collected, callback_data); |
538 } | 585 } |
539 | 586 |
540 /* On successful match the instruction_begin must point to the next byte | 587 /* |
541 * to be able to report the new offset as the start of instruction | 588 * We may set instruction_begin at the first byte of the instruction instead |
542 * causing error. */ | 589 * of here but in the case of incorrect one byte instructions user callback |
| 590 * may be called before instruction_begin is set. |
| 591 */ |
543 instruction_begin = instruction_end; | 592 instruction_begin = instruction_end; |
544 | 593 |
545 /* Clear variables (well, one variable currently). */ | 594 /* Clear variables (well, one variable currently). */ |
546 instruction_info_collected = 0; | 595 instruction_info_collected = 0; |
547 } | 596 } |
548 » goto st233; | 597 » goto st218; |
549 tr130: | 598 tr130: |
550 { | 599 { |
551 Rel32Operand(current_position + 1, data, jump_dests, size, | 600 Rel32Operand(current_position + 1, codeblock, jump_dests, size, |
552 &instruction_info_collected); | 601 &instruction_info_collected); |
553 } | 602 } |
554 {} | 603 {} |
555 { | 604 { |
556 /* Mark start of this instruction as a valid target for jump. */ | 605 /* Mark start of this instruction as a valid target for jump. */ |
557 MarkValidJumpTarget(instruction_begin - data, valid_targets); | 606 MarkValidJumpTarget(instruction_begin - codeblock, valid_targets); |
558 | 607 |
559 /* Call user-supplied callback. */ | 608 /* Call user-supplied callback. */ |
560 instruction_end = current_position + 1; | 609 instruction_end = current_position + 1; |
561 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || | 610 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || |
562 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { | 611 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { |
563 result &= user_callback(instruction_begin, instruction_end, | 612 result &= user_callback(instruction_begin, instruction_end, |
564 instruction_info_collected, callback_data); | 613 instruction_info_collected, callback_data); |
565 } | 614 } |
566 | 615 |
567 /* On successful match the instruction_begin must point to the next byte | 616 /* |
568 * to be able to report the new offset as the start of instruction | 617 * We may set instruction_begin at the first byte of the instruction instead |
569 * causing error. */ | 618 * of here but in the case of incorrect one byte instructions user callback |
| 619 * may be called before instruction_begin is set. |
| 620 */ |
570 instruction_begin = instruction_end; | 621 instruction_begin = instruction_end; |
571 | 622 |
572 /* Clear variables (well, one variable currently). */ | 623 /* Clear variables (well, one variable currently). */ |
573 instruction_info_collected = 0; | 624 instruction_info_collected = 0; |
574 } | 625 } |
575 » goto st233; | 626 » goto st218; |
576 tr136: | 627 tr136: |
577 { SET_CPU_FEATURE(CPUFeature_CLFLUSH); } | 628 { SET_CPU_FEATURE(CPUFeature_CLFLUSH); } |
578 { | 629 { |
579 /* Mark start of this instruction as a valid target for jump. */ | 630 /* Mark start of this instruction as a valid target for jump. */ |
580 MarkValidJumpTarget(instruction_begin - data, valid_targets); | 631 MarkValidJumpTarget(instruction_begin - codeblock, valid_targets); |
581 | 632 |
582 /* Call user-supplied callback. */ | 633 /* Call user-supplied callback. */ |
583 instruction_end = current_position + 1; | 634 instruction_end = current_position + 1; |
584 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || | 635 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || |
585 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { | 636 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { |
586 result &= user_callback(instruction_begin, instruction_end, | 637 result &= user_callback(instruction_begin, instruction_end, |
587 instruction_info_collected, callback_data); | 638 instruction_info_collected, callback_data); |
588 } | 639 } |
589 | 640 |
590 /* On successful match the instruction_begin must point to the next byte | 641 /* |
591 * to be able to report the new offset as the start of instruction | 642 * We may set instruction_begin at the first byte of the instruction instead |
592 * causing error. */ | 643 * of here but in the case of incorrect one byte instructions user callback |
| 644 * may be called before instruction_begin is set. |
| 645 */ |
593 instruction_begin = instruction_end; | 646 instruction_begin = instruction_end; |
594 | 647 |
595 /* Clear variables (well, one variable currently). */ | 648 /* Clear variables (well, one variable currently). */ |
596 instruction_info_collected = 0; | 649 instruction_info_collected = 0; |
597 } | 650 } |
598 » goto st233; | 651 » goto st218; |
599 tr145: | 652 tr145: |
600 { SET_CPU_FEATURE(CPUFeature_EMMXSSE); } | 653 { SET_CPU_FEATURE(CPUFeature_EMMXSSE); } |
601 { | 654 { |
602 /* Mark start of this instruction as a valid target for jump. */ | 655 /* Mark start of this instruction as a valid target for jump. */ |
603 MarkValidJumpTarget(instruction_begin - data, valid_targets); | 656 MarkValidJumpTarget(instruction_begin - codeblock, valid_targets); |
604 | 657 |
605 /* Call user-supplied callback. */ | 658 /* Call user-supplied callback. */ |
606 instruction_end = current_position + 1; | 659 instruction_end = current_position + 1; |
607 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || | 660 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || |
608 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { | 661 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { |
609 result &= user_callback(instruction_begin, instruction_end, | 662 result &= user_callback(instruction_begin, instruction_end, |
610 instruction_info_collected, callback_data); | 663 instruction_info_collected, callback_data); |
611 } | 664 } |
612 | 665 |
613 /* On successful match the instruction_begin must point to the next byte | 666 /* |
614 * to be able to report the new offset as the start of instruction | 667 * We may set instruction_begin at the first byte of the instruction instead |
615 * causing error. */ | 668 * of here but in the case of incorrect one byte instructions user callback |
| 669 * may be called before instruction_begin is set. |
| 670 */ |
616 instruction_begin = instruction_end; | 671 instruction_begin = instruction_end; |
617 | 672 |
618 /* Clear variables (well, one variable currently). */ | 673 /* Clear variables (well, one variable currently). */ |
619 instruction_info_collected = 0; | 674 instruction_info_collected = 0; |
620 } | 675 } |
621 » goto st233; | 676 » goto st218; |
622 tr152: | 677 tr152: |
623 { SET_CPU_FEATURE(CPUFeature_CX8); } | 678 { SET_CPU_FEATURE(CPUFeature_CX8); } |
624 { | 679 { |
625 /* Mark start of this instruction as a valid target for jump. */ | 680 /* Mark start of this instruction as a valid target for jump. */ |
626 MarkValidJumpTarget(instruction_begin - data, valid_targets); | 681 MarkValidJumpTarget(instruction_begin - codeblock, valid_targets); |
627 | 682 |
628 /* Call user-supplied callback. */ | 683 /* Call user-supplied callback. */ |
629 instruction_end = current_position + 1; | 684 instruction_end = current_position + 1; |
630 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || | 685 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || |
631 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { | 686 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { |
632 result &= user_callback(instruction_begin, instruction_end, | 687 result &= user_callback(instruction_begin, instruction_end, |
633 instruction_info_collected, callback_data); | 688 instruction_info_collected, callback_data); |
634 } | 689 } |
635 | 690 |
636 /* On successful match the instruction_begin must point to the next byte | 691 /* |
637 * to be able to report the new offset as the start of instruction | 692 * We may set instruction_begin at the first byte of the instruction instead |
638 * causing error. */ | 693 * of here but in the case of incorrect one byte instructions user callback |
| 694 * may be called before instruction_begin is set. |
| 695 */ |
639 instruction_begin = instruction_end; | 696 instruction_begin = instruction_end; |
640 | 697 |
641 /* Clear variables (well, one variable currently). */ | 698 /* Clear variables (well, one variable currently). */ |
642 instruction_info_collected = 0; | 699 instruction_info_collected = 0; |
643 } | 700 } |
644 » goto st233; | 701 » goto st218; |
645 tr165: | 702 tr165: |
646 { | 703 { |
647 Rel8Operand(current_position + 1, data, jump_dests, size, | 704 Rel8Operand(current_position + 1, codeblock, jump_dests, size, |
648 &instruction_info_collected); | 705 &instruction_info_collected); |
649 } | 706 } |
650 {} | 707 {} |
651 { | 708 { |
652 /* Mark start of this instruction as a valid target for jump. */ | 709 /* Mark start of this instruction as a valid target for jump. */ |
653 MarkValidJumpTarget(instruction_begin - data, valid_targets); | 710 MarkValidJumpTarget(instruction_begin - codeblock, valid_targets); |
654 | 711 |
655 /* Call user-supplied callback. */ | 712 /* Call user-supplied callback. */ |
656 instruction_end = current_position + 1; | 713 instruction_end = current_position + 1; |
657 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || | 714 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || |
658 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { | 715 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { |
659 result &= user_callback(instruction_begin, instruction_end, | 716 result &= user_callback(instruction_begin, instruction_end, |
660 instruction_info_collected, callback_data); | 717 instruction_info_collected, callback_data); |
661 } | 718 } |
662 | 719 |
663 /* On successful match the instruction_begin must point to the next byte | 720 /* |
664 * to be able to report the new offset as the start of instruction | 721 * We may set instruction_begin at the first byte of the instruction instead |
665 * causing error. */ | 722 * of here but in the case of incorrect one byte instructions user callback |
| 723 * may be called before instruction_begin is set. |
| 724 */ |
666 instruction_begin = instruction_end; | 725 instruction_begin = instruction_end; |
667 | 726 |
668 /* Clear variables (well, one variable currently). */ | 727 /* Clear variables (well, one variable currently). */ |
669 instruction_info_collected = 0; | 728 instruction_info_collected = 0; |
670 } | 729 } |
671 » goto st233; | 730 » goto st218; |
672 tr186: | 731 tr186: |
673 { | 732 { |
674 SET_IMM_TYPE(IMM16); | 733 SET_IMMEDIATE_FORMAT(IMM16); |
675 SET_IMM_PTR(current_position - 1); | 734 SET_IMMEDIATE_POINTER(current_position - 1); |
676 } | 735 } |
677 {} | 736 {} |
678 { | 737 { |
679 /* Mark start of this instruction as a valid target for jump. */ | 738 /* Mark start of this instruction as a valid target for jump. */ |
680 MarkValidJumpTarget(instruction_begin - data, valid_targets); | 739 MarkValidJumpTarget(instruction_begin - codeblock, valid_targets); |
681 | 740 |
682 /* Call user-supplied callback. */ | 741 /* Call user-supplied callback. */ |
683 instruction_end = current_position + 1; | 742 instruction_end = current_position + 1; |
684 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || | 743 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || |
685 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { | 744 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { |
686 result &= user_callback(instruction_begin, instruction_end, | 745 result &= user_callback(instruction_begin, instruction_end, |
687 instruction_info_collected, callback_data); | 746 instruction_info_collected, callback_data); |
688 } | 747 } |
689 | 748 |
690 /* On successful match the instruction_begin must point to the next byte | 749 /* |
691 * to be able to report the new offset as the start of instruction | 750 * We may set instruction_begin at the first byte of the instruction instead |
692 * causing error. */ | 751 * of here but in the case of incorrect one byte instructions user callback |
| 752 * may be called before instruction_begin is set. |
| 753 */ |
693 instruction_begin = instruction_end; | 754 instruction_begin = instruction_end; |
694 | 755 |
695 /* Clear variables (well, one variable currently). */ | 756 /* Clear variables (well, one variable currently). */ |
696 instruction_info_collected = 0; | 757 instruction_info_collected = 0; |
697 } | 758 } |
698 » goto st233; | 759 » goto st218; |
699 tr203: | 760 tr203: |
700 { SET_CPU_FEATURE(CPUFeature_SSE41); } | 761 { SET_CPU_FEATURE(CPUFeature_SSE41); } |
701 { | 762 { |
702 /* Mark start of this instruction as a valid target for jump. */ | 763 /* Mark start of this instruction as a valid target for jump. */ |
703 MarkValidJumpTarget(instruction_begin - data, valid_targets); | 764 MarkValidJumpTarget(instruction_begin - codeblock, valid_targets); |
704 | 765 |
705 /* Call user-supplied callback. */ | 766 /* Call user-supplied callback. */ |
706 instruction_end = current_position + 1; | 767 instruction_end = current_position + 1; |
707 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || | 768 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || |
708 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { | 769 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { |
709 result &= user_callback(instruction_begin, instruction_end, | 770 result &= user_callback(instruction_begin, instruction_end, |
710 instruction_info_collected, callback_data); | 771 instruction_info_collected, callback_data); |
711 } | 772 } |
712 | 773 |
713 /* On successful match the instruction_begin must point to the next byte | 774 /* |
714 * to be able to report the new offset as the start of instruction | 775 * We may set instruction_begin at the first byte of the instruction instead |
715 * causing error. */ | 776 * of here but in the case of incorrect one byte instructions user callback |
| 777 * may be called before instruction_begin is set. |
| 778 */ |
716 instruction_begin = instruction_end; | 779 instruction_begin = instruction_end; |
717 | 780 |
718 /* Clear variables (well, one variable currently). */ | 781 /* Clear variables (well, one variable currently). */ |
719 instruction_info_collected = 0; | 782 instruction_info_collected = 0; |
720 } | 783 } |
721 » goto st233; | 784 » goto st218; |
722 tr209: | 785 tr209: |
723 { SET_CPU_FEATURE(CPUFeature_SSE42); } | 786 { SET_CPU_FEATURE(CPUFeature_SSE42); } |
724 { | 787 { |
725 /* Mark start of this instruction as a valid target for jump. */ | 788 /* Mark start of this instruction as a valid target for jump. */ |
726 MarkValidJumpTarget(instruction_begin - data, valid_targets); | 789 MarkValidJumpTarget(instruction_begin - codeblock, valid_targets); |
727 | 790 |
728 /* Call user-supplied callback. */ | 791 /* Call user-supplied callback. */ |
729 instruction_end = current_position + 1; | 792 instruction_end = current_position + 1; |
730 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || | 793 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || |
731 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { | 794 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { |
732 result &= user_callback(instruction_begin, instruction_end, | 795 result &= user_callback(instruction_begin, instruction_end, |
733 instruction_info_collected, callback_data); | 796 instruction_info_collected, callback_data); |
734 } | 797 } |
735 | 798 |
736 /* On successful match the instruction_begin must point to the next byte | 799 /* |
737 * to be able to report the new offset as the start of instruction | 800 * We may set instruction_begin at the first byte of the instruction instead |
738 * causing error. */ | 801 * of here but in the case of incorrect one byte instructions user callback |
| 802 * may be called before instruction_begin is set. |
| 803 */ |
739 instruction_begin = instruction_end; | 804 instruction_begin = instruction_end; |
740 | 805 |
741 /* Clear variables (well, one variable currently). */ | 806 /* Clear variables (well, one variable currently). */ |
742 instruction_info_collected = 0; | 807 instruction_info_collected = 0; |
743 } | 808 } |
744 » goto st233; | 809 » goto st218; |
745 tr215: | 810 tr215: |
746 { SET_CPU_FEATURE(CPUFeature_AES); } | 811 { SET_CPU_FEATURE(CPUFeature_AES); } |
747 { | 812 { |
748 /* Mark start of this instruction as a valid target for jump. */ | 813 /* Mark start of this instruction as a valid target for jump. */ |
749 MarkValidJumpTarget(instruction_begin - data, valid_targets); | 814 MarkValidJumpTarget(instruction_begin - codeblock, valid_targets); |
750 | 815 |
751 /* Call user-supplied callback. */ | 816 /* Call user-supplied callback. */ |
752 instruction_end = current_position + 1; | 817 instruction_end = current_position + 1; |
753 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || | 818 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || |
754 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { | 819 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { |
755 result &= user_callback(instruction_begin, instruction_end, | 820 result &= user_callback(instruction_begin, instruction_end, |
756 instruction_info_collected, callback_data); | 821 instruction_info_collected, callback_data); |
757 } | 822 } |
758 | 823 |
759 /* On successful match the instruction_begin must point to the next byte | 824 /* |
760 * to be able to report the new offset as the start of instruction | 825 * We may set instruction_begin at the first byte of the instruction instead |
761 * causing error. */ | 826 * of here but in the case of incorrect one byte instructions user callback |
| 827 * may be called before instruction_begin is set. |
| 828 */ |
762 instruction_begin = instruction_end; | 829 instruction_begin = instruction_end; |
763 | 830 |
764 /* Clear variables (well, one variable currently). */ | 831 /* Clear variables (well, one variable currently). */ |
765 instruction_info_collected = 0; | 832 instruction_info_collected = 0; |
766 } | 833 } |
767 » goto st233; | 834 » goto st218; |
768 tr255: | 835 tr255: |
769 { SET_CPU_FEATURE(CPUFeature_SSE4A); } | 836 { SET_CPU_FEATURE(CPUFeature_SSE4A); } |
770 { | 837 { |
771 /* Mark start of this instruction as a valid target for jump. */ | 838 /* Mark start of this instruction as a valid target for jump. */ |
772 MarkValidJumpTarget(instruction_begin - data, valid_targets); | 839 MarkValidJumpTarget(instruction_begin - codeblock, valid_targets); |
773 | 840 |
774 /* Call user-supplied callback. */ | 841 /* Call user-supplied callback. */ |
775 instruction_end = current_position + 1; | 842 instruction_end = current_position + 1; |
776 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || | 843 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || |
777 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { | 844 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { |
778 result &= user_callback(instruction_begin, instruction_end, | 845 result &= user_callback(instruction_begin, instruction_end, |
779 instruction_info_collected, callback_data); | 846 instruction_info_collected, callback_data); |
780 } | 847 } |
781 | 848 |
782 /* On successful match the instruction_begin must point to the next byte | 849 /* |
783 * to be able to report the new offset as the start of instruction | 850 * We may set instruction_begin at the first byte of the instruction instead |
784 * causing error. */ | 851 * of here but in the case of incorrect one byte instructions user callback |
| 852 * may be called before instruction_begin is set. |
| 853 */ |
785 instruction_begin = instruction_end; | 854 instruction_begin = instruction_end; |
786 | 855 |
787 /* Clear variables (well, one variable currently). */ | 856 /* Clear variables (well, one variable currently). */ |
788 instruction_info_collected = 0; | 857 instruction_info_collected = 0; |
789 } | 858 } |
790 » goto st233; | 859 » goto st218; |
791 tr256: | 860 tr256: |
792 { SET_CPU_FEATURE(CPUFeature_SSE3); } | 861 { SET_CPU_FEATURE(CPUFeature_SSE3); } |
793 { | 862 { |
794 /* Mark start of this instruction as a valid target for jump. */ | 863 /* Mark start of this instruction as a valid target for jump. */ |
795 MarkValidJumpTarget(instruction_begin - data, valid_targets); | 864 MarkValidJumpTarget(instruction_begin - codeblock, valid_targets); |
796 | 865 |
797 /* Call user-supplied callback. */ | 866 /* Call user-supplied callback. */ |
798 instruction_end = current_position + 1; | 867 instruction_end = current_position + 1; |
799 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || | 868 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || |
800 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { | 869 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { |
801 result &= user_callback(instruction_begin, instruction_end, | 870 result &= user_callback(instruction_begin, instruction_end, |
802 instruction_info_collected, callback_data); | 871 instruction_info_collected, callback_data); |
803 } | 872 } |
804 | 873 |
805 /* On successful match the instruction_begin must point to the next byte | 874 /* |
806 * to be able to report the new offset as the start of instruction | 875 * We may set instruction_begin at the first byte of the instruction instead |
807 * causing error. */ | 876 * of here but in the case of incorrect one byte instructions user callback |
| 877 * may be called before instruction_begin is set. |
| 878 */ |
808 instruction_begin = instruction_end; | 879 instruction_begin = instruction_end; |
809 | 880 |
810 /* Clear variables (well, one variable currently). */ | 881 /* Clear variables (well, one variable currently). */ |
811 instruction_info_collected = 0; | 882 instruction_info_collected = 0; |
812 } | 883 } |
813 » goto st233; | 884 » goto st218; |
814 tr310: | 885 tr310: |
815 { SET_CPU_FEATURE(CPUFeature_TBM); } | 886 { SET_CPU_FEATURE(CPUFeature_TBM); } |
816 { | 887 { |
817 /* Mark start of this instruction as a valid target for jump. */ | 888 /* Mark start of this instruction as a valid target for jump. */ |
818 MarkValidJumpTarget(instruction_begin - data, valid_targets); | 889 MarkValidJumpTarget(instruction_begin - codeblock, valid_targets); |
819 | 890 |
820 /* Call user-supplied callback. */ | 891 /* Call user-supplied callback. */ |
821 instruction_end = current_position + 1; | 892 instruction_end = current_position + 1; |
822 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || | 893 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || |
823 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { | 894 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { |
824 result &= user_callback(instruction_begin, instruction_end, | 895 result &= user_callback(instruction_begin, instruction_end, |
825 instruction_info_collected, callback_data); | 896 instruction_info_collected, callback_data); |
826 } | 897 } |
827 | 898 |
828 /* On successful match the instruction_begin must point to the next byte | 899 /* |
829 * to be able to report the new offset as the start of instruction | 900 * We may set instruction_begin at the first byte of the instruction instead |
830 * causing error. */ | 901 * of here but in the case of incorrect one byte instructions user callback |
| 902 * may be called before instruction_begin is set. |
| 903 */ |
831 instruction_begin = instruction_end; | 904 instruction_begin = instruction_end; |
832 | 905 |
833 /* Clear variables (well, one variable currently). */ | 906 /* Clear variables (well, one variable currently). */ |
834 instruction_info_collected = 0; | 907 instruction_info_collected = 0; |
835 } | 908 } |
836 » goto st233; | 909 » goto st218; |
837 tr317: | 910 tr317: |
838 { SET_CPU_FEATURE(CPUFeature_LWP); } | 911 { SET_CPU_FEATURE(CPUFeature_LWP); } |
839 { | 912 { |
840 /* Mark start of this instruction as a valid target for jump. */ | 913 /* Mark start of this instruction as a valid target for jump. */ |
841 MarkValidJumpTarget(instruction_begin - data, valid_targets); | 914 MarkValidJumpTarget(instruction_begin - codeblock, valid_targets); |
842 | 915 |
843 /* Call user-supplied callback. */ | 916 /* Call user-supplied callback. */ |
844 instruction_end = current_position + 1; | 917 instruction_end = current_position + 1; |
845 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || | 918 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || |
846 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { | 919 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { |
847 result &= user_callback(instruction_begin, instruction_end, | 920 result &= user_callback(instruction_begin, instruction_end, |
848 instruction_info_collected, callback_data); | 921 instruction_info_collected, callback_data); |
849 } | 922 } |
850 | 923 |
851 /* On successful match the instruction_begin must point to the next byte | 924 /* |
852 * to be able to report the new offset as the start of instruction | 925 * We may set instruction_begin at the first byte of the instruction instead |
853 * causing error. */ | 926 * of here but in the case of incorrect one byte instructions user callback |
| 927 * may be called before instruction_begin is set. |
| 928 */ |
854 instruction_begin = instruction_end; | 929 instruction_begin = instruction_end; |
855 | 930 |
856 /* Clear variables (well, one variable currently). */ | 931 /* Clear variables (well, one variable currently). */ |
857 instruction_info_collected = 0; | 932 instruction_info_collected = 0; |
858 } | 933 } |
859 » goto st233; | 934 » goto st218; |
860 tr344: | 935 tr342: |
861 { SET_CPU_FEATURE(CPUFeature_BMI1); } | 936 { SET_CPU_FEATURE(CPUFeature_BMI1); } |
862 { | 937 { |
863 /* Mark start of this instruction as a valid target for jump. */ | 938 /* Mark start of this instruction as a valid target for jump. */ |
864 MarkValidJumpTarget(instruction_begin - data, valid_targets); | 939 MarkValidJumpTarget(instruction_begin - codeblock, valid_targets); |
865 | 940 |
866 /* Call user-supplied callback. */ | 941 /* Call user-supplied callback. */ |
867 instruction_end = current_position + 1; | 942 instruction_end = current_position + 1; |
868 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || | 943 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || |
869 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { | 944 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { |
870 result &= user_callback(instruction_begin, instruction_end, | 945 result &= user_callback(instruction_begin, instruction_end, |
871 instruction_info_collected, callback_data); | 946 instruction_info_collected, callback_data); |
872 } | 947 } |
873 | 948 |
874 /* On successful match the instruction_begin must point to the next byte | 949 /* |
875 * to be able to report the new offset as the start of instruction | 950 * We may set instruction_begin at the first byte of the instruction instead |
876 * causing error. */ | 951 * of here but in the case of incorrect one byte instructions user callback |
| 952 * may be called before instruction_begin is set. |
| 953 */ |
877 instruction_begin = instruction_end; | 954 instruction_begin = instruction_end; |
878 | 955 |
879 /* Clear variables (well, one variable currently). */ | 956 /* Clear variables (well, one variable currently). */ |
880 instruction_info_collected = 0; | 957 instruction_info_collected = 0; |
881 } | 958 } |
882 » goto st233; | 959 » goto st218; |
883 tr352: | 960 tr349: |
884 » { SET_CPU_FEATURE(CPUFeature_FMA); } | 961 » { SET_CPU_FEATURE(CPUFeature_AESAVX); } |
885 { | 962 { |
886 /* Mark start of this instruction as a valid target for jump. */ | 963 /* Mark start of this instruction as a valid target for jump. */ |
887 MarkValidJumpTarget(instruction_begin - data, valid_targets); | 964 MarkValidJumpTarget(instruction_begin - codeblock, valid_targets); |
888 | 965 |
889 /* Call user-supplied callback. */ | 966 /* Call user-supplied callback. */ |
890 instruction_end = current_position + 1; | 967 instruction_end = current_position + 1; |
891 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || | |
892 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { | |
893 result &= user_callback(instruction_begin, instruction_end, | |
894 instruction_info_collected, callback_data); | |
895 } | |
896 | |
897 /* On successful match the instruction_begin must point to the next byte | |
898 * to be able to report the new offset as the start of instruction | |
899 * causing error. */ | |
900 instruction_begin = instruction_end; | |
901 | |
902 /* Clear variables (well, one variable currently). */ | |
903 instruction_info_collected = 0; | |
904 } | |
905 goto st233; | |
906 tr358: | |
907 { SET_CPU_FEATURE(CPUFeature_AESAVX); } | |
908 { | |
909 /* Mark start of this instruction as a valid target for jump. */ | |
910 MarkValidJumpTarget(instruction_begin - data, valid_targets); | |
911 | |
912 /* Call user-supplied callback. */ | |
913 instruction_end = current_position + 1; | |
914 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || | 968 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || |
915 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { | 969 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { |
916 result &= user_callback(instruction_begin, instruction_end, | 970 result &= user_callback(instruction_begin, instruction_end, |
917 instruction_info_collected, callback_data); | 971 instruction_info_collected, callback_data); |
918 } | 972 } |
919 | 973 |
920 /* On successful match the instruction_begin must point to the next byte | 974 /* |
921 * to be able to report the new offset as the start of instruction | 975 * We may set instruction_begin at the first byte of the instruction instead |
922 * causing error. */ | 976 * of here but in the case of incorrect one byte instructions user callback |
| 977 * may be called before instruction_begin is set. |
| 978 */ |
923 instruction_begin = instruction_end; | 979 instruction_begin = instruction_end; |
924 | 980 |
925 /* Clear variables (well, one variable currently). */ | 981 /* Clear variables (well, one variable currently). */ |
926 instruction_info_collected = 0; | 982 instruction_info_collected = 0; |
927 } | 983 } |
928 » goto st233; | 984 » goto st218; |
929 tr365: | 985 tr356: |
930 { SET_CPU_FEATURE(CPUFeature_F16C); } | 986 { SET_CPU_FEATURE(CPUFeature_F16C); } |
931 { | 987 { |
932 /* Mark start of this instruction as a valid target for jump. */ | 988 /* Mark start of this instruction as a valid target for jump. */ |
933 MarkValidJumpTarget(instruction_begin - data, valid_targets); | 989 MarkValidJumpTarget(instruction_begin - codeblock, valid_targets); |
934 | 990 |
935 /* Call user-supplied callback. */ | 991 /* Call user-supplied callback. */ |
936 instruction_end = current_position + 1; | 992 instruction_end = current_position + 1; |
937 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || | 993 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || |
938 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { | 994 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { |
939 result &= user_callback(instruction_begin, instruction_end, | 995 result &= user_callback(instruction_begin, instruction_end, |
940 instruction_info_collected, callback_data); | 996 instruction_info_collected, callback_data); |
941 } | 997 } |
942 | 998 |
943 /* On successful match the instruction_begin must point to the next byte | 999 /* |
944 * to be able to report the new offset as the start of instruction | 1000 * We may set instruction_begin at the first byte of the instruction instead |
945 * causing error. */ | 1001 * of here but in the case of incorrect one byte instructions user callback |
| 1002 * may be called before instruction_begin is set. |
| 1003 */ |
946 instruction_begin = instruction_end; | 1004 instruction_begin = instruction_end; |
947 | 1005 |
948 /* Clear variables (well, one variable currently). */ | 1006 /* Clear variables (well, one variable currently). */ |
949 instruction_info_collected = 0; | 1007 instruction_info_collected = 0; |
950 } | 1008 } |
951 » goto st233; | 1009 » goto st218; |
952 tr391: | 1010 tr386: |
953 » { | 1011 » { SET_CPU_FEATURE(CPUFeature_x87); } |
954 instruction_info_collected |= LAST_BYTE_IS_NOT_IMMEDIATE; | |
955 } | |
956 { | 1012 { |
957 /* Mark start of this instruction as a valid target for jump. */ | 1013 /* Mark start of this instruction as a valid target for jump. */ |
958 MarkValidJumpTarget(instruction_begin - data, valid_targets); | 1014 MarkValidJumpTarget(instruction_begin - codeblock, valid_targets); |
959 | 1015 |
960 /* Call user-supplied callback. */ | 1016 /* Call user-supplied callback. */ |
961 instruction_end = current_position + 1; | 1017 instruction_end = current_position + 1; |
962 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || | |
963 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { | |
964 result &= user_callback(instruction_begin, instruction_end, | |
965 instruction_info_collected, callback_data); | |
966 } | |
967 | |
968 /* On successful match the instruction_begin must point to the next byte | |
969 * to be able to report the new offset as the start of instruction | |
970 * causing error. */ | |
971 instruction_begin = instruction_end; | |
972 | |
973 /* Clear variables (well, one variable currently). */ | |
974 instruction_info_collected = 0; | |
975 } | |
976 goto st233; | |
977 tr413: | |
978 { SET_CPU_FEATURE(CPUFeature_x87); } | |
979 { | |
980 /* Mark start of this instruction as a valid target for jump. */ | |
981 MarkValidJumpTarget(instruction_begin - data, valid_targets); | |
982 | |
983 /* Call user-supplied callback. */ | |
984 instruction_end = current_position + 1; | |
985 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || | 1018 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || |
986 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { | 1019 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { |
987 result &= user_callback(instruction_begin, instruction_end, | 1020 result &= user_callback(instruction_begin, instruction_end, |
988 instruction_info_collected, callback_data); | 1021 instruction_info_collected, callback_data); |
989 } | 1022 } |
990 | 1023 |
991 /* On successful match the instruction_begin must point to the next byte | 1024 /* |
992 * to be able to report the new offset as the start of instruction | 1025 * We may set instruction_begin at the first byte of the instruction instead |
993 * causing error. */ | 1026 * of here but in the case of incorrect one byte instructions user callback |
| 1027 * may be called before instruction_begin is set. |
| 1028 */ |
994 instruction_begin = instruction_end; | 1029 instruction_begin = instruction_end; |
995 | 1030 |
996 /* Clear variables (well, one variable currently). */ | 1031 /* Clear variables (well, one variable currently). */ |
997 instruction_info_collected = 0; | 1032 instruction_info_collected = 0; |
998 } | 1033 } |
999 » goto st233; | 1034 » goto st218; |
1000 tr419: | 1035 tr392: |
1001 { SET_CPU_FEATURE(CPUFeature_CMOVx87); } | 1036 { SET_CPU_FEATURE(CPUFeature_CMOVx87); } |
1002 { | 1037 { |
1003 /* Mark start of this instruction as a valid target for jump. */ | 1038 /* Mark start of this instruction as a valid target for jump. */ |
1004 MarkValidJumpTarget(instruction_begin - data, valid_targets); | 1039 MarkValidJumpTarget(instruction_begin - codeblock, valid_targets); |
1005 | 1040 |
1006 /* Call user-supplied callback. */ | 1041 /* Call user-supplied callback. */ |
1007 instruction_end = current_position + 1; | 1042 instruction_end = current_position + 1; |
1008 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || | 1043 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || |
1009 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { | 1044 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { |
1010 result &= user_callback(instruction_begin, instruction_end, | 1045 result &= user_callback(instruction_begin, instruction_end, |
1011 instruction_info_collected, callback_data); | 1046 instruction_info_collected, callback_data); |
1012 } | 1047 } |
1013 | 1048 |
1014 /* On successful match the instruction_begin must point to the next byte | 1049 /* |
1015 * to be able to report the new offset as the start of instruction | 1050 * We may set instruction_begin at the first byte of the instruction instead |
1016 * causing error. */ | 1051 * of here but in the case of incorrect one byte instructions user callback |
| 1052 * may be called before instruction_begin is set. |
| 1053 */ |
1017 instruction_begin = instruction_end; | 1054 instruction_begin = instruction_end; |
1018 | 1055 |
1019 /* Clear variables (well, one variable currently). */ | 1056 /* Clear variables (well, one variable currently). */ |
1020 instruction_info_collected = 0; | 1057 instruction_info_collected = 0; |
1021 } | 1058 } |
1022 » goto st233; | 1059 » goto st218; |
1023 tr423: | 1060 tr396: |
1024 { | 1061 { |
1025 Rel32Operand(current_position + 1, data, jump_dests, size, | 1062 Rel32Operand(current_position + 1, codeblock, jump_dests, size, |
1026 &instruction_info_collected); | 1063 &instruction_info_collected); |
1027 } | 1064 } |
1028 {} | 1065 {} |
1029 { | 1066 { |
1030 if (((current_position - data) & kBundleMask) != kBundleMask) | 1067 if (((current_position - codeblock) & kBundleMask) != kBundleMask) |
1031 instruction_info_collected |= BAD_CALL_ALIGNMENT; | 1068 instruction_info_collected |= BAD_CALL_ALIGNMENT; |
1032 } | 1069 } |
1033 { | 1070 { |
1034 /* Mark start of this instruction as a valid target for jump. */ | 1071 /* Mark start of this instruction as a valid target for jump. */ |
1035 MarkValidJumpTarget(instruction_begin - data, valid_targets); | 1072 MarkValidJumpTarget(instruction_begin - codeblock, valid_targets); |
1036 | 1073 |
1037 /* Call user-supplied callback. */ | 1074 /* Call user-supplied callback. */ |
1038 instruction_end = current_position + 1; | 1075 instruction_end = current_position + 1; |
1039 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || | 1076 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || |
1040 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { | 1077 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { |
1041 result &= user_callback(instruction_begin, instruction_end, | 1078 result &= user_callback(instruction_begin, instruction_end, |
1042 instruction_info_collected, callback_data); | 1079 instruction_info_collected, callback_data); |
1043 } | 1080 } |
1044 | 1081 |
1045 /* On successful match the instruction_begin must point to the next byte | 1082 /* |
1046 * to be able to report the new offset as the start of instruction | 1083 * We may set instruction_begin at the first byte of the instruction instead |
1047 * causing error. */ | 1084 * of here but in the case of incorrect one byte instructions user callback |
| 1085 * may be called before instruction_begin is set. |
| 1086 */ |
1048 instruction_begin = instruction_end; | 1087 instruction_begin = instruction_end; |
1049 | 1088 |
1050 /* Clear variables (well, one variable currently). */ | 1089 /* Clear variables (well, one variable currently). */ |
1051 instruction_info_collected = 0; | 1090 instruction_info_collected = 0; |
1052 } | 1091 } |
1053 » goto st233; | 1092 » goto st218; |
1054 tr438: | 1093 tr411: |
1055 { | 1094 { |
1056 SET_IMM2_TYPE(IMM8); | 1095 SET_SECOND_IMMEDIATE_FORMAT(IMM8); |
1057 SET_IMM2_PTR(current_position); | 1096 SET_SECOND_IMMEDIATE_POINTER(current_position); |
1058 } | 1097 } |
1059 {} | 1098 {} |
1060 { | 1099 { |
1061 /* Mark start of this instruction as a valid target for jump. */ | 1100 /* Mark start of this instruction as a valid target for jump. */ |
1062 MarkValidJumpTarget(instruction_begin - data, valid_targets); | 1101 MarkValidJumpTarget(instruction_begin - codeblock, valid_targets); |
1063 | 1102 |
1064 /* Call user-supplied callback. */ | 1103 /* Call user-supplied callback. */ |
1065 instruction_end = current_position + 1; | 1104 instruction_end = current_position + 1; |
1066 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || | 1105 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || |
1067 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { | 1106 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { |
1068 result &= user_callback(instruction_begin, instruction_end, | 1107 result &= user_callback(instruction_begin, instruction_end, |
1069 instruction_info_collected, callback_data); | 1108 instruction_info_collected, callback_data); |
1070 } | 1109 } |
1071 | 1110 |
1072 /* On successful match the instruction_begin must point to the next byte | 1111 /* |
1073 * to be able to report the new offset as the start of instruction | 1112 * We may set instruction_begin at the first byte of the instruction instead |
1074 * causing error. */ | 1113 * of here but in the case of incorrect one byte instructions user callback |
| 1114 * may be called before instruction_begin is set. |
| 1115 */ |
1075 instruction_begin = instruction_end; | 1116 instruction_begin = instruction_end; |
1076 | 1117 |
1077 /* Clear variables (well, one variable currently). */ | 1118 /* Clear variables (well, one variable currently). */ |
1078 instruction_info_collected = 0; | 1119 instruction_info_collected = 0; |
1079 } | 1120 } |
1080 » goto st233; | 1121 » goto st218; |
1081 tr443: | 1122 tr416: |
1082 { SET_CPU_FEATURE(CPUFeature_POPCNT); } | 1123 { SET_CPU_FEATURE(CPUFeature_POPCNT); } |
1083 { | 1124 { |
1084 /* Mark start of this instruction as a valid target for jump. */ | 1125 /* Mark start of this instruction as a valid target for jump. */ |
1085 MarkValidJumpTarget(instruction_begin - data, valid_targets); | 1126 MarkValidJumpTarget(instruction_begin - codeblock, valid_targets); |
1086 | 1127 |
1087 /* Call user-supplied callback. */ | 1128 /* Call user-supplied callback. */ |
1088 instruction_end = current_position + 1; | 1129 instruction_end = current_position + 1; |
1089 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || | 1130 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || |
1090 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { | 1131 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { |
1091 result &= user_callback(instruction_begin, instruction_end, | 1132 result &= user_callback(instruction_begin, instruction_end, |
1092 instruction_info_collected, callback_data); | 1133 instruction_info_collected, callback_data); |
1093 } | 1134 } |
1094 | 1135 |
1095 /* On successful match the instruction_begin must point to the next byte | 1136 /* |
1096 * to be able to report the new offset as the start of instruction | 1137 * We may set instruction_begin at the first byte of the instruction instead |
1097 * causing error. */ | 1138 * of here but in the case of incorrect one byte instructions user callback |
| 1139 * may be called before instruction_begin is set. |
| 1140 */ |
1098 instruction_begin = instruction_end; | 1141 instruction_begin = instruction_end; |
1099 | 1142 |
1100 /* Clear variables (well, one variable currently). */ | 1143 /* Clear variables (well, one variable currently). */ |
1101 instruction_info_collected = 0; | 1144 instruction_info_collected = 0; |
1102 } | 1145 } |
1103 » goto st233; | 1146 » goto st218; |
1104 tr449: | 1147 tr422: |
1105 { SET_CPU_FEATURE(CPUFeature_TZCNT); } | 1148 { SET_CPU_FEATURE(CPUFeature_TZCNT); } |
1106 { | 1149 { |
1107 /* Mark start of this instruction as a valid target for jump. */ | 1150 /* Mark start of this instruction as a valid target for jump. */ |
1108 MarkValidJumpTarget(instruction_begin - data, valid_targets); | 1151 MarkValidJumpTarget(instruction_begin - codeblock, valid_targets); |
1109 | 1152 |
1110 /* Call user-supplied callback. */ | 1153 /* Call user-supplied callback. */ |
1111 instruction_end = current_position + 1; | 1154 instruction_end = current_position + 1; |
1112 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || | 1155 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || |
1113 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { | 1156 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { |
1114 result &= user_callback(instruction_begin, instruction_end, | 1157 result &= user_callback(instruction_begin, instruction_end, |
1115 instruction_info_collected, callback_data); | 1158 instruction_info_collected, callback_data); |
1116 } | 1159 } |
1117 | 1160 |
1118 /* On successful match the instruction_begin must point to the next byte | 1161 /* |
1119 * to be able to report the new offset as the start of instruction | 1162 * We may set instruction_begin at the first byte of the instruction instead |
1120 * causing error. */ | 1163 * of here but in the case of incorrect one byte instructions user callback |
| 1164 * may be called before instruction_begin is set. |
| 1165 */ |
1121 instruction_begin = instruction_end; | 1166 instruction_begin = instruction_end; |
1122 | 1167 |
1123 /* Clear variables (well, one variable currently). */ | 1168 /* Clear variables (well, one variable currently). */ |
1124 instruction_info_collected = 0; | 1169 instruction_info_collected = 0; |
1125 } | 1170 } |
1126 » goto st233; | 1171 » goto st218; |
1127 tr455: | 1172 tr428: |
1128 { SET_CPU_FEATURE(CPUFeature_LZCNT); } | 1173 { SET_CPU_FEATURE(CPUFeature_LZCNT); } |
1129 { | 1174 { |
1130 /* Mark start of this instruction as a valid target for jump. */ | 1175 /* Mark start of this instruction as a valid target for jump. */ |
1131 MarkValidJumpTarget(instruction_begin - data, valid_targets); | 1176 MarkValidJumpTarget(instruction_begin - codeblock, valid_targets); |
1132 | 1177 |
1133 /* Call user-supplied callback. */ | 1178 /* Call user-supplied callback. */ |
1134 instruction_end = current_position + 1; | 1179 instruction_end = current_position + 1; |
1135 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || | 1180 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || |
1136 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { | 1181 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { |
1137 result &= user_callback(instruction_begin, instruction_end, | 1182 result &= user_callback(instruction_begin, instruction_end, |
1138 instruction_info_collected, callback_data); | 1183 instruction_info_collected, callback_data); |
1139 } | 1184 } |
1140 | 1185 |
1141 /* On successful match the instruction_begin must point to the next byte | 1186 /* |
1142 * to be able to report the new offset as the start of instruction | 1187 * We may set instruction_begin at the first byte of the instruction instead |
1143 * causing error. */ | 1188 * of here but in the case of incorrect one byte instructions user callback |
| 1189 * may be called before instruction_begin is set. |
| 1190 */ |
1144 instruction_begin = instruction_end; | 1191 instruction_begin = instruction_end; |
1145 | 1192 |
1146 /* Clear variables (well, one variable currently). */ | 1193 /* Clear variables (well, one variable currently). */ |
1147 instruction_info_collected = 0; | 1194 instruction_info_collected = 0; |
1148 } | 1195 } |
1149 » goto st233; | 1196 » goto st218; |
1150 tr461: | 1197 tr434: |
1151 { | 1198 { |
1152 UnmarkValidJumpTarget((current_position - data) - 1, valid_targets); | 1199 UnmarkValidJumpTarget((current_position - codeblock) - 1, valid_targets); |
1153 instruction_begin -= 3; | 1200 instruction_begin -= 3; |
1154 instruction_info_collected |= SPECIAL_INSTRUCTION; | 1201 instruction_info_collected |= SPECIAL_INSTRUCTION; |
1155 } | 1202 } |
1156 { | 1203 { |
1157 if (((current_position - data) & kBundleMask) != kBundleMask) | 1204 if (((current_position - codeblock) & kBundleMask) != kBundleMask) |
1158 instruction_info_collected |= BAD_CALL_ALIGNMENT; | 1205 instruction_info_collected |= BAD_CALL_ALIGNMENT; |
1159 } | 1206 } |
1160 { | 1207 { |
1161 /* Mark start of this instruction as a valid target for jump. */ | 1208 /* Mark start of this instruction as a valid target for jump. */ |
1162 MarkValidJumpTarget(instruction_begin - data, valid_targets); | 1209 MarkValidJumpTarget(instruction_begin - codeblock, valid_targets); |
1163 | 1210 |
1164 /* Call user-supplied callback. */ | 1211 /* Call user-supplied callback. */ |
1165 instruction_end = current_position + 1; | 1212 instruction_end = current_position + 1; |
1166 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || | 1213 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || |
1167 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { | 1214 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { |
1168 result &= user_callback(instruction_begin, instruction_end, | 1215 result &= user_callback(instruction_begin, instruction_end, |
1169 instruction_info_collected, callback_data); | 1216 instruction_info_collected, callback_data); |
1170 } | 1217 } |
1171 | 1218 |
1172 /* On successful match the instruction_begin must point to the next byte | 1219 /* |
1173 * to be able to report the new offset as the start of instruction | 1220 * We may set instruction_begin at the first byte of the instruction instead |
1174 * causing error. */ | 1221 * of here but in the case of incorrect one byte instructions user callback |
| 1222 * may be called before instruction_begin is set. |
| 1223 */ |
1175 instruction_begin = instruction_end; | 1224 instruction_begin = instruction_end; |
1176 | 1225 |
1177 /* Clear variables (well, one variable currently). */ | 1226 /* Clear variables (well, one variable currently). */ |
1178 instruction_info_collected = 0; | 1227 instruction_info_collected = 0; |
1179 } | 1228 } |
1180 » goto st233; | 1229 » goto st218; |
1181 tr462: | 1230 tr435: |
1182 { | 1231 { |
1183 UnmarkValidJumpTarget((current_position - data) - 1, valid_targets); | 1232 UnmarkValidJumpTarget((current_position - codeblock) - 1, valid_targets); |
1184 instruction_begin -= 3; | 1233 instruction_begin -= 3; |
1185 instruction_info_collected |= SPECIAL_INSTRUCTION; | 1234 instruction_info_collected |= SPECIAL_INSTRUCTION; |
1186 } | 1235 } |
1187 { | 1236 { |
1188 /* Mark start of this instruction as a valid target for jump. */ | 1237 /* Mark start of this instruction as a valid target for jump. */ |
1189 MarkValidJumpTarget(instruction_begin - data, valid_targets); | 1238 MarkValidJumpTarget(instruction_begin - codeblock, valid_targets); |
1190 | 1239 |
1191 /* Call user-supplied callback. */ | 1240 /* Call user-supplied callback. */ |
1192 instruction_end = current_position + 1; | 1241 instruction_end = current_position + 1; |
1193 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || | 1242 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || |
1194 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { | 1243 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { |
1195 result &= user_callback(instruction_begin, instruction_end, | 1244 result &= user_callback(instruction_begin, instruction_end, |
1196 instruction_info_collected, callback_data); | 1245 instruction_info_collected, callback_data); |
1197 } | 1246 } |
1198 | 1247 |
1199 /* On successful match the instruction_begin must point to the next byte | 1248 /* |
1200 * to be able to report the new offset as the start of instruction | 1249 * We may set instruction_begin at the first byte of the instruction instead |
1201 * causing error. */ | 1250 * of here but in the case of incorrect one byte instructions user callback |
| 1251 * may be called before instruction_begin is set. |
| 1252 */ |
1202 instruction_begin = instruction_end; | 1253 instruction_begin = instruction_end; |
1203 | 1254 |
1204 /* Clear variables (well, one variable currently). */ | 1255 /* Clear variables (well, one variable currently). */ |
1205 instruction_info_collected = 0; | 1256 instruction_info_collected = 0; |
1206 } | 1257 } |
1207 » goto st233; | 1258 » goto st218; |
1208 st233: | 1259 st218: |
1209 if ( ++( current_position) == ( end_of_bundle) ) | 1260 if ( ++( current_position) == ( end_of_bundle) ) |
1210 » » goto _test_eof233; | 1261 » » goto _test_eof218; |
1211 case 233: | 1262 case 218: |
1212 switch( (*( current_position)) ) { | 1263 switch( (*( current_position)) ) { |
1213 case 4u: goto st10; | 1264 case 4u: goto st10; |
1214 case 5u: goto st11; | 1265 case 5u: goto st11; |
1215 case 12u: goto st10; | 1266 case 12u: goto st10; |
1216 case 13u: goto st11; | 1267 case 13u: goto st11; |
1217 case 15u: goto st15; | 1268 case 15u: goto st15; |
1218 case 20u: goto st10; | 1269 case 20u: goto st10; |
1219 case 21u: goto st11; | 1270 case 21u: goto st11; |
1220 case 28u: goto st10; | 1271 case 28u: goto st10; |
1221 case 29u: goto st11; | 1272 case 29u: goto st11; |
(...skipping 11 matching lines...) Expand all Loading... |
1233 case 102u: goto st74; | 1284 case 102u: goto st74; |
1234 case 104u: goto st11; | 1285 case 104u: goto st11; |
1235 case 105u: goto st130; | 1286 case 105u: goto st130; |
1236 case 106u: goto st10; | 1287 case 106u: goto st10; |
1237 case 107u: goto st56; | 1288 case 107u: goto st56; |
1238 case 128u: goto st56; | 1289 case 128u: goto st56; |
1239 case 129u: goto st130; | 1290 case 129u: goto st130; |
1240 case 131u: goto st139; | 1291 case 131u: goto st139; |
1241 case 141u: goto st115; | 1292 case 141u: goto st115; |
1242 case 143u: goto st141; | 1293 case 143u: goto st141; |
1243 » » case 155u: goto tr413; | 1294 » » case 155u: goto tr386; |
1244 case 168u: goto st10; | 1295 case 168u: goto st10; |
1245 case 169u: goto st11; | 1296 case 169u: goto st11; |
1246 case 196u: goto st153; | 1297 case 196u: goto st153; |
1247 » » case 198u: goto st185; | 1298 » » case 198u: goto st170; |
1248 » » case 199u: goto st186; | 1299 » » case 199u: goto st171; |
1249 case 201u: goto tr0; | 1300 case 201u: goto tr0; |
1250 » » case 216u: goto st187; | 1301 » » case 216u: goto st172; |
1251 » » case 217u: goto st188; | 1302 » » case 217u: goto st173; |
1252 » » case 218u: goto st189; | 1303 » » case 218u: goto st174; |
1253 » » case 219u: goto st190; | 1304 » » case 219u: goto st175; |
1254 » » case 220u: goto st191; | 1305 » » case 220u: goto st176; |
1255 » » case 221u: goto st192; | 1306 » » case 221u: goto st177; |
1256 » » case 222u: goto st193; | 1307 » » case 222u: goto st178; |
1257 » » case 223u: goto st194; | 1308 » » case 223u: goto st179; |
1258 » » case 232u: goto st195; | 1309 » » case 232u: goto st180; |
1259 case 233u: goto st52; | 1310 case 233u: goto st52; |
1260 case 235u: goto st67; | 1311 case 235u: goto st67; |
1261 » » case 240u: goto st199; | 1312 » » case 240u: goto st184; |
1262 » » case 242u: goto st202; | 1313 » » case 242u: goto st187; |
1263 » » case 243u: goto st210; | 1314 » » case 243u: goto st195; |
1264 » » case 246u: goto st215; | 1315 » » case 246u: goto st200; |
1265 » » case 247u: goto st216; | 1316 » » case 247u: goto st201; |
1266 » » case 254u: goto st217; | 1317 » » case 254u: goto st202; |
1267 case 255u: goto st129; | 1318 case 255u: goto st129; |
1268 } | 1319 } |
1269 if ( (*( current_position)) < 132u ) { | 1320 if ( (*( current_position)) < 132u ) { |
1270 if ( (*( current_position)) < 32u ) { | 1321 if ( (*( current_position)) < 32u ) { |
1271 if ( (*( current_position)) < 8u ) { | 1322 if ( (*( current_position)) < 8u ) { |
1272 if ( (*( current_position)) <= 3u ) | 1323 if ( (*( current_position)) <= 3u ) |
1273 goto st1; | 1324 goto st1; |
1274 } else if ( (*( current_position)) > 11u ) { | 1325 } else if ( (*( current_position)) > 11u ) { |
1275 if ( (*( current_position)) > 19u ) { | 1326 if ( (*( current_position)) > 19u ) { |
1276 if ( 24u <= (*( current_position)) && (*
( current_position)) <= 27u ) | 1327 if ( 24u <= (*( current_position)) && (*
( current_position)) <= 27u ) |
(...skipping 140 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1417 goto st2; | 1468 goto st2; |
1418 tr216: | 1469 tr216: |
1419 { SET_CPU_FEATURE(CPUFeature_AES); } | 1470 { SET_CPU_FEATURE(CPUFeature_AES); } |
1420 goto st2; | 1471 goto st2; |
1421 tr257: | 1472 tr257: |
1422 { SET_CPU_FEATURE(CPUFeature_SSE3); } | 1473 { SET_CPU_FEATURE(CPUFeature_SSE3); } |
1423 goto st2; | 1474 goto st2; |
1424 tr311: | 1475 tr311: |
1425 { SET_CPU_FEATURE(CPUFeature_TBM); } | 1476 { SET_CPU_FEATURE(CPUFeature_TBM); } |
1426 goto st2; | 1477 goto st2; |
1427 tr345: | 1478 tr343: |
1428 { SET_CPU_FEATURE(CPUFeature_BMI1); } | 1479 { SET_CPU_FEATURE(CPUFeature_BMI1); } |
1429 goto st2; | 1480 goto st2; |
1430 tr353: | 1481 tr350: |
1431 » { SET_CPU_FEATURE(CPUFeature_FMA); } | |
1432 » goto st2; | |
1433 tr359: | |
1434 { SET_CPU_FEATURE(CPUFeature_AESAVX); } | 1482 { SET_CPU_FEATURE(CPUFeature_AESAVX); } |
1435 goto st2; | 1483 goto st2; |
1436 tr366: | 1484 tr357: |
1437 { SET_CPU_FEATURE(CPUFeature_F16C); } | 1485 { SET_CPU_FEATURE(CPUFeature_F16C); } |
1438 goto st2; | 1486 goto st2; |
1439 tr414: | 1487 tr387: |
1440 { SET_CPU_FEATURE(CPUFeature_x87); } | 1488 { SET_CPU_FEATURE(CPUFeature_x87); } |
1441 goto st2; | 1489 goto st2; |
1442 tr431: | 1490 tr404: |
1443 { SET_CPU_FEATURE(CPUFeature_SSE4A); } | 1491 { SET_CPU_FEATURE(CPUFeature_SSE4A); } |
1444 goto st2; | 1492 goto st2; |
1445 tr444: | 1493 tr417: |
1446 { SET_CPU_FEATURE(CPUFeature_POPCNT); } | 1494 { SET_CPU_FEATURE(CPUFeature_POPCNT); } |
1447 goto st2; | 1495 goto st2; |
1448 tr450: | 1496 tr423: |
1449 { SET_CPU_FEATURE(CPUFeature_TZCNT); } | 1497 { SET_CPU_FEATURE(CPUFeature_TZCNT); } |
1450 goto st2; | 1498 goto st2; |
1451 tr456: | 1499 tr429: |
1452 { SET_CPU_FEATURE(CPUFeature_LZCNT); } | 1500 { SET_CPU_FEATURE(CPUFeature_LZCNT); } |
1453 goto st2; | 1501 goto st2; |
1454 st2: | 1502 st2: |
1455 if ( ++( current_position) == ( end_of_bundle) ) | 1503 if ( ++( current_position) == ( end_of_bundle) ) |
1456 goto _test_eof2; | 1504 goto _test_eof2; |
1457 case 2: | 1505 case 2: |
1458 switch( (*( current_position)) ) { | 1506 switch( (*( current_position)) ) { |
1459 case 5u: goto st3; | 1507 case 5u: goto st3; |
1460 case 13u: goto st3; | 1508 case 13u: goto st3; |
1461 case 21u: goto st3; | 1509 case 21u: goto st3; |
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1531 goto st3; | 1579 goto st3; |
1532 tr217: | 1580 tr217: |
1533 { SET_CPU_FEATURE(CPUFeature_AES); } | 1581 { SET_CPU_FEATURE(CPUFeature_AES); } |
1534 goto st3; | 1582 goto st3; |
1535 tr258: | 1583 tr258: |
1536 { SET_CPU_FEATURE(CPUFeature_SSE3); } | 1584 { SET_CPU_FEATURE(CPUFeature_SSE3); } |
1537 goto st3; | 1585 goto st3; |
1538 tr312: | 1586 tr312: |
1539 { SET_CPU_FEATURE(CPUFeature_TBM); } | 1587 { SET_CPU_FEATURE(CPUFeature_TBM); } |
1540 goto st3; | 1588 goto st3; |
1541 tr346: | 1589 tr344: |
1542 { SET_CPU_FEATURE(CPUFeature_BMI1); } | 1590 { SET_CPU_FEATURE(CPUFeature_BMI1); } |
1543 goto st3; | 1591 goto st3; |
1544 tr354: | 1592 tr351: |
1545 » { SET_CPU_FEATURE(CPUFeature_FMA); } | |
1546 » goto st3; | |
1547 tr360: | |
1548 { SET_CPU_FEATURE(CPUFeature_AESAVX); } | 1593 { SET_CPU_FEATURE(CPUFeature_AESAVX); } |
1549 goto st3; | 1594 goto st3; |
1550 tr367: | 1595 tr358: |
1551 { SET_CPU_FEATURE(CPUFeature_F16C); } | 1596 { SET_CPU_FEATURE(CPUFeature_F16C); } |
1552 goto st3; | 1597 goto st3; |
1553 tr415: | 1598 tr388: |
1554 { SET_CPU_FEATURE(CPUFeature_x87); } | 1599 { SET_CPU_FEATURE(CPUFeature_x87); } |
1555 goto st3; | 1600 goto st3; |
1556 tr432: | 1601 tr405: |
1557 { SET_CPU_FEATURE(CPUFeature_SSE4A); } | 1602 { SET_CPU_FEATURE(CPUFeature_SSE4A); } |
1558 goto st3; | 1603 goto st3; |
1559 tr445: | 1604 tr418: |
1560 { SET_CPU_FEATURE(CPUFeature_POPCNT); } | 1605 { SET_CPU_FEATURE(CPUFeature_POPCNT); } |
1561 goto st3; | 1606 goto st3; |
1562 tr451: | 1607 tr424: |
1563 { SET_CPU_FEATURE(CPUFeature_TZCNT); } | 1608 { SET_CPU_FEATURE(CPUFeature_TZCNT); } |
1564 goto st3; | 1609 goto st3; |
1565 tr457: | 1610 tr430: |
1566 { SET_CPU_FEATURE(CPUFeature_LZCNT); } | 1611 { SET_CPU_FEATURE(CPUFeature_LZCNT); } |
1567 goto st3; | 1612 goto st3; |
1568 st3: | 1613 st3: |
1569 if ( ++( current_position) == ( end_of_bundle) ) | 1614 if ( ++( current_position) == ( end_of_bundle) ) |
1570 goto _test_eof3; | 1615 goto _test_eof3; |
1571 case 3: | 1616 case 3: |
1572 goto tr6; | 1617 goto tr6; |
1573 tr6: | 1618 tr6: |
1574 {} | 1619 {} |
1575 goto st4; | 1620 goto st4; |
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1635 goto st7; | 1680 goto st7; |
1636 tr218: | 1681 tr218: |
1637 { SET_CPU_FEATURE(CPUFeature_AES); } | 1682 { SET_CPU_FEATURE(CPUFeature_AES); } |
1638 goto st7; | 1683 goto st7; |
1639 tr259: | 1684 tr259: |
1640 { SET_CPU_FEATURE(CPUFeature_SSE3); } | 1685 { SET_CPU_FEATURE(CPUFeature_SSE3); } |
1641 goto st7; | 1686 goto st7; |
1642 tr313: | 1687 tr313: |
1643 { SET_CPU_FEATURE(CPUFeature_TBM); } | 1688 { SET_CPU_FEATURE(CPUFeature_TBM); } |
1644 goto st7; | 1689 goto st7; |
1645 tr347: | 1690 tr345: |
1646 { SET_CPU_FEATURE(CPUFeature_BMI1); } | 1691 { SET_CPU_FEATURE(CPUFeature_BMI1); } |
1647 goto st7; | 1692 goto st7; |
1648 tr355: | 1693 tr352: |
1649 » { SET_CPU_FEATURE(CPUFeature_FMA); } | |
1650 » goto st7; | |
1651 tr361: | |
1652 { SET_CPU_FEATURE(CPUFeature_AESAVX); } | 1694 { SET_CPU_FEATURE(CPUFeature_AESAVX); } |
1653 goto st7; | 1695 goto st7; |
1654 tr368: | 1696 tr359: |
1655 { SET_CPU_FEATURE(CPUFeature_F16C); } | 1697 { SET_CPU_FEATURE(CPUFeature_F16C); } |
1656 goto st7; | 1698 goto st7; |
1657 tr416: | 1699 tr389: |
1658 { SET_CPU_FEATURE(CPUFeature_x87); } | 1700 { SET_CPU_FEATURE(CPUFeature_x87); } |
1659 goto st7; | 1701 goto st7; |
1660 tr433: | 1702 tr406: |
1661 { SET_CPU_FEATURE(CPUFeature_SSE4A); } | 1703 { SET_CPU_FEATURE(CPUFeature_SSE4A); } |
1662 goto st7; | 1704 goto st7; |
1663 tr446: | 1705 tr419: |
1664 { SET_CPU_FEATURE(CPUFeature_POPCNT); } | 1706 { SET_CPU_FEATURE(CPUFeature_POPCNT); } |
1665 goto st7; | 1707 goto st7; |
1666 tr452: | 1708 tr425: |
1667 { SET_CPU_FEATURE(CPUFeature_TZCNT); } | 1709 { SET_CPU_FEATURE(CPUFeature_TZCNT); } |
1668 goto st7; | 1710 goto st7; |
1669 tr458: | 1711 tr431: |
1670 { SET_CPU_FEATURE(CPUFeature_LZCNT); } | 1712 { SET_CPU_FEATURE(CPUFeature_LZCNT); } |
1671 goto st7; | 1713 goto st7; |
1672 st7: | 1714 st7: |
1673 if ( ++( current_position) == ( end_of_bundle) ) | 1715 if ( ++( current_position) == ( end_of_bundle) ) |
1674 goto _test_eof7; | 1716 goto _test_eof7; |
1675 case 7: | 1717 case 7: |
1676 goto tr10; | 1718 goto tr10; |
1677 tr53: | 1719 tr53: |
1678 { SET_CPU_FEATURE(CPUFeature_3DPRFTCH); } | 1720 { SET_CPU_FEATURE(CPUFeature_3DPRFTCH); } |
1679 goto st8; | 1721 goto st8; |
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1715 goto st8; | 1757 goto st8; |
1716 tr219: | 1758 tr219: |
1717 { SET_CPU_FEATURE(CPUFeature_AES); } | 1759 { SET_CPU_FEATURE(CPUFeature_AES); } |
1718 goto st8; | 1760 goto st8; |
1719 tr260: | 1761 tr260: |
1720 { SET_CPU_FEATURE(CPUFeature_SSE3); } | 1762 { SET_CPU_FEATURE(CPUFeature_SSE3); } |
1721 goto st8; | 1763 goto st8; |
1722 tr314: | 1764 tr314: |
1723 { SET_CPU_FEATURE(CPUFeature_TBM); } | 1765 { SET_CPU_FEATURE(CPUFeature_TBM); } |
1724 goto st8; | 1766 goto st8; |
1725 tr348: | 1767 tr346: |
1726 { SET_CPU_FEATURE(CPUFeature_BMI1); } | 1768 { SET_CPU_FEATURE(CPUFeature_BMI1); } |
1727 goto st8; | 1769 goto st8; |
1728 tr356: | 1770 tr353: |
1729 » { SET_CPU_FEATURE(CPUFeature_FMA); } | |
1730 » goto st8; | |
1731 tr362: | |
1732 { SET_CPU_FEATURE(CPUFeature_AESAVX); } | 1771 { SET_CPU_FEATURE(CPUFeature_AESAVX); } |
1733 goto st8; | 1772 goto st8; |
1734 tr369: | 1773 tr360: |
1735 { SET_CPU_FEATURE(CPUFeature_F16C); } | 1774 { SET_CPU_FEATURE(CPUFeature_F16C); } |
1736 goto st8; | 1775 goto st8; |
1737 tr417: | 1776 tr390: |
1738 { SET_CPU_FEATURE(CPUFeature_x87); } | 1777 { SET_CPU_FEATURE(CPUFeature_x87); } |
1739 goto st8; | 1778 goto st8; |
1740 tr434: | 1779 tr407: |
1741 { SET_CPU_FEATURE(CPUFeature_SSE4A); } | 1780 { SET_CPU_FEATURE(CPUFeature_SSE4A); } |
1742 goto st8; | 1781 goto st8; |
1743 tr447: | 1782 tr420: |
1744 { SET_CPU_FEATURE(CPUFeature_POPCNT); } | 1783 { SET_CPU_FEATURE(CPUFeature_POPCNT); } |
1745 goto st8; | 1784 goto st8; |
1746 tr453: | 1785 tr426: |
1747 { SET_CPU_FEATURE(CPUFeature_TZCNT); } | 1786 { SET_CPU_FEATURE(CPUFeature_TZCNT); } |
1748 goto st8; | 1787 goto st8; |
1749 tr459: | 1788 tr432: |
1750 { SET_CPU_FEATURE(CPUFeature_LZCNT); } | 1789 { SET_CPU_FEATURE(CPUFeature_LZCNT); } |
1751 goto st8; | 1790 goto st8; |
1752 st8: | 1791 st8: |
1753 if ( ++( current_position) == ( end_of_bundle) ) | 1792 if ( ++( current_position) == ( end_of_bundle) ) |
1754 goto _test_eof8; | 1793 goto _test_eof8; |
1755 case 8: | 1794 case 8: |
1756 goto st7; | 1795 goto st7; |
1757 tr54: | 1796 tr54: |
1758 { SET_CPU_FEATURE(CPUFeature_3DPRFTCH); } | 1797 { SET_CPU_FEATURE(CPUFeature_3DPRFTCH); } |
1759 goto st9; | 1798 goto st9; |
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1795 goto st9; | 1834 goto st9; |
1796 tr220: | 1835 tr220: |
1797 { SET_CPU_FEATURE(CPUFeature_AES); } | 1836 { SET_CPU_FEATURE(CPUFeature_AES); } |
1798 goto st9; | 1837 goto st9; |
1799 tr261: | 1838 tr261: |
1800 { SET_CPU_FEATURE(CPUFeature_SSE3); } | 1839 { SET_CPU_FEATURE(CPUFeature_SSE3); } |
1801 goto st9; | 1840 goto st9; |
1802 tr315: | 1841 tr315: |
1803 { SET_CPU_FEATURE(CPUFeature_TBM); } | 1842 { SET_CPU_FEATURE(CPUFeature_TBM); } |
1804 goto st9; | 1843 goto st9; |
1805 tr349: | 1844 tr347: |
1806 { SET_CPU_FEATURE(CPUFeature_BMI1); } | 1845 { SET_CPU_FEATURE(CPUFeature_BMI1); } |
1807 goto st9; | 1846 goto st9; |
1808 tr357: | 1847 tr354: |
1809 » { SET_CPU_FEATURE(CPUFeature_FMA); } | |
1810 » goto st9; | |
1811 tr363: | |
1812 { SET_CPU_FEATURE(CPUFeature_AESAVX); } | 1848 { SET_CPU_FEATURE(CPUFeature_AESAVX); } |
1813 goto st9; | 1849 goto st9; |
1814 tr370: | 1850 tr361: |
1815 { SET_CPU_FEATURE(CPUFeature_F16C); } | 1851 { SET_CPU_FEATURE(CPUFeature_F16C); } |
1816 goto st9; | 1852 goto st9; |
1817 tr418: | 1853 tr391: |
1818 { SET_CPU_FEATURE(CPUFeature_x87); } | 1854 { SET_CPU_FEATURE(CPUFeature_x87); } |
1819 goto st9; | 1855 goto st9; |
1820 tr435: | 1856 tr408: |
1821 { SET_CPU_FEATURE(CPUFeature_SSE4A); } | 1857 { SET_CPU_FEATURE(CPUFeature_SSE4A); } |
1822 goto st9; | 1858 goto st9; |
1823 tr448: | 1859 tr421: |
1824 { SET_CPU_FEATURE(CPUFeature_POPCNT); } | 1860 { SET_CPU_FEATURE(CPUFeature_POPCNT); } |
1825 goto st9; | 1861 goto st9; |
1826 tr454: | 1862 tr427: |
1827 { SET_CPU_FEATURE(CPUFeature_TZCNT); } | 1863 { SET_CPU_FEATURE(CPUFeature_TZCNT); } |
1828 goto st9; | 1864 goto st9; |
1829 tr460: | 1865 tr433: |
1830 { SET_CPU_FEATURE(CPUFeature_LZCNT); } | 1866 { SET_CPU_FEATURE(CPUFeature_LZCNT); } |
1831 goto st9; | 1867 goto st9; |
1832 st9: | 1868 st9: |
1833 if ( ++( current_position) == ( end_of_bundle) ) | 1869 if ( ++( current_position) == ( end_of_bundle) ) |
1834 goto _test_eof9; | 1870 goto _test_eof9; |
1835 case 9: | 1871 case 9: |
1836 goto st3; | 1872 goto st3; |
1837 tr111: | 1873 tr111: |
1838 { | 1874 { |
1839 SET_DISP_TYPE(DISP32); | 1875 SET_DISPLACEMENT_FORMAT(DISP32); |
1840 SET_DISP_PTR(current_position - 3); | 1876 SET_DISPLACEMENT_POINTER(current_position - 3); |
1841 } | 1877 } |
1842 {} | 1878 {} |
1843 goto st10; | 1879 goto st10; |
1844 tr112: | 1880 tr112: |
1845 { | 1881 { |
1846 SET_DISP_TYPE(DISP8); | 1882 SET_DISPLACEMENT_FORMAT(DISP8); |
1847 SET_DISP_PTR(current_position); | 1883 SET_DISPLACEMENT_POINTER(current_position); |
1848 } | 1884 } |
1849 {} | 1885 {} |
1850 goto st10; | 1886 goto st10; |
1851 tr146: | 1887 tr146: |
1852 { SET_CPU_FEATURE(CPUFeature_SSE); } | 1888 { SET_CPU_FEATURE(CPUFeature_SSE); } |
1853 goto st10; | 1889 goto st10; |
1854 tr249: | 1890 tr249: |
1855 { SET_CPU_FEATURE(CPUFeature_SSE2); } | 1891 { SET_CPU_FEATURE(CPUFeature_SSE2); } |
1856 goto st10; | 1892 goto st10; |
1857 tr100: | 1893 tr100: |
(...skipping 10 matching lines...) Expand all Loading... |
1868 goto st10; | 1904 goto st10; |
1869 tr237: | 1905 tr237: |
1870 { SET_CPU_FEATURE(CPUFeature_SSE42); } | 1906 { SET_CPU_FEATURE(CPUFeature_SSE42); } |
1871 goto st10; | 1907 goto st10; |
1872 tr243: | 1908 tr243: |
1873 { SET_CPU_FEATURE(CPUFeature_AES); } | 1909 { SET_CPU_FEATURE(CPUFeature_AES); } |
1874 goto st10; | 1910 goto st10; |
1875 tr231: | 1911 tr231: |
1876 { SET_CPU_FEATURE(CPUFeature_CLMUL); } | 1912 { SET_CPU_FEATURE(CPUFeature_CLMUL); } |
1877 goto st10; | 1913 goto st10; |
1878 tr400: | 1914 tr373: |
1879 { SET_CPU_FEATURE(CPUFeature_AESAVX); } | 1915 { SET_CPU_FEATURE(CPUFeature_AESAVX); } |
1880 goto st10; | 1916 goto st10; |
1881 tr407: | 1917 tr380: |
1882 { SET_CPU_FEATURE(CPUFeature_F16C); } | 1918 { SET_CPU_FEATURE(CPUFeature_F16C); } |
1883 goto st10; | 1919 goto st10; |
1884 tr379: | 1920 tr367: |
1885 { SET_CPU_FEATURE(CPUFeature_CLMULAVX); } | 1921 { SET_CPU_FEATURE(CPUFeature_CLMULAVX); } |
1886 goto st10; | 1922 goto st10; |
1887 st10: | 1923 st10: |
1888 if ( ++( current_position) == ( end_of_bundle) ) | 1924 if ( ++( current_position) == ( end_of_bundle) ) |
1889 goto _test_eof10; | 1925 goto _test_eof10; |
1890 case 10: | 1926 case 10: |
1891 goto tr11; | 1927 goto tr11; |
1892 tr293: | 1928 tr293: |
1893 { | 1929 { |
1894 SET_DISP_TYPE(DISP32); | 1930 SET_DISPLACEMENT_FORMAT(DISP32); |
1895 SET_DISP_PTR(current_position - 3); | 1931 SET_DISPLACEMENT_POINTER(current_position - 3); |
1896 } | 1932 } |
1897 {} | 1933 {} |
1898 goto st11; | 1934 goto st11; |
1899 tr294: | 1935 tr294: |
1900 { | 1936 { |
1901 SET_DISP_TYPE(DISP8); | 1937 SET_DISPLACEMENT_FORMAT(DISP8); |
1902 SET_DISP_PTR(current_position); | 1938 SET_DISPLACEMENT_POINTER(current_position); |
1903 } | 1939 } |
1904 {} | 1940 {} |
1905 goto st11; | 1941 goto st11; |
1906 tr321: | 1942 tr321: |
1907 { SET_CPU_FEATURE(CPUFeature_LWP); } | 1943 { SET_CPU_FEATURE(CPUFeature_LWP); } |
1908 goto st11; | 1944 goto st11; |
1909 tr328: | 1945 tr328: |
1910 { SET_CPU_FEATURE(CPUFeature_BMI1); } | 1946 { SET_CPU_FEATURE(CPUFeature_BMI1); } |
1911 goto st11; | 1947 goto st11; |
1912 st11: | 1948 st11: |
(...skipping 234 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2147 case 188u: goto st27; | 2183 case 188u: goto st27; |
2148 } | 2184 } |
2149 if ( (*( current_position)) > 127u ) { | 2185 if ( (*( current_position)) > 127u ) { |
2150 if ( 128u <= (*( current_position)) && (*( current_position)) <=
191u ) | 2186 if ( 128u <= (*( current_position)) && (*( current_position)) <=
191u ) |
2151 goto st21; | 2187 goto st21; |
2152 } else if ( (*( current_position)) >= 64u ) | 2188 } else if ( (*( current_position)) >= 64u ) |
2153 goto st25; | 2189 goto st25; |
2154 goto st19; | 2190 goto st19; |
2155 tr66: | 2191 tr66: |
2156 { | 2192 { |
2157 SET_DISP_TYPE(DISP32); | 2193 SET_DISPLACEMENT_FORMAT(DISP32); |
2158 SET_DISP_PTR(current_position - 3); | 2194 SET_DISPLACEMENT_POINTER(current_position - 3); |
2159 } | 2195 } |
2160 {} | 2196 {} |
2161 goto st19; | 2197 goto st19; |
2162 tr67: | 2198 tr67: |
2163 { | 2199 { |
2164 SET_DISP_TYPE(DISP8); | 2200 SET_DISPLACEMENT_FORMAT(DISP8); |
2165 SET_DISP_PTR(current_position); | 2201 SET_DISPLACEMENT_POINTER(current_position); |
2166 } | 2202 } |
2167 {} | 2203 {} |
2168 goto st19; | 2204 goto st19; |
2169 st19: | 2205 st19: |
2170 if ( ++( current_position) == ( end_of_bundle) ) | 2206 if ( ++( current_position) == ( end_of_bundle) ) |
2171 goto _test_eof19; | 2207 goto _test_eof19; |
2172 case 19: | 2208 case 19: |
2173 switch( (*( current_position)) ) { | 2209 switch( (*( current_position)) ) { |
2174 case 12u: goto tr61; | 2210 case 12u: goto tr61; |
2175 case 13u: goto tr62; | 2211 case 13u: goto tr62; |
(...skipping 544 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2720 goto st39; | 2756 goto st39; |
2721 tr238: | 2757 tr238: |
2722 { SET_CPU_FEATURE(CPUFeature_SSE42); } | 2758 { SET_CPU_FEATURE(CPUFeature_SSE42); } |
2723 goto st39; | 2759 goto st39; |
2724 tr244: | 2760 tr244: |
2725 { SET_CPU_FEATURE(CPUFeature_AES); } | 2761 { SET_CPU_FEATURE(CPUFeature_AES); } |
2726 goto st39; | 2762 goto st39; |
2727 tr232: | 2763 tr232: |
2728 { SET_CPU_FEATURE(CPUFeature_CLMUL); } | 2764 { SET_CPU_FEATURE(CPUFeature_CLMUL); } |
2729 goto st39; | 2765 goto st39; |
2730 tr401: | 2766 tr374: |
2731 { SET_CPU_FEATURE(CPUFeature_AESAVX); } | 2767 { SET_CPU_FEATURE(CPUFeature_AESAVX); } |
2732 goto st39; | 2768 goto st39; |
2733 tr408: | 2769 tr381: |
2734 { SET_CPU_FEATURE(CPUFeature_F16C); } | 2770 { SET_CPU_FEATURE(CPUFeature_F16C); } |
2735 goto st39; | 2771 goto st39; |
2736 tr380: | 2772 tr368: |
2737 { SET_CPU_FEATURE(CPUFeature_CLMULAVX); } | 2773 { SET_CPU_FEATURE(CPUFeature_CLMULAVX); } |
2738 goto st39; | 2774 goto st39; |
2739 st39: | 2775 st39: |
2740 if ( ++( current_position) == ( end_of_bundle) ) | 2776 if ( ++( current_position) == ( end_of_bundle) ) |
2741 goto _test_eof39; | 2777 goto _test_eof39; |
2742 case 39: | 2778 case 39: |
2743 switch( (*( current_position)) ) { | 2779 switch( (*( current_position)) ) { |
2744 case 5u: goto st40; | 2780 case 5u: goto st40; |
2745 case 13u: goto st40; | 2781 case 13u: goto st40; |
2746 case 21u: goto st40; | 2782 case 21u: goto st40; |
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2792 goto st40; | 2828 goto st40; |
2793 tr239: | 2829 tr239: |
2794 { SET_CPU_FEATURE(CPUFeature_SSE42); } | 2830 { SET_CPU_FEATURE(CPUFeature_SSE42); } |
2795 goto st40; | 2831 goto st40; |
2796 tr245: | 2832 tr245: |
2797 { SET_CPU_FEATURE(CPUFeature_AES); } | 2833 { SET_CPU_FEATURE(CPUFeature_AES); } |
2798 goto st40; | 2834 goto st40; |
2799 tr233: | 2835 tr233: |
2800 { SET_CPU_FEATURE(CPUFeature_CLMUL); } | 2836 { SET_CPU_FEATURE(CPUFeature_CLMUL); } |
2801 goto st40; | 2837 goto st40; |
2802 tr402: | 2838 tr375: |
2803 { SET_CPU_FEATURE(CPUFeature_AESAVX); } | 2839 { SET_CPU_FEATURE(CPUFeature_AESAVX); } |
2804 goto st40; | 2840 goto st40; |
2805 tr409: | 2841 tr382: |
2806 { SET_CPU_FEATURE(CPUFeature_F16C); } | 2842 { SET_CPU_FEATURE(CPUFeature_F16C); } |
2807 goto st40; | 2843 goto st40; |
2808 tr381: | 2844 tr369: |
2809 { SET_CPU_FEATURE(CPUFeature_CLMULAVX); } | 2845 { SET_CPU_FEATURE(CPUFeature_CLMULAVX); } |
2810 goto st40; | 2846 goto st40; |
2811 st40: | 2847 st40: |
2812 if ( ++( current_position) == ( end_of_bundle) ) | 2848 if ( ++( current_position) == ( end_of_bundle) ) |
2813 goto _test_eof40; | 2849 goto _test_eof40; |
2814 case 40: | 2850 case 40: |
2815 goto tr108; | 2851 goto tr108; |
2816 tr108: | 2852 tr108: |
2817 {} | 2853 {} |
2818 goto st41; | 2854 goto st41; |
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2854 goto st44; | 2890 goto st44; |
2855 tr240: | 2891 tr240: |
2856 { SET_CPU_FEATURE(CPUFeature_SSE42); } | 2892 { SET_CPU_FEATURE(CPUFeature_SSE42); } |
2857 goto st44; | 2893 goto st44; |
2858 tr246: | 2894 tr246: |
2859 { SET_CPU_FEATURE(CPUFeature_AES); } | 2895 { SET_CPU_FEATURE(CPUFeature_AES); } |
2860 goto st44; | 2896 goto st44; |
2861 tr234: | 2897 tr234: |
2862 { SET_CPU_FEATURE(CPUFeature_CLMUL); } | 2898 { SET_CPU_FEATURE(CPUFeature_CLMUL); } |
2863 goto st44; | 2899 goto st44; |
2864 tr403: | 2900 tr376: |
2865 { SET_CPU_FEATURE(CPUFeature_AESAVX); } | 2901 { SET_CPU_FEATURE(CPUFeature_AESAVX); } |
2866 goto st44; | 2902 goto st44; |
2867 tr410: | 2903 tr383: |
2868 { SET_CPU_FEATURE(CPUFeature_F16C); } | 2904 { SET_CPU_FEATURE(CPUFeature_F16C); } |
2869 goto st44; | 2905 goto st44; |
2870 tr382: | 2906 tr370: |
2871 { SET_CPU_FEATURE(CPUFeature_CLMULAVX); } | 2907 { SET_CPU_FEATURE(CPUFeature_CLMULAVX); } |
2872 goto st44; | 2908 goto st44; |
2873 st44: | 2909 st44: |
2874 if ( ++( current_position) == ( end_of_bundle) ) | 2910 if ( ++( current_position) == ( end_of_bundle) ) |
2875 goto _test_eof44; | 2911 goto _test_eof44; |
2876 case 44: | 2912 case 44: |
2877 goto tr112; | 2913 goto tr112; |
2878 tr150: | 2914 tr150: |
2879 { SET_CPU_FEATURE(CPUFeature_SSE); } | 2915 { SET_CPU_FEATURE(CPUFeature_SSE); } |
2880 goto st45; | 2916 goto st45; |
(...skipping 11 matching lines...) Expand all Loading... |
2892 goto st45; | 2928 goto st45; |
2893 tr241: | 2929 tr241: |
2894 { SET_CPU_FEATURE(CPUFeature_SSE42); } | 2930 { SET_CPU_FEATURE(CPUFeature_SSE42); } |
2895 goto st45; | 2931 goto st45; |
2896 tr247: | 2932 tr247: |
2897 { SET_CPU_FEATURE(CPUFeature_AES); } | 2933 { SET_CPU_FEATURE(CPUFeature_AES); } |
2898 goto st45; | 2934 goto st45; |
2899 tr235: | 2935 tr235: |
2900 { SET_CPU_FEATURE(CPUFeature_CLMUL); } | 2936 { SET_CPU_FEATURE(CPUFeature_CLMUL); } |
2901 goto st45; | 2937 goto st45; |
2902 tr404: | 2938 tr377: |
2903 { SET_CPU_FEATURE(CPUFeature_AESAVX); } | 2939 { SET_CPU_FEATURE(CPUFeature_AESAVX); } |
2904 goto st45; | 2940 goto st45; |
2905 tr411: | 2941 tr384: |
2906 { SET_CPU_FEATURE(CPUFeature_F16C); } | 2942 { SET_CPU_FEATURE(CPUFeature_F16C); } |
2907 goto st45; | 2943 goto st45; |
2908 tr383: | 2944 tr371: |
2909 { SET_CPU_FEATURE(CPUFeature_CLMULAVX); } | 2945 { SET_CPU_FEATURE(CPUFeature_CLMULAVX); } |
2910 goto st45; | 2946 goto st45; |
2911 st45: | 2947 st45: |
2912 if ( ++( current_position) == ( end_of_bundle) ) | 2948 if ( ++( current_position) == ( end_of_bundle) ) |
2913 goto _test_eof45; | 2949 goto _test_eof45; |
2914 case 45: | 2950 case 45: |
2915 goto st44; | 2951 goto st44; |
2916 tr151: | 2952 tr151: |
2917 { SET_CPU_FEATURE(CPUFeature_SSE); } | 2953 { SET_CPU_FEATURE(CPUFeature_SSE); } |
2918 goto st46; | 2954 goto st46; |
(...skipping 11 matching lines...) Expand all Loading... |
2930 goto st46; | 2966 goto st46; |
2931 tr242: | 2967 tr242: |
2932 { SET_CPU_FEATURE(CPUFeature_SSE42); } | 2968 { SET_CPU_FEATURE(CPUFeature_SSE42); } |
2933 goto st46; | 2969 goto st46; |
2934 tr248: | 2970 tr248: |
2935 { SET_CPU_FEATURE(CPUFeature_AES); } | 2971 { SET_CPU_FEATURE(CPUFeature_AES); } |
2936 goto st46; | 2972 goto st46; |
2937 tr236: | 2973 tr236: |
2938 { SET_CPU_FEATURE(CPUFeature_CLMUL); } | 2974 { SET_CPU_FEATURE(CPUFeature_CLMUL); } |
2939 goto st46; | 2975 goto st46; |
2940 tr405: | 2976 tr378: |
2941 { SET_CPU_FEATURE(CPUFeature_AESAVX); } | 2977 { SET_CPU_FEATURE(CPUFeature_AESAVX); } |
2942 goto st46; | 2978 goto st46; |
2943 tr412: | 2979 tr385: |
2944 { SET_CPU_FEATURE(CPUFeature_F16C); } | 2980 { SET_CPU_FEATURE(CPUFeature_F16C); } |
2945 goto st46; | 2981 goto st46; |
2946 tr384: | 2982 tr372: |
2947 { SET_CPU_FEATURE(CPUFeature_CLMULAVX); } | 2983 { SET_CPU_FEATURE(CPUFeature_CLMULAVX); } |
2948 goto st46; | 2984 goto st46; |
2949 st46: | 2985 st46: |
2950 if ( ++( current_position) == ( end_of_bundle) ) | 2986 if ( ++( current_position) == ( end_of_bundle) ) |
2951 goto _test_eof46; | 2987 goto _test_eof46; |
2952 case 46: | 2988 case 46: |
2953 goto st40; | 2989 goto st40; |
2954 st47: | 2990 st47: |
2955 if ( ++( current_position) == ( end_of_bundle) ) | 2991 if ( ++( current_position) == ( end_of_bundle) ) |
2956 goto _test_eof47; | 2992 goto _test_eof47; |
(...skipping 648 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3605 if ( 64u <= (*( current_position)) && (*( current_position)) <=
95u ) | 3641 if ( 64u <= (*( current_position)) && (*( current_position)) <=
95u ) |
3606 goto tr0; | 3642 goto tr0; |
3607 } else if ( (*( current_position)) > 153u ) { | 3643 } else if ( (*( current_position)) > 153u ) { |
3608 if ( 184u <= (*( current_position)) && (*( current_position)) <=
191u ) | 3644 if ( 184u <= (*( current_position)) && (*( current_position)) <=
191u ) |
3609 goto st75; | 3645 goto st75; |
3610 } else | 3646 } else |
3611 goto tr0; | 3647 goto tr0; |
3612 goto tr16; | 3648 goto tr16; |
3613 tr276: | 3649 tr276: |
3614 { | 3650 { |
3615 SET_DISP_TYPE(DISP32); | 3651 SET_DISPLACEMENT_FORMAT(DISP32); |
3616 SET_DISP_PTR(current_position - 3); | 3652 SET_DISPLACEMENT_POINTER(current_position - 3); |
3617 } | 3653 } |
3618 {} | 3654 {} |
3619 goto st75; | 3655 goto st75; |
3620 tr277: | 3656 tr277: |
3621 { | 3657 { |
3622 SET_DISP_TYPE(DISP8); | 3658 SET_DISPLACEMENT_FORMAT(DISP8); |
3623 SET_DISP_PTR(current_position); | 3659 SET_DISPLACEMENT_POINTER(current_position); |
3624 } | 3660 } |
3625 {} | 3661 {} |
3626 goto st75; | 3662 goto st75; |
3627 st75: | 3663 st75: |
3628 if ( ++( current_position) == ( end_of_bundle) ) | 3664 if ( ++( current_position) == ( end_of_bundle) ) |
3629 goto _test_eof75; | 3665 goto _test_eof75; |
3630 case 75: | 3666 case 75: |
3631 goto tr185; | 3667 goto tr185; |
3632 tr185: | 3668 tr185: |
3633 {} | 3669 {} |
(...skipping 1527 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5161 case 124u: goto st45; | 5197 case 124u: goto st45; |
5162 case 132u: goto st46; | 5198 case 132u: goto st46; |
5163 case 140u: goto st46; | 5199 case 140u: goto st46; |
5164 case 148u: goto st46; | 5200 case 148u: goto st46; |
5165 case 156u: goto st46; | 5201 case 156u: goto st46; |
5166 case 164u: goto st46; | 5202 case 164u: goto st46; |
5167 case 172u: goto st46; | 5203 case 172u: goto st46; |
5168 case 180u: goto st46; | 5204 case 180u: goto st46; |
5169 case 188u: goto st46; | 5205 case 188u: goto st46; |
5170 case 224u: goto st140; | 5206 case 224u: goto st140; |
5171 » » case 225u: goto st219; | 5207 » » case 225u: goto st204; |
5172 » » case 226u: goto st221; | 5208 » » case 226u: goto st206; |
5173 » » case 227u: goto st223; | 5209 » » case 227u: goto st208; |
5174 » » case 228u: goto st225; | 5210 » » case 228u: goto st210; |
5175 » » case 229u: goto st227; | 5211 » » case 229u: goto st212; |
5176 » » case 230u: goto st229; | 5212 » » case 230u: goto st214; |
5177 » » case 231u: goto st231; | 5213 » » case 231u: goto st216; |
5178 } | 5214 } |
5179 if ( (*( current_position)) > 127u ) { | 5215 if ( (*( current_position)) > 127u ) { |
5180 if ( 128u <= (*( current_position)) && (*( current_position)) <=
191u ) | 5216 if ( 128u <= (*( current_position)) && (*( current_position)) <=
191u ) |
5181 goto st40; | 5217 goto st40; |
5182 } else if ( (*( current_position)) >= 64u ) | 5218 } else if ( (*( current_position)) >= 64u ) |
5183 goto st44; | 5219 goto st44; |
5184 goto st10; | 5220 goto st10; |
5185 st140: | 5221 st140: |
5186 if ( ++( current_position) == ( end_of_bundle) ) | 5222 if ( ++( current_position) == ( end_of_bundle) ) |
5187 goto _test_eof140; | 5223 goto _test_eof140; |
5188 case 140: | 5224 case 140: |
5189 if ( (*( current_position)) == 224u ) | 5225 if ( (*( current_position)) == 224u ) |
5190 goto tr303; | 5226 goto tr303; |
5191 goto tr11; | 5227 goto tr11; |
5192 tr303: | 5228 tr303: |
5193 { | 5229 { |
5194 SET_IMM_TYPE(IMM8); | 5230 SET_IMMEDIATE_FORMAT(IMM8); |
5195 SET_IMM_PTR(current_position); | 5231 SET_IMMEDIATE_POINTER(current_position); |
5196 } | 5232 } |
5197 {} | 5233 {} |
5198 { | 5234 { |
5199 /* Mark start of this instruction as a valid target for jump. */ | 5235 /* Mark start of this instruction as a valid target for jump. */ |
5200 MarkValidJumpTarget(instruction_begin - data, valid_targets); | 5236 MarkValidJumpTarget(instruction_begin - codeblock, valid_targets); |
5201 | 5237 |
5202 /* Call user-supplied callback. */ | 5238 /* Call user-supplied callback. */ |
5203 instruction_end = current_position + 1; | 5239 instruction_end = current_position + 1; |
5204 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || | 5240 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || |
5205 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { | 5241 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { |
5206 result &= user_callback(instruction_begin, instruction_end, | 5242 result &= user_callback(instruction_begin, instruction_end, |
5207 instruction_info_collected, callback_data); | 5243 instruction_info_collected, callback_data); |
5208 } | 5244 } |
5209 | 5245 |
5210 /* On successful match the instruction_begin must point to the next byte | 5246 /* |
5211 * to be able to report the new offset as the start of instruction | 5247 * We may set instruction_begin at the first byte of the instruction instead |
5212 * causing error. */ | 5248 * of here but in the case of incorrect one byte instructions user callback |
| 5249 * may be called before instruction_begin is set. |
| 5250 */ |
5213 instruction_begin = instruction_end; | 5251 instruction_begin = instruction_end; |
5214 | 5252 |
5215 /* Clear variables (well, one variable currently). */ | 5253 /* Clear variables (well, one variable currently). */ |
5216 instruction_info_collected = 0; | 5254 instruction_info_collected = 0; |
5217 } | 5255 } |
5218 » goto st234; | 5256 » goto st219; |
5219 st234: | 5257 st219: |
5220 if ( ++( current_position) == ( end_of_bundle) ) | 5258 if ( ++( current_position) == ( end_of_bundle) ) |
5221 » » goto _test_eof234; | 5259 » » goto _test_eof219; |
5222 case 234: | 5260 case 219: |
5223 switch( (*( current_position)) ) { | 5261 switch( (*( current_position)) ) { |
5224 case 4u: goto st10; | 5262 case 4u: goto st10; |
5225 case 5u: goto st11; | 5263 case 5u: goto st11; |
5226 case 12u: goto st10; | 5264 case 12u: goto st10; |
5227 case 13u: goto st11; | 5265 case 13u: goto st11; |
5228 case 15u: goto st15; | 5266 case 15u: goto st15; |
5229 case 20u: goto st10; | 5267 case 20u: goto st10; |
5230 case 21u: goto st11; | 5268 case 21u: goto st11; |
5231 case 28u: goto st10; | 5269 case 28u: goto st10; |
5232 case 29u: goto st11; | 5270 case 29u: goto st11; |
(...skipping 11 matching lines...) Expand all Loading... |
5244 case 102u: goto st74; | 5282 case 102u: goto st74; |
5245 case 104u: goto st11; | 5283 case 104u: goto st11; |
5246 case 105u: goto st130; | 5284 case 105u: goto st130; |
5247 case 106u: goto st10; | 5285 case 106u: goto st10; |
5248 case 107u: goto st56; | 5286 case 107u: goto st56; |
5249 case 128u: goto st56; | 5287 case 128u: goto st56; |
5250 case 129u: goto st130; | 5288 case 129u: goto st130; |
5251 case 131u: goto st139; | 5289 case 131u: goto st139; |
5252 case 141u: goto st115; | 5290 case 141u: goto st115; |
5253 case 143u: goto st141; | 5291 case 143u: goto st141; |
5254 » » case 155u: goto tr413; | 5292 » » case 155u: goto tr386; |
5255 case 168u: goto st10; | 5293 case 168u: goto st10; |
5256 case 169u: goto st11; | 5294 case 169u: goto st11; |
5257 case 196u: goto st153; | 5295 case 196u: goto st153; |
5258 » » case 198u: goto st185; | 5296 » » case 198u: goto st170; |
5259 » » case 199u: goto st186; | 5297 » » case 199u: goto st171; |
5260 case 201u: goto tr0; | 5298 case 201u: goto tr0; |
5261 » » case 216u: goto st187; | 5299 » » case 216u: goto st172; |
5262 » » case 217u: goto st188; | 5300 » » case 217u: goto st173; |
5263 » » case 218u: goto st189; | 5301 » » case 218u: goto st174; |
5264 » » case 219u: goto st190; | 5302 » » case 219u: goto st175; |
5265 » » case 220u: goto st191; | 5303 » » case 220u: goto st176; |
5266 » » case 221u: goto st192; | 5304 » » case 221u: goto st177; |
5267 » » case 222u: goto st193; | 5305 » » case 222u: goto st178; |
5268 » » case 223u: goto st194; | 5306 » » case 223u: goto st179; |
5269 » » case 232u: goto st195; | 5307 » » case 232u: goto st180; |
5270 case 233u: goto st52; | 5308 case 233u: goto st52; |
5271 case 235u: goto st67; | 5309 case 235u: goto st67; |
5272 » » case 240u: goto st199; | 5310 » » case 240u: goto st184; |
5273 » » case 242u: goto st202; | 5311 » » case 242u: goto st187; |
5274 » » case 243u: goto st210; | 5312 » » case 243u: goto st195; |
5275 » » case 246u: goto st215; | 5313 » » case 246u: goto st200; |
5276 » » case 247u: goto st216; | 5314 » » case 247u: goto st201; |
5277 » » case 254u: goto st217; | 5315 » » case 254u: goto st202; |
5278 » » case 255u: goto st218; | 5316 » » case 255u: goto st203; |
5279 } | 5317 } |
5280 if ( (*( current_position)) < 132u ) { | 5318 if ( (*( current_position)) < 132u ) { |
5281 if ( (*( current_position)) < 32u ) { | 5319 if ( (*( current_position)) < 32u ) { |
5282 if ( (*( current_position)) < 8u ) { | 5320 if ( (*( current_position)) < 8u ) { |
5283 if ( (*( current_position)) <= 3u ) | 5321 if ( (*( current_position)) <= 3u ) |
5284 goto st1; | 5322 goto st1; |
5285 } else if ( (*( current_position)) > 11u ) { | 5323 } else if ( (*( current_position)) > 11u ) { |
5286 if ( (*( current_position)) > 19u ) { | 5324 if ( (*( current_position)) > 19u ) { |
5287 if ( 24u <= (*( current_position)) && (*
( current_position)) <= 27u ) | 5325 if ( 24u <= (*( current_position)) && (*
( current_position)) <= 27u ) |
5288 goto st1; | 5326 goto st1; |
(...skipping 329 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5618 goto tr330; | 5656 goto tr330; |
5619 } else if ( (*( current_position)) >= 64u ) | 5657 } else if ( (*( current_position)) >= 64u ) |
5620 goto tr331; | 5658 goto tr331; |
5621 goto tr328; | 5659 goto tr328; |
5622 st153: | 5660 st153: |
5623 if ( ++( current_position) == ( end_of_bundle) ) | 5661 if ( ++( current_position) == ( end_of_bundle) ) |
5624 goto _test_eof153; | 5662 goto _test_eof153; |
5625 case 153: | 5663 case 153: |
5626 switch( (*( current_position)) ) { | 5664 switch( (*( current_position)) ) { |
5627 case 226u: goto st154; | 5665 case 226u: goto st154; |
5628 » » case 227u: goto st166; | 5666 » » case 227u: goto st163; |
5629 } | 5667 } |
5630 goto tr16; | 5668 goto tr16; |
5631 st154: | 5669 st154: |
5632 if ( ++( current_position) == ( end_of_bundle) ) | 5670 if ( ++( current_position) == ( end_of_bundle) ) |
5633 goto _test_eof154; | 5671 goto _test_eof154; |
5634 case 154: | 5672 case 154: |
5635 switch( (*( current_position)) ) { | 5673 switch( (*( current_position)) ) { |
5636 case 64u: goto tr336; | 5674 case 64u: goto tr336; |
5637 case 65u: goto tr337; | 5675 case 65u: goto tr337; |
5638 case 69u: goto tr338; | |
5639 case 72u: goto tr336; | 5676 case 72u: goto tr336; |
5640 case 73u: goto tr337; | 5677 case 73u: goto tr337; |
5641 case 77u: goto tr338; | |
5642 case 80u: goto tr336; | 5678 case 80u: goto tr336; |
5643 case 81u: goto tr337; | 5679 case 81u: goto tr337; |
5644 case 85u: goto tr338; | |
5645 case 88u: goto tr336; | 5680 case 88u: goto tr336; |
5646 case 89u: goto tr337; | 5681 case 89u: goto tr337; |
5647 case 93u: goto tr338; | |
5648 case 96u: goto tr336; | 5682 case 96u: goto tr336; |
5649 case 97u: goto tr337; | 5683 case 97u: goto tr337; |
5650 case 101u: goto tr338; | |
5651 case 104u: goto tr336; | 5684 case 104u: goto tr336; |
5652 case 105u: goto tr337; | 5685 case 105u: goto tr337; |
5653 case 109u: goto tr338; | |
5654 case 112u: goto tr336; | 5686 case 112u: goto tr336; |
5655 case 113u: goto tr337; | 5687 case 113u: goto tr337; |
5656 case 117u: goto tr338; | |
5657 case 120u: goto tr336; | 5688 case 120u: goto tr336; |
5658 » » case 121u: goto tr339; | 5689 » » case 121u: goto tr338; |
5659 » » case 125u: goto tr340; | 5690 » » case 125u: goto tr339; |
5660 » » case 193u: goto tr341; | |
5661 » » case 197u: goto tr338; | |
5662 » » case 201u: goto tr341; | |
5663 » » case 205u: goto tr338; | |
5664 » » case 209u: goto tr341; | |
5665 » » case 213u: goto tr338; | |
5666 » » case 217u: goto tr341; | |
5667 » » case 221u: goto tr338; | |
5668 » » case 225u: goto tr341; | |
5669 » » case 229u: goto tr338; | |
5670 » » case 233u: goto tr341; | |
5671 » » case 237u: goto tr338; | |
5672 » » case 241u: goto tr341; | |
5673 » » case 245u: goto tr338; | |
5674 » » case 249u: goto tr341; | |
5675 » » case 253u: goto tr338; | |
5676 } | 5691 } |
5677 goto tr16; | 5692 goto tr16; |
5678 tr336: | 5693 tr336: |
5679 { | 5694 { |
5680 SET_VEX_PREFIX3(*current_position); | 5695 SET_VEX_PREFIX3(*current_position); |
5681 } | 5696 } |
5682 goto st155; | 5697 goto st155; |
5683 st155: | 5698 st155: |
5684 if ( ++( current_position) == ( end_of_bundle) ) | 5699 if ( ++( current_position) == ( end_of_bundle) ) |
5685 goto _test_eof155; | 5700 goto _test_eof155; |
5686 case 155: | 5701 case 155: |
5687 switch( (*( current_position)) ) { | 5702 switch( (*( current_position)) ) { |
5688 case 242u: goto st156; | 5703 case 242u: goto st156; |
5689 case 243u: goto st157; | 5704 case 243u: goto st157; |
5690 case 247u: goto st156; | 5705 case 247u: goto st156; |
5691 } | 5706 } |
5692 goto tr16; | 5707 goto tr16; |
5693 st156: | 5708 st156: |
5694 if ( ++( current_position) == ( end_of_bundle) ) | 5709 if ( ++( current_position) == ( end_of_bundle) ) |
5695 goto _test_eof156; | 5710 goto _test_eof156; |
5696 case 156: | 5711 case 156: |
5697 switch( (*( current_position)) ) { | 5712 switch( (*( current_position)) ) { |
5698 » » case 4u: goto tr345; | 5713 » » case 4u: goto tr343; |
5699 » » case 5u: goto tr346; | 5714 » » case 5u: goto tr344; |
5700 » » case 12u: goto tr345; | 5715 » » case 12u: goto tr343; |
5701 » » case 13u: goto tr346; | 5716 » » case 13u: goto tr344; |
5702 » » case 20u: goto tr345; | 5717 » » case 20u: goto tr343; |
5703 » » case 21u: goto tr346; | 5718 » » case 21u: goto tr344; |
5704 » » case 28u: goto tr345; | 5719 » » case 28u: goto tr343; |
5705 » » case 29u: goto tr346; | 5720 » » case 29u: goto tr344; |
5706 » » case 36u: goto tr345; | 5721 » » case 36u: goto tr343; |
5707 » » case 37u: goto tr346; | 5722 » » case 37u: goto tr344; |
5708 » » case 44u: goto tr345; | 5723 » » case 44u: goto tr343; |
5709 » » case 45u: goto tr346; | 5724 » » case 45u: goto tr344; |
5710 » » case 52u: goto tr345; | 5725 » » case 52u: goto tr343; |
5711 » » case 53u: goto tr346; | 5726 » » case 53u: goto tr344; |
5712 » » case 60u: goto tr345; | 5727 » » case 60u: goto tr343; |
5713 » » case 61u: goto tr346; | 5728 » » case 61u: goto tr344; |
5714 » » case 68u: goto tr348; | 5729 » » case 68u: goto tr346; |
5715 » » case 76u: goto tr348; | 5730 » » case 76u: goto tr346; |
5716 » » case 84u: goto tr348; | 5731 » » case 84u: goto tr346; |
5717 » » case 92u: goto tr348; | 5732 » » case 92u: goto tr346; |
5718 » » case 100u: goto tr348; | 5733 » » case 100u: goto tr346; |
5719 » » case 108u: goto tr348; | 5734 » » case 108u: goto tr346; |
5720 » » case 116u: goto tr348; | 5735 » » case 116u: goto tr346; |
5721 » » case 124u: goto tr348; | 5736 » » case 124u: goto tr346; |
5722 » » case 132u: goto tr349; | 5737 » » case 132u: goto tr347; |
5723 » » case 140u: goto tr349; | 5738 » » case 140u: goto tr347; |
5724 » » case 148u: goto tr349; | 5739 » » case 148u: goto tr347; |
5725 » » case 156u: goto tr349; | 5740 » » case 156u: goto tr347; |
5726 » » case 164u: goto tr349; | 5741 » » case 164u: goto tr347; |
5727 » » case 172u: goto tr349; | 5742 » » case 172u: goto tr347; |
5728 » » case 180u: goto tr349; | 5743 » » case 180u: goto tr347; |
5729 » » case 188u: goto tr349; | 5744 » » case 188u: goto tr347; |
5730 } | 5745 } |
5731 if ( (*( current_position)) > 127u ) { | 5746 if ( (*( current_position)) > 127u ) { |
5732 if ( 128u <= (*( current_position)) && (*( current_position)) <=
191u ) | 5747 if ( 128u <= (*( current_position)) && (*( current_position)) <=
191u ) |
5733 » » » goto tr346; | 5748 » » » goto tr344; |
5734 } else if ( (*( current_position)) >= 64u ) | 5749 } else if ( (*( current_position)) >= 64u ) |
5735 » » goto tr347; | 5750 » » goto tr345; |
5736 » goto tr344; | 5751 » goto tr342; |
5737 st157: | 5752 st157: |
5738 if ( ++( current_position) == ( end_of_bundle) ) | 5753 if ( ++( current_position) == ( end_of_bundle) ) |
5739 goto _test_eof157; | 5754 goto _test_eof157; |
5740 case 157: | 5755 case 157: |
5741 switch( (*( current_position)) ) { | 5756 switch( (*( current_position)) ) { |
5742 » » case 12u: goto tr345; | 5757 » » case 12u: goto tr343; |
5743 » » case 13u: goto tr346; | 5758 » » case 13u: goto tr344; |
5744 » » case 20u: goto tr345; | 5759 » » case 20u: goto tr343; |
5745 » » case 21u: goto tr346; | 5760 » » case 21u: goto tr344; |
5746 » » case 28u: goto tr345; | 5761 » » case 28u: goto tr343; |
5747 » » case 29u: goto tr346; | 5762 » » case 29u: goto tr344; |
5748 » » case 76u: goto tr348; | 5763 » » case 76u: goto tr346; |
5749 » » case 84u: goto tr348; | 5764 » » case 84u: goto tr346; |
5750 » » case 92u: goto tr348; | 5765 » » case 92u: goto tr346; |
5751 » » case 140u: goto tr349; | 5766 » » case 140u: goto tr347; |
5752 » » case 148u: goto tr349; | 5767 » » case 148u: goto tr347; |
5753 » » case 156u: goto tr349; | 5768 » » case 156u: goto tr347; |
5754 } | 5769 } |
5755 if ( (*( current_position)) < 72u ) { | 5770 if ( (*( current_position)) < 72u ) { |
5756 if ( 8u <= (*( current_position)) && (*( current_position)) <= 3
1u ) | 5771 if ( 8u <= (*( current_position)) && (*( current_position)) <= 3
1u ) |
5757 » » » goto tr344; | 5772 » » » goto tr342; |
5758 } else if ( (*( current_position)) > 95u ) { | 5773 } else if ( (*( current_position)) > 95u ) { |
5759 if ( (*( current_position)) > 159u ) { | 5774 if ( (*( current_position)) > 159u ) { |
5760 if ( 200u <= (*( current_position)) && (*( current_posit
ion)) <= 223u ) | 5775 if ( 200u <= (*( current_position)) && (*( current_posit
ion)) <= 223u ) |
5761 » » » » goto tr344; | 5776 » » » » goto tr342; |
5762 } else if ( (*( current_position)) >= 136u ) | 5777 } else if ( (*( current_position)) >= 136u ) |
5763 » » » goto tr346; | 5778 » » » goto tr344; |
5764 } else | 5779 } else |
5765 » » goto tr347; | 5780 » » goto tr345; |
5766 goto tr16; | 5781 goto tr16; |
5767 tr337: | 5782 tr337: |
5768 { | 5783 { |
5769 SET_VEX_PREFIX3(*current_position); | 5784 SET_VEX_PREFIX3(*current_position); |
5770 } | 5785 } |
5771 goto st158; | 5786 goto st158; |
5772 st158: | 5787 st158: |
5773 if ( ++( current_position) == ( end_of_bundle) ) | 5788 if ( ++( current_position) == ( end_of_bundle) ) |
5774 goto _test_eof158; | 5789 goto _test_eof158; |
5775 case 158: | 5790 case 158: |
5776 » if ( (*( current_position)) < 166u ) { | 5791 » if ( 219u <= (*( current_position)) && (*( current_position)) <= 223u ) |
5777 » » if ( 150u <= (*( current_position)) && (*( current_position)) <=
159u ) | |
5778 » » » goto st159; | |
5779 » } else if ( (*( current_position)) > 175u ) { | |
5780 » » if ( (*( current_position)) > 191u ) { | |
5781 » » » if ( 219u <= (*( current_position)) && (*( current_posit
ion)) <= 223u ) | |
5782 » » » » goto st160; | |
5783 » » } else if ( (*( current_position)) >= 182u ) | |
5784 » » » goto st159; | |
5785 » } else | |
5786 goto st159; | 5792 goto st159; |
5787 goto tr16; | 5793 goto tr16; |
5788 st159: | 5794 st159: |
5789 if ( ++( current_position) == ( end_of_bundle) ) | 5795 if ( ++( current_position) == ( end_of_bundle) ) |
5790 goto _test_eof159; | 5796 goto _test_eof159; |
5791 case 159: | 5797 case 159: |
5792 switch( (*( current_position)) ) { | 5798 switch( (*( current_position)) ) { |
5793 » » case 4u: goto tr353; | 5799 » » case 4u: goto tr350; |
5794 » » case 5u: goto tr354; | 5800 » » case 5u: goto tr351; |
5795 » » case 12u: goto tr353; | 5801 » » case 12u: goto tr350; |
5796 » » case 13u: goto tr354; | 5802 » » case 13u: goto tr351; |
5797 » » case 20u: goto tr353; | 5803 » » case 20u: goto tr350; |
5798 » » case 21u: goto tr354; | 5804 » » case 21u: goto tr351; |
5799 » » case 28u: goto tr353; | 5805 » » case 28u: goto tr350; |
5800 » » case 29u: goto tr354; | 5806 » » case 29u: goto tr351; |
5801 » » case 36u: goto tr353; | 5807 » » case 36u: goto tr350; |
5802 » » case 37u: goto tr354; | 5808 » » case 37u: goto tr351; |
5803 » » case 44u: goto tr353; | 5809 » » case 44u: goto tr350; |
5804 » » case 45u: goto tr354; | 5810 » » case 45u: goto tr351; |
5805 » » case 52u: goto tr353; | 5811 » » case 52u: goto tr350; |
5806 » » case 53u: goto tr354; | 5812 » » case 53u: goto tr351; |
5807 » » case 60u: goto tr353; | 5813 » » case 60u: goto tr350; |
5808 » » case 61u: goto tr354; | 5814 » » case 61u: goto tr351; |
5809 » » case 68u: goto tr356; | 5815 » » case 68u: goto tr353; |
5810 » » case 76u: goto tr356; | 5816 » » case 76u: goto tr353; |
5811 » » case 84u: goto tr356; | 5817 » » case 84u: goto tr353; |
5812 » » case 92u: goto tr356; | 5818 » » case 92u: goto tr353; |
5813 » » case 100u: goto tr356; | 5819 » » case 100u: goto tr353; |
5814 » » case 108u: goto tr356; | 5820 » » case 108u: goto tr353; |
5815 » » case 116u: goto tr356; | 5821 » » case 116u: goto tr353; |
5816 » » case 124u: goto tr356; | 5822 » » case 124u: goto tr353; |
5817 » » case 132u: goto tr357; | 5823 » » case 132u: goto tr354; |
5818 » » case 140u: goto tr357; | 5824 » » case 140u: goto tr354; |
5819 » » case 148u: goto tr357; | 5825 » » case 148u: goto tr354; |
5820 » » case 156u: goto tr357; | 5826 » » case 156u: goto tr354; |
5821 » » case 164u: goto tr357; | 5827 » » case 164u: goto tr354; |
5822 » » case 172u: goto tr357; | 5828 » » case 172u: goto tr354; |
5823 » » case 180u: goto tr357; | 5829 » » case 180u: goto tr354; |
5824 » » case 188u: goto tr357; | 5830 » » case 188u: goto tr354; |
5825 } | 5831 } |
5826 if ( (*( current_position)) > 127u ) { | 5832 if ( (*( current_position)) > 127u ) { |
5827 if ( 128u <= (*( current_position)) && (*( current_position)) <=
191u ) | 5833 if ( 128u <= (*( current_position)) && (*( current_position)) <=
191u ) |
5828 » » » goto tr354; | 5834 » » » goto tr351; |
5829 } else if ( (*( current_position)) >= 64u ) | 5835 } else if ( (*( current_position)) >= 64u ) |
5830 » » goto tr355; | 5836 » » goto tr352; |
5831 » goto tr352; | 5837 » goto tr349; |
| 5838 tr338: |
| 5839 » { |
| 5840 SET_VEX_PREFIX3(*current_position); |
| 5841 } |
| 5842 » goto st160; |
5832 st160: | 5843 st160: |
5833 if ( ++( current_position) == ( end_of_bundle) ) | 5844 if ( ++( current_position) == ( end_of_bundle) ) |
5834 goto _test_eof160; | 5845 goto _test_eof160; |
5835 case 160: | 5846 case 160: |
5836 » switch( (*( current_position)) ) { | 5847 » if ( (*( current_position)) == 19u ) |
5837 » » case 4u: goto tr359; | 5848 » » goto st161; |
5838 » » case 5u: goto tr360; | 5849 » if ( 219u <= (*( current_position)) && (*( current_position)) <= 223u ) |
5839 » » case 12u: goto tr359; | 5850 » » goto st159; |
5840 » » case 13u: goto tr360; | 5851 » goto tr16; |
5841 » » case 20u: goto tr359; | |
5842 » » case 21u: goto tr360; | |
5843 » » case 28u: goto tr359; | |
5844 » » case 29u: goto tr360; | |
5845 » » case 36u: goto tr359; | |
5846 » » case 37u: goto tr360; | |
5847 » » case 44u: goto tr359; | |
5848 » » case 45u: goto tr360; | |
5849 » » case 52u: goto tr359; | |
5850 » » case 53u: goto tr360; | |
5851 » » case 60u: goto tr359; | |
5852 » » case 61u: goto tr360; | |
5853 » » case 68u: goto tr362; | |
5854 » » case 76u: goto tr362; | |
5855 » » case 84u: goto tr362; | |
5856 » » case 92u: goto tr362; | |
5857 » » case 100u: goto tr362; | |
5858 » » case 108u: goto tr362; | |
5859 » » case 116u: goto tr362; | |
5860 » » case 124u: goto tr362; | |
5861 » » case 132u: goto tr363; | |
5862 » » case 140u: goto tr363; | |
5863 » » case 148u: goto tr363; | |
5864 » » case 156u: goto tr363; | |
5865 » » case 164u: goto tr363; | |
5866 » » case 172u: goto tr363; | |
5867 » » case 180u: goto tr363; | |
5868 » » case 188u: goto tr363; | |
5869 » } | |
5870 » if ( (*( current_position)) > 127u ) { | |
5871 » » if ( 128u <= (*( current_position)) && (*( current_position)) <=
191u ) | |
5872 » » » goto tr360; | |
5873 » } else if ( (*( current_position)) >= 64u ) | |
5874 » » goto tr361; | |
5875 » goto tr358; | |
5876 tr338: | |
5877 » { | |
5878 SET_VEX_PREFIX3(*current_position); | |
5879 } | |
5880 » goto st161; | |
5881 st161: | 5852 st161: |
5882 if ( ++( current_position) == ( end_of_bundle) ) | 5853 if ( ++( current_position) == ( end_of_bundle) ) |
5883 goto _test_eof161; | 5854 goto _test_eof161; |
5884 case 161: | 5855 case 161: |
5885 switch( (*( current_position)) ) { | 5856 switch( (*( current_position)) ) { |
5886 » » case 154u: goto st159; | 5857 » » case 4u: goto tr357; |
5887 » » case 156u: goto st159; | 5858 » » case 5u: goto tr358; |
5888 » » case 158u: goto st159; | 5859 » » case 12u: goto tr357; |
5889 » » case 170u: goto st159; | 5860 » » case 13u: goto tr358; |
5890 » » case 172u: goto st159; | 5861 » » case 20u: goto tr357; |
5891 » » case 174u: goto st159; | 5862 » » case 21u: goto tr358; |
5892 » » case 186u: goto st159; | 5863 » » case 28u: goto tr357; |
5893 » » case 188u: goto st159; | 5864 » » case 29u: goto tr358; |
5894 » » case 190u: goto st159; | 5865 » » case 36u: goto tr357; |
| 5866 » » case 37u: goto tr358; |
| 5867 » » case 44u: goto tr357; |
| 5868 » » case 45u: goto tr358; |
| 5869 » » case 52u: goto tr357; |
| 5870 » » case 53u: goto tr358; |
| 5871 » » case 60u: goto tr357; |
| 5872 » » case 61u: goto tr358; |
| 5873 » » case 68u: goto tr360; |
| 5874 » » case 76u: goto tr360; |
| 5875 » » case 84u: goto tr360; |
| 5876 » » case 92u: goto tr360; |
| 5877 » » case 100u: goto tr360; |
| 5878 » » case 108u: goto tr360; |
| 5879 » » case 116u: goto tr360; |
| 5880 » » case 124u: goto tr360; |
| 5881 » » case 132u: goto tr361; |
| 5882 » » case 140u: goto tr361; |
| 5883 » » case 148u: goto tr361; |
| 5884 » » case 156u: goto tr361; |
| 5885 » » case 164u: goto tr361; |
| 5886 » » case 172u: goto tr361; |
| 5887 » » case 180u: goto tr361; |
| 5888 » » case 188u: goto tr361; |
5895 } | 5889 } |
5896 » if ( (*( current_position)) < 166u ) { | 5890 » if ( (*( current_position)) > 127u ) { |
5897 » » if ( 150u <= (*( current_position)) && (*( current_position)) <=
152u ) | 5891 » » if ( 128u <= (*( current_position)) && (*( current_position)) <=
191u ) |
5898 » » » goto st159; | 5892 » » » goto tr358; |
5899 » } else if ( (*( current_position)) > 168u ) { | 5893 » } else if ( (*( current_position)) >= 64u ) |
5900 » » if ( 182u <= (*( current_position)) && (*( current_position)) <=
184u ) | 5894 » » goto tr359; |
5901 » » » goto st159; | 5895 » goto tr356; |
5902 » } else | |
5903 » » goto st159; | |
5904 » goto tr16; | |
5905 tr339: | 5896 tr339: |
5906 { | 5897 { |
5907 SET_VEX_PREFIX3(*current_position); | 5898 SET_VEX_PREFIX3(*current_position); |
5908 } | 5899 } |
5909 goto st162; | 5900 goto st162; |
5910 st162: | 5901 st162: |
5911 if ( ++( current_position) == ( end_of_bundle) ) | 5902 if ( ++( current_position) == ( end_of_bundle) ) |
5912 goto _test_eof162; | 5903 goto _test_eof162; |
5913 case 162: | 5904 case 162: |
5914 if ( (*( current_position)) == 19u ) | 5905 if ( (*( current_position)) == 19u ) |
5915 » » goto st163; | 5906 » » goto st161; |
5916 » if ( (*( current_position)) < 166u ) { | |
5917 » » if ( 150u <= (*( current_position)) && (*( current_position)) <=
159u ) | |
5918 » » » goto st159; | |
5919 » } else if ( (*( current_position)) > 175u ) { | |
5920 » » if ( (*( current_position)) > 191u ) { | |
5921 » » » if ( 219u <= (*( current_position)) && (*( current_posit
ion)) <= 223u ) | |
5922 » » » » goto st160; | |
5923 » » } else if ( (*( current_position)) >= 182u ) | |
5924 » » » goto st159; | |
5925 » } else | |
5926 » » goto st159; | |
5927 goto tr16; | 5907 goto tr16; |
5928 st163: | 5908 st163: |
5929 if ( ++( current_position) == ( end_of_bundle) ) | 5909 if ( ++( current_position) == ( end_of_bundle) ) |
5930 goto _test_eof163; | 5910 goto _test_eof163; |
5931 case 163: | 5911 case 163: |
5932 switch( (*( current_position)) ) { | 5912 switch( (*( current_position)) ) { |
5933 » » case 4u: goto tr366; | 5913 » » case 65u: goto tr362; |
5934 » » case 5u: goto tr367; | 5914 » » case 73u: goto tr362; |
5935 » » case 12u: goto tr366; | 5915 » » case 81u: goto tr362; |
5936 » » case 13u: goto tr367; | 5916 » » case 89u: goto tr362; |
5937 » » case 20u: goto tr366; | 5917 » » case 97u: goto tr362; |
5938 » » case 21u: goto tr367; | 5918 » » case 105u: goto tr362; |
5939 » » case 28u: goto tr366; | 5919 » » case 113u: goto tr362; |
5940 » » case 29u: goto tr367; | 5920 » » case 121u: goto tr363; |
5941 » » case 36u: goto tr366; | 5921 » » case 125u: goto tr364; |
5942 » » case 37u: goto tr367; | |
5943 » » case 44u: goto tr366; | |
5944 » » case 45u: goto tr367; | |
5945 » » case 52u: goto tr366; | |
5946 » » case 53u: goto tr367; | |
5947 » » case 60u: goto tr366; | |
5948 » » case 61u: goto tr367; | |
5949 » » case 68u: goto tr369; | |
5950 » » case 76u: goto tr369; | |
5951 » » case 84u: goto tr369; | |
5952 » » case 92u: goto tr369; | |
5953 » » case 100u: goto tr369; | |
5954 » » case 108u: goto tr369; | |
5955 » » case 116u: goto tr369; | |
5956 » » case 124u: goto tr369; | |
5957 » » case 132u: goto tr370; | |
5958 » » case 140u: goto tr370; | |
5959 » » case 148u: goto tr370; | |
5960 » » case 156u: goto tr370; | |
5961 » » case 164u: goto tr370; | |
5962 » » case 172u: goto tr370; | |
5963 » » case 180u: goto tr370; | |
5964 » » case 188u: goto tr370; | |
5965 } | 5922 } |
5966 » if ( (*( current_position)) > 127u ) { | 5923 » goto tr16; |
5967 » » if ( 128u <= (*( current_position)) && (*( current_position)) <=
191u ) | 5924 tr362: |
5968 » » » goto tr367; | |
5969 » } else if ( (*( current_position)) >= 64u ) | |
5970 » » goto tr368; | |
5971 » goto tr365; | |
5972 tr340: | |
5973 { | 5925 { |
5974 SET_VEX_PREFIX3(*current_position); | 5926 SET_VEX_PREFIX3(*current_position); |
5975 } | 5927 } |
5976 goto st164; | 5928 goto st164; |
5977 st164: | 5929 st164: |
5978 if ( ++( current_position) == ( end_of_bundle) ) | 5930 if ( ++( current_position) == ( end_of_bundle) ) |
5979 goto _test_eof164; | 5931 goto _test_eof164; |
5980 case 164: | 5932 case 164: |
5981 switch( (*( current_position)) ) { | 5933 switch( (*( current_position)) ) { |
5982 » » case 19u: goto st163; | 5934 » » case 68u: goto st165; |
5983 » » case 154u: goto st159; | 5935 » » case 223u: goto st166; |
5984 » » case 156u: goto st159; | |
5985 » » case 158u: goto st159; | |
5986 » » case 170u: goto st159; | |
5987 » » case 172u: goto st159; | |
5988 » » case 174u: goto st159; | |
5989 » » case 186u: goto st159; | |
5990 » » case 188u: goto st159; | |
5991 » » case 190u: goto st159; | |
5992 } | 5936 } |
5993 if ( (*( current_position)) < 166u ) { | |
5994 if ( 150u <= (*( current_position)) && (*( current_position)) <=
152u ) | |
5995 goto st159; | |
5996 } else if ( (*( current_position)) > 168u ) { | |
5997 if ( 182u <= (*( current_position)) && (*( current_position)) <=
184u ) | |
5998 goto st159; | |
5999 } else | |
6000 goto st159; | |
6001 goto tr16; | 5937 goto tr16; |
6002 tr341: | |
6003 { | |
6004 SET_VEX_PREFIX3(*current_position); | |
6005 } | |
6006 goto st165; | |
6007 st165: | 5938 st165: |
6008 if ( ++( current_position) == ( end_of_bundle) ) | 5939 if ( ++( current_position) == ( end_of_bundle) ) |
6009 goto _test_eof165; | 5940 goto _test_eof165; |
6010 case 165: | 5941 case 165: |
6011 » if ( (*( current_position)) < 166u ) { | 5942 » switch( (*( current_position)) ) { |
6012 » » if ( 150u <= (*( current_position)) && (*( current_position)) <=
159u ) | 5943 » » case 4u: goto tr368; |
6013 » » » goto st159; | 5944 » » case 5u: goto tr369; |
6014 » } else if ( (*( current_position)) > 175u ) { | 5945 » » case 12u: goto tr368; |
6015 » » if ( 182u <= (*( current_position)) && (*( current_position)) <=
191u ) | 5946 » » case 13u: goto tr369; |
6016 » » » goto st159; | 5947 » » case 20u: goto tr368; |
6017 » } else | 5948 » » case 21u: goto tr369; |
6018 » » goto st159; | 5949 » » case 28u: goto tr368; |
6019 » goto tr16; | 5950 » » case 29u: goto tr369; |
| 5951 » » case 36u: goto tr368; |
| 5952 » » case 37u: goto tr369; |
| 5953 » » case 44u: goto tr368; |
| 5954 » » case 45u: goto tr369; |
| 5955 » » case 52u: goto tr368; |
| 5956 » » case 53u: goto tr369; |
| 5957 » » case 60u: goto tr368; |
| 5958 » » case 61u: goto tr369; |
| 5959 » » case 68u: goto tr371; |
| 5960 » » case 76u: goto tr371; |
| 5961 » » case 84u: goto tr371; |
| 5962 » » case 92u: goto tr371; |
| 5963 » » case 100u: goto tr371; |
| 5964 » » case 108u: goto tr371; |
| 5965 » » case 116u: goto tr371; |
| 5966 » » case 124u: goto tr371; |
| 5967 » » case 132u: goto tr372; |
| 5968 » » case 140u: goto tr372; |
| 5969 » » case 148u: goto tr372; |
| 5970 » » case 156u: goto tr372; |
| 5971 » » case 164u: goto tr372; |
| 5972 » » case 172u: goto tr372; |
| 5973 » » case 180u: goto tr372; |
| 5974 » » case 188u: goto tr372; |
| 5975 » } |
| 5976 » if ( (*( current_position)) > 127u ) { |
| 5977 » » if ( 128u <= (*( current_position)) && (*( current_position)) <=
191u ) |
| 5978 » » » goto tr369; |
| 5979 » } else if ( (*( current_position)) >= 64u ) |
| 5980 » » goto tr370; |
| 5981 » goto tr367; |
6020 st166: | 5982 st166: |
6021 if ( ++( current_position) == ( end_of_bundle) ) | 5983 if ( ++( current_position) == ( end_of_bundle) ) |
6022 goto _test_eof166; | 5984 goto _test_eof166; |
6023 case 166: | 5985 case 166: |
6024 switch( (*( current_position)) ) { | 5986 switch( (*( current_position)) ) { |
6025 » » case 65u: goto tr371; | 5987 » » case 4u: goto tr374; |
6026 » » case 69u: goto tr372; | 5988 » » case 5u: goto tr375; |
6027 » » case 73u: goto tr371; | 5989 » » case 12u: goto tr374; |
6028 » » case 77u: goto tr372; | 5990 » » case 13u: goto tr375; |
6029 » » case 81u: goto tr371; | 5991 » » case 20u: goto tr374; |
6030 » » case 85u: goto tr372; | 5992 » » case 21u: goto tr375; |
6031 » » case 89u: goto tr371; | 5993 » » case 28u: goto tr374; |
6032 » » case 93u: goto tr372; | 5994 » » case 29u: goto tr375; |
6033 » » case 97u: goto tr371; | 5995 » » case 36u: goto tr374; |
6034 » » case 101u: goto tr372; | 5996 » » case 37u: goto tr375; |
6035 » » case 105u: goto tr371; | 5997 » » case 44u: goto tr374; |
6036 » » case 109u: goto tr372; | 5998 » » case 45u: goto tr375; |
6037 » » case 113u: goto tr371; | 5999 » » case 52u: goto tr374; |
6038 » » case 117u: goto tr372; | 6000 » » case 53u: goto tr375; |
6039 » » case 121u: goto tr373; | 6001 » » case 60u: goto tr374; |
6040 » » case 125u: goto tr374; | 6002 » » case 61u: goto tr375; |
6041 » » case 193u: goto tr375; | 6003 » » case 68u: goto tr377; |
6042 » » case 197u: goto tr372; | 6004 » » case 76u: goto tr377; |
6043 » » case 201u: goto tr375; | 6005 » » case 84u: goto tr377; |
6044 » » case 205u: goto tr372; | 6006 » » case 92u: goto tr377; |
6045 » » case 209u: goto tr375; | 6007 » » case 100u: goto tr377; |
6046 » » case 213u: goto tr372; | 6008 » » case 108u: goto tr377; |
6047 » » case 217u: goto tr375; | 6009 » » case 116u: goto tr377; |
6048 » » case 221u: goto tr372; | 6010 » » case 124u: goto tr377; |
6049 » » case 225u: goto tr375; | 6011 » » case 132u: goto tr378; |
6050 » » case 229u: goto tr372; | 6012 » » case 140u: goto tr378; |
6051 » » case 233u: goto tr375; | 6013 » » case 148u: goto tr378; |
6052 » » case 237u: goto tr372; | 6014 » » case 156u: goto tr378; |
6053 » » case 241u: goto tr375; | 6015 » » case 164u: goto tr378; |
6054 » » case 245u: goto tr372; | 6016 » » case 172u: goto tr378; |
6055 » » case 249u: goto tr375; | 6017 » » case 180u: goto tr378; |
6056 » » case 253u: goto tr372; | 6018 » » case 188u: goto tr378; |
6057 } | 6019 } |
6058 » goto tr16; | 6020 » if ( (*( current_position)) > 127u ) { |
6059 tr371: | 6021 » » if ( 128u <= (*( current_position)) && (*( current_position)) <=
191u ) |
| 6022 » » » goto tr375; |
| 6023 » } else if ( (*( current_position)) >= 64u ) |
| 6024 » » goto tr376; |
| 6025 » goto tr373; |
| 6026 tr363: |
6060 { | 6027 { |
6061 SET_VEX_PREFIX3(*current_position); | 6028 SET_VEX_PREFIX3(*current_position); |
6062 } | 6029 } |
6063 goto st167; | 6030 goto st167; |
6064 st167: | 6031 st167: |
6065 if ( ++( current_position) == ( end_of_bundle) ) | 6032 if ( ++( current_position) == ( end_of_bundle) ) |
6066 goto _test_eof167; | 6033 goto _test_eof167; |
6067 case 167: | 6034 case 167: |
6068 switch( (*( current_position)) ) { | 6035 switch( (*( current_position)) ) { |
6069 » » case 68u: goto st168; | 6036 » » case 29u: goto st168; |
6070 » » case 223u: goto st179; | 6037 » » case 68u: goto st165; |
| 6038 » » case 223u: goto st166; |
6071 } | 6039 } |
6072 if ( (*( current_position)) < 104u ) { | |
6073 if ( 92u <= (*( current_position)) && (*( current_position)) <=
95u ) | |
6074 goto st169; | |
6075 } else if ( (*( current_position)) > 111u ) { | |
6076 if ( 120u <= (*( current_position)) && (*( current_position)) <=
127u ) | |
6077 goto st169; | |
6078 } else | |
6079 goto st169; | |
6080 goto tr16; | 6040 goto tr16; |
6081 st168: | 6041 st168: |
6082 if ( ++( current_position) == ( end_of_bundle) ) | 6042 if ( ++( current_position) == ( end_of_bundle) ) |
6083 goto _test_eof168; | 6043 goto _test_eof168; |
6084 case 168: | 6044 case 168: |
6085 switch( (*( current_position)) ) { | 6045 switch( (*( current_position)) ) { |
6086 » » case 4u: goto tr380; | 6046 » » case 4u: goto tr381; |
6087 » » case 5u: goto tr381; | 6047 » » case 5u: goto tr382; |
6088 » » case 12u: goto tr380; | 6048 » » case 12u: goto tr381; |
6089 » » case 13u: goto tr381; | 6049 » » case 13u: goto tr382; |
6090 » » case 20u: goto tr380; | 6050 » » case 20u: goto tr381; |
6091 » » case 21u: goto tr381; | 6051 » » case 21u: goto tr382; |
6092 » » case 28u: goto tr380; | 6052 » » case 28u: goto tr381; |
6093 » » case 29u: goto tr381; | 6053 » » case 29u: goto tr382; |
6094 » » case 36u: goto tr380; | 6054 » » case 36u: goto tr381; |
6095 » » case 37u: goto tr381; | 6055 » » case 37u: goto tr382; |
6096 » » case 44u: goto tr380; | 6056 » » case 44u: goto tr381; |
6097 » » case 45u: goto tr381; | 6057 » » case 45u: goto tr382; |
6098 » » case 52u: goto tr380; | 6058 » » case 52u: goto tr381; |
6099 » » case 53u: goto tr381; | 6059 » » case 53u: goto tr382; |
6100 » » case 60u: goto tr380; | 6060 » » case 60u: goto tr381; |
6101 » » case 61u: goto tr381; | 6061 » » case 61u: goto tr382; |
6102 » » case 68u: goto tr383; | 6062 » » case 68u: goto tr384; |
6103 » » case 76u: goto tr383; | 6063 » » case 76u: goto tr384; |
6104 » » case 84u: goto tr383; | 6064 » » case 84u: goto tr384; |
6105 » » case 92u: goto tr383; | 6065 » » case 92u: goto tr384; |
6106 » » case 100u: goto tr383; | 6066 » » case 100u: goto tr384; |
6107 » » case 108u: goto tr383; | 6067 » » case 108u: goto tr384; |
6108 » » case 116u: goto tr383; | 6068 » » case 116u: goto tr384; |
6109 » » case 124u: goto tr383; | 6069 » » case 124u: goto tr384; |
6110 » » case 132u: goto tr384; | 6070 » » case 132u: goto tr385; |
6111 » » case 140u: goto tr384; | 6071 » » case 140u: goto tr385; |
6112 » » case 148u: goto tr384; | 6072 » » case 148u: goto tr385; |
6113 » » case 156u: goto tr384; | 6073 » » case 156u: goto tr385; |
6114 » » case 164u: goto tr384; | 6074 » » case 164u: goto tr385; |
6115 » » case 172u: goto tr384; | 6075 » » case 172u: goto tr385; |
6116 » » case 180u: goto tr384; | 6076 » » case 180u: goto tr385; |
6117 » » case 188u: goto tr384; | 6077 » » case 188u: goto tr385; |
6118 } | 6078 } |
6119 if ( (*( current_position)) > 127u ) { | 6079 if ( (*( current_position)) > 127u ) { |
6120 if ( 128u <= (*( current_position)) && (*( current_position)) <=
191u ) | 6080 if ( 128u <= (*( current_position)) && (*( current_position)) <=
191u ) |
6121 » » » goto tr381; | 6081 » » » goto tr382; |
6122 } else if ( (*( current_position)) >= 64u ) | 6082 } else if ( (*( current_position)) >= 64u ) |
6123 » » goto tr382; | 6083 » » goto tr383; |
6124 » goto tr379; | 6084 » goto tr380; |
| 6085 tr364: |
| 6086 » { |
| 6087 SET_VEX_PREFIX3(*current_position); |
| 6088 } |
| 6089 » goto st169; |
6125 st169: | 6090 st169: |
6126 if ( ++( current_position) == ( end_of_bundle) ) | 6091 if ( ++( current_position) == ( end_of_bundle) ) |
6127 goto _test_eof169; | 6092 goto _test_eof169; |
6128 case 169: | 6093 case 169: |
6129 » switch( (*( current_position)) ) { | 6094 » if ( (*( current_position)) == 29u ) |
6130 » » case 4u: goto tr386; | 6095 » » goto st168; |
6131 » » case 5u: goto tr387; | 6096 » goto tr16; |
6132 » » case 12u: goto tr386; | |
6133 » » case 13u: goto tr387; | |
6134 » » case 20u: goto tr386; | |
6135 » » case 21u: goto tr387; | |
6136 » » case 28u: goto tr386; | |
6137 » » case 29u: goto tr387; | |
6138 » » case 36u: goto tr386; | |
6139 » » case 37u: goto tr387; | |
6140 » » case 44u: goto tr386; | |
6141 » » case 45u: goto tr387; | |
6142 » » case 52u: goto tr386; | |
6143 » » case 53u: goto tr387; | |
6144 » » case 60u: goto tr386; | |
6145 » » case 61u: goto tr387; | |
6146 » » case 68u: goto tr389; | |
6147 » » case 76u: goto tr389; | |
6148 » » case 84u: goto tr389; | |
6149 » » case 92u: goto tr389; | |
6150 » » case 100u: goto tr389; | |
6151 » » case 108u: goto tr389; | |
6152 » » case 116u: goto tr389; | |
6153 » » case 124u: goto tr389; | |
6154 » » case 132u: goto tr390; | |
6155 » » case 140u: goto tr390; | |
6156 » » case 148u: goto tr390; | |
6157 » » case 156u: goto tr390; | |
6158 » » case 164u: goto tr390; | |
6159 » » case 172u: goto tr390; | |
6160 » » case 180u: goto tr390; | |
6161 » » case 188u: goto tr390; | |
6162 » } | |
6163 » if ( (*( current_position)) > 127u ) { | |
6164 » » if ( 128u <= (*( current_position)) && (*( current_position)) <=
191u ) | |
6165 » » » goto tr387; | |
6166 » } else if ( (*( current_position)) >= 64u ) | |
6167 » » goto tr388; | |
6168 » goto tr385; | |
6169 tr397: | |
6170 » { | |
6171 SET_DISP_TYPE(DISP32); | |
6172 SET_DISP_PTR(current_position - 3); | |
6173 } | |
6174 » {} | |
6175 » goto st170; | |
6176 tr398: | |
6177 » { | |
6178 SET_DISP_TYPE(DISP8); | |
6179 SET_DISP_PTR(current_position); | |
6180 } | |
6181 » {} | |
6182 » goto st170; | |
6183 tr385: | |
6184 » { SET_CPU_FEATURE(CPUFeature_FMA4); } | |
6185 » goto st170; | |
6186 st170: | 6097 st170: |
6187 if ( ++( current_position) == ( end_of_bundle) ) | 6098 if ( ++( current_position) == ( end_of_bundle) ) |
6188 goto _test_eof170; | 6099 goto _test_eof170; |
6189 case 170: | 6100 case 170: |
6190 switch( (*( current_position)) ) { | 6101 switch( (*( current_position)) ) { |
6191 case 0u: goto tr391; | |
6192 case 16u: goto tr391; | |
6193 case 32u: goto tr391; | |
6194 case 48u: goto tr391; | |
6195 case 64u: goto tr391; | |
6196 case 80u: goto tr391; | |
6197 case 96u: goto tr391; | |
6198 case 112u: goto tr391; | |
6199 } | |
6200 goto tr16; | |
6201 tr386: | |
6202 { SET_CPU_FEATURE(CPUFeature_FMA4); } | |
6203 goto st171; | |
6204 st171: | |
6205 if ( ++( current_position) == ( end_of_bundle) ) | |
6206 goto _test_eof171; | |
6207 case 171: | |
6208 switch( (*( current_position)) ) { | |
6209 case 5u: goto st172; | |
6210 case 13u: goto st172; | |
6211 case 21u: goto st172; | |
6212 case 29u: goto st172; | |
6213 case 37u: goto st172; | |
6214 case 45u: goto st172; | |
6215 case 53u: goto st172; | |
6216 case 61u: goto st172; | |
6217 case 69u: goto st172; | |
6218 case 77u: goto st172; | |
6219 case 85u: goto st172; | |
6220 case 93u: goto st172; | |
6221 case 101u: goto st172; | |
6222 case 109u: goto st172; | |
6223 case 117u: goto st172; | |
6224 case 125u: goto st172; | |
6225 case 133u: goto st172; | |
6226 case 141u: goto st172; | |
6227 case 149u: goto st172; | |
6228 case 157u: goto st172; | |
6229 case 165u: goto st172; | |
6230 case 173u: goto st172; | |
6231 case 181u: goto st172; | |
6232 case 189u: goto st172; | |
6233 case 197u: goto st172; | |
6234 case 205u: goto st172; | |
6235 case 213u: goto st172; | |
6236 case 221u: goto st172; | |
6237 case 229u: goto st172; | |
6238 case 237u: goto st172; | |
6239 case 245u: goto st172; | |
6240 case 253u: goto st172; | |
6241 } | |
6242 goto st170; | |
6243 tr387: | |
6244 { SET_CPU_FEATURE(CPUFeature_FMA4); } | |
6245 goto st172; | |
6246 st172: | |
6247 if ( ++( current_position) == ( end_of_bundle) ) | |
6248 goto _test_eof172; | |
6249 case 172: | |
6250 goto tr394; | |
6251 tr394: | |
6252 {} | |
6253 goto st173; | |
6254 st173: | |
6255 if ( ++( current_position) == ( end_of_bundle) ) | |
6256 goto _test_eof173; | |
6257 case 173: | |
6258 goto tr395; | |
6259 tr395: | |
6260 {} | |
6261 goto st174; | |
6262 st174: | |
6263 if ( ++( current_position) == ( end_of_bundle) ) | |
6264 goto _test_eof174; | |
6265 case 174: | |
6266 goto tr396; | |
6267 tr396: | |
6268 {} | |
6269 goto st175; | |
6270 st175: | |
6271 if ( ++( current_position) == ( end_of_bundle) ) | |
6272 goto _test_eof175; | |
6273 case 175: | |
6274 goto tr397; | |
6275 tr388: | |
6276 { SET_CPU_FEATURE(CPUFeature_FMA4); } | |
6277 goto st176; | |
6278 st176: | |
6279 if ( ++( current_position) == ( end_of_bundle) ) | |
6280 goto _test_eof176; | |
6281 case 176: | |
6282 goto tr398; | |
6283 tr389: | |
6284 { SET_CPU_FEATURE(CPUFeature_FMA4); } | |
6285 goto st177; | |
6286 st177: | |
6287 if ( ++( current_position) == ( end_of_bundle) ) | |
6288 goto _test_eof177; | |
6289 case 177: | |
6290 goto st176; | |
6291 tr390: | |
6292 { SET_CPU_FEATURE(CPUFeature_FMA4); } | |
6293 goto st178; | |
6294 st178: | |
6295 if ( ++( current_position) == ( end_of_bundle) ) | |
6296 goto _test_eof178; | |
6297 case 178: | |
6298 goto st172; | |
6299 st179: | |
6300 if ( ++( current_position) == ( end_of_bundle) ) | |
6301 goto _test_eof179; | |
6302 case 179: | |
6303 switch( (*( current_position)) ) { | |
6304 case 4u: goto tr401; | |
6305 case 5u: goto tr402; | |
6306 case 12u: goto tr401; | |
6307 case 13u: goto tr402; | |
6308 case 20u: goto tr401; | |
6309 case 21u: goto tr402; | |
6310 case 28u: goto tr401; | |
6311 case 29u: goto tr402; | |
6312 case 36u: goto tr401; | |
6313 case 37u: goto tr402; | |
6314 case 44u: goto tr401; | |
6315 case 45u: goto tr402; | |
6316 case 52u: goto tr401; | |
6317 case 53u: goto tr402; | |
6318 case 60u: goto tr401; | |
6319 case 61u: goto tr402; | |
6320 case 68u: goto tr404; | |
6321 case 76u: goto tr404; | |
6322 case 84u: goto tr404; | |
6323 case 92u: goto tr404; | |
6324 case 100u: goto tr404; | |
6325 case 108u: goto tr404; | |
6326 case 116u: goto tr404; | |
6327 case 124u: goto tr404; | |
6328 case 132u: goto tr405; | |
6329 case 140u: goto tr405; | |
6330 case 148u: goto tr405; | |
6331 case 156u: goto tr405; | |
6332 case 164u: goto tr405; | |
6333 case 172u: goto tr405; | |
6334 case 180u: goto tr405; | |
6335 case 188u: goto tr405; | |
6336 } | |
6337 if ( (*( current_position)) > 127u ) { | |
6338 if ( 128u <= (*( current_position)) && (*( current_position)) <=
191u ) | |
6339 goto tr402; | |
6340 } else if ( (*( current_position)) >= 64u ) | |
6341 goto tr403; | |
6342 goto tr400; | |
6343 tr372: | |
6344 { | |
6345 SET_VEX_PREFIX3(*current_position); | |
6346 } | |
6347 goto st180; | |
6348 st180: | |
6349 if ( ++( current_position) == ( end_of_bundle) ) | |
6350 goto _test_eof180; | |
6351 case 180: | |
6352 if ( (*( current_position)) < 108u ) { | |
6353 if ( (*( current_position)) > 95u ) { | |
6354 if ( 104u <= (*( current_position)) && (*( current_posit
ion)) <= 105u ) | |
6355 goto st169; | |
6356 } else if ( (*( current_position)) >= 92u ) | |
6357 goto st169; | |
6358 } else if ( (*( current_position)) > 109u ) { | |
6359 if ( (*( current_position)) > 121u ) { | |
6360 if ( 124u <= (*( current_position)) && (*( current_posit
ion)) <= 125u ) | |
6361 goto st169; | |
6362 } else if ( (*( current_position)) >= 120u ) | |
6363 goto st169; | |
6364 } else | |
6365 goto st169; | |
6366 goto tr16; | |
6367 tr373: | |
6368 { | |
6369 SET_VEX_PREFIX3(*current_position); | |
6370 } | |
6371 goto st181; | |
6372 st181: | |
6373 if ( ++( current_position) == ( end_of_bundle) ) | |
6374 goto _test_eof181; | |
6375 case 181: | |
6376 switch( (*( current_position)) ) { | |
6377 case 29u: goto st182; | |
6378 case 68u: goto st168; | |
6379 case 223u: goto st179; | |
6380 } | |
6381 if ( (*( current_position)) < 104u ) { | |
6382 if ( 92u <= (*( current_position)) && (*( current_position)) <=
95u ) | |
6383 goto st169; | |
6384 } else if ( (*( current_position)) > 111u ) { | |
6385 if ( 120u <= (*( current_position)) && (*( current_position)) <=
127u ) | |
6386 goto st169; | |
6387 } else | |
6388 goto st169; | |
6389 goto tr16; | |
6390 st182: | |
6391 if ( ++( current_position) == ( end_of_bundle) ) | |
6392 goto _test_eof182; | |
6393 case 182: | |
6394 switch( (*( current_position)) ) { | |
6395 case 4u: goto tr408; | |
6396 case 5u: goto tr409; | |
6397 case 12u: goto tr408; | |
6398 case 13u: goto tr409; | |
6399 case 20u: goto tr408; | |
6400 case 21u: goto tr409; | |
6401 case 28u: goto tr408; | |
6402 case 29u: goto tr409; | |
6403 case 36u: goto tr408; | |
6404 case 37u: goto tr409; | |
6405 case 44u: goto tr408; | |
6406 case 45u: goto tr409; | |
6407 case 52u: goto tr408; | |
6408 case 53u: goto tr409; | |
6409 case 60u: goto tr408; | |
6410 case 61u: goto tr409; | |
6411 case 68u: goto tr411; | |
6412 case 76u: goto tr411; | |
6413 case 84u: goto tr411; | |
6414 case 92u: goto tr411; | |
6415 case 100u: goto tr411; | |
6416 case 108u: goto tr411; | |
6417 case 116u: goto tr411; | |
6418 case 124u: goto tr411; | |
6419 case 132u: goto tr412; | |
6420 case 140u: goto tr412; | |
6421 case 148u: goto tr412; | |
6422 case 156u: goto tr412; | |
6423 case 164u: goto tr412; | |
6424 case 172u: goto tr412; | |
6425 case 180u: goto tr412; | |
6426 case 188u: goto tr412; | |
6427 } | |
6428 if ( (*( current_position)) > 127u ) { | |
6429 if ( 128u <= (*( current_position)) && (*( current_position)) <=
191u ) | |
6430 goto tr409; | |
6431 } else if ( (*( current_position)) >= 64u ) | |
6432 goto tr410; | |
6433 goto tr407; | |
6434 tr374: | |
6435 { | |
6436 SET_VEX_PREFIX3(*current_position); | |
6437 } | |
6438 goto st183; | |
6439 st183: | |
6440 if ( ++( current_position) == ( end_of_bundle) ) | |
6441 goto _test_eof183; | |
6442 case 183: | |
6443 if ( (*( current_position)) == 29u ) | |
6444 goto st182; | |
6445 if ( (*( current_position)) < 108u ) { | |
6446 if ( (*( current_position)) > 95u ) { | |
6447 if ( 104u <= (*( current_position)) && (*( current_posit
ion)) <= 105u ) | |
6448 goto st169; | |
6449 } else if ( (*( current_position)) >= 92u ) | |
6450 goto st169; | |
6451 } else if ( (*( current_position)) > 109u ) { | |
6452 if ( (*( current_position)) > 121u ) { | |
6453 if ( 124u <= (*( current_position)) && (*( current_posit
ion)) <= 125u ) | |
6454 goto st169; | |
6455 } else if ( (*( current_position)) >= 120u ) | |
6456 goto st169; | |
6457 } else | |
6458 goto st169; | |
6459 goto tr16; | |
6460 tr375: | |
6461 { | |
6462 SET_VEX_PREFIX3(*current_position); | |
6463 } | |
6464 goto st184; | |
6465 st184: | |
6466 if ( ++( current_position) == ( end_of_bundle) ) | |
6467 goto _test_eof184; | |
6468 case 184: | |
6469 if ( (*( current_position)) < 104u ) { | |
6470 if ( 92u <= (*( current_position)) && (*( current_position)) <=
95u ) | |
6471 goto st169; | |
6472 } else if ( (*( current_position)) > 111u ) { | |
6473 if ( 120u <= (*( current_position)) && (*( current_position)) <=
127u ) | |
6474 goto st169; | |
6475 } else | |
6476 goto st169; | |
6477 goto tr16; | |
6478 st185: | |
6479 if ( ++( current_position) == ( end_of_bundle) ) | |
6480 goto _test_eof185; | |
6481 case 185: | |
6482 switch( (*( current_position)) ) { | |
6483 case 4u: goto st39; | 6102 case 4u: goto st39; |
6484 case 5u: goto st40; | 6103 case 5u: goto st40; |
6485 case 68u: goto st45; | 6104 case 68u: goto st45; |
6486 case 132u: goto st46; | 6105 case 132u: goto st46; |
6487 } | 6106 } |
6488 if ( (*( current_position)) < 64u ) { | 6107 if ( (*( current_position)) < 64u ) { |
6489 if ( (*( current_position)) <= 7u ) | 6108 if ( (*( current_position)) <= 7u ) |
6490 goto st10; | 6109 goto st10; |
6491 } else if ( (*( current_position)) > 71u ) { | 6110 } else if ( (*( current_position)) > 71u ) { |
6492 if ( (*( current_position)) > 135u ) { | 6111 if ( (*( current_position)) > 135u ) { |
6493 if ( 192u <= (*( current_position)) && (*( current_posit
ion)) <= 199u ) | 6112 if ( 192u <= (*( current_position)) && (*( current_posit
ion)) <= 199u ) |
6494 goto st10; | 6113 goto st10; |
6495 } else if ( (*( current_position)) >= 128u ) | 6114 } else if ( (*( current_position)) >= 128u ) |
6496 goto st40; | 6115 goto st40; |
6497 } else | 6116 } else |
6498 goto st44; | 6117 goto st44; |
6499 goto tr16; | 6118 goto tr16; |
6500 st186: | 6119 st171: |
6501 if ( ++( current_position) == ( end_of_bundle) ) | 6120 if ( ++( current_position) == ( end_of_bundle) ) |
6502 » » goto _test_eof186; | 6121 » » goto _test_eof171; |
6503 case 186: | 6122 case 171: |
6504 switch( (*( current_position)) ) { | 6123 switch( (*( current_position)) ) { |
6505 case 4u: goto st131; | 6124 case 4u: goto st131; |
6506 case 5u: goto st132; | 6125 case 5u: goto st132; |
6507 case 68u: goto st137; | 6126 case 68u: goto st137; |
6508 case 132u: goto st138; | 6127 case 132u: goto st138; |
6509 } | 6128 } |
6510 if ( (*( current_position)) < 64u ) { | 6129 if ( (*( current_position)) < 64u ) { |
6511 if ( (*( current_position)) <= 7u ) | 6130 if ( (*( current_position)) <= 7u ) |
6512 goto st11; | 6131 goto st11; |
6513 } else if ( (*( current_position)) > 71u ) { | 6132 } else if ( (*( current_position)) > 71u ) { |
6514 if ( (*( current_position)) > 135u ) { | 6133 if ( (*( current_position)) > 135u ) { |
6515 if ( 192u <= (*( current_position)) && (*( current_posit
ion)) <= 199u ) | 6134 if ( 192u <= (*( current_position)) && (*( current_posit
ion)) <= 199u ) |
6516 goto st11; | 6135 goto st11; |
6517 } else if ( (*( current_position)) >= 128u ) | 6136 } else if ( (*( current_position)) >= 128u ) |
6518 goto st132; | 6137 goto st132; |
6519 } else | 6138 } else |
6520 goto st136; | 6139 goto st136; |
6521 goto tr16; | 6140 goto tr16; |
6522 st187: | 6141 st172: |
6523 if ( ++( current_position) == ( end_of_bundle) ) | 6142 if ( ++( current_position) == ( end_of_bundle) ) |
6524 » » goto _test_eof187; | 6143 » » goto _test_eof172; |
6525 case 187: | 6144 case 172: |
6526 switch( (*( current_position)) ) { | 6145 switch( (*( current_position)) ) { |
6527 » » case 4u: goto tr414; | 6146 » » case 4u: goto tr387; |
6528 » » case 5u: goto tr415; | 6147 » » case 5u: goto tr388; |
6529 » » case 12u: goto tr414; | 6148 » » case 12u: goto tr387; |
6530 » » case 13u: goto tr415; | 6149 » » case 13u: goto tr388; |
6531 » » case 20u: goto tr414; | 6150 » » case 20u: goto tr387; |
6532 » » case 21u: goto tr415; | 6151 » » case 21u: goto tr388; |
6533 » » case 28u: goto tr414; | 6152 » » case 28u: goto tr387; |
6534 » » case 29u: goto tr415; | 6153 » » case 29u: goto tr388; |
6535 » » case 36u: goto tr414; | 6154 » » case 36u: goto tr387; |
6536 » » case 37u: goto tr415; | 6155 » » case 37u: goto tr388; |
6537 » » case 44u: goto tr414; | 6156 » » case 44u: goto tr387; |
6538 » » case 45u: goto tr415; | 6157 » » case 45u: goto tr388; |
6539 » » case 52u: goto tr414; | 6158 » » case 52u: goto tr387; |
6540 » » case 53u: goto tr415; | 6159 » » case 53u: goto tr388; |
6541 » » case 60u: goto tr414; | 6160 » » case 60u: goto tr387; |
6542 » » case 61u: goto tr415; | 6161 » » case 61u: goto tr388; |
6543 » » case 68u: goto tr417; | 6162 » » case 68u: goto tr390; |
6544 » » case 76u: goto tr417; | 6163 » » case 76u: goto tr390; |
6545 » » case 84u: goto tr417; | 6164 » » case 84u: goto tr390; |
6546 » » case 92u: goto tr417; | 6165 » » case 92u: goto tr390; |
6547 » » case 100u: goto tr417; | 6166 » » case 100u: goto tr390; |
6548 » » case 108u: goto tr417; | 6167 » » case 108u: goto tr390; |
6549 » » case 116u: goto tr417; | 6168 » » case 116u: goto tr390; |
6550 » » case 124u: goto tr417; | 6169 » » case 124u: goto tr390; |
6551 » » case 132u: goto tr418; | 6170 » » case 132u: goto tr391; |
6552 » » case 140u: goto tr418; | 6171 » » case 140u: goto tr391; |
6553 » » case 148u: goto tr418; | 6172 » » case 148u: goto tr391; |
6554 » » case 156u: goto tr418; | 6173 » » case 156u: goto tr391; |
6555 » » case 164u: goto tr418; | 6174 » » case 164u: goto tr391; |
6556 » » case 172u: goto tr418; | 6175 » » case 172u: goto tr391; |
6557 » » case 180u: goto tr418; | 6176 » » case 180u: goto tr391; |
6558 » » case 188u: goto tr418; | 6177 » » case 188u: goto tr391; |
6559 } | 6178 } |
6560 if ( (*( current_position)) > 127u ) { | 6179 if ( (*( current_position)) > 127u ) { |
6561 if ( 128u <= (*( current_position)) && (*( current_position)) <=
191u ) | 6180 if ( 128u <= (*( current_position)) && (*( current_position)) <=
191u ) |
6562 » » » goto tr415; | 6181 » » » goto tr388; |
6563 } else if ( (*( current_position)) >= 64u ) | 6182 } else if ( (*( current_position)) >= 64u ) |
6564 » » goto tr416; | 6183 » » goto tr389; |
6565 » goto tr413; | 6184 » goto tr386; |
6566 st188: | 6185 st173: |
6567 if ( ++( current_position) == ( end_of_bundle) ) | 6186 if ( ++( current_position) == ( end_of_bundle) ) |
6568 » » goto _test_eof188; | 6187 » » goto _test_eof173; |
6569 case 188: | 6188 case 173: |
6570 switch( (*( current_position)) ) { | 6189 switch( (*( current_position)) ) { |
6571 » » case 4u: goto tr414; | 6190 » » case 4u: goto tr387; |
6572 » » case 5u: goto tr415; | 6191 » » case 5u: goto tr388; |
6573 » » case 20u: goto tr414; | 6192 » » case 20u: goto tr387; |
6574 » » case 21u: goto tr415; | 6193 » » case 21u: goto tr388; |
6575 » » case 28u: goto tr414; | 6194 » » case 28u: goto tr387; |
6576 » » case 29u: goto tr415; | 6195 » » case 29u: goto tr388; |
6577 » » case 36u: goto tr414; | 6196 » » case 36u: goto tr387; |
6578 » » case 37u: goto tr415; | 6197 » » case 37u: goto tr388; |
6579 » » case 44u: goto tr414; | 6198 » » case 44u: goto tr387; |
6580 » » case 45u: goto tr415; | 6199 » » case 45u: goto tr388; |
6581 » » case 52u: goto tr414; | 6200 » » case 52u: goto tr387; |
6582 » » case 53u: goto tr415; | 6201 » » case 53u: goto tr388; |
6583 » » case 60u: goto tr414; | 6202 » » case 60u: goto tr387; |
6584 » » case 61u: goto tr415; | 6203 » » case 61u: goto tr388; |
6585 » » case 68u: goto tr417; | 6204 » » case 68u: goto tr390; |
6586 » » case 84u: goto tr417; | 6205 » » case 84u: goto tr390; |
6587 » » case 92u: goto tr417; | 6206 » » case 92u: goto tr390; |
6588 » » case 100u: goto tr417; | 6207 » » case 100u: goto tr390; |
6589 » » case 108u: goto tr417; | 6208 » » case 108u: goto tr390; |
6590 » » case 116u: goto tr417; | 6209 » » case 116u: goto tr390; |
6591 » » case 124u: goto tr417; | 6210 » » case 124u: goto tr390; |
6592 » » case 132u: goto tr418; | 6211 » » case 132u: goto tr391; |
6593 » » case 148u: goto tr418; | 6212 » » case 148u: goto tr391; |
6594 » » case 156u: goto tr418; | 6213 » » case 156u: goto tr391; |
6595 » » case 164u: goto tr418; | 6214 » » case 164u: goto tr391; |
6596 » » case 172u: goto tr418; | 6215 » » case 172u: goto tr391; |
6597 » » case 180u: goto tr418; | 6216 » » case 180u: goto tr391; |
6598 » » case 188u: goto tr418; | 6217 » » case 188u: goto tr391; |
6599 case 239u: goto tr16; | 6218 case 239u: goto tr16; |
6600 } | 6219 } |
6601 if ( (*( current_position)) < 128u ) { | 6220 if ( (*( current_position)) < 128u ) { |
6602 if ( (*( current_position)) < 64u ) { | 6221 if ( (*( current_position)) < 64u ) { |
6603 if ( 8u <= (*( current_position)) && (*( current_positio
n)) <= 15u ) | 6222 if ( 8u <= (*( current_position)) && (*( current_positio
n)) <= 15u ) |
6604 goto tr16; | 6223 goto tr16; |
6605 } else if ( (*( current_position)) > 71u ) { | 6224 } else if ( (*( current_position)) > 71u ) { |
6606 if ( (*( current_position)) > 79u ) { | 6225 if ( (*( current_position)) > 79u ) { |
6607 if ( 80u <= (*( current_position)) && (*( curren
t_position)) <= 127u ) | 6226 if ( 80u <= (*( current_position)) && (*( curren
t_position)) <= 127u ) |
6608 » » » » » goto tr416; | 6227 » » » » » goto tr389; |
6609 } else if ( (*( current_position)) >= 72u ) | 6228 } else if ( (*( current_position)) >= 72u ) |
6610 goto tr16; | 6229 goto tr16; |
6611 } else | 6230 } else |
6612 » » » goto tr416; | 6231 » » » goto tr389; |
6613 } else if ( (*( current_position)) > 135u ) { | 6232 } else if ( (*( current_position)) > 135u ) { |
6614 if ( (*( current_position)) < 209u ) { | 6233 if ( (*( current_position)) < 209u ) { |
6615 if ( (*( current_position)) > 143u ) { | 6234 if ( (*( current_position)) > 143u ) { |
6616 if ( 144u <= (*( current_position)) && (*( curre
nt_position)) <= 191u ) | 6235 if ( 144u <= (*( current_position)) && (*( curre
nt_position)) <= 191u ) |
6617 » » » » » goto tr415; | 6236 » » » » » goto tr388; |
6618 } else if ( (*( current_position)) >= 136u ) | 6237 } else if ( (*( current_position)) >= 136u ) |
6619 goto tr16; | 6238 goto tr16; |
6620 } else if ( (*( current_position)) > 223u ) { | 6239 } else if ( (*( current_position)) > 223u ) { |
6621 if ( (*( current_position)) > 227u ) { | 6240 if ( (*( current_position)) > 227u ) { |
6622 if ( 230u <= (*( current_position)) && (*( curre
nt_position)) <= 231u ) | 6241 if ( 230u <= (*( current_position)) && (*( curre
nt_position)) <= 231u ) |
6623 goto tr16; | 6242 goto tr16; |
6624 } else if ( (*( current_position)) >= 226u ) | 6243 } else if ( (*( current_position)) >= 226u ) |
6625 goto tr16; | 6244 goto tr16; |
6626 } else | 6245 } else |
6627 goto tr16; | 6246 goto tr16; |
6628 } else | 6247 } else |
6629 » » goto tr415; | 6248 » » goto tr388; |
6630 » goto tr413; | 6249 » goto tr386; |
6631 st189: | 6250 st174: |
6632 » if ( ++( current_position) == ( end_of_bundle) ) | 6251 » if ( ++( current_position) == ( end_of_bundle) ) |
6633 » » goto _test_eof189; | 6252 » » goto _test_eof174; |
6634 case 189: | 6253 case 174: |
6635 » switch( (*( current_position)) ) { | 6254 » switch( (*( current_position)) ) { |
6636 » » case 4u: goto tr414; | 6255 » » case 4u: goto tr387; |
6637 » » case 12u: goto tr414; | 6256 » » case 12u: goto tr387; |
6638 » » case 20u: goto tr414; | 6257 » » case 20u: goto tr387; |
6639 » » case 28u: goto tr414; | 6258 » » case 28u: goto tr387; |
6640 » » case 36u: goto tr414; | 6259 » » case 36u: goto tr387; |
6641 » » case 44u: goto tr414; | 6260 » » case 44u: goto tr387; |
6642 » » case 52u: goto tr414; | 6261 » » case 52u: goto tr387; |
6643 » » case 60u: goto tr414; | 6262 » » case 60u: goto tr387; |
6644 » » case 68u: goto tr417; | 6263 » » case 68u: goto tr390; |
6645 » » case 76u: goto tr417; | 6264 » » case 76u: goto tr390; |
6646 » » case 84u: goto tr417; | 6265 » » case 84u: goto tr390; |
6647 » » case 92u: goto tr417; | 6266 » » case 92u: goto tr390; |
6648 » » case 100u: goto tr417; | 6267 » » case 100u: goto tr390; |
6649 » » case 108u: goto tr417; | 6268 » » case 108u: goto tr390; |
6650 » » case 116u: goto tr417; | 6269 » » case 116u: goto tr390; |
6651 » » case 124u: goto tr417; | 6270 » » case 124u: goto tr390; |
6652 » » case 132u: goto tr418; | 6271 » » case 132u: goto tr391; |
6653 » » case 140u: goto tr418; | 6272 » » case 140u: goto tr391; |
6654 » » case 148u: goto tr418; | 6273 » » case 148u: goto tr391; |
6655 » » case 156u: goto tr418; | 6274 » » case 156u: goto tr391; |
6656 » » case 164u: goto tr418; | 6275 » » case 164u: goto tr391; |
6657 » » case 172u: goto tr418; | 6276 » » case 172u: goto tr391; |
6658 » » case 180u: goto tr418; | 6277 » » case 180u: goto tr391; |
6659 » » case 188u: goto tr418; | 6278 » » case 188u: goto tr391; |
6660 » » case 233u: goto tr413; | 6279 » » case 233u: goto tr386; |
6661 } | 6280 } |
6662 if ( (*( current_position)) < 38u ) { | 6281 if ( (*( current_position)) < 38u ) { |
6663 if ( (*( current_position)) < 14u ) { | 6282 if ( (*( current_position)) < 14u ) { |
6664 if ( (*( current_position)) > 3u ) { | 6283 if ( (*( current_position)) > 3u ) { |
6665 if ( 6u <= (*( current_position)) && (*( current
_position)) <= 11u ) | 6284 if ( 6u <= (*( current_position)) && (*( current
_position)) <= 11u ) |
6666 » » » » » goto tr413; | 6285 » » » » » goto tr386; |
6667 » » » } else | 6286 » » » } else |
6668 » » » » goto tr413; | 6287 » » » » goto tr386; |
6669 } else if ( (*( current_position)) > 19u ) { | 6288 } else if ( (*( current_position)) > 19u ) { |
6670 if ( (*( current_position)) > 27u ) { | 6289 if ( (*( current_position)) > 27u ) { |
6671 if ( 30u <= (*( current_position)) && (*( curren
t_position)) <= 35u ) | 6290 if ( 30u <= (*( current_position)) && (*( curren
t_position)) <= 35u ) |
6672 » » » » » goto tr413; | 6291 » » » » » goto tr386; |
6673 } else if ( (*( current_position)) >= 22u ) | 6292 } else if ( (*( current_position)) >= 22u ) |
6674 » » » » goto tr413; | 6293 » » » » goto tr386; |
6675 » » } else | 6294 » » } else |
6676 » » » goto tr413; | 6295 » » » goto tr386; |
6677 } else if ( (*( current_position)) > 43u ) { | 6296 } else if ( (*( current_position)) > 43u ) { |
6678 if ( (*( current_position)) < 62u ) { | 6297 if ( (*( current_position)) < 62u ) { |
6679 if ( (*( current_position)) > 51u ) { | 6298 if ( (*( current_position)) > 51u ) { |
6680 if ( 54u <= (*( current_position)) && (*( curren
t_position)) <= 59u ) | 6299 if ( 54u <= (*( current_position)) && (*( curren
t_position)) <= 59u ) |
6681 » » » » » goto tr413; | 6300 » » » » » goto tr386; |
6682 } else if ( (*( current_position)) >= 46u ) | 6301 } else if ( (*( current_position)) >= 46u ) |
6683 » » » » goto tr413; | 6302 » » » » goto tr386; |
6684 } else if ( (*( current_position)) > 63u ) { | 6303 } else if ( (*( current_position)) > 63u ) { |
6685 if ( (*( current_position)) < 192u ) { | 6304 if ( (*( current_position)) < 192u ) { |
6686 if ( 64u <= (*( current_position)) && (*( curren
t_position)) <= 127u ) | 6305 if ( 64u <= (*( current_position)) && (*( curren
t_position)) <= 127u ) |
6687 » » » » » goto tr416; | 6306 » » » » » goto tr389; |
6688 } else if ( (*( current_position)) > 223u ) { | 6307 } else if ( (*( current_position)) > 223u ) { |
6689 if ( 224u <= (*( current_position)) ) | 6308 if ( 224u <= (*( current_position)) ) |
6690 goto tr16; | 6309 goto tr16; |
6691 } else | 6310 } else |
6692 » » » » goto tr419; | 6311 » » » » goto tr392; |
6693 » » } else | 6312 » » } else |
6694 » » » goto tr413; | 6313 » » » goto tr386; |
6695 » } else | 6314 » } else |
6696 » » goto tr413; | 6315 » » goto tr386; |
6697 » goto tr415; | 6316 » goto tr388; |
6698 st190: | 6317 st175: |
6699 » if ( ++( current_position) == ( end_of_bundle) ) | 6318 » if ( ++( current_position) == ( end_of_bundle) ) |
6700 » » goto _test_eof190; | 6319 » » goto _test_eof175; |
6701 case 190: | 6320 case 175: |
6702 » switch( (*( current_position)) ) { | 6321 » switch( (*( current_position)) ) { |
6703 » » case 4u: goto tr414; | 6322 » » case 4u: goto tr387; |
6704 » » case 5u: goto tr415; | 6323 » » case 5u: goto tr388; |
6705 » » case 12u: goto tr414; | 6324 » » case 12u: goto tr387; |
6706 » » case 13u: goto tr415; | 6325 » » case 13u: goto tr388; |
6707 » » case 20u: goto tr414; | 6326 » » case 20u: goto tr387; |
6708 » » case 21u: goto tr415; | 6327 » » case 21u: goto tr388; |
6709 » » case 28u: goto tr414; | 6328 » » case 28u: goto tr387; |
6710 » » case 29u: goto tr415; | 6329 » » case 29u: goto tr388; |
6711 » » case 44u: goto tr414; | 6330 » » case 44u: goto tr387; |
6712 » » case 45u: goto tr415; | 6331 » » case 45u: goto tr388; |
6713 » » case 60u: goto tr414; | 6332 » » case 60u: goto tr387; |
6714 » » case 61u: goto tr415; | 6333 » » case 61u: goto tr388; |
6715 » » case 68u: goto tr417; | 6334 » » case 68u: goto tr390; |
6716 » » case 76u: goto tr417; | 6335 » » case 76u: goto tr390; |
6717 » » case 84u: goto tr417; | 6336 » » case 84u: goto tr390; |
6718 » » case 92u: goto tr417; | 6337 » » case 92u: goto tr390; |
6719 » » case 108u: goto tr417; | 6338 » » case 108u: goto tr390; |
6720 » » case 124u: goto tr417; | 6339 » » case 124u: goto tr390; |
6721 » » case 132u: goto tr418; | 6340 » » case 132u: goto tr391; |
6722 » » case 140u: goto tr418; | 6341 » » case 140u: goto tr391; |
6723 » » case 148u: goto tr418; | 6342 » » case 148u: goto tr391; |
6724 » » case 156u: goto tr418; | 6343 » » case 156u: goto tr391; |
6725 » » case 172u: goto tr418; | 6344 » » case 172u: goto tr391; |
6726 » » case 188u: goto tr418; | 6345 » » case 188u: goto tr391; |
6727 } | 6346 } |
6728 if ( (*( current_position)) < 120u ) { | 6347 if ( (*( current_position)) < 120u ) { |
6729 if ( (*( current_position)) < 56u ) { | 6348 if ( (*( current_position)) < 56u ) { |
6730 if ( (*( current_position)) > 31u ) { | 6349 if ( (*( current_position)) > 31u ) { |
6731 if ( 40u <= (*( current_position)) && (*( curren
t_position)) <= 47u ) | 6350 if ( 40u <= (*( current_position)) && (*( curren
t_position)) <= 47u ) |
6732 » » » » » goto tr413; | 6351 » » » » » goto tr386; |
6733 » » » } else | 6352 » » » } else |
6734 » » » » goto tr413; | 6353 » » » » goto tr386; |
6735 } else if ( (*( current_position)) > 63u ) { | 6354 } else if ( (*( current_position)) > 63u ) { |
6736 if ( (*( current_position)) > 95u ) { | 6355 if ( (*( current_position)) > 95u ) { |
6737 if ( 104u <= (*( current_position)) && (*( curre
nt_position)) <= 111u ) | 6356 if ( 104u <= (*( current_position)) && (*( curre
nt_position)) <= 111u ) |
6738 » » » » » goto tr416; | 6357 » » » » » goto tr389; |
6739 } else if ( (*( current_position)) >= 64u ) | 6358 } else if ( (*( current_position)) >= 64u ) |
6740 » » » » goto tr416; | 6359 » » » » goto tr389; |
6741 » » } else | 6360 » » } else |
6742 » » » goto tr413; | 6361 » » » goto tr386; |
6743 } else if ( (*( current_position)) > 127u ) { | 6362 } else if ( (*( current_position)) > 127u ) { |
6744 if ( (*( current_position)) < 184u ) { | 6363 if ( (*( current_position)) < 184u ) { |
6745 if ( (*( current_position)) > 159u ) { | 6364 if ( (*( current_position)) > 159u ) { |
6746 if ( 168u <= (*( current_position)) && (*( curre
nt_position)) <= 175u ) | 6365 if ( 168u <= (*( current_position)) && (*( curre
nt_position)) <= 175u ) |
6747 » » » » » goto tr415; | 6366 » » » » » goto tr388; |
6748 } else if ( (*( current_position)) >= 128u ) | 6367 } else if ( (*( current_position)) >= 128u ) |
6749 » » » » goto tr415; | 6368 » » » » goto tr388; |
6750 } else if ( (*( current_position)) > 191u ) { | 6369 } else if ( (*( current_position)) > 191u ) { |
6751 if ( (*( current_position)) < 226u ) { | 6370 if ( (*( current_position)) < 226u ) { |
6752 if ( 192u <= (*( current_position)) && (*( curre
nt_position)) <= 223u ) | 6371 if ( 192u <= (*( current_position)) && (*( curre
nt_position)) <= 223u ) |
6753 » » » » » goto tr419; | 6372 » » » » » goto tr392; |
6754 } else if ( (*( current_position)) > 227u ) { | 6373 } else if ( (*( current_position)) > 227u ) { |
6755 if ( 232u <= (*( current_position)) && (*( curre
nt_position)) <= 247u ) | 6374 if ( 232u <= (*( current_position)) && (*( curre
nt_position)) <= 247u ) |
6756 » » » » » goto tr413; | 6375 » » » » » goto tr386; |
6757 » » » } else | 6376 » » » } else |
6758 » » » » goto tr413; | 6377 » » » » goto tr386; |
6759 » » } else | 6378 » » } else |
6760 » » » goto tr415; | 6379 » » » goto tr388; |
6761 » } else | 6380 » } else |
6762 » » goto tr416; | 6381 » » goto tr389; |
6763 goto tr16; | 6382 goto tr16; |
6764 st191: | 6383 st176: |
6765 » if ( ++( current_position) == ( end_of_bundle) ) | 6384 » if ( ++( current_position) == ( end_of_bundle) ) |
6766 » » goto _test_eof191; | 6385 » » goto _test_eof176; |
6767 case 191: | 6386 case 176: |
6768 » switch( (*( current_position)) ) { | 6387 » switch( (*( current_position)) ) { |
6769 » » case 4u: goto tr414; | 6388 » » case 4u: goto tr387; |
6770 » » case 5u: goto tr415; | 6389 » » case 5u: goto tr388; |
6771 » » case 12u: goto tr414; | 6390 » » case 12u: goto tr387; |
6772 » » case 13u: goto tr415; | 6391 » » case 13u: goto tr388; |
6773 » » case 20u: goto tr414; | 6392 » » case 20u: goto tr387; |
6774 » » case 21u: goto tr415; | 6393 » » case 21u: goto tr388; |
6775 » » case 28u: goto tr414; | 6394 » » case 28u: goto tr387; |
6776 » » case 29u: goto tr415; | 6395 » » case 29u: goto tr388; |
6777 » » case 36u: goto tr414; | 6396 » » case 36u: goto tr387; |
6778 » » case 37u: goto tr415; | 6397 » » case 37u: goto tr388; |
6779 » » case 44u: goto tr414; | 6398 » » case 44u: goto tr387; |
6780 » » case 45u: goto tr415; | 6399 » » case 45u: goto tr388; |
6781 » » case 52u: goto tr414; | 6400 » » case 52u: goto tr387; |
6782 » » case 53u: goto tr415; | 6401 » » case 53u: goto tr388; |
6783 » » case 60u: goto tr414; | 6402 » » case 60u: goto tr387; |
6784 » » case 61u: goto tr415; | 6403 » » case 61u: goto tr388; |
6785 » » case 68u: goto tr417; | 6404 » » case 68u: goto tr390; |
6786 » » case 76u: goto tr417; | 6405 » » case 76u: goto tr390; |
6787 » » case 84u: goto tr417; | 6406 » » case 84u: goto tr390; |
6788 » » case 92u: goto tr417; | 6407 » » case 92u: goto tr390; |
6789 » » case 100u: goto tr417; | 6408 » » case 100u: goto tr390; |
6790 » » case 108u: goto tr417; | 6409 » » case 108u: goto tr390; |
6791 » » case 116u: goto tr417; | 6410 » » case 116u: goto tr390; |
6792 » » case 124u: goto tr417; | 6411 » » case 124u: goto tr390; |
6793 » » case 132u: goto tr418; | 6412 » » case 132u: goto tr391; |
6794 » » case 140u: goto tr418; | 6413 » » case 140u: goto tr391; |
6795 » » case 148u: goto tr418; | 6414 » » case 148u: goto tr391; |
6796 » » case 156u: goto tr418; | 6415 » » case 156u: goto tr391; |
6797 » » case 164u: goto tr418; | 6416 » » case 164u: goto tr391; |
6798 » » case 172u: goto tr418; | 6417 » » case 172u: goto tr391; |
6799 » » case 180u: goto tr418; | 6418 » » case 180u: goto tr391; |
6800 » » case 188u: goto tr418; | 6419 » » case 188u: goto tr391; |
6801 } | 6420 } |
6802 if ( (*( current_position)) < 128u ) { | 6421 if ( (*( current_position)) < 128u ) { |
6803 if ( 64u <= (*( current_position)) && (*( current_position)) <=
127u ) | 6422 if ( 64u <= (*( current_position)) && (*( current_position)) <=
127u ) |
6804 » » » goto tr416; | 6423 » » » goto tr389; |
6805 } else if ( (*( current_position)) > 191u ) { | 6424 } else if ( (*( current_position)) > 191u ) { |
6806 if ( 208u <= (*( current_position)) && (*( current_position)) <=
223u ) | 6425 if ( 208u <= (*( current_position)) && (*( current_position)) <=
223u ) |
6807 goto tr16; | 6426 goto tr16; |
6808 } else | 6427 } else |
6809 » » goto tr415; | 6428 » » goto tr388; |
6810 » goto tr413; | 6429 » goto tr386; |
6811 st192: | 6430 st177: |
6812 » if ( ++( current_position) == ( end_of_bundle) ) | 6431 » if ( ++( current_position) == ( end_of_bundle) ) |
6813 » » goto _test_eof192; | 6432 » » goto _test_eof177; |
6814 case 192: | 6433 case 177: |
6815 » switch( (*( current_position)) ) { | 6434 » switch( (*( current_position)) ) { |
6816 » » case 4u: goto tr414; | 6435 » » case 4u: goto tr387; |
6817 » » case 5u: goto tr415; | 6436 » » case 5u: goto tr388; |
6818 » » case 12u: goto tr414; | 6437 » » case 12u: goto tr387; |
6819 » » case 13u: goto tr415; | 6438 » » case 13u: goto tr388; |
6820 » » case 20u: goto tr414; | 6439 » » case 20u: goto tr387; |
6821 » » case 21u: goto tr415; | 6440 » » case 21u: goto tr388; |
6822 » » case 28u: goto tr414; | 6441 » » case 28u: goto tr387; |
6823 » » case 29u: goto tr415; | 6442 » » case 29u: goto tr388; |
6824 » » case 36u: goto tr414; | 6443 » » case 36u: goto tr387; |
6825 » » case 37u: goto tr415; | 6444 » » case 37u: goto tr388; |
6826 » » case 52u: goto tr414; | 6445 » » case 52u: goto tr387; |
6827 » » case 53u: goto tr415; | 6446 » » case 53u: goto tr388; |
6828 » » case 60u: goto tr414; | 6447 » » case 60u: goto tr387; |
6829 » » case 61u: goto tr415; | 6448 » » case 61u: goto tr388; |
6830 » » case 68u: goto tr417; | 6449 » » case 68u: goto tr390; |
6831 » » case 76u: goto tr417; | 6450 » » case 76u: goto tr390; |
6832 » » case 84u: goto tr417; | 6451 » » case 84u: goto tr390; |
6833 » » case 92u: goto tr417; | 6452 » » case 92u: goto tr390; |
6834 » » case 100u: goto tr417; | 6453 » » case 100u: goto tr390; |
6835 » » case 116u: goto tr417; | 6454 » » case 116u: goto tr390; |
6836 » » case 124u: goto tr417; | 6455 » » case 124u: goto tr390; |
6837 » » case 132u: goto tr418; | 6456 » » case 132u: goto tr391; |
6838 » » case 140u: goto tr418; | 6457 » » case 140u: goto tr391; |
6839 » » case 148u: goto tr418; | 6458 » » case 148u: goto tr391; |
6840 » » case 156u: goto tr418; | 6459 » » case 156u: goto tr391; |
6841 » » case 164u: goto tr418; | 6460 » » case 164u: goto tr391; |
6842 » » case 180u: goto tr418; | 6461 » » case 180u: goto tr391; |
6843 » » case 188u: goto tr418; | 6462 » » case 188u: goto tr391; |
6844 } | 6463 } |
6845 if ( (*( current_position)) < 128u ) { | 6464 if ( (*( current_position)) < 128u ) { |
6846 if ( (*( current_position)) < 64u ) { | 6465 if ( (*( current_position)) < 64u ) { |
6847 if ( 40u <= (*( current_position)) && (*( current_positi
on)) <= 47u ) | 6466 if ( 40u <= (*( current_position)) && (*( current_positi
on)) <= 47u ) |
6848 goto tr16; | 6467 goto tr16; |
6849 } else if ( (*( current_position)) > 103u ) { | 6468 } else if ( (*( current_position)) > 103u ) { |
6850 if ( (*( current_position)) > 111u ) { | 6469 if ( (*( current_position)) > 111u ) { |
6851 if ( 112u <= (*( current_position)) && (*( curre
nt_position)) <= 127u ) | 6470 if ( 112u <= (*( current_position)) && (*( curre
nt_position)) <= 127u ) |
6852 » » » » » goto tr416; | 6471 » » » » » goto tr389; |
6853 } else if ( (*( current_position)) >= 104u ) | 6472 } else if ( (*( current_position)) >= 104u ) |
6854 goto tr16; | 6473 goto tr16; |
6855 } else | 6474 } else |
6856 » » » goto tr416; | 6475 » » » goto tr389; |
6857 } else if ( (*( current_position)) > 167u ) { | 6476 } else if ( (*( current_position)) > 167u ) { |
6858 if ( (*( current_position)) < 176u ) { | 6477 if ( (*( current_position)) < 176u ) { |
6859 if ( 168u <= (*( current_position)) && (*( current_posit
ion)) <= 175u ) | 6478 if ( 168u <= (*( current_position)) && (*( current_posit
ion)) <= 175u ) |
6860 goto tr16; | 6479 goto tr16; |
6861 } else if ( (*( current_position)) > 191u ) { | 6480 } else if ( (*( current_position)) > 191u ) { |
6862 if ( (*( current_position)) > 207u ) { | 6481 if ( (*( current_position)) > 207u ) { |
6863 if ( 240u <= (*( current_position)) ) | 6482 if ( 240u <= (*( current_position)) ) |
6864 goto tr16; | 6483 goto tr16; |
6865 } else if ( (*( current_position)) >= 200u ) | 6484 } else if ( (*( current_position)) >= 200u ) |
6866 goto tr16; | 6485 goto tr16; |
6867 } else | 6486 } else |
6868 » » » goto tr415; | 6487 » » » goto tr388; |
6869 } else | 6488 } else |
6870 » » goto tr415; | 6489 » » goto tr388; |
6871 » goto tr413; | 6490 » goto tr386; |
6872 st193: | 6491 st178: |
6873 if ( ++( current_position) == ( end_of_bundle) ) | 6492 if ( ++( current_position) == ( end_of_bundle) ) |
6874 » » goto _test_eof193; | 6493 » » goto _test_eof178; |
6875 case 193: | 6494 case 178: |
6876 switch( (*( current_position)) ) { | 6495 switch( (*( current_position)) ) { |
6877 » » case 4u: goto tr414; | 6496 » » case 4u: goto tr387; |
6878 » » case 5u: goto tr415; | 6497 » » case 5u: goto tr388; |
6879 » » case 12u: goto tr414; | 6498 » » case 12u: goto tr387; |
6880 » » case 13u: goto tr415; | 6499 » » case 13u: goto tr388; |
6881 » » case 20u: goto tr414; | 6500 » » case 20u: goto tr387; |
6882 » » case 21u: goto tr415; | 6501 » » case 21u: goto tr388; |
6883 » » case 28u: goto tr414; | 6502 » » case 28u: goto tr387; |
6884 » » case 29u: goto tr415; | 6503 » » case 29u: goto tr388; |
6885 » » case 36u: goto tr414; | 6504 » » case 36u: goto tr387; |
6886 » » case 37u: goto tr415; | 6505 » » case 37u: goto tr388; |
6887 » » case 44u: goto tr414; | 6506 » » case 44u: goto tr387; |
6888 » » case 45u: goto tr415; | 6507 » » case 45u: goto tr388; |
6889 » » case 52u: goto tr414; | 6508 » » case 52u: goto tr387; |
6890 » » case 53u: goto tr415; | 6509 » » case 53u: goto tr388; |
6891 » » case 60u: goto tr414; | 6510 » » case 60u: goto tr387; |
6892 » » case 61u: goto tr415; | 6511 » » case 61u: goto tr388; |
6893 » » case 68u: goto tr417; | 6512 » » case 68u: goto tr390; |
6894 » » case 76u: goto tr417; | 6513 » » case 76u: goto tr390; |
6895 » » case 84u: goto tr417; | 6514 » » case 84u: goto tr390; |
6896 » » case 92u: goto tr417; | 6515 » » case 92u: goto tr390; |
6897 » » case 100u: goto tr417; | 6516 » » case 100u: goto tr390; |
6898 » » case 108u: goto tr417; | 6517 » » case 108u: goto tr390; |
6899 » » case 116u: goto tr417; | 6518 » » case 116u: goto tr390; |
6900 » » case 124u: goto tr417; | 6519 » » case 124u: goto tr390; |
6901 » » case 132u: goto tr418; | 6520 » » case 132u: goto tr391; |
6902 » » case 140u: goto tr418; | 6521 » » case 140u: goto tr391; |
6903 » » case 148u: goto tr418; | 6522 » » case 148u: goto tr391; |
6904 » » case 156u: goto tr418; | 6523 » » case 156u: goto tr391; |
6905 » » case 164u: goto tr418; | 6524 » » case 164u: goto tr391; |
6906 » » case 172u: goto tr418; | 6525 » » case 172u: goto tr391; |
6907 » » case 180u: goto tr418; | 6526 » » case 180u: goto tr391; |
6908 » » case 188u: goto tr418; | 6527 » » case 188u: goto tr391; |
6909 } | 6528 } |
6910 if ( (*( current_position)) < 128u ) { | 6529 if ( (*( current_position)) < 128u ) { |
6911 if ( 64u <= (*( current_position)) && (*( current_position)) <=
127u ) | 6530 if ( 64u <= (*( current_position)) && (*( current_position)) <=
127u ) |
6912 » » » goto tr416; | 6531 » » » goto tr389; |
6913 } else if ( (*( current_position)) > 191u ) { | 6532 } else if ( (*( current_position)) > 191u ) { |
6914 if ( (*( current_position)) > 216u ) { | 6533 if ( (*( current_position)) > 216u ) { |
6915 if ( 218u <= (*( current_position)) && (*( current_posit
ion)) <= 223u ) | 6534 if ( 218u <= (*( current_position)) && (*( current_posit
ion)) <= 223u ) |
6916 goto tr16; | 6535 goto tr16; |
6917 } else if ( (*( current_position)) >= 208u ) | 6536 } else if ( (*( current_position)) >= 208u ) |
6918 goto tr16; | 6537 goto tr16; |
6919 } else | 6538 } else |
6920 » » goto tr415; | 6539 » » goto tr388; |
6921 » goto tr413; | 6540 » goto tr386; |
6922 st194: | 6541 st179: |
6923 if ( ++( current_position) == ( end_of_bundle) ) | 6542 if ( ++( current_position) == ( end_of_bundle) ) |
6924 » » goto _test_eof194; | 6543 » » goto _test_eof179; |
6925 case 194: | 6544 case 179: |
6926 switch( (*( current_position)) ) { | 6545 switch( (*( current_position)) ) { |
6927 » » case 4u: goto tr414; | 6546 » » case 4u: goto tr387; |
6928 » » case 5u: goto tr415; | 6547 » » case 5u: goto tr388; |
6929 » » case 12u: goto tr414; | 6548 » » case 12u: goto tr387; |
6930 » » case 13u: goto tr415; | 6549 » » case 13u: goto tr388; |
6931 » » case 20u: goto tr414; | 6550 » » case 20u: goto tr387; |
6932 » » case 21u: goto tr415; | 6551 » » case 21u: goto tr388; |
6933 » » case 28u: goto tr414; | 6552 » » case 28u: goto tr387; |
6934 » » case 29u: goto tr415; | 6553 » » case 29u: goto tr388; |
6935 » » case 36u: goto tr414; | 6554 » » case 36u: goto tr387; |
6936 » » case 37u: goto tr415; | 6555 » » case 37u: goto tr388; |
6937 » » case 44u: goto tr414; | 6556 » » case 44u: goto tr387; |
6938 » » case 45u: goto tr415; | 6557 » » case 45u: goto tr388; |
6939 » » case 52u: goto tr414; | 6558 » » case 52u: goto tr387; |
6940 » » case 53u: goto tr415; | 6559 » » case 53u: goto tr388; |
6941 » » case 60u: goto tr414; | 6560 » » case 60u: goto tr387; |
6942 » » case 61u: goto tr415; | 6561 » » case 61u: goto tr388; |
6943 » » case 68u: goto tr417; | 6562 » » case 68u: goto tr390; |
6944 » » case 76u: goto tr417; | 6563 » » case 76u: goto tr390; |
6945 » » case 84u: goto tr417; | 6564 » » case 84u: goto tr390; |
6946 » » case 92u: goto tr417; | 6565 » » case 92u: goto tr390; |
6947 » » case 100u: goto tr417; | 6566 » » case 100u: goto tr390; |
6948 » » case 108u: goto tr417; | 6567 » » case 108u: goto tr390; |
6949 » » case 116u: goto tr417; | 6568 » » case 116u: goto tr390; |
6950 » » case 124u: goto tr417; | 6569 » » case 124u: goto tr390; |
6951 » » case 132u: goto tr418; | 6570 » » case 132u: goto tr391; |
6952 » » case 140u: goto tr418; | 6571 » » case 140u: goto tr391; |
6953 » » case 148u: goto tr418; | 6572 » » case 148u: goto tr391; |
6954 » » case 156u: goto tr418; | 6573 » » case 156u: goto tr391; |
6955 » » case 164u: goto tr418; | 6574 » » case 164u: goto tr391; |
6956 » » case 172u: goto tr418; | 6575 » » case 172u: goto tr391; |
6957 » » case 180u: goto tr418; | 6576 » » case 180u: goto tr391; |
6958 » » case 188u: goto tr418; | 6577 » » case 188u: goto tr391; |
6959 } | 6578 } |
6960 if ( (*( current_position)) < 192u ) { | 6579 if ( (*( current_position)) < 192u ) { |
6961 if ( (*( current_position)) > 127u ) { | 6580 if ( (*( current_position)) > 127u ) { |
6962 if ( 128u <= (*( current_position)) && (*( current_posit
ion)) <= 191u ) | 6581 if ( 128u <= (*( current_position)) && (*( current_posit
ion)) <= 191u ) |
6963 » » » » goto tr415; | 6582 » » » » goto tr388; |
6964 } else if ( (*( current_position)) >= 64u ) | 6583 } else if ( (*( current_position)) >= 64u ) |
6965 » » » goto tr416; | 6584 » » » goto tr389; |
6966 } else if ( (*( current_position)) > 223u ) { | 6585 } else if ( (*( current_position)) > 223u ) { |
6967 if ( (*( current_position)) > 231u ) { | 6586 if ( (*( current_position)) > 231u ) { |
6968 if ( 248u <= (*( current_position)) ) | 6587 if ( 248u <= (*( current_position)) ) |
6969 goto tr16; | 6588 goto tr16; |
6970 } else if ( (*( current_position)) >= 225u ) | 6589 } else if ( (*( current_position)) >= 225u ) |
6971 goto tr16; | 6590 goto tr16; |
6972 } else | 6591 } else |
6973 goto tr16; | 6592 goto tr16; |
6974 » goto tr413; | 6593 » goto tr386; |
6975 st195: | 6594 st180: |
6976 if ( ++( current_position) == ( end_of_bundle) ) | 6595 if ( ++( current_position) == ( end_of_bundle) ) |
6977 » » goto _test_eof195; | 6596 » » goto _test_eof180; |
6978 case 195: | 6597 case 180: |
6979 » goto tr420; | 6598 » goto tr393; |
6980 tr420: | 6599 tr393: |
6981 {} | 6600 {} |
6982 » goto st196; | 6601 » goto st181; |
6983 st196: | 6602 st181: |
6984 if ( ++( current_position) == ( end_of_bundle) ) | 6603 if ( ++( current_position) == ( end_of_bundle) ) |
6985 » » goto _test_eof196; | 6604 » » goto _test_eof181; |
6986 case 196: | 6605 case 181: |
6987 » goto tr421; | 6606 » goto tr394; |
6988 tr421: | 6607 tr394: |
6989 {} | 6608 {} |
6990 » goto st197; | 6609 » goto st182; |
6991 st197: | 6610 st182: |
6992 if ( ++( current_position) == ( end_of_bundle) ) | 6611 if ( ++( current_position) == ( end_of_bundle) ) |
6993 » » goto _test_eof197; | 6612 » » goto _test_eof182; |
6994 case 197: | 6613 case 182: |
6995 » goto tr422; | 6614 » goto tr395; |
6996 tr422: | 6615 tr395: |
6997 {} | 6616 {} |
6998 » goto st198; | 6617 » goto st183; |
6999 st198: | 6618 st183: |
7000 if ( ++( current_position) == ( end_of_bundle) ) | 6619 if ( ++( current_position) == ( end_of_bundle) ) |
7001 » » goto _test_eof198; | 6620 » » goto _test_eof183; |
7002 case 198: | 6621 case 183: |
7003 » goto tr423; | 6622 » goto tr396; |
7004 st199: | 6623 st184: |
7005 if ( ++( current_position) == ( end_of_bundle) ) | 6624 if ( ++( current_position) == ( end_of_bundle) ) |
7006 » » goto _test_eof199; | 6625 » » goto _test_eof184; |
7007 case 199: | 6626 case 184: |
7008 switch( (*( current_position)) ) { | 6627 switch( (*( current_position)) ) { |
7009 » » case 15u: goto st200; | 6628 » » case 15u: goto st185; |
7010 case 102u: goto st119; | 6629 case 102u: goto st119; |
7011 case 128u: goto st121; | 6630 case 128u: goto st121; |
7012 » » case 129u: goto st201; | 6631 » » case 129u: goto st186; |
7013 case 131u: goto st121; | 6632 case 131u: goto st121; |
7014 } | 6633 } |
7015 if ( (*( current_position)) < 32u ) { | 6634 if ( (*( current_position)) < 32u ) { |
7016 if ( (*( current_position)) < 8u ) { | 6635 if ( (*( current_position)) < 8u ) { |
7017 if ( (*( current_position)) <= 1u ) | 6636 if ( (*( current_position)) <= 1u ) |
7018 goto st115; | 6637 goto st115; |
7019 } else if ( (*( current_position)) > 9u ) { | 6638 } else if ( (*( current_position)) > 9u ) { |
7020 if ( (*( current_position)) > 17u ) { | 6639 if ( (*( current_position)) > 17u ) { |
7021 if ( 24u <= (*( current_position)) && (*( curren
t_position)) <= 25u ) | 6640 if ( 24u <= (*( current_position)) && (*( curren
t_position)) <= 25u ) |
7022 goto st115; | 6641 goto st115; |
(...skipping 12 matching lines...) Expand all Loading... |
7035 if ( (*( current_position)) > 247u ) { | 6654 if ( (*( current_position)) > 247u ) { |
7036 if ( 254u <= (*( current_position)) ) | 6655 if ( 254u <= (*( current_position)) ) |
7037 goto st123; | 6656 goto st123; |
7038 } else if ( (*( current_position)) >= 246u ) | 6657 } else if ( (*( current_position)) >= 246u ) |
7039 goto st122; | 6658 goto st122; |
7040 } else | 6659 } else |
7041 goto st115; | 6660 goto st115; |
7042 } else | 6661 } else |
7043 goto st115; | 6662 goto st115; |
7044 goto tr16; | 6663 goto tr16; |
7045 st200: | 6664 st185: |
7046 if ( ++( current_position) == ( end_of_bundle) ) | 6665 if ( ++( current_position) == ( end_of_bundle) ) |
7047 » » goto _test_eof200; | 6666 » » goto _test_eof185; |
7048 case 200: | 6667 case 185: |
7049 if ( (*( current_position)) == 199u ) | 6668 if ( (*( current_position)) == 199u ) |
7050 goto st61; | 6669 goto st61; |
7051 if ( (*( current_position)) > 177u ) { | 6670 if ( (*( current_position)) > 177u ) { |
7052 if ( 192u <= (*( current_position)) && (*( current_position)) <=
193u ) | 6671 if ( 192u <= (*( current_position)) && (*( current_position)) <=
193u ) |
7053 goto st115; | 6672 goto st115; |
7054 } else if ( (*( current_position)) >= 176u ) | 6673 } else if ( (*( current_position)) >= 176u ) |
7055 goto st115; | 6674 goto st115; |
7056 goto tr16; | 6675 goto tr16; |
7057 st201: | 6676 st186: |
7058 if ( ++( current_position) == ( end_of_bundle) ) | 6677 if ( ++( current_position) == ( end_of_bundle) ) |
7059 » » goto _test_eof201; | 6678 » » goto _test_eof186; |
7060 case 201: | 6679 case 186: |
7061 switch( (*( current_position)) ) { | 6680 switch( (*( current_position)) ) { |
7062 case 4u: goto st131; | 6681 case 4u: goto st131; |
7063 case 5u: goto st132; | 6682 case 5u: goto st132; |
7064 case 12u: goto st131; | 6683 case 12u: goto st131; |
7065 case 13u: goto st132; | 6684 case 13u: goto st132; |
7066 case 20u: goto st131; | 6685 case 20u: goto st131; |
7067 case 21u: goto st132; | 6686 case 21u: goto st132; |
7068 case 28u: goto st131; | 6687 case 28u: goto st131; |
7069 case 29u: goto st132; | 6688 case 29u: goto st132; |
7070 case 36u: goto st131; | 6689 case 36u: goto st131; |
(...skipping 19 matching lines...) Expand all Loading... |
7090 } | 6709 } |
7091 if ( (*( current_position)) < 64u ) { | 6710 if ( (*( current_position)) < 64u ) { |
7092 if ( (*( current_position)) <= 55u ) | 6711 if ( (*( current_position)) <= 55u ) |
7093 goto st11; | 6712 goto st11; |
7094 } else if ( (*( current_position)) > 119u ) { | 6713 } else if ( (*( current_position)) > 119u ) { |
7095 if ( 128u <= (*( current_position)) && (*( current_position)) <=
183u ) | 6714 if ( 128u <= (*( current_position)) && (*( current_position)) <=
183u ) |
7096 goto st132; | 6715 goto st132; |
7097 } else | 6716 } else |
7098 goto st136; | 6717 goto st136; |
7099 goto tr16; | 6718 goto tr16; |
7100 st202: | 6719 st187: |
7101 if ( ++( current_position) == ( end_of_bundle) ) | 6720 if ( ++( current_position) == ( end_of_bundle) ) |
7102 » » goto _test_eof202; | 6721 » » goto _test_eof187; |
7103 case 202: | 6722 case 187: |
7104 switch( (*( current_position)) ) { | 6723 switch( (*( current_position)) ) { |
7105 » » case 15u: goto st203; | 6724 » » case 15u: goto st188; |
7106 case 102u: goto st124; | 6725 case 102u: goto st124; |
7107 } | 6726 } |
7108 if ( (*( current_position)) > 167u ) { | 6727 if ( (*( current_position)) > 167u ) { |
7109 if ( 174u <= (*( current_position)) && (*( current_position)) <=
175u ) | 6728 if ( 174u <= (*( current_position)) && (*( current_position)) <=
175u ) |
7110 goto tr0; | 6729 goto tr0; |
7111 } else if ( (*( current_position)) >= 166u ) | 6730 } else if ( (*( current_position)) >= 166u ) |
7112 goto tr0; | 6731 goto tr0; |
7113 goto tr16; | 6732 goto tr16; |
7114 st203: | 6733 st188: |
7115 if ( ++( current_position) == ( end_of_bundle) ) | 6734 if ( ++( current_position) == ( end_of_bundle) ) |
7116 » » goto _test_eof203; | 6735 » » goto _test_eof188; |
7117 case 203: | 6736 case 188: |
7118 switch( (*( current_position)) ) { | 6737 switch( (*( current_position)) ) { |
7119 case 18u: goto st96; | 6738 case 18u: goto st96; |
7120 » » case 43u: goto st204; | 6739 » » case 43u: goto st189; |
7121 » » case 56u: goto st205; | 6740 » » case 56u: goto st190; |
7122 case 81u: goto st32; | 6741 case 81u: goto st32; |
7123 case 112u: goto st92; | 6742 case 112u: goto st92; |
7124 » » case 120u: goto st206; | 6743 » » case 120u: goto st191; |
7125 case 121u: goto st95; | 6744 case 121u: goto st95; |
7126 case 194u: goto st92; | 6745 case 194u: goto st92; |
7127 case 208u: goto st28; | 6746 case 208u: goto st28; |
7128 case 214u: goto st91; | 6747 case 214u: goto st91; |
7129 case 230u: goto st32; | 6748 case 230u: goto st32; |
7130 » » case 240u: goto st209; | 6749 » » case 240u: goto st194; |
7131 } | 6750 } |
7132 if ( (*( current_position)) < 88u ) { | 6751 if ( (*( current_position)) < 88u ) { |
7133 if ( (*( current_position)) > 17u ) { | 6752 if ( (*( current_position)) > 17u ) { |
7134 if ( 42u <= (*( current_position)) && (*( current_positi
on)) <= 45u ) | 6753 if ( 42u <= (*( current_position)) && (*( current_positi
on)) <= 45u ) |
7135 goto st32; | 6754 goto st32; |
7136 } else if ( (*( current_position)) >= 16u ) | 6755 } else if ( (*( current_position)) >= 16u ) |
7137 goto st32; | 6756 goto st32; |
7138 } else if ( (*( current_position)) > 90u ) { | 6757 } else if ( (*( current_position)) > 90u ) { |
7139 if ( (*( current_position)) > 95u ) { | 6758 if ( (*( current_position)) > 95u ) { |
7140 if ( 124u <= (*( current_position)) && (*( current_posit
ion)) <= 125u ) | 6759 if ( 124u <= (*( current_position)) && (*( current_posit
ion)) <= 125u ) |
7141 goto st96; | 6760 goto st96; |
7142 } else if ( (*( current_position)) >= 92u ) | 6761 } else if ( (*( current_position)) >= 92u ) |
7143 goto st32; | 6762 goto st32; |
7144 } else | 6763 } else |
7145 goto st32; | 6764 goto st32; |
7146 goto tr16; | 6765 goto tr16; |
7147 st204: | 6766 st189: |
7148 if ( ++( current_position) == ( end_of_bundle) ) | 6767 if ( ++( current_position) == ( end_of_bundle) ) |
7149 » » goto _test_eof204; | 6768 » » goto _test_eof189; |
7150 case 204: | 6769 case 189: |
7151 switch( (*( current_position)) ) { | 6770 switch( (*( current_position)) ) { |
7152 » » case 4u: goto tr431; | 6771 » » case 4u: goto tr404; |
7153 » » case 12u: goto tr431; | 6772 » » case 12u: goto tr404; |
7154 » » case 20u: goto tr431; | 6773 » » case 20u: goto tr404; |
7155 » » case 28u: goto tr431; | 6774 » » case 28u: goto tr404; |
7156 » » case 36u: goto tr431; | 6775 » » case 36u: goto tr404; |
7157 » » case 44u: goto tr431; | 6776 » » case 44u: goto tr404; |
7158 » » case 52u: goto tr431; | 6777 » » case 52u: goto tr404; |
7159 » » case 60u: goto tr431; | 6778 » » case 60u: goto tr404; |
7160 » » case 68u: goto tr434; | 6779 » » case 68u: goto tr407; |
7161 » » case 76u: goto tr434; | 6780 » » case 76u: goto tr407; |
7162 » » case 84u: goto tr434; | 6781 » » case 84u: goto tr407; |
7163 » » case 92u: goto tr434; | 6782 » » case 92u: goto tr407; |
7164 » » case 100u: goto tr434; | 6783 » » case 100u: goto tr407; |
7165 » » case 108u: goto tr434; | 6784 » » case 108u: goto tr407; |
7166 » » case 116u: goto tr434; | 6785 » » case 116u: goto tr407; |
7167 » » case 124u: goto tr434; | 6786 » » case 124u: goto tr407; |
7168 » » case 132u: goto tr435; | 6787 » » case 132u: goto tr408; |
7169 » » case 140u: goto tr435; | 6788 » » case 140u: goto tr408; |
7170 » » case 148u: goto tr435; | 6789 » » case 148u: goto tr408; |
7171 » » case 156u: goto tr435; | 6790 » » case 156u: goto tr408; |
7172 » » case 164u: goto tr435; | 6791 » » case 164u: goto tr408; |
7173 » » case 172u: goto tr435; | 6792 » » case 172u: goto tr408; |
7174 » » case 180u: goto tr435; | 6793 » » case 180u: goto tr408; |
7175 » » case 188u: goto tr435; | 6794 » » case 188u: goto tr408; |
7176 } | 6795 } |
7177 if ( (*( current_position)) < 38u ) { | 6796 if ( (*( current_position)) < 38u ) { |
7178 if ( (*( current_position)) < 14u ) { | 6797 if ( (*( current_position)) < 14u ) { |
7179 if ( (*( current_position)) > 3u ) { | 6798 if ( (*( current_position)) > 3u ) { |
7180 if ( 6u <= (*( current_position)) && (*( current
_position)) <= 11u ) | 6799 if ( 6u <= (*( current_position)) && (*( current
_position)) <= 11u ) |
7181 goto tr255; | 6800 goto tr255; |
7182 } else | 6801 } else |
7183 goto tr255; | 6802 goto tr255; |
7184 } else if ( (*( current_position)) > 19u ) { | 6803 } else if ( (*( current_position)) > 19u ) { |
7185 if ( (*( current_position)) > 27u ) { | 6804 if ( (*( current_position)) > 27u ) { |
7186 if ( 30u <= (*( current_position)) && (*( curren
t_position)) <= 35u ) | 6805 if ( 30u <= (*( current_position)) && (*( curren
t_position)) <= 35u ) |
7187 goto tr255; | 6806 goto tr255; |
7188 } else if ( (*( current_position)) >= 22u ) | 6807 } else if ( (*( current_position)) >= 22u ) |
7189 goto tr255; | 6808 goto tr255; |
7190 } else | 6809 } else |
7191 goto tr255; | 6810 goto tr255; |
7192 } else if ( (*( current_position)) > 43u ) { | 6811 } else if ( (*( current_position)) > 43u ) { |
7193 if ( (*( current_position)) < 62u ) { | 6812 if ( (*( current_position)) < 62u ) { |
7194 if ( (*( current_position)) > 51u ) { | 6813 if ( (*( current_position)) > 51u ) { |
7195 if ( 54u <= (*( current_position)) && (*( curren
t_position)) <= 59u ) | 6814 if ( 54u <= (*( current_position)) && (*( curren
t_position)) <= 59u ) |
7196 goto tr255; | 6815 goto tr255; |
7197 } else if ( (*( current_position)) >= 46u ) | 6816 } else if ( (*( current_position)) >= 46u ) |
7198 goto tr255; | 6817 goto tr255; |
7199 } else if ( (*( current_position)) > 63u ) { | 6818 } else if ( (*( current_position)) > 63u ) { |
7200 if ( (*( current_position)) > 127u ) { | 6819 if ( (*( current_position)) > 127u ) { |
7201 if ( 192u <= (*( current_position)) ) | 6820 if ( 192u <= (*( current_position)) ) |
7202 goto tr16; | 6821 goto tr16; |
7203 } else if ( (*( current_position)) >= 64u ) | 6822 } else if ( (*( current_position)) >= 64u ) |
7204 » » » » goto tr433; | 6823 » » » » goto tr406; |
7205 } else | 6824 } else |
7206 goto tr255; | 6825 goto tr255; |
7207 } else | 6826 } else |
7208 goto tr255; | 6827 goto tr255; |
7209 » goto tr432; | 6828 » goto tr405; |
7210 st205: | 6829 st190: |
7211 if ( ++( current_position) == ( end_of_bundle) ) | 6830 if ( ++( current_position) == ( end_of_bundle) ) |
7212 » » goto _test_eof205; | 6831 » » goto _test_eof190; |
7213 case 205: | 6832 case 190: |
7214 if ( 240u <= (*( current_position)) && (*( current_position)) <= 241u ) | 6833 if ( 240u <= (*( current_position)) && (*( current_position)) <= 241u ) |
7215 goto st84; | 6834 goto st84; |
7216 goto tr16; | 6835 goto tr16; |
7217 st206: | 6836 st191: |
7218 if ( ++( current_position) == ( end_of_bundle) ) | 6837 if ( ++( current_position) == ( end_of_bundle) ) |
7219 » » goto _test_eof206; | 6838 » » goto _test_eof191; |
7220 case 206: | 6839 case 191: |
7221 if ( 192u <= (*( current_position)) ) | 6840 if ( 192u <= (*( current_position)) ) |
7222 » » goto tr436; | 6841 » » goto tr409; |
7223 goto tr16; | 6842 goto tr16; |
7224 tr436: | 6843 tr409: |
7225 { SET_CPU_FEATURE(CPUFeature_SSE4A); } | 6844 { SET_CPU_FEATURE(CPUFeature_SSE4A); } |
7226 » goto st207; | 6845 » goto st192; |
7227 st207: | 6846 st192: |
7228 if ( ++( current_position) == ( end_of_bundle) ) | 6847 if ( ++( current_position) == ( end_of_bundle) ) |
7229 » » goto _test_eof207; | 6848 » » goto _test_eof192; |
7230 case 207: | 6849 case 192: |
7231 » goto tr437; | 6850 » goto tr410; |
7232 tr437: | 6851 tr410: |
7233 { | 6852 { |
7234 SET_IMM_TYPE(IMM8); | 6853 SET_IMMEDIATE_FORMAT(IMM8); |
7235 SET_IMM_PTR(current_position); | 6854 SET_IMMEDIATE_POINTER(current_position); |
7236 } | 6855 } |
7237 {} | 6856 {} |
7238 » goto st208; | 6857 » goto st193; |
7239 st208: | 6858 st193: |
7240 if ( ++( current_position) == ( end_of_bundle) ) | 6859 if ( ++( current_position) == ( end_of_bundle) ) |
7241 » » goto _test_eof208; | 6860 » » goto _test_eof193; |
7242 case 208: | 6861 case 193: |
7243 » goto tr438; | 6862 » goto tr411; |
7244 st209: | 6863 st194: |
7245 if ( ++( current_position) == ( end_of_bundle) ) | 6864 if ( ++( current_position) == ( end_of_bundle) ) |
7246 » » goto _test_eof209; | 6865 » » goto _test_eof194; |
7247 case 209: | 6866 case 194: |
7248 switch( (*( current_position)) ) { | 6867 switch( (*( current_position)) ) { |
7249 case 4u: goto tr257; | 6868 case 4u: goto tr257; |
7250 case 12u: goto tr257; | 6869 case 12u: goto tr257; |
7251 case 20u: goto tr257; | 6870 case 20u: goto tr257; |
7252 case 28u: goto tr257; | 6871 case 28u: goto tr257; |
7253 case 36u: goto tr257; | 6872 case 36u: goto tr257; |
7254 case 44u: goto tr257; | 6873 case 44u: goto tr257; |
7255 case 52u: goto tr257; | 6874 case 52u: goto tr257; |
7256 case 60u: goto tr257; | 6875 case 60u: goto tr257; |
7257 case 68u: goto tr260; | 6876 case 68u: goto tr260; |
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
7297 if ( (*( current_position)) > 127u ) { | 6916 if ( (*( current_position)) > 127u ) { |
7298 if ( 192u <= (*( current_position)) ) | 6917 if ( 192u <= (*( current_position)) ) |
7299 goto tr16; | 6918 goto tr16; |
7300 } else if ( (*( current_position)) >= 64u ) | 6919 } else if ( (*( current_position)) >= 64u ) |
7301 goto tr259; | 6920 goto tr259; |
7302 } else | 6921 } else |
7303 goto tr256; | 6922 goto tr256; |
7304 } else | 6923 } else |
7305 goto tr256; | 6924 goto tr256; |
7306 goto tr258; | 6925 goto tr258; |
7307 st210: | 6926 st195: |
7308 if ( ++( current_position) == ( end_of_bundle) ) | 6927 if ( ++( current_position) == ( end_of_bundle) ) |
7309 » » goto _test_eof210; | 6928 » » goto _test_eof195; |
7310 case 210: | 6929 case 195: |
7311 switch( (*( current_position)) ) { | 6930 switch( (*( current_position)) ) { |
7312 » » case 15u: goto st211; | 6931 » » case 15u: goto st196; |
7313 case 102u: goto st127; | 6932 case 102u: goto st127; |
7314 case 144u: goto tr0; | 6933 case 144u: goto tr0; |
7315 } | 6934 } |
7316 if ( (*( current_position)) < 170u ) { | 6935 if ( (*( current_position)) < 170u ) { |
7317 if ( 164u <= (*( current_position)) && (*( current_position)) <=
167u ) | 6936 if ( 164u <= (*( current_position)) && (*( current_position)) <=
167u ) |
7318 goto tr0; | 6937 goto tr0; |
7319 } else if ( (*( current_position)) > 171u ) { | 6938 } else if ( (*( current_position)) > 171u ) { |
7320 if ( 174u <= (*( current_position)) && (*( current_position)) <=
175u ) | 6939 if ( 174u <= (*( current_position)) && (*( current_position)) <=
175u ) |
7321 goto tr0; | 6940 goto tr0; |
7322 } else | 6941 } else |
7323 goto tr0; | 6942 goto tr0; |
7324 goto tr16; | 6943 goto tr16; |
7325 st211: | 6944 st196: |
7326 if ( ++( current_position) == ( end_of_bundle) ) | 6945 if ( ++( current_position) == ( end_of_bundle) ) |
7327 » » goto _test_eof211; | 6946 » » goto _test_eof196; |
7328 case 211: | 6947 case 196: |
7329 switch( (*( current_position)) ) { | 6948 switch( (*( current_position)) ) { |
7330 case 18u: goto st96; | 6949 case 18u: goto st96; |
7331 case 22u: goto st96; | 6950 case 22u: goto st96; |
7332 » » case 43u: goto st204; | 6951 » » case 43u: goto st189; |
7333 case 111u: goto st32; | 6952 case 111u: goto st32; |
7334 case 112u: goto st92; | 6953 case 112u: goto st92; |
7335 » » case 184u: goto st212; | 6954 » » case 184u: goto st197; |
7336 » » case 188u: goto st213; | 6955 » » case 188u: goto st198; |
7337 » » case 189u: goto st214; | 6956 » » case 189u: goto st199; |
7338 case 194u: goto st58; | 6957 case 194u: goto st58; |
7339 case 214u: goto st91; | 6958 case 214u: goto st91; |
7340 case 230u: goto st32; | 6959 case 230u: goto st32; |
7341 } | 6960 } |
7342 if ( (*( current_position)) < 88u ) { | 6961 if ( (*( current_position)) < 88u ) { |
7343 if ( (*( current_position)) < 42u ) { | 6962 if ( (*( current_position)) < 42u ) { |
7344 if ( 16u <= (*( current_position)) && (*( current_positi
on)) <= 17u ) | 6963 if ( 16u <= (*( current_position)) && (*( current_positi
on)) <= 17u ) |
7345 goto st28; | 6964 goto st28; |
7346 } else if ( (*( current_position)) > 45u ) { | 6965 } else if ( (*( current_position)) > 45u ) { |
7347 if ( 81u <= (*( current_position)) && (*( current_positi
on)) <= 83u ) | 6966 if ( 81u <= (*( current_position)) && (*( current_positi
on)) <= 83u ) |
7348 goto st28; | 6967 goto st28; |
7349 } else | 6968 } else |
7350 goto st28; | 6969 goto st28; |
7351 } else if ( (*( current_position)) > 89u ) { | 6970 } else if ( (*( current_position)) > 89u ) { |
7352 if ( (*( current_position)) < 92u ) { | 6971 if ( (*( current_position)) < 92u ) { |
7353 if ( 90u <= (*( current_position)) && (*( current_positi
on)) <= 91u ) | 6972 if ( 90u <= (*( current_position)) && (*( current_positi
on)) <= 91u ) |
7354 goto st32; | 6973 goto st32; |
7355 } else if ( (*( current_position)) > 95u ) { | 6974 } else if ( (*( current_position)) > 95u ) { |
7356 if ( 126u <= (*( current_position)) && (*( current_posit
ion)) <= 127u ) | 6975 if ( 126u <= (*( current_position)) && (*( current_posit
ion)) <= 127u ) |
7357 goto st32; | 6976 goto st32; |
7358 } else | 6977 } else |
7359 goto st28; | 6978 goto st28; |
7360 } else | 6979 } else |
7361 goto st28; | 6980 goto st28; |
7362 goto tr16; | 6981 goto tr16; |
7363 st212: | 6982 st197: |
7364 if ( ++( current_position) == ( end_of_bundle) ) | 6983 if ( ++( current_position) == ( end_of_bundle) ) |
7365 » » goto _test_eof212; | 6984 » » goto _test_eof197; |
7366 case 212: | 6985 case 197: |
7367 switch( (*( current_position)) ) { | 6986 switch( (*( current_position)) ) { |
7368 » » case 4u: goto tr444; | 6987 » » case 4u: goto tr417; |
7369 » » case 5u: goto tr445; | 6988 » » case 5u: goto tr418; |
7370 » » case 12u: goto tr444; | 6989 » » case 12u: goto tr417; |
7371 » » case 13u: goto tr445; | 6990 » » case 13u: goto tr418; |
7372 » » case 20u: goto tr444; | 6991 » » case 20u: goto tr417; |
7373 » » case 21u: goto tr445; | 6992 » » case 21u: goto tr418; |
7374 » » case 28u: goto tr444; | 6993 » » case 28u: goto tr417; |
7375 » » case 29u: goto tr445; | 6994 » » case 29u: goto tr418; |
7376 » » case 36u: goto tr444; | 6995 » » case 36u: goto tr417; |
7377 » » case 37u: goto tr445; | 6996 » » case 37u: goto tr418; |
7378 » » case 44u: goto tr444; | 6997 » » case 44u: goto tr417; |
7379 » » case 45u: goto tr445; | 6998 » » case 45u: goto tr418; |
7380 » » case 52u: goto tr444; | 6999 » » case 52u: goto tr417; |
7381 » » case 53u: goto tr445; | 7000 » » case 53u: goto tr418; |
7382 » » case 60u: goto tr444; | 7001 » » case 60u: goto tr417; |
7383 » » case 61u: goto tr445; | 7002 » » case 61u: goto tr418; |
7384 » » case 68u: goto tr447; | 7003 » » case 68u: goto tr420; |
7385 » » case 76u: goto tr447; | 7004 » » case 76u: goto tr420; |
7386 » » case 84u: goto tr447; | 7005 » » case 84u: goto tr420; |
7387 » » case 92u: goto tr447; | 7006 » » case 92u: goto tr420; |
7388 » » case 100u: goto tr447; | 7007 » » case 100u: goto tr420; |
7389 » » case 108u: goto tr447; | 7008 » » case 108u: goto tr420; |
7390 » » case 116u: goto tr447; | 7009 » » case 116u: goto tr420; |
7391 » » case 124u: goto tr447; | 7010 » » case 124u: goto tr420; |
7392 » » case 132u: goto tr448; | 7011 » » case 132u: goto tr421; |
7393 » » case 140u: goto tr448; | 7012 » » case 140u: goto tr421; |
7394 » » case 148u: goto tr448; | 7013 » » case 148u: goto tr421; |
7395 » » case 156u: goto tr448; | 7014 » » case 156u: goto tr421; |
7396 » » case 164u: goto tr448; | 7015 » » case 164u: goto tr421; |
7397 » » case 172u: goto tr448; | 7016 » » case 172u: goto tr421; |
7398 » » case 180u: goto tr448; | 7017 » » case 180u: goto tr421; |
7399 » » case 188u: goto tr448; | 7018 » » case 188u: goto tr421; |
7400 } | 7019 } |
7401 if ( (*( current_position)) > 127u ) { | 7020 if ( (*( current_position)) > 127u ) { |
7402 if ( 128u <= (*( current_position)) && (*( current_position)) <=
191u ) | 7021 if ( 128u <= (*( current_position)) && (*( current_position)) <=
191u ) |
7403 » » » goto tr445; | 7022 » » » goto tr418; |
7404 } else if ( (*( current_position)) >= 64u ) | 7023 } else if ( (*( current_position)) >= 64u ) |
7405 » » goto tr446; | 7024 » » goto tr419; |
7406 » goto tr443; | 7025 » goto tr416; |
7407 st213: | 7026 st198: |
7408 if ( ++( current_position) == ( end_of_bundle) ) | 7027 if ( ++( current_position) == ( end_of_bundle) ) |
7409 » » goto _test_eof213; | 7028 » » goto _test_eof198; |
7410 case 213: | 7029 case 198: |
7411 switch( (*( current_position)) ) { | 7030 switch( (*( current_position)) ) { |
7412 » » case 4u: goto tr450; | 7031 » » case 4u: goto tr423; |
7413 » » case 5u: goto tr451; | 7032 » » case 5u: goto tr424; |
7414 » » case 12u: goto tr450; | 7033 » » case 12u: goto tr423; |
7415 » » case 13u: goto tr451; | 7034 » » case 13u: goto tr424; |
7416 » » case 20u: goto tr450; | 7035 » » case 20u: goto tr423; |
7417 » » case 21u: goto tr451; | 7036 » » case 21u: goto tr424; |
7418 » » case 28u: goto tr450; | 7037 » » case 28u: goto tr423; |
7419 » » case 29u: goto tr451; | 7038 » » case 29u: goto tr424; |
7420 » » case 36u: goto tr450; | 7039 » » case 36u: goto tr423; |
7421 » » case 37u: goto tr451; | 7040 » » case 37u: goto tr424; |
7422 » » case 44u: goto tr450; | 7041 » » case 44u: goto tr423; |
7423 » » case 45u: goto tr451; | 7042 » » case 45u: goto tr424; |
7424 » » case 52u: goto tr450; | 7043 » » case 52u: goto tr423; |
7425 » » case 53u: goto tr451; | 7044 » » case 53u: goto tr424; |
7426 » » case 60u: goto tr450; | 7045 » » case 60u: goto tr423; |
7427 » » case 61u: goto tr451; | 7046 » » case 61u: goto tr424; |
7428 » » case 68u: goto tr453; | 7047 » » case 68u: goto tr426; |
7429 » » case 76u: goto tr453; | 7048 » » case 76u: goto tr426; |
7430 » » case 84u: goto tr453; | 7049 » » case 84u: goto tr426; |
7431 » » case 92u: goto tr453; | 7050 » » case 92u: goto tr426; |
7432 » » case 100u: goto tr453; | 7051 » » case 100u: goto tr426; |
7433 » » case 108u: goto tr453; | 7052 » » case 108u: goto tr426; |
7434 » » case 116u: goto tr453; | 7053 » » case 116u: goto tr426; |
7435 » » case 124u: goto tr453; | 7054 » » case 124u: goto tr426; |
7436 » » case 132u: goto tr454; | 7055 » » case 132u: goto tr427; |
7437 » » case 140u: goto tr454; | 7056 » » case 140u: goto tr427; |
7438 » » case 148u: goto tr454; | 7057 » » case 148u: goto tr427; |
7439 » » case 156u: goto tr454; | 7058 » » case 156u: goto tr427; |
7440 » » case 164u: goto tr454; | 7059 » » case 164u: goto tr427; |
7441 » » case 172u: goto tr454; | 7060 » » case 172u: goto tr427; |
7442 » » case 180u: goto tr454; | 7061 » » case 180u: goto tr427; |
7443 » » case 188u: goto tr454; | 7062 » » case 188u: goto tr427; |
7444 } | 7063 } |
7445 if ( (*( current_position)) > 127u ) { | 7064 if ( (*( current_position)) > 127u ) { |
7446 if ( 128u <= (*( current_position)) && (*( current_position)) <=
191u ) | 7065 if ( 128u <= (*( current_position)) && (*( current_position)) <=
191u ) |
7447 » » » goto tr451; | 7066 » » » goto tr424; |
7448 } else if ( (*( current_position)) >= 64u ) | 7067 } else if ( (*( current_position)) >= 64u ) |
7449 » » goto tr452; | 7068 » » goto tr425; |
7450 » goto tr449; | 7069 » goto tr422; |
7451 st214: | 7070 st199: |
7452 if ( ++( current_position) == ( end_of_bundle) ) | 7071 if ( ++( current_position) == ( end_of_bundle) ) |
7453 » » goto _test_eof214; | 7072 » » goto _test_eof199; |
7454 case 214: | 7073 case 199: |
7455 switch( (*( current_position)) ) { | 7074 switch( (*( current_position)) ) { |
7456 » » case 4u: goto tr456; | 7075 » » case 4u: goto tr429; |
7457 » » case 5u: goto tr457; | 7076 » » case 5u: goto tr430; |
7458 » » case 12u: goto tr456; | 7077 » » case 12u: goto tr429; |
7459 » » case 13u: goto tr457; | 7078 » » case 13u: goto tr430; |
7460 » » case 20u: goto tr456; | 7079 » » case 20u: goto tr429; |
7461 » » case 21u: goto tr457; | 7080 » » case 21u: goto tr430; |
7462 » » case 28u: goto tr456; | 7081 » » case 28u: goto tr429; |
7463 » » case 29u: goto tr457; | 7082 » » case 29u: goto tr430; |
7464 » » case 36u: goto tr456; | 7083 » » case 36u: goto tr429; |
7465 » » case 37u: goto tr457; | 7084 » » case 37u: goto tr430; |
7466 » » case 44u: goto tr456; | 7085 » » case 44u: goto tr429; |
7467 » » case 45u: goto tr457; | 7086 » » case 45u: goto tr430; |
7468 » » case 52u: goto tr456; | 7087 » » case 52u: goto tr429; |
7469 » » case 53u: goto tr457; | 7088 » » case 53u: goto tr430; |
7470 » » case 60u: goto tr456; | 7089 » » case 60u: goto tr429; |
7471 » » case 61u: goto tr457; | 7090 » » case 61u: goto tr430; |
7472 » » case 68u: goto tr459; | 7091 » » case 68u: goto tr432; |
7473 » » case 76u: goto tr459; | 7092 » » case 76u: goto tr432; |
7474 » » case 84u: goto tr459; | 7093 » » case 84u: goto tr432; |
7475 » » case 92u: goto tr459; | 7094 » » case 92u: goto tr432; |
7476 » » case 100u: goto tr459; | 7095 » » case 100u: goto tr432; |
7477 » » case 108u: goto tr459; | 7096 » » case 108u: goto tr432; |
7478 » » case 116u: goto tr459; | 7097 » » case 116u: goto tr432; |
7479 » » case 124u: goto tr459; | 7098 » » case 124u: goto tr432; |
7480 » » case 132u: goto tr460; | 7099 » » case 132u: goto tr433; |
7481 » » case 140u: goto tr460; | 7100 » » case 140u: goto tr433; |
7482 » » case 148u: goto tr460; | 7101 » » case 148u: goto tr433; |
7483 » » case 156u: goto tr460; | 7102 » » case 156u: goto tr433; |
7484 » » case 164u: goto tr460; | 7103 » » case 164u: goto tr433; |
7485 » » case 172u: goto tr460; | 7104 » » case 172u: goto tr433; |
7486 » » case 180u: goto tr460; | 7105 » » case 180u: goto tr433; |
7487 » » case 188u: goto tr460; | 7106 » » case 188u: goto tr433; |
7488 } | 7107 } |
7489 if ( (*( current_position)) > 127u ) { | 7108 if ( (*( current_position)) > 127u ) { |
7490 if ( 128u <= (*( current_position)) && (*( current_position)) <=
191u ) | 7109 if ( 128u <= (*( current_position)) && (*( current_position)) <=
191u ) |
7491 » » » goto tr457; | 7110 » » » goto tr430; |
7492 } else if ( (*( current_position)) >= 64u ) | 7111 } else if ( (*( current_position)) >= 64u ) |
7493 » » goto tr458; | 7112 » » goto tr431; |
7494 » goto tr455; | 7113 » goto tr428; |
7495 st215: | 7114 st200: |
7496 if ( ++( current_position) == ( end_of_bundle) ) | 7115 if ( ++( current_position) == ( end_of_bundle) ) |
7497 » » goto _test_eof215; | 7116 » » goto _test_eof200; |
7498 case 215: | 7117 case 200: |
7499 switch( (*( current_position)) ) { | 7118 switch( (*( current_position)) ) { |
7500 case 4u: goto st39; | 7119 case 4u: goto st39; |
7501 case 5u: goto st40; | 7120 case 5u: goto st40; |
7502 case 20u: goto st2; | 7121 case 20u: goto st2; |
7503 case 21u: goto st3; | 7122 case 21u: goto st3; |
7504 case 28u: goto st2; | 7123 case 28u: goto st2; |
7505 case 29u: goto st3; | 7124 case 29u: goto st3; |
7506 case 36u: goto st2; | 7125 case 36u: goto st2; |
7507 case 37u: goto st3; | 7126 case 37u: goto st3; |
7508 case 44u: goto st2; | 7127 case 44u: goto st2; |
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
7549 if ( (*( current_position)) > 199u ) { | 7168 if ( (*( current_position)) > 199u ) { |
7550 if ( 200u <= (*( current_position)) && (*( curre
nt_position)) <= 207u ) | 7169 if ( 200u <= (*( current_position)) && (*( curre
nt_position)) <= 207u ) |
7551 goto tr16; | 7170 goto tr16; |
7552 } else if ( (*( current_position)) >= 192u ) | 7171 } else if ( (*( current_position)) >= 192u ) |
7553 goto st10; | 7172 goto st10; |
7554 } else | 7173 } else |
7555 goto st3; | 7174 goto st3; |
7556 } else | 7175 } else |
7557 goto st7; | 7176 goto st7; |
7558 goto tr0; | 7177 goto tr0; |
7559 st216: | 7178 st201: |
7560 if ( ++( current_position) == ( end_of_bundle) ) | 7179 if ( ++( current_position) == ( end_of_bundle) ) |
7561 » » goto _test_eof216; | 7180 » » goto _test_eof201; |
7562 case 216: | 7181 case 201: |
7563 switch( (*( current_position)) ) { | 7182 switch( (*( current_position)) ) { |
7564 case 4u: goto st131; | 7183 case 4u: goto st131; |
7565 case 5u: goto st132; | 7184 case 5u: goto st132; |
7566 case 20u: goto st2; | 7185 case 20u: goto st2; |
7567 case 21u: goto st3; | 7186 case 21u: goto st3; |
7568 case 28u: goto st2; | 7187 case 28u: goto st2; |
7569 case 29u: goto st3; | 7188 case 29u: goto st3; |
7570 case 36u: goto st2; | 7189 case 36u: goto st2; |
7571 case 37u: goto st3; | 7190 case 37u: goto st3; |
7572 case 44u: goto st2; | 7191 case 44u: goto st2; |
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
7613 if ( (*( current_position)) > 199u ) { | 7232 if ( (*( current_position)) > 199u ) { |
7614 if ( 200u <= (*( current_position)) && (*( curre
nt_position)) <= 207u ) | 7233 if ( 200u <= (*( current_position)) && (*( curre
nt_position)) <= 207u ) |
7615 goto tr16; | 7234 goto tr16; |
7616 } else if ( (*( current_position)) >= 192u ) | 7235 } else if ( (*( current_position)) >= 192u ) |
7617 goto st11; | 7236 goto st11; |
7618 } else | 7237 } else |
7619 goto st3; | 7238 goto st3; |
7620 } else | 7239 } else |
7621 goto st7; | 7240 goto st7; |
7622 goto tr0; | 7241 goto tr0; |
7623 st217: | 7242 st202: |
7624 if ( ++( current_position) == ( end_of_bundle) ) | 7243 if ( ++( current_position) == ( end_of_bundle) ) |
7625 » » goto _test_eof217; | 7244 » » goto _test_eof202; |
7626 case 217: | 7245 case 202: |
7627 switch( (*( current_position)) ) { | 7246 switch( (*( current_position)) ) { |
7628 case 4u: goto st2; | 7247 case 4u: goto st2; |
7629 case 5u: goto st3; | 7248 case 5u: goto st3; |
7630 case 12u: goto st2; | 7249 case 12u: goto st2; |
7631 case 13u: goto st3; | 7250 case 13u: goto st3; |
7632 case 68u: goto st8; | 7251 case 68u: goto st8; |
7633 case 76u: goto st8; | 7252 case 76u: goto st8; |
7634 case 132u: goto st9; | 7253 case 132u: goto st9; |
7635 case 140u: goto st9; | 7254 case 140u: goto st9; |
7636 } | 7255 } |
7637 if ( (*( current_position)) < 64u ) { | 7256 if ( (*( current_position)) < 64u ) { |
7638 if ( (*( current_position)) <= 15u ) | 7257 if ( (*( current_position)) <= 15u ) |
7639 goto tr0; | 7258 goto tr0; |
7640 } else if ( (*( current_position)) > 79u ) { | 7259 } else if ( (*( current_position)) > 79u ) { |
7641 if ( (*( current_position)) > 143u ) { | 7260 if ( (*( current_position)) > 143u ) { |
7642 if ( 192u <= (*( current_position)) && (*( current_posit
ion)) <= 207u ) | 7261 if ( 192u <= (*( current_position)) && (*( current_posit
ion)) <= 207u ) |
7643 goto tr0; | 7262 goto tr0; |
7644 } else if ( (*( current_position)) >= 128u ) | 7263 } else if ( (*( current_position)) >= 128u ) |
7645 goto st3; | 7264 goto st3; |
7646 } else | 7265 } else |
7647 goto st7; | 7266 goto st7; |
7648 goto tr16; | 7267 goto tr16; |
7649 st218: | 7268 st203: |
7650 if ( ++( current_position) == ( end_of_bundle) ) | 7269 if ( ++( current_position) == ( end_of_bundle) ) |
7651 » » goto _test_eof218; | 7270 » » goto _test_eof203; |
7652 case 218: | 7271 case 203: |
7653 switch( (*( current_position)) ) { | 7272 switch( (*( current_position)) ) { |
7654 case 4u: goto st2; | 7273 case 4u: goto st2; |
7655 case 5u: goto st3; | 7274 case 5u: goto st3; |
7656 case 12u: goto st2; | 7275 case 12u: goto st2; |
7657 case 13u: goto st3; | 7276 case 13u: goto st3; |
7658 case 52u: goto st2; | 7277 case 52u: goto st2; |
7659 case 53u: goto st3; | 7278 case 53u: goto st3; |
7660 case 68u: goto st8; | 7279 case 68u: goto st8; |
7661 case 76u: goto st8; | 7280 case 76u: goto st8; |
7662 case 116u: goto st8; | 7281 case 116u: goto st8; |
7663 case 132u: goto st9; | 7282 case 132u: goto st9; |
7664 case 140u: goto st9; | 7283 case 140u: goto st9; |
7665 case 180u: goto st9; | 7284 case 180u: goto st9; |
7666 » » case 208u: goto tr461; | 7285 » » case 208u: goto tr434; |
7667 » » case 224u: goto tr462; | 7286 » » case 224u: goto tr435; |
7668 } | 7287 } |
7669 if ( (*( current_position)) < 112u ) { | 7288 if ( (*( current_position)) < 112u ) { |
7670 if ( (*( current_position)) < 48u ) { | 7289 if ( (*( current_position)) < 48u ) { |
7671 if ( (*( current_position)) <= 15u ) | 7290 if ( (*( current_position)) <= 15u ) |
7672 goto tr0; | 7291 goto tr0; |
7673 } else if ( (*( current_position)) > 55u ) { | 7292 } else if ( (*( current_position)) > 55u ) { |
7674 if ( 64u <= (*( current_position)) && (*( current_positi
on)) <= 79u ) | 7293 if ( 64u <= (*( current_position)) && (*( current_positi
on)) <= 79u ) |
7675 goto st7; | 7294 goto st7; |
7676 } else | 7295 } else |
7677 goto tr0; | 7296 goto tr0; |
7678 } else if ( (*( current_position)) > 119u ) { | 7297 } else if ( (*( current_position)) > 119u ) { |
7679 if ( (*( current_position)) < 176u ) { | 7298 if ( (*( current_position)) < 176u ) { |
7680 if ( 128u <= (*( current_position)) && (*( current_posit
ion)) <= 143u ) | 7299 if ( 128u <= (*( current_position)) && (*( current_posit
ion)) <= 143u ) |
7681 goto st3; | 7300 goto st3; |
7682 } else if ( (*( current_position)) > 183u ) { | 7301 } else if ( (*( current_position)) > 183u ) { |
7683 if ( (*( current_position)) > 207u ) { | 7302 if ( (*( current_position)) > 207u ) { |
7684 if ( 240u <= (*( current_position)) && (*( curre
nt_position)) <= 247u ) | 7303 if ( 240u <= (*( current_position)) && (*( curre
nt_position)) <= 247u ) |
7685 goto tr0; | 7304 goto tr0; |
7686 } else if ( (*( current_position)) >= 192u ) | 7305 } else if ( (*( current_position)) >= 192u ) |
7687 goto tr0; | 7306 goto tr0; |
7688 } else | 7307 } else |
7689 goto st3; | 7308 goto st3; |
7690 } else | 7309 } else |
7691 goto st7; | 7310 goto st7; |
7692 goto tr16; | 7311 goto tr16; |
7693 st219: | 7312 st204: |
7694 if ( ++( current_position) == ( end_of_bundle) ) | 7313 if ( ++( current_position) == ( end_of_bundle) ) |
7695 » » goto _test_eof219; | 7314 » » goto _test_eof204; |
7696 case 219: | 7315 case 204: |
7697 if ( (*( current_position)) == 224u ) | 7316 if ( (*( current_position)) == 224u ) |
7698 » » goto tr463; | 7317 » » goto tr436; |
7699 goto tr11; | 7318 goto tr11; |
7700 tr463: | 7319 tr436: |
7701 { | 7320 { |
7702 SET_IMM_TYPE(IMM8); | 7321 SET_IMMEDIATE_FORMAT(IMM8); |
7703 SET_IMM_PTR(current_position); | 7322 SET_IMMEDIATE_POINTER(current_position); |
7704 } | 7323 } |
7705 {} | 7324 {} |
7706 { | 7325 { |
7707 /* Mark start of this instruction as a valid target for jump. */ | 7326 /* Mark start of this instruction as a valid target for jump. */ |
7708 MarkValidJumpTarget(instruction_begin - data, valid_targets); | 7327 MarkValidJumpTarget(instruction_begin - codeblock, valid_targets); |
7709 | 7328 |
7710 /* Call user-supplied callback. */ | 7329 /* Call user-supplied callback. */ |
7711 instruction_end = current_position + 1; | 7330 instruction_end = current_position + 1; |
7712 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || | 7331 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || |
7713 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { | 7332 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { |
7714 result &= user_callback(instruction_begin, instruction_end, | 7333 result &= user_callback(instruction_begin, instruction_end, |
7715 instruction_info_collected, callback_data); | 7334 instruction_info_collected, callback_data); |
7716 } | 7335 } |
7717 | 7336 |
7718 /* On successful match the instruction_begin must point to the next byte | 7337 /* |
7719 * to be able to report the new offset as the start of instruction | 7338 * We may set instruction_begin at the first byte of the instruction instead |
7720 * causing error. */ | 7339 * of here but in the case of incorrect one byte instructions user callback |
| 7340 * may be called before instruction_begin is set. |
| 7341 */ |
7721 instruction_begin = instruction_end; | 7342 instruction_begin = instruction_end; |
7722 | 7343 |
7723 /* Clear variables (well, one variable currently). */ | 7344 /* Clear variables (well, one variable currently). */ |
7724 instruction_info_collected = 0; | 7345 instruction_info_collected = 0; |
7725 } | 7346 } |
7726 » goto st235; | 7347 » goto st220; |
7727 st235: | 7348 st220: |
7728 if ( ++( current_position) == ( end_of_bundle) ) | 7349 if ( ++( current_position) == ( end_of_bundle) ) |
7729 » » goto _test_eof235; | 7350 » » goto _test_eof220; |
7730 case 235: | 7351 case 220: |
7731 switch( (*( current_position)) ) { | 7352 switch( (*( current_position)) ) { |
7732 case 4u: goto st10; | 7353 case 4u: goto st10; |
7733 case 5u: goto st11; | 7354 case 5u: goto st11; |
7734 case 12u: goto st10; | 7355 case 12u: goto st10; |
7735 case 13u: goto st11; | 7356 case 13u: goto st11; |
7736 case 15u: goto st15; | 7357 case 15u: goto st15; |
7737 case 20u: goto st10; | 7358 case 20u: goto st10; |
7738 case 21u: goto st11; | 7359 case 21u: goto st11; |
7739 case 28u: goto st10; | 7360 case 28u: goto st10; |
7740 case 29u: goto st11; | 7361 case 29u: goto st11; |
(...skipping 11 matching lines...) Expand all Loading... |
7752 case 102u: goto st74; | 7373 case 102u: goto st74; |
7753 case 104u: goto st11; | 7374 case 104u: goto st11; |
7754 case 105u: goto st130; | 7375 case 105u: goto st130; |
7755 case 106u: goto st10; | 7376 case 106u: goto st10; |
7756 case 107u: goto st56; | 7377 case 107u: goto st56; |
7757 case 128u: goto st56; | 7378 case 128u: goto st56; |
7758 case 129u: goto st130; | 7379 case 129u: goto st130; |
7759 case 131u: goto st139; | 7380 case 131u: goto st139; |
7760 case 141u: goto st115; | 7381 case 141u: goto st115; |
7761 case 143u: goto st141; | 7382 case 143u: goto st141; |
7762 » » case 155u: goto tr413; | 7383 » » case 155u: goto tr386; |
7763 case 168u: goto st10; | 7384 case 168u: goto st10; |
7764 case 169u: goto st11; | 7385 case 169u: goto st11; |
7765 case 196u: goto st153; | 7386 case 196u: goto st153; |
7766 » » case 198u: goto st185; | 7387 » » case 198u: goto st170; |
7767 » » case 199u: goto st186; | 7388 » » case 199u: goto st171; |
7768 case 201u: goto tr0; | 7389 case 201u: goto tr0; |
7769 » » case 216u: goto st187; | 7390 » » case 216u: goto st172; |
7770 » » case 217u: goto st188; | 7391 » » case 217u: goto st173; |
7771 » » case 218u: goto st189; | 7392 » » case 218u: goto st174; |
7772 » » case 219u: goto st190; | 7393 » » case 219u: goto st175; |
7773 » » case 220u: goto st191; | 7394 » » case 220u: goto st176; |
7774 » » case 221u: goto st192; | 7395 » » case 221u: goto st177; |
7775 » » case 222u: goto st193; | 7396 » » case 222u: goto st178; |
7776 » » case 223u: goto st194; | 7397 » » case 223u: goto st179; |
7777 » » case 232u: goto st195; | 7398 » » case 232u: goto st180; |
7778 case 233u: goto st52; | 7399 case 233u: goto st52; |
7779 case 235u: goto st67; | 7400 case 235u: goto st67; |
7780 » » case 240u: goto st199; | 7401 » » case 240u: goto st184; |
7781 » » case 242u: goto st202; | 7402 » » case 242u: goto st187; |
7782 » » case 243u: goto st210; | 7403 » » case 243u: goto st195; |
7783 » » case 246u: goto st215; | 7404 » » case 246u: goto st200; |
7784 » » case 247u: goto st216; | 7405 » » case 247u: goto st201; |
7785 » » case 254u: goto st217; | 7406 » » case 254u: goto st202; |
7786 » » case 255u: goto st220; | 7407 » » case 255u: goto st205; |
7787 } | 7408 } |
7788 if ( (*( current_position)) < 132u ) { | 7409 if ( (*( current_position)) < 132u ) { |
7789 if ( (*( current_position)) < 32u ) { | 7410 if ( (*( current_position)) < 32u ) { |
7790 if ( (*( current_position)) < 8u ) { | 7411 if ( (*( current_position)) < 8u ) { |
7791 if ( (*( current_position)) <= 3u ) | 7412 if ( (*( current_position)) <= 3u ) |
7792 goto st1; | 7413 goto st1; |
7793 } else if ( (*( current_position)) > 11u ) { | 7414 } else if ( (*( current_position)) > 11u ) { |
7794 if ( (*( current_position)) > 19u ) { | 7415 if ( (*( current_position)) > 19u ) { |
7795 if ( 24u <= (*( current_position)) && (*
( current_position)) <= 27u ) | 7416 if ( 24u <= (*( current_position)) && (*
( current_position)) <= 27u ) |
7796 goto st1; | 7417 goto st1; |
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
7844 goto tr0; | 7465 goto tr0; |
7845 } else if ( (*( current_position)) >= 244u ) | 7466 } else if ( (*( current_position)) >= 244u ) |
7846 goto tr0; | 7467 goto tr0; |
7847 } else | 7468 } else |
7848 goto st118; | 7469 goto st118; |
7849 } else | 7470 } else |
7850 goto st10; | 7471 goto st10; |
7851 } else | 7472 } else |
7852 goto st1; | 7473 goto st1; |
7853 goto tr16; | 7474 goto tr16; |
7854 st220: | 7475 st205: |
7855 if ( ++( current_position) == ( end_of_bundle) ) | 7476 if ( ++( current_position) == ( end_of_bundle) ) |
7856 » » goto _test_eof220; | 7477 » » goto _test_eof205; |
7857 case 220: | 7478 case 205: |
7858 switch( (*( current_position)) ) { | 7479 switch( (*( current_position)) ) { |
7859 case 4u: goto st2; | 7480 case 4u: goto st2; |
7860 case 5u: goto st3; | 7481 case 5u: goto st3; |
7861 case 12u: goto st2; | 7482 case 12u: goto st2; |
7862 case 13u: goto st3; | 7483 case 13u: goto st3; |
7863 case 52u: goto st2; | 7484 case 52u: goto st2; |
7864 case 53u: goto st3; | 7485 case 53u: goto st3; |
7865 case 68u: goto st8; | 7486 case 68u: goto st8; |
7866 case 76u: goto st8; | 7487 case 76u: goto st8; |
7867 case 116u: goto st8; | 7488 case 116u: goto st8; |
7868 case 132u: goto st9; | 7489 case 132u: goto st9; |
7869 case 140u: goto st9; | 7490 case 140u: goto st9; |
7870 case 180u: goto st9; | 7491 case 180u: goto st9; |
7871 » » case 209u: goto tr461; | 7492 » » case 209u: goto tr434; |
7872 » » case 225u: goto tr462; | 7493 » » case 225u: goto tr435; |
7873 } | 7494 } |
7874 if ( (*( current_position)) < 112u ) { | 7495 if ( (*( current_position)) < 112u ) { |
7875 if ( (*( current_position)) < 48u ) { | 7496 if ( (*( current_position)) < 48u ) { |
7876 if ( (*( current_position)) <= 15u ) | 7497 if ( (*( current_position)) <= 15u ) |
7877 goto tr0; | 7498 goto tr0; |
7878 } else if ( (*( current_position)) > 55u ) { | 7499 } else if ( (*( current_position)) > 55u ) { |
7879 if ( 64u <= (*( current_position)) && (*( current_positi
on)) <= 79u ) | 7500 if ( 64u <= (*( current_position)) && (*( current_positi
on)) <= 79u ) |
7880 goto st7; | 7501 goto st7; |
7881 } else | 7502 } else |
7882 goto tr0; | 7503 goto tr0; |
7883 } else if ( (*( current_position)) > 119u ) { | 7504 } else if ( (*( current_position)) > 119u ) { |
7884 if ( (*( current_position)) < 176u ) { | 7505 if ( (*( current_position)) < 176u ) { |
7885 if ( 128u <= (*( current_position)) && (*( current_posit
ion)) <= 143u ) | 7506 if ( 128u <= (*( current_position)) && (*( current_posit
ion)) <= 143u ) |
7886 goto st3; | 7507 goto st3; |
7887 } else if ( (*( current_position)) > 183u ) { | 7508 } else if ( (*( current_position)) > 183u ) { |
7888 if ( (*( current_position)) > 207u ) { | 7509 if ( (*( current_position)) > 207u ) { |
7889 if ( 240u <= (*( current_position)) && (*( curre
nt_position)) <= 247u ) | 7510 if ( 240u <= (*( current_position)) && (*( curre
nt_position)) <= 247u ) |
7890 goto tr0; | 7511 goto tr0; |
7891 } else if ( (*( current_position)) >= 192u ) | 7512 } else if ( (*( current_position)) >= 192u ) |
7892 goto tr0; | 7513 goto tr0; |
7893 } else | 7514 } else |
7894 goto st3; | 7515 goto st3; |
7895 } else | 7516 } else |
7896 goto st7; | 7517 goto st7; |
7897 goto tr16; | 7518 goto tr16; |
7898 st221: | 7519 st206: |
7899 if ( ++( current_position) == ( end_of_bundle) ) | 7520 if ( ++( current_position) == ( end_of_bundle) ) |
7900 » » goto _test_eof221; | 7521 » » goto _test_eof206; |
7901 case 221: | 7522 case 206: |
7902 if ( (*( current_position)) == 224u ) | 7523 if ( (*( current_position)) == 224u ) |
7903 » » goto tr464; | 7524 » » goto tr437; |
7904 goto tr11; | 7525 goto tr11; |
7905 tr464: | 7526 tr437: |
7906 { | 7527 { |
7907 SET_IMM_TYPE(IMM8); | 7528 SET_IMMEDIATE_FORMAT(IMM8); |
7908 SET_IMM_PTR(current_position); | 7529 SET_IMMEDIATE_POINTER(current_position); |
7909 } | 7530 } |
7910 {} | 7531 {} |
7911 { | 7532 { |
7912 /* Mark start of this instruction as a valid target for jump. */ | 7533 /* Mark start of this instruction as a valid target for jump. */ |
7913 MarkValidJumpTarget(instruction_begin - data, valid_targets); | 7534 MarkValidJumpTarget(instruction_begin - codeblock, valid_targets); |
7914 | 7535 |
7915 /* Call user-supplied callback. */ | 7536 /* Call user-supplied callback. */ |
7916 instruction_end = current_position + 1; | 7537 instruction_end = current_position + 1; |
7917 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || | 7538 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || |
7918 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { | 7539 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { |
7919 result &= user_callback(instruction_begin, instruction_end, | 7540 result &= user_callback(instruction_begin, instruction_end, |
7920 instruction_info_collected, callback_data); | 7541 instruction_info_collected, callback_data); |
7921 } | 7542 } |
7922 | 7543 |
7923 /* On successful match the instruction_begin must point to the next byte | 7544 /* |
7924 * to be able to report the new offset as the start of instruction | 7545 * We may set instruction_begin at the first byte of the instruction instead |
7925 * causing error. */ | 7546 * of here but in the case of incorrect one byte instructions user callback |
| 7547 * may be called before instruction_begin is set. |
| 7548 */ |
7926 instruction_begin = instruction_end; | 7549 instruction_begin = instruction_end; |
7927 | 7550 |
7928 /* Clear variables (well, one variable currently). */ | 7551 /* Clear variables (well, one variable currently). */ |
7929 instruction_info_collected = 0; | 7552 instruction_info_collected = 0; |
7930 } | 7553 } |
7931 » goto st236; | 7554 » goto st221; |
7932 st236: | 7555 st221: |
7933 if ( ++( current_position) == ( end_of_bundle) ) | 7556 if ( ++( current_position) == ( end_of_bundle) ) |
7934 » » goto _test_eof236; | 7557 » » goto _test_eof221; |
7935 case 236: | 7558 case 221: |
7936 switch( (*( current_position)) ) { | 7559 switch( (*( current_position)) ) { |
7937 case 4u: goto st10; | 7560 case 4u: goto st10; |
7938 case 5u: goto st11; | 7561 case 5u: goto st11; |
7939 case 12u: goto st10; | 7562 case 12u: goto st10; |
7940 case 13u: goto st11; | 7563 case 13u: goto st11; |
7941 case 15u: goto st15; | 7564 case 15u: goto st15; |
7942 case 20u: goto st10; | 7565 case 20u: goto st10; |
7943 case 21u: goto st11; | 7566 case 21u: goto st11; |
7944 case 28u: goto st10; | 7567 case 28u: goto st10; |
7945 case 29u: goto st11; | 7568 case 29u: goto st11; |
(...skipping 11 matching lines...) Expand all Loading... |
7957 case 102u: goto st74; | 7580 case 102u: goto st74; |
7958 case 104u: goto st11; | 7581 case 104u: goto st11; |
7959 case 105u: goto st130; | 7582 case 105u: goto st130; |
7960 case 106u: goto st10; | 7583 case 106u: goto st10; |
7961 case 107u: goto st56; | 7584 case 107u: goto st56; |
7962 case 128u: goto st56; | 7585 case 128u: goto st56; |
7963 case 129u: goto st130; | 7586 case 129u: goto st130; |
7964 case 131u: goto st139; | 7587 case 131u: goto st139; |
7965 case 141u: goto st115; | 7588 case 141u: goto st115; |
7966 case 143u: goto st141; | 7589 case 143u: goto st141; |
7967 » » case 155u: goto tr413; | 7590 » » case 155u: goto tr386; |
7968 case 168u: goto st10; | 7591 case 168u: goto st10; |
7969 case 169u: goto st11; | 7592 case 169u: goto st11; |
7970 case 196u: goto st153; | 7593 case 196u: goto st153; |
7971 » » case 198u: goto st185; | 7594 » » case 198u: goto st170; |
7972 » » case 199u: goto st186; | 7595 » » case 199u: goto st171; |
7973 case 201u: goto tr0; | 7596 case 201u: goto tr0; |
7974 » » case 216u: goto st187; | 7597 » » case 216u: goto st172; |
7975 » » case 217u: goto st188; | 7598 » » case 217u: goto st173; |
7976 » » case 218u: goto st189; | 7599 » » case 218u: goto st174; |
7977 » » case 219u: goto st190; | 7600 » » case 219u: goto st175; |
7978 » » case 220u: goto st191; | 7601 » » case 220u: goto st176; |
7979 » » case 221u: goto st192; | 7602 » » case 221u: goto st177; |
7980 » » case 222u: goto st193; | 7603 » » case 222u: goto st178; |
7981 » » case 223u: goto st194; | 7604 » » case 223u: goto st179; |
7982 » » case 232u: goto st195; | 7605 » » case 232u: goto st180; |
7983 case 233u: goto st52; | 7606 case 233u: goto st52; |
7984 case 235u: goto st67; | 7607 case 235u: goto st67; |
7985 » » case 240u: goto st199; | 7608 » » case 240u: goto st184; |
7986 » » case 242u: goto st202; | 7609 » » case 242u: goto st187; |
7987 » » case 243u: goto st210; | 7610 » » case 243u: goto st195; |
7988 » » case 246u: goto st215; | 7611 » » case 246u: goto st200; |
7989 » » case 247u: goto st216; | 7612 » » case 247u: goto st201; |
7990 » » case 254u: goto st217; | 7613 » » case 254u: goto st202; |
7991 » » case 255u: goto st222; | 7614 » » case 255u: goto st207; |
7992 } | 7615 } |
7993 if ( (*( current_position)) < 132u ) { | 7616 if ( (*( current_position)) < 132u ) { |
7994 if ( (*( current_position)) < 32u ) { | 7617 if ( (*( current_position)) < 32u ) { |
7995 if ( (*( current_position)) < 8u ) { | 7618 if ( (*( current_position)) < 8u ) { |
7996 if ( (*( current_position)) <= 3u ) | 7619 if ( (*( current_position)) <= 3u ) |
7997 goto st1; | 7620 goto st1; |
7998 } else if ( (*( current_position)) > 11u ) { | 7621 } else if ( (*( current_position)) > 11u ) { |
7999 if ( (*( current_position)) > 19u ) { | 7622 if ( (*( current_position)) > 19u ) { |
8000 if ( 24u <= (*( current_position)) && (*
( current_position)) <= 27u ) | 7623 if ( 24u <= (*( current_position)) && (*
( current_position)) <= 27u ) |
8001 goto st1; | 7624 goto st1; |
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
8049 goto tr0; | 7672 goto tr0; |
8050 } else if ( (*( current_position)) >= 244u ) | 7673 } else if ( (*( current_position)) >= 244u ) |
8051 goto tr0; | 7674 goto tr0; |
8052 } else | 7675 } else |
8053 goto st118; | 7676 goto st118; |
8054 } else | 7677 } else |
8055 goto st10; | 7678 goto st10; |
8056 } else | 7679 } else |
8057 goto st1; | 7680 goto st1; |
8058 goto tr16; | 7681 goto tr16; |
8059 st222: | 7682 st207: |
8060 if ( ++( current_position) == ( end_of_bundle) ) | 7683 if ( ++( current_position) == ( end_of_bundle) ) |
8061 » » goto _test_eof222; | 7684 » » goto _test_eof207; |
8062 case 222: | 7685 case 207: |
8063 switch( (*( current_position)) ) { | 7686 switch( (*( current_position)) ) { |
8064 case 4u: goto st2; | 7687 case 4u: goto st2; |
8065 case 5u: goto st3; | 7688 case 5u: goto st3; |
8066 case 12u: goto st2; | 7689 case 12u: goto st2; |
8067 case 13u: goto st3; | 7690 case 13u: goto st3; |
8068 case 52u: goto st2; | 7691 case 52u: goto st2; |
8069 case 53u: goto st3; | 7692 case 53u: goto st3; |
8070 case 68u: goto st8; | 7693 case 68u: goto st8; |
8071 case 76u: goto st8; | 7694 case 76u: goto st8; |
8072 case 116u: goto st8; | 7695 case 116u: goto st8; |
8073 case 132u: goto st9; | 7696 case 132u: goto st9; |
8074 case 140u: goto st9; | 7697 case 140u: goto st9; |
8075 case 180u: goto st9; | 7698 case 180u: goto st9; |
8076 » » case 210u: goto tr461; | 7699 » » case 210u: goto tr434; |
8077 » » case 226u: goto tr462; | 7700 » » case 226u: goto tr435; |
8078 } | 7701 } |
8079 if ( (*( current_position)) < 112u ) { | 7702 if ( (*( current_position)) < 112u ) { |
8080 if ( (*( current_position)) < 48u ) { | 7703 if ( (*( current_position)) < 48u ) { |
8081 if ( (*( current_position)) <= 15u ) | 7704 if ( (*( current_position)) <= 15u ) |
8082 goto tr0; | 7705 goto tr0; |
8083 } else if ( (*( current_position)) > 55u ) { | 7706 } else if ( (*( current_position)) > 55u ) { |
8084 if ( 64u <= (*( current_position)) && (*( current_positi
on)) <= 79u ) | 7707 if ( 64u <= (*( current_position)) && (*( current_positi
on)) <= 79u ) |
8085 goto st7; | 7708 goto st7; |
8086 } else | 7709 } else |
8087 goto tr0; | 7710 goto tr0; |
8088 } else if ( (*( current_position)) > 119u ) { | 7711 } else if ( (*( current_position)) > 119u ) { |
8089 if ( (*( current_position)) < 176u ) { | 7712 if ( (*( current_position)) < 176u ) { |
8090 if ( 128u <= (*( current_position)) && (*( current_posit
ion)) <= 143u ) | 7713 if ( 128u <= (*( current_position)) && (*( current_posit
ion)) <= 143u ) |
8091 goto st3; | 7714 goto st3; |
8092 } else if ( (*( current_position)) > 183u ) { | 7715 } else if ( (*( current_position)) > 183u ) { |
8093 if ( (*( current_position)) > 207u ) { | 7716 if ( (*( current_position)) > 207u ) { |
8094 if ( 240u <= (*( current_position)) && (*( curre
nt_position)) <= 247u ) | 7717 if ( 240u <= (*( current_position)) && (*( curre
nt_position)) <= 247u ) |
8095 goto tr0; | 7718 goto tr0; |
8096 } else if ( (*( current_position)) >= 192u ) | 7719 } else if ( (*( current_position)) >= 192u ) |
8097 goto tr0; | 7720 goto tr0; |
8098 } else | 7721 } else |
8099 goto st3; | 7722 goto st3; |
8100 } else | 7723 } else |
8101 goto st7; | 7724 goto st7; |
8102 goto tr16; | 7725 goto tr16; |
8103 st223: | 7726 st208: |
8104 if ( ++( current_position) == ( end_of_bundle) ) | 7727 if ( ++( current_position) == ( end_of_bundle) ) |
8105 » » goto _test_eof223; | 7728 » » goto _test_eof208; |
8106 case 223: | 7729 case 208: |
8107 if ( (*( current_position)) == 224u ) | 7730 if ( (*( current_position)) == 224u ) |
8108 » » goto tr465; | 7731 » » goto tr438; |
8109 goto tr11; | 7732 goto tr11; |
8110 tr465: | 7733 tr438: |
8111 { | 7734 { |
8112 SET_IMM_TYPE(IMM8); | 7735 SET_IMMEDIATE_FORMAT(IMM8); |
8113 SET_IMM_PTR(current_position); | 7736 SET_IMMEDIATE_POINTER(current_position); |
8114 } | 7737 } |
8115 {} | 7738 {} |
8116 { | 7739 { |
8117 /* Mark start of this instruction as a valid target for jump. */ | 7740 /* Mark start of this instruction as a valid target for jump. */ |
8118 MarkValidJumpTarget(instruction_begin - data, valid_targets); | 7741 MarkValidJumpTarget(instruction_begin - codeblock, valid_targets); |
8119 | 7742 |
8120 /* Call user-supplied callback. */ | 7743 /* Call user-supplied callback. */ |
8121 instruction_end = current_position + 1; | 7744 instruction_end = current_position + 1; |
8122 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || | 7745 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || |
8123 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { | 7746 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { |
8124 result &= user_callback(instruction_begin, instruction_end, | 7747 result &= user_callback(instruction_begin, instruction_end, |
8125 instruction_info_collected, callback_data); | 7748 instruction_info_collected, callback_data); |
8126 } | 7749 } |
8127 | 7750 |
8128 /* On successful match the instruction_begin must point to the next byte | 7751 /* |
8129 * to be able to report the new offset as the start of instruction | 7752 * We may set instruction_begin at the first byte of the instruction instead |
8130 * causing error. */ | 7753 * of here but in the case of incorrect one byte instructions user callback |
| 7754 * may be called before instruction_begin is set. |
| 7755 */ |
8131 instruction_begin = instruction_end; | 7756 instruction_begin = instruction_end; |
8132 | 7757 |
8133 /* Clear variables (well, one variable currently). */ | 7758 /* Clear variables (well, one variable currently). */ |
8134 instruction_info_collected = 0; | 7759 instruction_info_collected = 0; |
8135 } | 7760 } |
8136 » goto st237; | 7761 » goto st222; |
8137 st237: | 7762 st222: |
8138 if ( ++( current_position) == ( end_of_bundle) ) | 7763 if ( ++( current_position) == ( end_of_bundle) ) |
8139 » » goto _test_eof237; | 7764 » » goto _test_eof222; |
8140 case 237: | 7765 case 222: |
8141 switch( (*( current_position)) ) { | 7766 switch( (*( current_position)) ) { |
8142 case 4u: goto st10; | 7767 case 4u: goto st10; |
8143 case 5u: goto st11; | 7768 case 5u: goto st11; |
8144 case 12u: goto st10; | 7769 case 12u: goto st10; |
8145 case 13u: goto st11; | 7770 case 13u: goto st11; |
8146 case 15u: goto st15; | 7771 case 15u: goto st15; |
8147 case 20u: goto st10; | 7772 case 20u: goto st10; |
8148 case 21u: goto st11; | 7773 case 21u: goto st11; |
8149 case 28u: goto st10; | 7774 case 28u: goto st10; |
8150 case 29u: goto st11; | 7775 case 29u: goto st11; |
(...skipping 11 matching lines...) Expand all Loading... |
8162 case 102u: goto st74; | 7787 case 102u: goto st74; |
8163 case 104u: goto st11; | 7788 case 104u: goto st11; |
8164 case 105u: goto st130; | 7789 case 105u: goto st130; |
8165 case 106u: goto st10; | 7790 case 106u: goto st10; |
8166 case 107u: goto st56; | 7791 case 107u: goto st56; |
8167 case 128u: goto st56; | 7792 case 128u: goto st56; |
8168 case 129u: goto st130; | 7793 case 129u: goto st130; |
8169 case 131u: goto st139; | 7794 case 131u: goto st139; |
8170 case 141u: goto st115; | 7795 case 141u: goto st115; |
8171 case 143u: goto st141; | 7796 case 143u: goto st141; |
8172 » » case 155u: goto tr413; | 7797 » » case 155u: goto tr386; |
8173 case 168u: goto st10; | 7798 case 168u: goto st10; |
8174 case 169u: goto st11; | 7799 case 169u: goto st11; |
8175 case 196u: goto st153; | 7800 case 196u: goto st153; |
8176 » » case 198u: goto st185; | 7801 » » case 198u: goto st170; |
8177 » » case 199u: goto st186; | 7802 » » case 199u: goto st171; |
8178 case 201u: goto tr0; | 7803 case 201u: goto tr0; |
8179 » » case 216u: goto st187; | 7804 » » case 216u: goto st172; |
8180 » » case 217u: goto st188; | 7805 » » case 217u: goto st173; |
8181 » » case 218u: goto st189; | 7806 » » case 218u: goto st174; |
8182 » » case 219u: goto st190; | 7807 » » case 219u: goto st175; |
8183 » » case 220u: goto st191; | 7808 » » case 220u: goto st176; |
8184 » » case 221u: goto st192; | 7809 » » case 221u: goto st177; |
8185 » » case 222u: goto st193; | 7810 » » case 222u: goto st178; |
8186 » » case 223u: goto st194; | 7811 » » case 223u: goto st179; |
8187 » » case 232u: goto st195; | 7812 » » case 232u: goto st180; |
8188 case 233u: goto st52; | 7813 case 233u: goto st52; |
8189 case 235u: goto st67; | 7814 case 235u: goto st67; |
8190 » » case 240u: goto st199; | 7815 » » case 240u: goto st184; |
8191 » » case 242u: goto st202; | 7816 » » case 242u: goto st187; |
8192 » » case 243u: goto st210; | 7817 » » case 243u: goto st195; |
8193 » » case 246u: goto st215; | 7818 » » case 246u: goto st200; |
8194 » » case 247u: goto st216; | 7819 » » case 247u: goto st201; |
8195 » » case 254u: goto st217; | 7820 » » case 254u: goto st202; |
8196 » » case 255u: goto st224; | 7821 » » case 255u: goto st209; |
8197 } | 7822 } |
8198 if ( (*( current_position)) < 132u ) { | 7823 if ( (*( current_position)) < 132u ) { |
8199 if ( (*( current_position)) < 32u ) { | 7824 if ( (*( current_position)) < 32u ) { |
8200 if ( (*( current_position)) < 8u ) { | 7825 if ( (*( current_position)) < 8u ) { |
8201 if ( (*( current_position)) <= 3u ) | 7826 if ( (*( current_position)) <= 3u ) |
8202 goto st1; | 7827 goto st1; |
8203 } else if ( (*( current_position)) > 11u ) { | 7828 } else if ( (*( current_position)) > 11u ) { |
8204 if ( (*( current_position)) > 19u ) { | 7829 if ( (*( current_position)) > 19u ) { |
8205 if ( 24u <= (*( current_position)) && (*
( current_position)) <= 27u ) | 7830 if ( 24u <= (*( current_position)) && (*
( current_position)) <= 27u ) |
8206 goto st1; | 7831 goto st1; |
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
8254 goto tr0; | 7879 goto tr0; |
8255 } else if ( (*( current_position)) >= 244u ) | 7880 } else if ( (*( current_position)) >= 244u ) |
8256 goto tr0; | 7881 goto tr0; |
8257 } else | 7882 } else |
8258 goto st118; | 7883 goto st118; |
8259 } else | 7884 } else |
8260 goto st10; | 7885 goto st10; |
8261 } else | 7886 } else |
8262 goto st1; | 7887 goto st1; |
8263 goto tr16; | 7888 goto tr16; |
8264 st224: | 7889 st209: |
8265 if ( ++( current_position) == ( end_of_bundle) ) | 7890 if ( ++( current_position) == ( end_of_bundle) ) |
8266 » » goto _test_eof224; | 7891 » » goto _test_eof209; |
8267 case 224: | 7892 case 209: |
8268 switch( (*( current_position)) ) { | 7893 switch( (*( current_position)) ) { |
8269 case 4u: goto st2; | 7894 case 4u: goto st2; |
8270 case 5u: goto st3; | 7895 case 5u: goto st3; |
8271 case 12u: goto st2; | 7896 case 12u: goto st2; |
8272 case 13u: goto st3; | 7897 case 13u: goto st3; |
8273 case 52u: goto st2; | 7898 case 52u: goto st2; |
8274 case 53u: goto st3; | 7899 case 53u: goto st3; |
8275 case 68u: goto st8; | 7900 case 68u: goto st8; |
8276 case 76u: goto st8; | 7901 case 76u: goto st8; |
8277 case 116u: goto st8; | 7902 case 116u: goto st8; |
8278 case 132u: goto st9; | 7903 case 132u: goto st9; |
8279 case 140u: goto st9; | 7904 case 140u: goto st9; |
8280 case 180u: goto st9; | 7905 case 180u: goto st9; |
8281 » » case 211u: goto tr461; | 7906 » » case 211u: goto tr434; |
8282 » » case 227u: goto tr462; | 7907 » » case 227u: goto tr435; |
8283 } | 7908 } |
8284 if ( (*( current_position)) < 112u ) { | 7909 if ( (*( current_position)) < 112u ) { |
8285 if ( (*( current_position)) < 48u ) { | 7910 if ( (*( current_position)) < 48u ) { |
8286 if ( (*( current_position)) <= 15u ) | 7911 if ( (*( current_position)) <= 15u ) |
8287 goto tr0; | 7912 goto tr0; |
8288 } else if ( (*( current_position)) > 55u ) { | 7913 } else if ( (*( current_position)) > 55u ) { |
8289 if ( 64u <= (*( current_position)) && (*( current_positi
on)) <= 79u ) | 7914 if ( 64u <= (*( current_position)) && (*( current_positi
on)) <= 79u ) |
8290 goto st7; | 7915 goto st7; |
8291 } else | 7916 } else |
8292 goto tr0; | 7917 goto tr0; |
8293 } else if ( (*( current_position)) > 119u ) { | 7918 } else if ( (*( current_position)) > 119u ) { |
8294 if ( (*( current_position)) < 176u ) { | 7919 if ( (*( current_position)) < 176u ) { |
8295 if ( 128u <= (*( current_position)) && (*( current_posit
ion)) <= 143u ) | 7920 if ( 128u <= (*( current_position)) && (*( current_posit
ion)) <= 143u ) |
8296 goto st3; | 7921 goto st3; |
8297 } else if ( (*( current_position)) > 183u ) { | 7922 } else if ( (*( current_position)) > 183u ) { |
8298 if ( (*( current_position)) > 207u ) { | 7923 if ( (*( current_position)) > 207u ) { |
8299 if ( 240u <= (*( current_position)) && (*( curre
nt_position)) <= 247u ) | 7924 if ( 240u <= (*( current_position)) && (*( curre
nt_position)) <= 247u ) |
8300 goto tr0; | 7925 goto tr0; |
8301 } else if ( (*( current_position)) >= 192u ) | 7926 } else if ( (*( current_position)) >= 192u ) |
8302 goto tr0; | 7927 goto tr0; |
8303 } else | 7928 } else |
8304 goto st3; | 7929 goto st3; |
8305 } else | 7930 } else |
8306 goto st7; | 7931 goto st7; |
8307 goto tr16; | 7932 goto tr16; |
8308 st225: | 7933 st210: |
8309 if ( ++( current_position) == ( end_of_bundle) ) | 7934 if ( ++( current_position) == ( end_of_bundle) ) |
8310 » » goto _test_eof225; | 7935 » » goto _test_eof210; |
8311 case 225: | 7936 case 210: |
8312 if ( (*( current_position)) == 224u ) | 7937 if ( (*( current_position)) == 224u ) |
8313 » » goto tr466; | 7938 » » goto tr439; |
8314 goto tr11; | 7939 goto tr11; |
8315 tr466: | 7940 tr439: |
8316 { | 7941 { |
8317 SET_IMM_TYPE(IMM8); | 7942 SET_IMMEDIATE_FORMAT(IMM8); |
8318 SET_IMM_PTR(current_position); | 7943 SET_IMMEDIATE_POINTER(current_position); |
8319 } | 7944 } |
8320 {} | 7945 {} |
8321 { | 7946 { |
8322 /* Mark start of this instruction as a valid target for jump. */ | 7947 /* Mark start of this instruction as a valid target for jump. */ |
8323 MarkValidJumpTarget(instruction_begin - data, valid_targets); | 7948 MarkValidJumpTarget(instruction_begin - codeblock, valid_targets); |
8324 | 7949 |
8325 /* Call user-supplied callback. */ | 7950 /* Call user-supplied callback. */ |
8326 instruction_end = current_position + 1; | 7951 instruction_end = current_position + 1; |
8327 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || | 7952 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || |
8328 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { | 7953 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { |
8329 result &= user_callback(instruction_begin, instruction_end, | 7954 result &= user_callback(instruction_begin, instruction_end, |
8330 instruction_info_collected, callback_data); | 7955 instruction_info_collected, callback_data); |
8331 } | 7956 } |
8332 | 7957 |
8333 /* On successful match the instruction_begin must point to the next byte | 7958 /* |
8334 * to be able to report the new offset as the start of instruction | 7959 * We may set instruction_begin at the first byte of the instruction instead |
8335 * causing error. */ | 7960 * of here but in the case of incorrect one byte instructions user callback |
| 7961 * may be called before instruction_begin is set. |
| 7962 */ |
8336 instruction_begin = instruction_end; | 7963 instruction_begin = instruction_end; |
8337 | 7964 |
8338 /* Clear variables (well, one variable currently). */ | 7965 /* Clear variables (well, one variable currently). */ |
8339 instruction_info_collected = 0; | 7966 instruction_info_collected = 0; |
8340 } | 7967 } |
8341 » goto st238; | 7968 » goto st223; |
8342 st238: | 7969 st223: |
8343 if ( ++( current_position) == ( end_of_bundle) ) | 7970 if ( ++( current_position) == ( end_of_bundle) ) |
8344 » » goto _test_eof238; | 7971 » » goto _test_eof223; |
8345 case 238: | 7972 case 223: |
8346 switch( (*( current_position)) ) { | 7973 switch( (*( current_position)) ) { |
8347 case 4u: goto st10; | 7974 case 4u: goto st10; |
8348 case 5u: goto st11; | 7975 case 5u: goto st11; |
8349 case 12u: goto st10; | 7976 case 12u: goto st10; |
8350 case 13u: goto st11; | 7977 case 13u: goto st11; |
8351 case 15u: goto st15; | 7978 case 15u: goto st15; |
8352 case 20u: goto st10; | 7979 case 20u: goto st10; |
8353 case 21u: goto st11; | 7980 case 21u: goto st11; |
8354 case 28u: goto st10; | 7981 case 28u: goto st10; |
8355 case 29u: goto st11; | 7982 case 29u: goto st11; |
(...skipping 11 matching lines...) Expand all Loading... |
8367 case 102u: goto st74; | 7994 case 102u: goto st74; |
8368 case 104u: goto st11; | 7995 case 104u: goto st11; |
8369 case 105u: goto st130; | 7996 case 105u: goto st130; |
8370 case 106u: goto st10; | 7997 case 106u: goto st10; |
8371 case 107u: goto st56; | 7998 case 107u: goto st56; |
8372 case 128u: goto st56; | 7999 case 128u: goto st56; |
8373 case 129u: goto st130; | 8000 case 129u: goto st130; |
8374 case 131u: goto st139; | 8001 case 131u: goto st139; |
8375 case 141u: goto st115; | 8002 case 141u: goto st115; |
8376 case 143u: goto st141; | 8003 case 143u: goto st141; |
8377 » » case 155u: goto tr413; | 8004 » » case 155u: goto tr386; |
8378 case 168u: goto st10; | 8005 case 168u: goto st10; |
8379 case 169u: goto st11; | 8006 case 169u: goto st11; |
8380 case 196u: goto st153; | 8007 case 196u: goto st153; |
8381 » » case 198u: goto st185; | 8008 » » case 198u: goto st170; |
8382 » » case 199u: goto st186; | 8009 » » case 199u: goto st171; |
8383 case 201u: goto tr0; | 8010 case 201u: goto tr0; |
8384 » » case 216u: goto st187; | 8011 » » case 216u: goto st172; |
8385 » » case 217u: goto st188; | 8012 » » case 217u: goto st173; |
8386 » » case 218u: goto st189; | 8013 » » case 218u: goto st174; |
8387 » » case 219u: goto st190; | 8014 » » case 219u: goto st175; |
8388 » » case 220u: goto st191; | 8015 » » case 220u: goto st176; |
8389 » » case 221u: goto st192; | 8016 » » case 221u: goto st177; |
8390 » » case 222u: goto st193; | 8017 » » case 222u: goto st178; |
8391 » » case 223u: goto st194; | 8018 » » case 223u: goto st179; |
8392 » » case 232u: goto st195; | 8019 » » case 232u: goto st180; |
8393 case 233u: goto st52; | 8020 case 233u: goto st52; |
8394 case 235u: goto st67; | 8021 case 235u: goto st67; |
8395 » » case 240u: goto st199; | 8022 » » case 240u: goto st184; |
8396 » » case 242u: goto st202; | 8023 » » case 242u: goto st187; |
8397 » » case 243u: goto st210; | 8024 » » case 243u: goto st195; |
8398 » » case 246u: goto st215; | 8025 » » case 246u: goto st200; |
8399 » » case 247u: goto st216; | 8026 » » case 247u: goto st201; |
8400 » » case 254u: goto st217; | 8027 » » case 254u: goto st202; |
8401 » » case 255u: goto st226; | 8028 » » case 255u: goto st211; |
8402 } | 8029 } |
8403 if ( (*( current_position)) < 132u ) { | 8030 if ( (*( current_position)) < 132u ) { |
8404 if ( (*( current_position)) < 32u ) { | 8031 if ( (*( current_position)) < 32u ) { |
8405 if ( (*( current_position)) < 8u ) { | 8032 if ( (*( current_position)) < 8u ) { |
8406 if ( (*( current_position)) <= 3u ) | 8033 if ( (*( current_position)) <= 3u ) |
8407 goto st1; | 8034 goto st1; |
8408 } else if ( (*( current_position)) > 11u ) { | 8035 } else if ( (*( current_position)) > 11u ) { |
8409 if ( (*( current_position)) > 19u ) { | 8036 if ( (*( current_position)) > 19u ) { |
8410 if ( 24u <= (*( current_position)) && (*
( current_position)) <= 27u ) | 8037 if ( 24u <= (*( current_position)) && (*
( current_position)) <= 27u ) |
8411 goto st1; | 8038 goto st1; |
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
8459 goto tr0; | 8086 goto tr0; |
8460 } else if ( (*( current_position)) >= 244u ) | 8087 } else if ( (*( current_position)) >= 244u ) |
8461 goto tr0; | 8088 goto tr0; |
8462 } else | 8089 } else |
8463 goto st118; | 8090 goto st118; |
8464 } else | 8091 } else |
8465 goto st10; | 8092 goto st10; |
8466 } else | 8093 } else |
8467 goto st1; | 8094 goto st1; |
8468 goto tr16; | 8095 goto tr16; |
8469 st226: | 8096 st211: |
8470 if ( ++( current_position) == ( end_of_bundle) ) | 8097 if ( ++( current_position) == ( end_of_bundle) ) |
8471 » » goto _test_eof226; | 8098 » » goto _test_eof211; |
8472 case 226: | 8099 case 211: |
8473 switch( (*( current_position)) ) { | 8100 switch( (*( current_position)) ) { |
8474 case 4u: goto st2; | 8101 case 4u: goto st2; |
8475 case 5u: goto st3; | 8102 case 5u: goto st3; |
8476 case 12u: goto st2; | 8103 case 12u: goto st2; |
8477 case 13u: goto st3; | 8104 case 13u: goto st3; |
8478 case 52u: goto st2; | 8105 case 52u: goto st2; |
8479 case 53u: goto st3; | 8106 case 53u: goto st3; |
8480 case 68u: goto st8; | 8107 case 68u: goto st8; |
8481 case 76u: goto st8; | 8108 case 76u: goto st8; |
8482 case 116u: goto st8; | 8109 case 116u: goto st8; |
8483 case 132u: goto st9; | 8110 case 132u: goto st9; |
8484 case 140u: goto st9; | 8111 case 140u: goto st9; |
8485 case 180u: goto st9; | 8112 case 180u: goto st9; |
8486 » » case 212u: goto tr461; | 8113 » » case 212u: goto tr434; |
8487 » » case 228u: goto tr462; | 8114 » » case 228u: goto tr435; |
8488 } | 8115 } |
8489 if ( (*( current_position)) < 112u ) { | 8116 if ( (*( current_position)) < 112u ) { |
8490 if ( (*( current_position)) < 48u ) { | 8117 if ( (*( current_position)) < 48u ) { |
8491 if ( (*( current_position)) <= 15u ) | 8118 if ( (*( current_position)) <= 15u ) |
8492 goto tr0; | 8119 goto tr0; |
8493 } else if ( (*( current_position)) > 55u ) { | 8120 } else if ( (*( current_position)) > 55u ) { |
8494 if ( 64u <= (*( current_position)) && (*( current_positi
on)) <= 79u ) | 8121 if ( 64u <= (*( current_position)) && (*( current_positi
on)) <= 79u ) |
8495 goto st7; | 8122 goto st7; |
8496 } else | 8123 } else |
8497 goto tr0; | 8124 goto tr0; |
8498 } else if ( (*( current_position)) > 119u ) { | 8125 } else if ( (*( current_position)) > 119u ) { |
8499 if ( (*( current_position)) < 176u ) { | 8126 if ( (*( current_position)) < 176u ) { |
8500 if ( 128u <= (*( current_position)) && (*( current_posit
ion)) <= 143u ) | 8127 if ( 128u <= (*( current_position)) && (*( current_posit
ion)) <= 143u ) |
8501 goto st3; | 8128 goto st3; |
8502 } else if ( (*( current_position)) > 183u ) { | 8129 } else if ( (*( current_position)) > 183u ) { |
8503 if ( (*( current_position)) > 207u ) { | 8130 if ( (*( current_position)) > 207u ) { |
8504 if ( 240u <= (*( current_position)) && (*( curre
nt_position)) <= 247u ) | 8131 if ( 240u <= (*( current_position)) && (*( curre
nt_position)) <= 247u ) |
8505 goto tr0; | 8132 goto tr0; |
8506 } else if ( (*( current_position)) >= 192u ) | 8133 } else if ( (*( current_position)) >= 192u ) |
8507 goto tr0; | 8134 goto tr0; |
8508 } else | 8135 } else |
8509 goto st3; | 8136 goto st3; |
8510 } else | 8137 } else |
8511 goto st7; | 8138 goto st7; |
8512 goto tr16; | 8139 goto tr16; |
8513 st227: | 8140 st212: |
8514 if ( ++( current_position) == ( end_of_bundle) ) | 8141 if ( ++( current_position) == ( end_of_bundle) ) |
8515 » » goto _test_eof227; | 8142 » » goto _test_eof212; |
8516 case 227: | 8143 case 212: |
8517 if ( (*( current_position)) == 224u ) | 8144 if ( (*( current_position)) == 224u ) |
8518 » » goto tr467; | 8145 » » goto tr440; |
8519 goto tr11; | 8146 goto tr11; |
8520 tr467: | 8147 tr440: |
8521 { | 8148 { |
8522 SET_IMM_TYPE(IMM8); | 8149 SET_IMMEDIATE_FORMAT(IMM8); |
8523 SET_IMM_PTR(current_position); | 8150 SET_IMMEDIATE_POINTER(current_position); |
8524 } | 8151 } |
8525 {} | 8152 {} |
8526 { | 8153 { |
8527 /* Mark start of this instruction as a valid target for jump. */ | 8154 /* Mark start of this instruction as a valid target for jump. */ |
8528 MarkValidJumpTarget(instruction_begin - data, valid_targets); | 8155 MarkValidJumpTarget(instruction_begin - codeblock, valid_targets); |
8529 | 8156 |
8530 /* Call user-supplied callback. */ | 8157 /* Call user-supplied callback. */ |
8531 instruction_end = current_position + 1; | 8158 instruction_end = current_position + 1; |
8532 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || | 8159 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || |
8533 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { | 8160 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { |
8534 result &= user_callback(instruction_begin, instruction_end, | 8161 result &= user_callback(instruction_begin, instruction_end, |
8535 instruction_info_collected, callback_data); | 8162 instruction_info_collected, callback_data); |
8536 } | 8163 } |
8537 | 8164 |
8538 /* On successful match the instruction_begin must point to the next byte | 8165 /* |
8539 * to be able to report the new offset as the start of instruction | 8166 * We may set instruction_begin at the first byte of the instruction instead |
8540 * causing error. */ | 8167 * of here but in the case of incorrect one byte instructions user callback |
| 8168 * may be called before instruction_begin is set. |
| 8169 */ |
8541 instruction_begin = instruction_end; | 8170 instruction_begin = instruction_end; |
8542 | 8171 |
8543 /* Clear variables (well, one variable currently). */ | 8172 /* Clear variables (well, one variable currently). */ |
8544 instruction_info_collected = 0; | 8173 instruction_info_collected = 0; |
8545 } | 8174 } |
8546 » goto st239; | 8175 » goto st224; |
8547 st239: | 8176 st224: |
8548 if ( ++( current_position) == ( end_of_bundle) ) | 8177 if ( ++( current_position) == ( end_of_bundle) ) |
8549 » » goto _test_eof239; | 8178 » » goto _test_eof224; |
8550 case 239: | 8179 case 224: |
8551 switch( (*( current_position)) ) { | 8180 switch( (*( current_position)) ) { |
8552 case 4u: goto st10; | 8181 case 4u: goto st10; |
8553 case 5u: goto st11; | 8182 case 5u: goto st11; |
8554 case 12u: goto st10; | 8183 case 12u: goto st10; |
8555 case 13u: goto st11; | 8184 case 13u: goto st11; |
8556 case 15u: goto st15; | 8185 case 15u: goto st15; |
8557 case 20u: goto st10; | 8186 case 20u: goto st10; |
8558 case 21u: goto st11; | 8187 case 21u: goto st11; |
8559 case 28u: goto st10; | 8188 case 28u: goto st10; |
8560 case 29u: goto st11; | 8189 case 29u: goto st11; |
(...skipping 11 matching lines...) Expand all Loading... |
8572 case 102u: goto st74; | 8201 case 102u: goto st74; |
8573 case 104u: goto st11; | 8202 case 104u: goto st11; |
8574 case 105u: goto st130; | 8203 case 105u: goto st130; |
8575 case 106u: goto st10; | 8204 case 106u: goto st10; |
8576 case 107u: goto st56; | 8205 case 107u: goto st56; |
8577 case 128u: goto st56; | 8206 case 128u: goto st56; |
8578 case 129u: goto st130; | 8207 case 129u: goto st130; |
8579 case 131u: goto st139; | 8208 case 131u: goto st139; |
8580 case 141u: goto st115; | 8209 case 141u: goto st115; |
8581 case 143u: goto st141; | 8210 case 143u: goto st141; |
8582 » » case 155u: goto tr413; | 8211 » » case 155u: goto tr386; |
8583 case 168u: goto st10; | 8212 case 168u: goto st10; |
8584 case 169u: goto st11; | 8213 case 169u: goto st11; |
8585 case 196u: goto st153; | 8214 case 196u: goto st153; |
8586 » » case 198u: goto st185; | 8215 » » case 198u: goto st170; |
8587 » » case 199u: goto st186; | 8216 » » case 199u: goto st171; |
8588 case 201u: goto tr0; | 8217 case 201u: goto tr0; |
8589 » » case 216u: goto st187; | 8218 » » case 216u: goto st172; |
8590 » » case 217u: goto st188; | 8219 » » case 217u: goto st173; |
8591 » » case 218u: goto st189; | 8220 » » case 218u: goto st174; |
8592 » » case 219u: goto st190; | 8221 » » case 219u: goto st175; |
8593 » » case 220u: goto st191; | 8222 » » case 220u: goto st176; |
8594 » » case 221u: goto st192; | 8223 » » case 221u: goto st177; |
8595 » » case 222u: goto st193; | 8224 » » case 222u: goto st178; |
8596 » » case 223u: goto st194; | 8225 » » case 223u: goto st179; |
8597 » » case 232u: goto st195; | 8226 » » case 232u: goto st180; |
8598 case 233u: goto st52; | 8227 case 233u: goto st52; |
8599 case 235u: goto st67; | 8228 case 235u: goto st67; |
8600 » » case 240u: goto st199; | 8229 » » case 240u: goto st184; |
8601 » » case 242u: goto st202; | 8230 » » case 242u: goto st187; |
8602 » » case 243u: goto st210; | 8231 » » case 243u: goto st195; |
8603 » » case 246u: goto st215; | 8232 » » case 246u: goto st200; |
8604 » » case 247u: goto st216; | 8233 » » case 247u: goto st201; |
8605 » » case 254u: goto st217; | 8234 » » case 254u: goto st202; |
8606 » » case 255u: goto st228; | 8235 » » case 255u: goto st213; |
8607 } | 8236 } |
8608 if ( (*( current_position)) < 132u ) { | 8237 if ( (*( current_position)) < 132u ) { |
8609 if ( (*( current_position)) < 32u ) { | 8238 if ( (*( current_position)) < 32u ) { |
8610 if ( (*( current_position)) < 8u ) { | 8239 if ( (*( current_position)) < 8u ) { |
8611 if ( (*( current_position)) <= 3u ) | 8240 if ( (*( current_position)) <= 3u ) |
8612 goto st1; | 8241 goto st1; |
8613 } else if ( (*( current_position)) > 11u ) { | 8242 } else if ( (*( current_position)) > 11u ) { |
8614 if ( (*( current_position)) > 19u ) { | 8243 if ( (*( current_position)) > 19u ) { |
8615 if ( 24u <= (*( current_position)) && (*
( current_position)) <= 27u ) | 8244 if ( 24u <= (*( current_position)) && (*
( current_position)) <= 27u ) |
8616 goto st1; | 8245 goto st1; |
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
8664 goto tr0; | 8293 goto tr0; |
8665 } else if ( (*( current_position)) >= 244u ) | 8294 } else if ( (*( current_position)) >= 244u ) |
8666 goto tr0; | 8295 goto tr0; |
8667 } else | 8296 } else |
8668 goto st118; | 8297 goto st118; |
8669 } else | 8298 } else |
8670 goto st10; | 8299 goto st10; |
8671 } else | 8300 } else |
8672 goto st1; | 8301 goto st1; |
8673 goto tr16; | 8302 goto tr16; |
8674 st228: | 8303 st213: |
8675 if ( ++( current_position) == ( end_of_bundle) ) | 8304 if ( ++( current_position) == ( end_of_bundle) ) |
8676 » » goto _test_eof228; | 8305 » » goto _test_eof213; |
8677 case 228: | 8306 case 213: |
8678 switch( (*( current_position)) ) { | 8307 switch( (*( current_position)) ) { |
8679 case 4u: goto st2; | 8308 case 4u: goto st2; |
8680 case 5u: goto st3; | 8309 case 5u: goto st3; |
8681 case 12u: goto st2; | 8310 case 12u: goto st2; |
8682 case 13u: goto st3; | 8311 case 13u: goto st3; |
8683 case 52u: goto st2; | 8312 case 52u: goto st2; |
8684 case 53u: goto st3; | 8313 case 53u: goto st3; |
8685 case 68u: goto st8; | 8314 case 68u: goto st8; |
8686 case 76u: goto st8; | 8315 case 76u: goto st8; |
8687 case 116u: goto st8; | 8316 case 116u: goto st8; |
8688 case 132u: goto st9; | 8317 case 132u: goto st9; |
8689 case 140u: goto st9; | 8318 case 140u: goto st9; |
8690 case 180u: goto st9; | 8319 case 180u: goto st9; |
8691 » » case 213u: goto tr461; | 8320 » » case 213u: goto tr434; |
8692 » » case 229u: goto tr462; | 8321 » » case 229u: goto tr435; |
8693 } | 8322 } |
8694 if ( (*( current_position)) < 112u ) { | 8323 if ( (*( current_position)) < 112u ) { |
8695 if ( (*( current_position)) < 48u ) { | 8324 if ( (*( current_position)) < 48u ) { |
8696 if ( (*( current_position)) <= 15u ) | 8325 if ( (*( current_position)) <= 15u ) |
8697 goto tr0; | 8326 goto tr0; |
8698 } else if ( (*( current_position)) > 55u ) { | 8327 } else if ( (*( current_position)) > 55u ) { |
8699 if ( 64u <= (*( current_position)) && (*( current_positi
on)) <= 79u ) | 8328 if ( 64u <= (*( current_position)) && (*( current_positi
on)) <= 79u ) |
8700 goto st7; | 8329 goto st7; |
8701 } else | 8330 } else |
8702 goto tr0; | 8331 goto tr0; |
8703 } else if ( (*( current_position)) > 119u ) { | 8332 } else if ( (*( current_position)) > 119u ) { |
8704 if ( (*( current_position)) < 176u ) { | 8333 if ( (*( current_position)) < 176u ) { |
8705 if ( 128u <= (*( current_position)) && (*( current_posit
ion)) <= 143u ) | 8334 if ( 128u <= (*( current_position)) && (*( current_posit
ion)) <= 143u ) |
8706 goto st3; | 8335 goto st3; |
8707 } else if ( (*( current_position)) > 183u ) { | 8336 } else if ( (*( current_position)) > 183u ) { |
8708 if ( (*( current_position)) > 207u ) { | 8337 if ( (*( current_position)) > 207u ) { |
8709 if ( 240u <= (*( current_position)) && (*( curre
nt_position)) <= 247u ) | 8338 if ( 240u <= (*( current_position)) && (*( curre
nt_position)) <= 247u ) |
8710 goto tr0; | 8339 goto tr0; |
8711 } else if ( (*( current_position)) >= 192u ) | 8340 } else if ( (*( current_position)) >= 192u ) |
8712 goto tr0; | 8341 goto tr0; |
8713 } else | 8342 } else |
8714 goto st3; | 8343 goto st3; |
8715 } else | 8344 } else |
8716 goto st7; | 8345 goto st7; |
8717 goto tr16; | 8346 goto tr16; |
8718 st229: | 8347 st214: |
8719 if ( ++( current_position) == ( end_of_bundle) ) | 8348 if ( ++( current_position) == ( end_of_bundle) ) |
8720 » » goto _test_eof229; | 8349 » » goto _test_eof214; |
8721 case 229: | 8350 case 214: |
8722 if ( (*( current_position)) == 224u ) | 8351 if ( (*( current_position)) == 224u ) |
8723 » » goto tr468; | 8352 » » goto tr441; |
8724 goto tr11; | 8353 goto tr11; |
8725 tr468: | 8354 tr441: |
8726 { | 8355 { |
8727 SET_IMM_TYPE(IMM8); | 8356 SET_IMMEDIATE_FORMAT(IMM8); |
8728 SET_IMM_PTR(current_position); | 8357 SET_IMMEDIATE_POINTER(current_position); |
8729 } | 8358 } |
8730 {} | 8359 {} |
8731 { | 8360 { |
8732 /* Mark start of this instruction as a valid target for jump. */ | 8361 /* Mark start of this instruction as a valid target for jump. */ |
8733 MarkValidJumpTarget(instruction_begin - data, valid_targets); | 8362 MarkValidJumpTarget(instruction_begin - codeblock, valid_targets); |
8734 | 8363 |
8735 /* Call user-supplied callback. */ | 8364 /* Call user-supplied callback. */ |
8736 instruction_end = current_position + 1; | 8365 instruction_end = current_position + 1; |
8737 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || | 8366 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || |
8738 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { | 8367 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { |
8739 result &= user_callback(instruction_begin, instruction_end, | 8368 result &= user_callback(instruction_begin, instruction_end, |
8740 instruction_info_collected, callback_data); | 8369 instruction_info_collected, callback_data); |
8741 } | 8370 } |
8742 | 8371 |
8743 /* On successful match the instruction_begin must point to the next byte | 8372 /* |
8744 * to be able to report the new offset as the start of instruction | 8373 * We may set instruction_begin at the first byte of the instruction instead |
8745 * causing error. */ | 8374 * of here but in the case of incorrect one byte instructions user callback |
| 8375 * may be called before instruction_begin is set. |
| 8376 */ |
8746 instruction_begin = instruction_end; | 8377 instruction_begin = instruction_end; |
8747 | 8378 |
8748 /* Clear variables (well, one variable currently). */ | 8379 /* Clear variables (well, one variable currently). */ |
8749 instruction_info_collected = 0; | 8380 instruction_info_collected = 0; |
8750 } | 8381 } |
8751 » goto st240; | 8382 » goto st225; |
8752 st240: | 8383 st225: |
8753 if ( ++( current_position) == ( end_of_bundle) ) | 8384 if ( ++( current_position) == ( end_of_bundle) ) |
8754 » » goto _test_eof240; | 8385 » » goto _test_eof225; |
8755 case 240: | 8386 case 225: |
8756 switch( (*( current_position)) ) { | 8387 switch( (*( current_position)) ) { |
8757 case 4u: goto st10; | 8388 case 4u: goto st10; |
8758 case 5u: goto st11; | 8389 case 5u: goto st11; |
8759 case 12u: goto st10; | 8390 case 12u: goto st10; |
8760 case 13u: goto st11; | 8391 case 13u: goto st11; |
8761 case 15u: goto st15; | 8392 case 15u: goto st15; |
8762 case 20u: goto st10; | 8393 case 20u: goto st10; |
8763 case 21u: goto st11; | 8394 case 21u: goto st11; |
8764 case 28u: goto st10; | 8395 case 28u: goto st10; |
8765 case 29u: goto st11; | 8396 case 29u: goto st11; |
(...skipping 11 matching lines...) Expand all Loading... |
8777 case 102u: goto st74; | 8408 case 102u: goto st74; |
8778 case 104u: goto st11; | 8409 case 104u: goto st11; |
8779 case 105u: goto st130; | 8410 case 105u: goto st130; |
8780 case 106u: goto st10; | 8411 case 106u: goto st10; |
8781 case 107u: goto st56; | 8412 case 107u: goto st56; |
8782 case 128u: goto st56; | 8413 case 128u: goto st56; |
8783 case 129u: goto st130; | 8414 case 129u: goto st130; |
8784 case 131u: goto st139; | 8415 case 131u: goto st139; |
8785 case 141u: goto st115; | 8416 case 141u: goto st115; |
8786 case 143u: goto st141; | 8417 case 143u: goto st141; |
8787 » » case 155u: goto tr413; | 8418 » » case 155u: goto tr386; |
8788 case 168u: goto st10; | 8419 case 168u: goto st10; |
8789 case 169u: goto st11; | 8420 case 169u: goto st11; |
8790 case 196u: goto st153; | 8421 case 196u: goto st153; |
8791 » » case 198u: goto st185; | 8422 » » case 198u: goto st170; |
8792 » » case 199u: goto st186; | 8423 » » case 199u: goto st171; |
8793 case 201u: goto tr0; | 8424 case 201u: goto tr0; |
8794 » » case 216u: goto st187; | 8425 » » case 216u: goto st172; |
8795 » » case 217u: goto st188; | 8426 » » case 217u: goto st173; |
8796 » » case 218u: goto st189; | 8427 » » case 218u: goto st174; |
8797 » » case 219u: goto st190; | 8428 » » case 219u: goto st175; |
8798 » » case 220u: goto st191; | 8429 » » case 220u: goto st176; |
8799 » » case 221u: goto st192; | 8430 » » case 221u: goto st177; |
8800 » » case 222u: goto st193; | 8431 » » case 222u: goto st178; |
8801 » » case 223u: goto st194; | 8432 » » case 223u: goto st179; |
8802 » » case 232u: goto st195; | 8433 » » case 232u: goto st180; |
8803 case 233u: goto st52; | 8434 case 233u: goto st52; |
8804 case 235u: goto st67; | 8435 case 235u: goto st67; |
8805 » » case 240u: goto st199; | 8436 » » case 240u: goto st184; |
8806 » » case 242u: goto st202; | 8437 » » case 242u: goto st187; |
8807 » » case 243u: goto st210; | 8438 » » case 243u: goto st195; |
8808 » » case 246u: goto st215; | 8439 » » case 246u: goto st200; |
8809 » » case 247u: goto st216; | 8440 » » case 247u: goto st201; |
8810 » » case 254u: goto st217; | 8441 » » case 254u: goto st202; |
8811 » » case 255u: goto st230; | 8442 » » case 255u: goto st215; |
8812 } | 8443 } |
8813 if ( (*( current_position)) < 132u ) { | 8444 if ( (*( current_position)) < 132u ) { |
8814 if ( (*( current_position)) < 32u ) { | 8445 if ( (*( current_position)) < 32u ) { |
8815 if ( (*( current_position)) < 8u ) { | 8446 if ( (*( current_position)) < 8u ) { |
8816 if ( (*( current_position)) <= 3u ) | 8447 if ( (*( current_position)) <= 3u ) |
8817 goto st1; | 8448 goto st1; |
8818 } else if ( (*( current_position)) > 11u ) { | 8449 } else if ( (*( current_position)) > 11u ) { |
8819 if ( (*( current_position)) > 19u ) { | 8450 if ( (*( current_position)) > 19u ) { |
8820 if ( 24u <= (*( current_position)) && (*
( current_position)) <= 27u ) | 8451 if ( 24u <= (*( current_position)) && (*
( current_position)) <= 27u ) |
8821 goto st1; | 8452 goto st1; |
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
8869 goto tr0; | 8500 goto tr0; |
8870 } else if ( (*( current_position)) >= 244u ) | 8501 } else if ( (*( current_position)) >= 244u ) |
8871 goto tr0; | 8502 goto tr0; |
8872 } else | 8503 } else |
8873 goto st118; | 8504 goto st118; |
8874 } else | 8505 } else |
8875 goto st10; | 8506 goto st10; |
8876 } else | 8507 } else |
8877 goto st1; | 8508 goto st1; |
8878 goto tr16; | 8509 goto tr16; |
8879 st230: | 8510 st215: |
8880 if ( ++( current_position) == ( end_of_bundle) ) | 8511 if ( ++( current_position) == ( end_of_bundle) ) |
8881 » » goto _test_eof230; | 8512 » » goto _test_eof215; |
8882 case 230: | 8513 case 215: |
8883 switch( (*( current_position)) ) { | 8514 switch( (*( current_position)) ) { |
8884 case 4u: goto st2; | 8515 case 4u: goto st2; |
8885 case 5u: goto st3; | 8516 case 5u: goto st3; |
8886 case 12u: goto st2; | 8517 case 12u: goto st2; |
8887 case 13u: goto st3; | 8518 case 13u: goto st3; |
8888 case 52u: goto st2; | 8519 case 52u: goto st2; |
8889 case 53u: goto st3; | 8520 case 53u: goto st3; |
8890 case 68u: goto st8; | 8521 case 68u: goto st8; |
8891 case 76u: goto st8; | 8522 case 76u: goto st8; |
8892 case 116u: goto st8; | 8523 case 116u: goto st8; |
8893 case 132u: goto st9; | 8524 case 132u: goto st9; |
8894 case 140u: goto st9; | 8525 case 140u: goto st9; |
8895 case 180u: goto st9; | 8526 case 180u: goto st9; |
8896 » » case 214u: goto tr461; | 8527 » » case 214u: goto tr434; |
8897 » » case 230u: goto tr462; | 8528 » » case 230u: goto tr435; |
8898 } | 8529 } |
8899 if ( (*( current_position)) < 112u ) { | 8530 if ( (*( current_position)) < 112u ) { |
8900 if ( (*( current_position)) < 48u ) { | 8531 if ( (*( current_position)) < 48u ) { |
8901 if ( (*( current_position)) <= 15u ) | 8532 if ( (*( current_position)) <= 15u ) |
8902 goto tr0; | 8533 goto tr0; |
8903 } else if ( (*( current_position)) > 55u ) { | 8534 } else if ( (*( current_position)) > 55u ) { |
8904 if ( 64u <= (*( current_position)) && (*( current_positi
on)) <= 79u ) | 8535 if ( 64u <= (*( current_position)) && (*( current_positi
on)) <= 79u ) |
8905 goto st7; | 8536 goto st7; |
8906 } else | 8537 } else |
8907 goto tr0; | 8538 goto tr0; |
8908 } else if ( (*( current_position)) > 119u ) { | 8539 } else if ( (*( current_position)) > 119u ) { |
8909 if ( (*( current_position)) < 176u ) { | 8540 if ( (*( current_position)) < 176u ) { |
8910 if ( 128u <= (*( current_position)) && (*( current_posit
ion)) <= 143u ) | 8541 if ( 128u <= (*( current_position)) && (*( current_posit
ion)) <= 143u ) |
8911 goto st3; | 8542 goto st3; |
8912 } else if ( (*( current_position)) > 183u ) { | 8543 } else if ( (*( current_position)) > 183u ) { |
8913 if ( (*( current_position)) > 207u ) { | 8544 if ( (*( current_position)) > 207u ) { |
8914 if ( 240u <= (*( current_position)) && (*( curre
nt_position)) <= 247u ) | 8545 if ( 240u <= (*( current_position)) && (*( curre
nt_position)) <= 247u ) |
8915 goto tr0; | 8546 goto tr0; |
8916 } else if ( (*( current_position)) >= 192u ) | 8547 } else if ( (*( current_position)) >= 192u ) |
8917 goto tr0; | 8548 goto tr0; |
8918 } else | 8549 } else |
8919 goto st3; | 8550 goto st3; |
8920 } else | 8551 } else |
8921 goto st7; | 8552 goto st7; |
8922 goto tr16; | 8553 goto tr16; |
8923 st231: | 8554 st216: |
8924 if ( ++( current_position) == ( end_of_bundle) ) | 8555 if ( ++( current_position) == ( end_of_bundle) ) |
8925 » » goto _test_eof231; | 8556 » » goto _test_eof216; |
8926 case 231: | 8557 case 216: |
8927 if ( (*( current_position)) == 224u ) | 8558 if ( (*( current_position)) == 224u ) |
8928 » » goto tr469; | 8559 » » goto tr442; |
8929 goto tr11; | 8560 goto tr11; |
8930 tr469: | 8561 tr442: |
8931 { | 8562 { |
8932 SET_IMM_TYPE(IMM8); | 8563 SET_IMMEDIATE_FORMAT(IMM8); |
8933 SET_IMM_PTR(current_position); | 8564 SET_IMMEDIATE_POINTER(current_position); |
8934 } | 8565 } |
8935 {} | 8566 {} |
8936 { | 8567 { |
8937 /* Mark start of this instruction as a valid target for jump. */ | 8568 /* Mark start of this instruction as a valid target for jump. */ |
8938 MarkValidJumpTarget(instruction_begin - data, valid_targets); | 8569 MarkValidJumpTarget(instruction_begin - codeblock, valid_targets); |
8939 | 8570 |
8940 /* Call user-supplied callback. */ | 8571 /* Call user-supplied callback. */ |
8941 instruction_end = current_position + 1; | 8572 instruction_end = current_position + 1; |
8942 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || | 8573 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || |
8943 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { | 8574 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { |
8944 result &= user_callback(instruction_begin, instruction_end, | 8575 result &= user_callback(instruction_begin, instruction_end, |
8945 instruction_info_collected, callback_data); | 8576 instruction_info_collected, callback_data); |
8946 } | 8577 } |
8947 | 8578 |
8948 /* On successful match the instruction_begin must point to the next byte | 8579 /* |
8949 * to be able to report the new offset as the start of instruction | 8580 * We may set instruction_begin at the first byte of the instruction instead |
8950 * causing error. */ | 8581 * of here but in the case of incorrect one byte instructions user callback |
| 8582 * may be called before instruction_begin is set. |
| 8583 */ |
8951 instruction_begin = instruction_end; | 8584 instruction_begin = instruction_end; |
8952 | 8585 |
8953 /* Clear variables (well, one variable currently). */ | 8586 /* Clear variables (well, one variable currently). */ |
8954 instruction_info_collected = 0; | 8587 instruction_info_collected = 0; |
8955 } | 8588 } |
8956 » goto st241; | 8589 » goto st226; |
8957 st241: | 8590 st226: |
8958 if ( ++( current_position) == ( end_of_bundle) ) | 8591 if ( ++( current_position) == ( end_of_bundle) ) |
8959 » » goto _test_eof241; | 8592 » » goto _test_eof226; |
8960 case 241: | 8593 case 226: |
8961 switch( (*( current_position)) ) { | 8594 switch( (*( current_position)) ) { |
8962 case 4u: goto st10; | 8595 case 4u: goto st10; |
8963 case 5u: goto st11; | 8596 case 5u: goto st11; |
8964 case 12u: goto st10; | 8597 case 12u: goto st10; |
8965 case 13u: goto st11; | 8598 case 13u: goto st11; |
8966 case 15u: goto st15; | 8599 case 15u: goto st15; |
8967 case 20u: goto st10; | 8600 case 20u: goto st10; |
8968 case 21u: goto st11; | 8601 case 21u: goto st11; |
8969 case 28u: goto st10; | 8602 case 28u: goto st10; |
8970 case 29u: goto st11; | 8603 case 29u: goto st11; |
(...skipping 11 matching lines...) Expand all Loading... |
8982 case 102u: goto st74; | 8615 case 102u: goto st74; |
8983 case 104u: goto st11; | 8616 case 104u: goto st11; |
8984 case 105u: goto st130; | 8617 case 105u: goto st130; |
8985 case 106u: goto st10; | 8618 case 106u: goto st10; |
8986 case 107u: goto st56; | 8619 case 107u: goto st56; |
8987 case 128u: goto st56; | 8620 case 128u: goto st56; |
8988 case 129u: goto st130; | 8621 case 129u: goto st130; |
8989 case 131u: goto st139; | 8622 case 131u: goto st139; |
8990 case 141u: goto st115; | 8623 case 141u: goto st115; |
8991 case 143u: goto st141; | 8624 case 143u: goto st141; |
8992 » » case 155u: goto tr413; | 8625 » » case 155u: goto tr386; |
8993 case 168u: goto st10; | 8626 case 168u: goto st10; |
8994 case 169u: goto st11; | 8627 case 169u: goto st11; |
8995 case 196u: goto st153; | 8628 case 196u: goto st153; |
8996 » » case 198u: goto st185; | 8629 » » case 198u: goto st170; |
8997 » » case 199u: goto st186; | 8630 » » case 199u: goto st171; |
8998 case 201u: goto tr0; | 8631 case 201u: goto tr0; |
8999 » » case 216u: goto st187; | 8632 » » case 216u: goto st172; |
9000 » » case 217u: goto st188; | 8633 » » case 217u: goto st173; |
9001 » » case 218u: goto st189; | 8634 » » case 218u: goto st174; |
9002 » » case 219u: goto st190; | 8635 » » case 219u: goto st175; |
9003 » » case 220u: goto st191; | 8636 » » case 220u: goto st176; |
9004 » » case 221u: goto st192; | 8637 » » case 221u: goto st177; |
9005 » » case 222u: goto st193; | 8638 » » case 222u: goto st178; |
9006 » » case 223u: goto st194; | 8639 » » case 223u: goto st179; |
9007 » » case 232u: goto st195; | 8640 » » case 232u: goto st180; |
9008 case 233u: goto st52; | 8641 case 233u: goto st52; |
9009 case 235u: goto st67; | 8642 case 235u: goto st67; |
9010 » » case 240u: goto st199; | 8643 » » case 240u: goto st184; |
9011 » » case 242u: goto st202; | 8644 » » case 242u: goto st187; |
9012 » » case 243u: goto st210; | 8645 » » case 243u: goto st195; |
9013 » » case 246u: goto st215; | 8646 » » case 246u: goto st200; |
9014 » » case 247u: goto st216; | 8647 » » case 247u: goto st201; |
9015 » » case 254u: goto st217; | 8648 » » case 254u: goto st202; |
9016 » » case 255u: goto st232; | 8649 » » case 255u: goto st217; |
9017 } | 8650 } |
9018 if ( (*( current_position)) < 132u ) { | 8651 if ( (*( current_position)) < 132u ) { |
9019 if ( (*( current_position)) < 32u ) { | 8652 if ( (*( current_position)) < 32u ) { |
9020 if ( (*( current_position)) < 8u ) { | 8653 if ( (*( current_position)) < 8u ) { |
9021 if ( (*( current_position)) <= 3u ) | 8654 if ( (*( current_position)) <= 3u ) |
9022 goto st1; | 8655 goto st1; |
9023 } else if ( (*( current_position)) > 11u ) { | 8656 } else if ( (*( current_position)) > 11u ) { |
9024 if ( (*( current_position)) > 19u ) { | 8657 if ( (*( current_position)) > 19u ) { |
9025 if ( 24u <= (*( current_position)) && (*
( current_position)) <= 27u ) | 8658 if ( 24u <= (*( current_position)) && (*
( current_position)) <= 27u ) |
9026 goto st1; | 8659 goto st1; |
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
9074 goto tr0; | 8707 goto tr0; |
9075 } else if ( (*( current_position)) >= 244u ) | 8708 } else if ( (*( current_position)) >= 244u ) |
9076 goto tr0; | 8709 goto tr0; |
9077 } else | 8710 } else |
9078 goto st118; | 8711 goto st118; |
9079 } else | 8712 } else |
9080 goto st10; | 8713 goto st10; |
9081 } else | 8714 } else |
9082 goto st1; | 8715 goto st1; |
9083 goto tr16; | 8716 goto tr16; |
9084 st232: | 8717 st217: |
9085 if ( ++( current_position) == ( end_of_bundle) ) | 8718 if ( ++( current_position) == ( end_of_bundle) ) |
9086 » » goto _test_eof232; | 8719 » » goto _test_eof217; |
9087 case 232: | 8720 case 217: |
9088 switch( (*( current_position)) ) { | 8721 switch( (*( current_position)) ) { |
9089 case 4u: goto st2; | 8722 case 4u: goto st2; |
9090 case 5u: goto st3; | 8723 case 5u: goto st3; |
9091 case 12u: goto st2; | 8724 case 12u: goto st2; |
9092 case 13u: goto st3; | 8725 case 13u: goto st3; |
9093 case 52u: goto st2; | 8726 case 52u: goto st2; |
9094 case 53u: goto st3; | 8727 case 53u: goto st3; |
9095 case 68u: goto st8; | 8728 case 68u: goto st8; |
9096 case 76u: goto st8; | 8729 case 76u: goto st8; |
9097 case 116u: goto st8; | 8730 case 116u: goto st8; |
9098 case 132u: goto st9; | 8731 case 132u: goto st9; |
9099 case 140u: goto st9; | 8732 case 140u: goto st9; |
9100 case 180u: goto st9; | 8733 case 180u: goto st9; |
9101 » » case 215u: goto tr461; | 8734 » » case 215u: goto tr434; |
9102 » » case 231u: goto tr462; | 8735 » » case 231u: goto tr435; |
9103 } | 8736 } |
9104 if ( (*( current_position)) < 112u ) { | 8737 if ( (*( current_position)) < 112u ) { |
9105 if ( (*( current_position)) < 48u ) { | 8738 if ( (*( current_position)) < 48u ) { |
9106 if ( (*( current_position)) <= 15u ) | 8739 if ( (*( current_position)) <= 15u ) |
9107 goto tr0; | 8740 goto tr0; |
9108 } else if ( (*( current_position)) > 55u ) { | 8741 } else if ( (*( current_position)) > 55u ) { |
9109 if ( 64u <= (*( current_position)) && (*( current_positi
on)) <= 79u ) | 8742 if ( 64u <= (*( current_position)) && (*( current_positi
on)) <= 79u ) |
9110 goto st7; | 8743 goto st7; |
9111 } else | 8744 } else |
9112 goto tr0; | 8745 goto tr0; |
9113 } else if ( (*( current_position)) > 119u ) { | 8746 } else if ( (*( current_position)) > 119u ) { |
9114 if ( (*( current_position)) < 176u ) { | 8747 if ( (*( current_position)) < 176u ) { |
9115 if ( 128u <= (*( current_position)) && (*( current_posit
ion)) <= 143u ) | 8748 if ( 128u <= (*( current_position)) && (*( current_posit
ion)) <= 143u ) |
9116 goto st3; | 8749 goto st3; |
9117 } else if ( (*( current_position)) > 183u ) { | 8750 } else if ( (*( current_position)) > 183u ) { |
9118 if ( (*( current_position)) > 207u ) { | 8751 if ( (*( current_position)) > 207u ) { |
9119 if ( 240u <= (*( current_position)) && (*( curre
nt_position)) <= 247u ) | 8752 if ( 240u <= (*( current_position)) && (*( curre
nt_position)) <= 247u ) |
9120 goto tr0; | 8753 goto tr0; |
9121 } else if ( (*( current_position)) >= 192u ) | 8754 } else if ( (*( current_position)) >= 192u ) |
9122 goto tr0; | 8755 goto tr0; |
9123 } else | 8756 } else |
9124 goto st3; | 8757 goto st3; |
9125 } else | 8758 } else |
9126 goto st7; | 8759 goto st7; |
9127 goto tr16; | 8760 goto tr16; |
9128 } | 8761 } |
9129 » _test_eof233: ( current_state) = 233; goto _test_eof; | 8762 » _test_eof218: ( current_state) = 218; goto _test_eof; |
9130 _test_eof1: ( current_state) = 1; goto _test_eof; | 8763 _test_eof1: ( current_state) = 1; goto _test_eof; |
9131 _test_eof2: ( current_state) = 2; goto _test_eof; | 8764 _test_eof2: ( current_state) = 2; goto _test_eof; |
9132 _test_eof3: ( current_state) = 3; goto _test_eof; | 8765 _test_eof3: ( current_state) = 3; goto _test_eof; |
9133 _test_eof4: ( current_state) = 4; goto _test_eof; | 8766 _test_eof4: ( current_state) = 4; goto _test_eof; |
9134 _test_eof5: ( current_state) = 5; goto _test_eof; | 8767 _test_eof5: ( current_state) = 5; goto _test_eof; |
9135 _test_eof6: ( current_state) = 6; goto _test_eof; | 8768 _test_eof6: ( current_state) = 6; goto _test_eof; |
9136 _test_eof7: ( current_state) = 7; goto _test_eof; | 8769 _test_eof7: ( current_state) = 7; goto _test_eof; |
9137 _test_eof8: ( current_state) = 8; goto _test_eof; | 8770 _test_eof8: ( current_state) = 8; goto _test_eof; |
9138 _test_eof9: ( current_state) = 9; goto _test_eof; | 8771 _test_eof9: ( current_state) = 9; goto _test_eof; |
9139 _test_eof10: ( current_state) = 10; goto _test_eof; | 8772 _test_eof10: ( current_state) = 10; goto _test_eof; |
(...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
9260 _test_eof131: ( current_state) = 131; goto _test_eof; | 8893 _test_eof131: ( current_state) = 131; goto _test_eof; |
9261 _test_eof132: ( current_state) = 132; goto _test_eof; | 8894 _test_eof132: ( current_state) = 132; goto _test_eof; |
9262 _test_eof133: ( current_state) = 133; goto _test_eof; | 8895 _test_eof133: ( current_state) = 133; goto _test_eof; |
9263 _test_eof134: ( current_state) = 134; goto _test_eof; | 8896 _test_eof134: ( current_state) = 134; goto _test_eof; |
9264 _test_eof135: ( current_state) = 135; goto _test_eof; | 8897 _test_eof135: ( current_state) = 135; goto _test_eof; |
9265 _test_eof136: ( current_state) = 136; goto _test_eof; | 8898 _test_eof136: ( current_state) = 136; goto _test_eof; |
9266 _test_eof137: ( current_state) = 137; goto _test_eof; | 8899 _test_eof137: ( current_state) = 137; goto _test_eof; |
9267 _test_eof138: ( current_state) = 138; goto _test_eof; | 8900 _test_eof138: ( current_state) = 138; goto _test_eof; |
9268 _test_eof139: ( current_state) = 139; goto _test_eof; | 8901 _test_eof139: ( current_state) = 139; goto _test_eof; |
9269 _test_eof140: ( current_state) = 140; goto _test_eof; | 8902 _test_eof140: ( current_state) = 140; goto _test_eof; |
9270 » _test_eof234: ( current_state) = 234; goto _test_eof; | 8903 » _test_eof219: ( current_state) = 219; goto _test_eof; |
9271 _test_eof141: ( current_state) = 141; goto _test_eof; | 8904 _test_eof141: ( current_state) = 141; goto _test_eof; |
9272 _test_eof142: ( current_state) = 142; goto _test_eof; | 8905 _test_eof142: ( current_state) = 142; goto _test_eof; |
9273 _test_eof143: ( current_state) = 143; goto _test_eof; | 8906 _test_eof143: ( current_state) = 143; goto _test_eof; |
9274 _test_eof144: ( current_state) = 144; goto _test_eof; | 8907 _test_eof144: ( current_state) = 144; goto _test_eof; |
9275 _test_eof145: ( current_state) = 145; goto _test_eof; | 8908 _test_eof145: ( current_state) = 145; goto _test_eof; |
9276 _test_eof146: ( current_state) = 146; goto _test_eof; | 8909 _test_eof146: ( current_state) = 146; goto _test_eof; |
9277 _test_eof147: ( current_state) = 147; goto _test_eof; | 8910 _test_eof147: ( current_state) = 147; goto _test_eof; |
9278 _test_eof148: ( current_state) = 148; goto _test_eof; | 8911 _test_eof148: ( current_state) = 148; goto _test_eof; |
9279 _test_eof149: ( current_state) = 149; goto _test_eof; | 8912 _test_eof149: ( current_state) = 149; goto _test_eof; |
9280 _test_eof150: ( current_state) = 150; goto _test_eof; | 8913 _test_eof150: ( current_state) = 150; goto _test_eof; |
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
9325 _test_eof195: ( current_state) = 195; goto _test_eof; | 8958 _test_eof195: ( current_state) = 195; goto _test_eof; |
9326 _test_eof196: ( current_state) = 196; goto _test_eof; | 8959 _test_eof196: ( current_state) = 196; goto _test_eof; |
9327 _test_eof197: ( current_state) = 197; goto _test_eof; | 8960 _test_eof197: ( current_state) = 197; goto _test_eof; |
9328 _test_eof198: ( current_state) = 198; goto _test_eof; | 8961 _test_eof198: ( current_state) = 198; goto _test_eof; |
9329 _test_eof199: ( current_state) = 199; goto _test_eof; | 8962 _test_eof199: ( current_state) = 199; goto _test_eof; |
9330 _test_eof200: ( current_state) = 200; goto _test_eof; | 8963 _test_eof200: ( current_state) = 200; goto _test_eof; |
9331 _test_eof201: ( current_state) = 201; goto _test_eof; | 8964 _test_eof201: ( current_state) = 201; goto _test_eof; |
9332 _test_eof202: ( current_state) = 202; goto _test_eof; | 8965 _test_eof202: ( current_state) = 202; goto _test_eof; |
9333 _test_eof203: ( current_state) = 203; goto _test_eof; | 8966 _test_eof203: ( current_state) = 203; goto _test_eof; |
9334 _test_eof204: ( current_state) = 204; goto _test_eof; | 8967 _test_eof204: ( current_state) = 204; goto _test_eof; |
| 8968 _test_eof220: ( current_state) = 220; goto _test_eof; |
9335 _test_eof205: ( current_state) = 205; goto _test_eof; | 8969 _test_eof205: ( current_state) = 205; goto _test_eof; |
9336 _test_eof206: ( current_state) = 206; goto _test_eof; | 8970 _test_eof206: ( current_state) = 206; goto _test_eof; |
| 8971 _test_eof221: ( current_state) = 221; goto _test_eof; |
9337 _test_eof207: ( current_state) = 207; goto _test_eof; | 8972 _test_eof207: ( current_state) = 207; goto _test_eof; |
9338 _test_eof208: ( current_state) = 208; goto _test_eof; | 8973 _test_eof208: ( current_state) = 208; goto _test_eof; |
| 8974 _test_eof222: ( current_state) = 222; goto _test_eof; |
9339 _test_eof209: ( current_state) = 209; goto _test_eof; | 8975 _test_eof209: ( current_state) = 209; goto _test_eof; |
9340 _test_eof210: ( current_state) = 210; goto _test_eof; | 8976 _test_eof210: ( current_state) = 210; goto _test_eof; |
| 8977 _test_eof223: ( current_state) = 223; goto _test_eof; |
9341 _test_eof211: ( current_state) = 211; goto _test_eof; | 8978 _test_eof211: ( current_state) = 211; goto _test_eof; |
9342 _test_eof212: ( current_state) = 212; goto _test_eof; | 8979 _test_eof212: ( current_state) = 212; goto _test_eof; |
| 8980 _test_eof224: ( current_state) = 224; goto _test_eof; |
9343 _test_eof213: ( current_state) = 213; goto _test_eof; | 8981 _test_eof213: ( current_state) = 213; goto _test_eof; |
9344 _test_eof214: ( current_state) = 214; goto _test_eof; | 8982 _test_eof214: ( current_state) = 214; goto _test_eof; |
| 8983 _test_eof225: ( current_state) = 225; goto _test_eof; |
9345 _test_eof215: ( current_state) = 215; goto _test_eof; | 8984 _test_eof215: ( current_state) = 215; goto _test_eof; |
9346 _test_eof216: ( current_state) = 216; goto _test_eof; | 8985 _test_eof216: ( current_state) = 216; goto _test_eof; |
| 8986 _test_eof226: ( current_state) = 226; goto _test_eof; |
9347 _test_eof217: ( current_state) = 217; goto _test_eof; | 8987 _test_eof217: ( current_state) = 217; goto _test_eof; |
9348 _test_eof218: ( current_state) = 218; goto _test_eof; | |
9349 _test_eof219: ( current_state) = 219; goto _test_eof; | |
9350 _test_eof235: ( current_state) = 235; goto _test_eof; | |
9351 _test_eof220: ( current_state) = 220; goto _test_eof; | |
9352 _test_eof221: ( current_state) = 221; goto _test_eof; | |
9353 _test_eof236: ( current_state) = 236; goto _test_eof; | |
9354 _test_eof222: ( current_state) = 222; goto _test_eof; | |
9355 _test_eof223: ( current_state) = 223; goto _test_eof; | |
9356 _test_eof237: ( current_state) = 237; goto _test_eof; | |
9357 _test_eof224: ( current_state) = 224; goto _test_eof; | |
9358 _test_eof225: ( current_state) = 225; goto _test_eof; | |
9359 _test_eof238: ( current_state) = 238; goto _test_eof; | |
9360 _test_eof226: ( current_state) = 226; goto _test_eof; | |
9361 _test_eof227: ( current_state) = 227; goto _test_eof; | |
9362 _test_eof239: ( current_state) = 239; goto _test_eof; | |
9363 _test_eof228: ( current_state) = 228; goto _test_eof; | |
9364 _test_eof229: ( current_state) = 229; goto _test_eof; | |
9365 _test_eof240: ( current_state) = 240; goto _test_eof; | |
9366 _test_eof230: ( current_state) = 230; goto _test_eof; | |
9367 _test_eof231: ( current_state) = 231; goto _test_eof; | |
9368 _test_eof241: ( current_state) = 241; goto _test_eof; | |
9369 _test_eof232: ( current_state) = 232; goto _test_eof; | |
9370 | 8988 |
9371 _test_eof: {} | 8989 _test_eof: {} |
9372 if ( ( current_position) == ( end_of_bundle) ) | 8990 if ( ( current_position) == ( end_of_bundle) ) |
9373 { | 8991 { |
9374 switch ( ( current_state) ) { | 8992 switch ( ( current_state) ) { |
9375 case 1: | 8993 case 1: |
9376 case 2: | 8994 case 2: |
9377 case 3: | 8995 case 3: |
9378 case 4: | 8996 case 4: |
9379 case 5: | 8997 case 5: |
(...skipping 202 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
9582 case 208: | 9200 case 208: |
9583 case 209: | 9201 case 209: |
9584 case 210: | 9202 case 210: |
9585 case 211: | 9203 case 211: |
9586 case 212: | 9204 case 212: |
9587 case 213: | 9205 case 213: |
9588 case 214: | 9206 case 214: |
9589 case 215: | 9207 case 215: |
9590 case 216: | 9208 case 216: |
9591 case 217: | 9209 case 217: |
9592 case 218: | |
9593 case 219: | |
9594 case 220: | |
9595 case 221: | |
9596 case 222: | |
9597 case 223: | |
9598 case 224: | |
9599 case 225: | |
9600 case 226: | |
9601 case 227: | |
9602 case 228: | |
9603 case 229: | |
9604 case 230: | |
9605 case 231: | |
9606 case 232: | |
9607 { | 9210 { |
9608 result &= user_callback(instruction_begin, current_position, | 9211 result &= user_callback(instruction_begin, current_position, |
9609 UNRECOGNIZED_INSTRUCTION, callback_data); | 9212 UNRECOGNIZED_INSTRUCTION, callback_data); |
9610 /* | 9213 /* |
9611 * Process the next bundle: "continue" here is for the "for" cycle in | 9214 * Process the next bundle: "continue" here is for the "for" cycle in |
9612 * the ValidateChunkIA32 function. | 9215 * the ValidateChunkIA32 function. |
9613 * | 9216 * |
9614 * It does not affect the case which we really care about (when code | 9217 * It does not affect the case which we really care about (when code |
9615 * is validatable), but makes it possible to detect more errors in one | 9218 * is validatable), but makes it possible to detect more errors in one |
9616 * run in tools like ncval. | 9219 * run in tools like ncval. |
9617 */ | 9220 */ |
9618 continue; | 9221 continue; |
9619 } | 9222 } |
9620 break; | 9223 break; |
9621 } | 9224 } |
9622 } | 9225 } |
9623 | 9226 |
9624 _out: {} | 9227 _out: {} |
9625 } | 9228 } |
9626 | 9229 |
9627 } | 9230 } |
9628 | 9231 |
9629 /* | 9232 /* |
9630 * Check the direct jumps. All the targets from jump_dests must be in | 9233 * Check the direct jumps. All the targets from jump_dests must be in |
9631 * valid_targets. | 9234 * valid_targets. |
9632 */ | 9235 */ |
9633 result &= ProcessInvalidJumpTargets(data, size, valid_targets, jump_dests, | 9236 result &= ProcessInvalidJumpTargets(codeblock, |
9634 user_callback, callback_data); | 9237 size, |
| 9238 valid_targets, |
| 9239 jump_dests, |
| 9240 user_callback, |
| 9241 callback_data); |
9635 | 9242 |
9636 /* We only use malloc for a large code sequences */ | 9243 /* We only use malloc for a large code sequences */ |
9637 if (jump_dests != &jump_dests_small) free(jump_dests); | 9244 if (jump_dests != &jump_dests_small) free(jump_dests); |
9638 if (valid_targets != &valid_targets_small) free(valid_targets); | 9245 if (valid_targets != &valid_targets_small) free(valid_targets); |
9639 if (!result) errno = EINVAL; | 9246 if (!result) errno = EINVAL; |
9640 return result; | 9247 return result; |
9641 } | 9248 } |
OLD | NEW |