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_DISPLACEMNT_FORMAT(DISP32); |
139 SET_DISP_PTR(current_position - 3); | 154 SET_DISPLACEMNT_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_DISPLACEMNT_FORMAT(DISP8); |
166 SET_DISP_PTR(current_position); | 183 SET_DISPLACEMNT_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_DISPLACEMNT_FORMAT(DISP32); |
1840 SET_DISP_PTR(current_position - 3); | 1876 SET_DISPLACEMNT_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_DISPLACEMNT_FORMAT(DISP8); |
1847 SET_DISP_PTR(current_position); | 1883 SET_DISPLACEMNT_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_DISPLACEMNT_FORMAT(DISP32); |
1895 SET_DISP_PTR(current_position - 3); | 1931 SET_DISPLACEMNT_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_DISPLACEMNT_FORMAT(DISP8); |
1902 SET_DISP_PTR(current_position); | 1938 SET_DISPLACEMNT_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_DISPLACEMNT_FORMAT(DISP32); |
2158 SET_DISP_PTR(current_position - 3); | 2194 SET_DISPLACEMNT_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_DISPLACEMNT_FORMAT(DISP8); |
2165 SET_DISP_PTR(current_position); | 2201 SET_DISPLACEMNT_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 412 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2588 goto tr89; | 2624 goto tr89; |
2589 } else if ( (*( current_position)) >= 64u ) | 2625 } else if ( (*( current_position)) >= 64u ) |
2590 goto tr90; | 2626 goto tr90; |
2591 goto tr35; | 2627 goto tr35; |
2592 st36: | 2628 st36: |
2593 if ( ++( current_position) == ( end_of_bundle) ) | 2629 if ( ++( current_position) == ( end_of_bundle) ) |
2594 goto _test_eof36; | 2630 goto _test_eof36; |
2595 case 36: | 2631 case 36: |
2596 switch( (*( current_position)) ) { | 2632 switch( (*( current_position)) ) { |
2597 case 4u: goto tr94; | 2633 case 4u: goto tr94; |
| 2634 case 5u: goto tr95; |
2598 case 12u: goto tr94; | 2635 case 12u: goto tr94; |
| 2636 case 13u: goto tr95; |
2599 case 20u: goto tr94; | 2637 case 20u: goto tr94; |
| 2638 case 21u: goto tr95; |
2600 case 28u: goto tr94; | 2639 case 28u: goto tr94; |
| 2640 case 29u: goto tr95; |
2601 case 36u: goto tr94; | 2641 case 36u: goto tr94; |
| 2642 case 37u: goto tr95; |
2602 case 44u: goto tr94; | 2643 case 44u: goto tr94; |
| 2644 case 45u: goto tr95; |
2603 case 52u: goto tr94; | 2645 case 52u: goto tr94; |
| 2646 case 53u: goto tr95; |
2604 case 60u: goto tr94; | 2647 case 60u: goto tr94; |
| 2648 case 61u: goto tr95; |
2605 case 68u: goto tr97; | 2649 case 68u: goto tr97; |
2606 case 76u: goto tr97; | 2650 case 76u: goto tr97; |
2607 case 84u: goto tr97; | 2651 case 84u: goto tr97; |
2608 case 92u: goto tr97; | 2652 case 92u: goto tr97; |
2609 case 100u: goto tr97; | 2653 case 100u: goto tr97; |
2610 case 108u: goto tr97; | 2654 case 108u: goto tr97; |
2611 case 116u: goto tr97; | 2655 case 116u: goto tr97; |
2612 case 124u: goto tr97; | 2656 case 124u: goto tr97; |
2613 case 132u: goto tr98; | 2657 case 132u: goto tr98; |
2614 case 140u: goto tr98; | 2658 case 140u: goto tr98; |
2615 case 148u: goto tr98; | 2659 case 148u: goto tr98; |
2616 case 156u: goto tr98; | 2660 case 156u: goto tr98; |
2617 case 164u: goto tr98; | 2661 case 164u: goto tr98; |
2618 case 172u: goto tr98; | 2662 case 172u: goto tr98; |
2619 case 180u: goto tr98; | 2663 case 180u: goto tr98; |
2620 case 188u: goto tr98; | 2664 case 188u: goto tr98; |
2621 } | 2665 } |
2622 » if ( (*( current_position)) < 38u ) { | 2666 » if ( (*( current_position)) < 64u ) { |
2623 » » if ( (*( current_position)) < 14u ) { | 2667 » » if ( (*( current_position)) <= 63u ) |
2624 » » » if ( (*( current_position)) > 3u ) { | |
2625 » » » » if ( 6u <= (*( current_position)) && (*( current
_position)) <= 11u ) | |
2626 » » » » » goto tr93; | |
2627 » » » } else | |
2628 » » » » goto tr93; | |
2629 » » } else if ( (*( current_position)) > 19u ) { | |
2630 » » » if ( (*( current_position)) > 27u ) { | |
2631 » » » » if ( 30u <= (*( current_position)) && (*( curren
t_position)) <= 35u ) | |
2632 » » » » » goto tr93; | |
2633 » » » } else if ( (*( current_position)) >= 22u ) | |
2634 » » » » goto tr93; | |
2635 » » } else | |
2636 goto tr93; | 2668 goto tr93; |
2637 » } else if ( (*( current_position)) > 43u ) { | 2669 » } else if ( (*( current_position)) > 127u ) { |
2638 » » if ( (*( current_position)) < 62u ) { | 2670 » » if ( 128u <= (*( current_position)) && (*( current_position)) <=
191u ) |
2639 » » » if ( (*( current_position)) > 51u ) { | 2671 » » » goto tr95; |
2640 » » » » if ( 54u <= (*( current_position)) && (*( curren
t_position)) <= 59u ) | |
2641 » » » » » goto tr93; | |
2642 » » » } else if ( (*( current_position)) >= 46u ) | |
2643 » » » » goto tr93; | |
2644 » » } else if ( (*( current_position)) > 63u ) { | |
2645 » » » if ( (*( current_position)) > 127u ) { | |
2646 » » » » if ( 192u <= (*( current_position)) ) | |
2647 » » » » » goto tr16; | |
2648 » » » } else if ( (*( current_position)) >= 64u ) | |
2649 » » » » goto tr96; | |
2650 » » } else | |
2651 » » » goto tr93; | |
2652 } else | 2672 } else |
2653 » » goto tr93; | 2673 » » goto tr96; |
2654 » goto tr95; | 2674 » goto tr16; |
2655 st37: | 2675 st37: |
2656 if ( ++( current_position) == ( end_of_bundle) ) | 2676 if ( ++( current_position) == ( end_of_bundle) ) |
2657 goto _test_eof37; | 2677 goto _test_eof37; |
2658 case 37: | 2678 case 37: |
2659 if ( (*( current_position)) == 15u ) | 2679 if ( (*( current_position)) == 15u ) |
2660 goto st38; | 2680 goto st38; |
2661 goto tr16; | 2681 goto tr16; |
2662 st38: | 2682 st38: |
2663 if ( ++( current_position) == ( end_of_bundle) ) | 2683 if ( ++( current_position) == ( end_of_bundle) ) |
2664 goto _test_eof38; | 2684 goto _test_eof38; |
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2720 goto st39; | 2740 goto st39; |
2721 tr238: | 2741 tr238: |
2722 { SET_CPU_FEATURE(CPUFeature_SSE42); } | 2742 { SET_CPU_FEATURE(CPUFeature_SSE42); } |
2723 goto st39; | 2743 goto st39; |
2724 tr244: | 2744 tr244: |
2725 { SET_CPU_FEATURE(CPUFeature_AES); } | 2745 { SET_CPU_FEATURE(CPUFeature_AES); } |
2726 goto st39; | 2746 goto st39; |
2727 tr232: | 2747 tr232: |
2728 { SET_CPU_FEATURE(CPUFeature_CLMUL); } | 2748 { SET_CPU_FEATURE(CPUFeature_CLMUL); } |
2729 goto st39; | 2749 goto st39; |
2730 tr401: | 2750 tr374: |
2731 { SET_CPU_FEATURE(CPUFeature_AESAVX); } | 2751 { SET_CPU_FEATURE(CPUFeature_AESAVX); } |
2732 goto st39; | 2752 goto st39; |
2733 tr408: | 2753 tr381: |
2734 { SET_CPU_FEATURE(CPUFeature_F16C); } | 2754 { SET_CPU_FEATURE(CPUFeature_F16C); } |
2735 goto st39; | 2755 goto st39; |
2736 tr380: | 2756 tr368: |
2737 { SET_CPU_FEATURE(CPUFeature_CLMULAVX); } | 2757 { SET_CPU_FEATURE(CPUFeature_CLMULAVX); } |
2738 goto st39; | 2758 goto st39; |
2739 st39: | 2759 st39: |
2740 if ( ++( current_position) == ( end_of_bundle) ) | 2760 if ( ++( current_position) == ( end_of_bundle) ) |
2741 goto _test_eof39; | 2761 goto _test_eof39; |
2742 case 39: | 2762 case 39: |
2743 switch( (*( current_position)) ) { | 2763 switch( (*( current_position)) ) { |
2744 case 5u: goto st40; | 2764 case 5u: goto st40; |
2745 case 13u: goto st40; | 2765 case 13u: goto st40; |
2746 case 21u: goto st40; | 2766 case 21u: goto st40; |
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2792 goto st40; | 2812 goto st40; |
2793 tr239: | 2813 tr239: |
2794 { SET_CPU_FEATURE(CPUFeature_SSE42); } | 2814 { SET_CPU_FEATURE(CPUFeature_SSE42); } |
2795 goto st40; | 2815 goto st40; |
2796 tr245: | 2816 tr245: |
2797 { SET_CPU_FEATURE(CPUFeature_AES); } | 2817 { SET_CPU_FEATURE(CPUFeature_AES); } |
2798 goto st40; | 2818 goto st40; |
2799 tr233: | 2819 tr233: |
2800 { SET_CPU_FEATURE(CPUFeature_CLMUL); } | 2820 { SET_CPU_FEATURE(CPUFeature_CLMUL); } |
2801 goto st40; | 2821 goto st40; |
2802 tr402: | 2822 tr375: |
2803 { SET_CPU_FEATURE(CPUFeature_AESAVX); } | 2823 { SET_CPU_FEATURE(CPUFeature_AESAVX); } |
2804 goto st40; | 2824 goto st40; |
2805 tr409: | 2825 tr382: |
2806 { SET_CPU_FEATURE(CPUFeature_F16C); } | 2826 { SET_CPU_FEATURE(CPUFeature_F16C); } |
2807 goto st40; | 2827 goto st40; |
2808 tr381: | 2828 tr369: |
2809 { SET_CPU_FEATURE(CPUFeature_CLMULAVX); } | 2829 { SET_CPU_FEATURE(CPUFeature_CLMULAVX); } |
2810 goto st40; | 2830 goto st40; |
2811 st40: | 2831 st40: |
2812 if ( ++( current_position) == ( end_of_bundle) ) | 2832 if ( ++( current_position) == ( end_of_bundle) ) |
2813 goto _test_eof40; | 2833 goto _test_eof40; |
2814 case 40: | 2834 case 40: |
2815 goto tr108; | 2835 goto tr108; |
2816 tr108: | 2836 tr108: |
2817 {} | 2837 {} |
2818 goto st41; | 2838 goto st41; |
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2854 goto st44; | 2874 goto st44; |
2855 tr240: | 2875 tr240: |
2856 { SET_CPU_FEATURE(CPUFeature_SSE42); } | 2876 { SET_CPU_FEATURE(CPUFeature_SSE42); } |
2857 goto st44; | 2877 goto st44; |
2858 tr246: | 2878 tr246: |
2859 { SET_CPU_FEATURE(CPUFeature_AES); } | 2879 { SET_CPU_FEATURE(CPUFeature_AES); } |
2860 goto st44; | 2880 goto st44; |
2861 tr234: | 2881 tr234: |
2862 { SET_CPU_FEATURE(CPUFeature_CLMUL); } | 2882 { SET_CPU_FEATURE(CPUFeature_CLMUL); } |
2863 goto st44; | 2883 goto st44; |
2864 tr403: | 2884 tr376: |
2865 { SET_CPU_FEATURE(CPUFeature_AESAVX); } | 2885 { SET_CPU_FEATURE(CPUFeature_AESAVX); } |
2866 goto st44; | 2886 goto st44; |
2867 tr410: | 2887 tr383: |
2868 { SET_CPU_FEATURE(CPUFeature_F16C); } | 2888 { SET_CPU_FEATURE(CPUFeature_F16C); } |
2869 goto st44; | 2889 goto st44; |
2870 tr382: | 2890 tr370: |
2871 { SET_CPU_FEATURE(CPUFeature_CLMULAVX); } | 2891 { SET_CPU_FEATURE(CPUFeature_CLMULAVX); } |
2872 goto st44; | 2892 goto st44; |
2873 st44: | 2893 st44: |
2874 if ( ++( current_position) == ( end_of_bundle) ) | 2894 if ( ++( current_position) == ( end_of_bundle) ) |
2875 goto _test_eof44; | 2895 goto _test_eof44; |
2876 case 44: | 2896 case 44: |
2877 goto tr112; | 2897 goto tr112; |
2878 tr150: | 2898 tr150: |
2879 { SET_CPU_FEATURE(CPUFeature_SSE); } | 2899 { SET_CPU_FEATURE(CPUFeature_SSE); } |
2880 goto st45; | 2900 goto st45; |
(...skipping 11 matching lines...) Expand all Loading... |
2892 goto st45; | 2912 goto st45; |
2893 tr241: | 2913 tr241: |
2894 { SET_CPU_FEATURE(CPUFeature_SSE42); } | 2914 { SET_CPU_FEATURE(CPUFeature_SSE42); } |
2895 goto st45; | 2915 goto st45; |
2896 tr247: | 2916 tr247: |
2897 { SET_CPU_FEATURE(CPUFeature_AES); } | 2917 { SET_CPU_FEATURE(CPUFeature_AES); } |
2898 goto st45; | 2918 goto st45; |
2899 tr235: | 2919 tr235: |
2900 { SET_CPU_FEATURE(CPUFeature_CLMUL); } | 2920 { SET_CPU_FEATURE(CPUFeature_CLMUL); } |
2901 goto st45; | 2921 goto st45; |
2902 tr404: | 2922 tr377: |
2903 { SET_CPU_FEATURE(CPUFeature_AESAVX); } | 2923 { SET_CPU_FEATURE(CPUFeature_AESAVX); } |
2904 goto st45; | 2924 goto st45; |
2905 tr411: | 2925 tr384: |
2906 { SET_CPU_FEATURE(CPUFeature_F16C); } | 2926 { SET_CPU_FEATURE(CPUFeature_F16C); } |
2907 goto st45; | 2927 goto st45; |
2908 tr383: | 2928 tr371: |
2909 { SET_CPU_FEATURE(CPUFeature_CLMULAVX); } | 2929 { SET_CPU_FEATURE(CPUFeature_CLMULAVX); } |
2910 goto st45; | 2930 goto st45; |
2911 st45: | 2931 st45: |
2912 if ( ++( current_position) == ( end_of_bundle) ) | 2932 if ( ++( current_position) == ( end_of_bundle) ) |
2913 goto _test_eof45; | 2933 goto _test_eof45; |
2914 case 45: | 2934 case 45: |
2915 goto st44; | 2935 goto st44; |
2916 tr151: | 2936 tr151: |
2917 { SET_CPU_FEATURE(CPUFeature_SSE); } | 2937 { SET_CPU_FEATURE(CPUFeature_SSE); } |
2918 goto st46; | 2938 goto st46; |
(...skipping 11 matching lines...) Expand all Loading... |
2930 goto st46; | 2950 goto st46; |
2931 tr242: | 2951 tr242: |
2932 { SET_CPU_FEATURE(CPUFeature_SSE42); } | 2952 { SET_CPU_FEATURE(CPUFeature_SSE42); } |
2933 goto st46; | 2953 goto st46; |
2934 tr248: | 2954 tr248: |
2935 { SET_CPU_FEATURE(CPUFeature_AES); } | 2955 { SET_CPU_FEATURE(CPUFeature_AES); } |
2936 goto st46; | 2956 goto st46; |
2937 tr236: | 2957 tr236: |
2938 { SET_CPU_FEATURE(CPUFeature_CLMUL); } | 2958 { SET_CPU_FEATURE(CPUFeature_CLMUL); } |
2939 goto st46; | 2959 goto st46; |
2940 tr405: | 2960 tr378: |
2941 { SET_CPU_FEATURE(CPUFeature_AESAVX); } | 2961 { SET_CPU_FEATURE(CPUFeature_AESAVX); } |
2942 goto st46; | 2962 goto st46; |
2943 tr412: | 2963 tr385: |
2944 { SET_CPU_FEATURE(CPUFeature_F16C); } | 2964 { SET_CPU_FEATURE(CPUFeature_F16C); } |
2945 goto st46; | 2965 goto st46; |
2946 tr384: | 2966 tr372: |
2947 { SET_CPU_FEATURE(CPUFeature_CLMULAVX); } | 2967 { SET_CPU_FEATURE(CPUFeature_CLMULAVX); } |
2948 goto st46; | 2968 goto st46; |
2949 st46: | 2969 st46: |
2950 if ( ++( current_position) == ( end_of_bundle) ) | 2970 if ( ++( current_position) == ( end_of_bundle) ) |
2951 goto _test_eof46; | 2971 goto _test_eof46; |
2952 case 46: | 2972 case 46: |
2953 goto st40; | 2973 goto st40; |
2954 st47: | 2974 st47: |
2955 if ( ++( current_position) == ( end_of_bundle) ) | 2975 if ( ++( current_position) == ( end_of_bundle) ) |
2956 goto _test_eof47; | 2976 goto _test_eof47; |
(...skipping 648 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3605 if ( 64u <= (*( current_position)) && (*( current_position)) <=
95u ) | 3625 if ( 64u <= (*( current_position)) && (*( current_position)) <=
95u ) |
3606 goto tr0; | 3626 goto tr0; |
3607 } else if ( (*( current_position)) > 153u ) { | 3627 } else if ( (*( current_position)) > 153u ) { |
3608 if ( 184u <= (*( current_position)) && (*( current_position)) <=
191u ) | 3628 if ( 184u <= (*( current_position)) && (*( current_position)) <=
191u ) |
3609 goto st75; | 3629 goto st75; |
3610 } else | 3630 } else |
3611 goto tr0; | 3631 goto tr0; |
3612 goto tr16; | 3632 goto tr16; |
3613 tr276: | 3633 tr276: |
3614 { | 3634 { |
3615 SET_DISP_TYPE(DISP32); | 3635 SET_DISPLACEMNT_FORMAT(DISP32); |
3616 SET_DISP_PTR(current_position - 3); | 3636 SET_DISPLACEMNT_POINTER(current_position - 3); |
3617 } | 3637 } |
3618 {} | 3638 {} |
3619 goto st75; | 3639 goto st75; |
3620 tr277: | 3640 tr277: |
3621 { | 3641 { |
3622 SET_DISP_TYPE(DISP8); | 3642 SET_DISPLACEMNT_FORMAT(DISP8); |
3623 SET_DISP_PTR(current_position); | 3643 SET_DISPLACEMNT_POINTER(current_position); |
3624 } | 3644 } |
3625 {} | 3645 {} |
3626 goto st75; | 3646 goto st75; |
3627 st75: | 3647 st75: |
3628 if ( ++( current_position) == ( end_of_bundle) ) | 3648 if ( ++( current_position) == ( end_of_bundle) ) |
3629 goto _test_eof75; | 3649 goto _test_eof75; |
3630 case 75: | 3650 case 75: |
3631 goto tr185; | 3651 goto tr185; |
3632 tr185: | 3652 tr185: |
3633 {} | 3653 {} |
(...skipping 1527 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5161 case 124u: goto st45; | 5181 case 124u: goto st45; |
5162 case 132u: goto st46; | 5182 case 132u: goto st46; |
5163 case 140u: goto st46; | 5183 case 140u: goto st46; |
5164 case 148u: goto st46; | 5184 case 148u: goto st46; |
5165 case 156u: goto st46; | 5185 case 156u: goto st46; |
5166 case 164u: goto st46; | 5186 case 164u: goto st46; |
5167 case 172u: goto st46; | 5187 case 172u: goto st46; |
5168 case 180u: goto st46; | 5188 case 180u: goto st46; |
5169 case 188u: goto st46; | 5189 case 188u: goto st46; |
5170 case 224u: goto st140; | 5190 case 224u: goto st140; |
5171 » » case 225u: goto st219; | 5191 » » case 225u: goto st204; |
5172 » » case 226u: goto st221; | 5192 » » case 226u: goto st206; |
5173 » » case 227u: goto st223; | 5193 » » case 227u: goto st208; |
5174 » » case 228u: goto st225; | 5194 » » case 228u: goto st210; |
5175 » » case 229u: goto st227; | 5195 » » case 229u: goto st212; |
5176 » » case 230u: goto st229; | 5196 » » case 230u: goto st214; |
5177 » » case 231u: goto st231; | 5197 » » case 231u: goto st216; |
5178 } | 5198 } |
5179 if ( (*( current_position)) > 127u ) { | 5199 if ( (*( current_position)) > 127u ) { |
5180 if ( 128u <= (*( current_position)) && (*( current_position)) <=
191u ) | 5200 if ( 128u <= (*( current_position)) && (*( current_position)) <=
191u ) |
5181 goto st40; | 5201 goto st40; |
5182 } else if ( (*( current_position)) >= 64u ) | 5202 } else if ( (*( current_position)) >= 64u ) |
5183 goto st44; | 5203 goto st44; |
5184 goto st10; | 5204 goto st10; |
5185 st140: | 5205 st140: |
5186 if ( ++( current_position) == ( end_of_bundle) ) | 5206 if ( ++( current_position) == ( end_of_bundle) ) |
5187 goto _test_eof140; | 5207 goto _test_eof140; |
5188 case 140: | 5208 case 140: |
5189 if ( (*( current_position)) == 224u ) | 5209 if ( (*( current_position)) == 224u ) |
5190 goto tr303; | 5210 goto tr303; |
5191 goto tr11; | 5211 goto tr11; |
5192 tr303: | 5212 tr303: |
5193 { | 5213 { |
5194 SET_IMM_TYPE(IMM8); | 5214 SET_IMMEDIATE_FORMAT(IMM8); |
5195 SET_IMM_PTR(current_position); | 5215 SET_IMMEDIATE_POINTER(current_position); |
5196 } | 5216 } |
5197 {} | 5217 {} |
5198 { | 5218 { |
5199 /* Mark start of this instruction as a valid target for jump. */ | 5219 /* Mark start of this instruction as a valid target for jump. */ |
5200 MarkValidJumpTarget(instruction_begin - data, valid_targets); | 5220 MarkValidJumpTarget(instruction_begin - codeblock, valid_targets); |
5201 | 5221 |
5202 /* Call user-supplied callback. */ | 5222 /* Call user-supplied callback. */ |
5203 instruction_end = current_position + 1; | 5223 instruction_end = current_position + 1; |
5204 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || | 5224 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || |
5205 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { | 5225 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { |
5206 result &= user_callback(instruction_begin, instruction_end, | 5226 result &= user_callback(instruction_begin, instruction_end, |
5207 instruction_info_collected, callback_data); | 5227 instruction_info_collected, callback_data); |
5208 } | 5228 } |
5209 | 5229 |
5210 /* On successful match the instruction_begin must point to the next byte | 5230 /* |
5211 * to be able to report the new offset as the start of instruction | 5231 * We may set instruction_begin at the first byte of the instruction instead |
5212 * causing error. */ | 5232 * of here but in the case of incorrect one byte instructions user callback |
| 5233 * may be called before instruction_begin is set. |
| 5234 */ |
5213 instruction_begin = instruction_end; | 5235 instruction_begin = instruction_end; |
5214 | 5236 |
5215 /* Clear variables (well, one variable currently). */ | 5237 /* Clear variables (well, one variable currently). */ |
5216 instruction_info_collected = 0; | 5238 instruction_info_collected = 0; |
5217 } | 5239 } |
5218 » goto st234; | 5240 » goto st219; |
5219 st234: | 5241 st219: |
5220 if ( ++( current_position) == ( end_of_bundle) ) | 5242 if ( ++( current_position) == ( end_of_bundle) ) |
5221 » » goto _test_eof234; | 5243 » » goto _test_eof219; |
5222 case 234: | 5244 case 219: |
5223 switch( (*( current_position)) ) { | 5245 switch( (*( current_position)) ) { |
5224 case 4u: goto st10; | 5246 case 4u: goto st10; |
5225 case 5u: goto st11; | 5247 case 5u: goto st11; |
5226 case 12u: goto st10; | 5248 case 12u: goto st10; |
5227 case 13u: goto st11; | 5249 case 13u: goto st11; |
5228 case 15u: goto st15; | 5250 case 15u: goto st15; |
5229 case 20u: goto st10; | 5251 case 20u: goto st10; |
5230 case 21u: goto st11; | 5252 case 21u: goto st11; |
5231 case 28u: goto st10; | 5253 case 28u: goto st10; |
5232 case 29u: goto st11; | 5254 case 29u: goto st11; |
(...skipping 11 matching lines...) Expand all Loading... |
5244 case 102u: goto st74; | 5266 case 102u: goto st74; |
5245 case 104u: goto st11; | 5267 case 104u: goto st11; |
5246 case 105u: goto st130; | 5268 case 105u: goto st130; |
5247 case 106u: goto st10; | 5269 case 106u: goto st10; |
5248 case 107u: goto st56; | 5270 case 107u: goto st56; |
5249 case 128u: goto st56; | 5271 case 128u: goto st56; |
5250 case 129u: goto st130; | 5272 case 129u: goto st130; |
5251 case 131u: goto st139; | 5273 case 131u: goto st139; |
5252 case 141u: goto st115; | 5274 case 141u: goto st115; |
5253 case 143u: goto st141; | 5275 case 143u: goto st141; |
5254 » » case 155u: goto tr413; | 5276 » » case 155u: goto tr386; |
5255 case 168u: goto st10; | 5277 case 168u: goto st10; |
5256 case 169u: goto st11; | 5278 case 169u: goto st11; |
5257 case 196u: goto st153; | 5279 case 196u: goto st153; |
5258 » » case 198u: goto st185; | 5280 » » case 198u: goto st170; |
5259 » » case 199u: goto st186; | 5281 » » case 199u: goto st171; |
5260 case 201u: goto tr0; | 5282 case 201u: goto tr0; |
5261 » » case 216u: goto st187; | 5283 » » case 216u: goto st172; |
5262 » » case 217u: goto st188; | 5284 » » case 217u: goto st173; |
5263 » » case 218u: goto st189; | 5285 » » case 218u: goto st174; |
5264 » » case 219u: goto st190; | 5286 » » case 219u: goto st175; |
5265 » » case 220u: goto st191; | 5287 » » case 220u: goto st176; |
5266 » » case 221u: goto st192; | 5288 » » case 221u: goto st177; |
5267 » » case 222u: goto st193; | 5289 » » case 222u: goto st178; |
5268 » » case 223u: goto st194; | 5290 » » case 223u: goto st179; |
5269 » » case 232u: goto st195; | 5291 » » case 232u: goto st180; |
5270 case 233u: goto st52; | 5292 case 233u: goto st52; |
5271 case 235u: goto st67; | 5293 case 235u: goto st67; |
5272 » » case 240u: goto st199; | 5294 » » case 240u: goto st184; |
5273 » » case 242u: goto st202; | 5295 » » case 242u: goto st187; |
5274 » » case 243u: goto st210; | 5296 » » case 243u: goto st195; |
5275 » » case 246u: goto st215; | 5297 » » case 246u: goto st200; |
5276 » » case 247u: goto st216; | 5298 » » case 247u: goto st201; |
5277 » » case 254u: goto st217; | 5299 » » case 254u: goto st202; |
5278 » » case 255u: goto st218; | 5300 » » case 255u: goto st203; |
5279 } | 5301 } |
5280 if ( (*( current_position)) < 132u ) { | 5302 if ( (*( current_position)) < 132u ) { |
5281 if ( (*( current_position)) < 32u ) { | 5303 if ( (*( current_position)) < 32u ) { |
5282 if ( (*( current_position)) < 8u ) { | 5304 if ( (*( current_position)) < 8u ) { |
5283 if ( (*( current_position)) <= 3u ) | 5305 if ( (*( current_position)) <= 3u ) |
5284 goto st1; | 5306 goto st1; |
5285 } else if ( (*( current_position)) > 11u ) { | 5307 } else if ( (*( current_position)) > 11u ) { |
5286 if ( (*( current_position)) > 19u ) { | 5308 if ( (*( current_position)) > 19u ) { |
5287 if ( 24u <= (*( current_position)) && (*
( current_position)) <= 27u ) | 5309 if ( 24u <= (*( current_position)) && (*
( current_position)) <= 27u ) |
5288 goto st1; | 5310 goto st1; |
(...skipping 329 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5618 goto tr330; | 5640 goto tr330; |
5619 } else if ( (*( current_position)) >= 64u ) | 5641 } else if ( (*( current_position)) >= 64u ) |
5620 goto tr331; | 5642 goto tr331; |
5621 goto tr328; | 5643 goto tr328; |
5622 st153: | 5644 st153: |
5623 if ( ++( current_position) == ( end_of_bundle) ) | 5645 if ( ++( current_position) == ( end_of_bundle) ) |
5624 goto _test_eof153; | 5646 goto _test_eof153; |
5625 case 153: | 5647 case 153: |
5626 switch( (*( current_position)) ) { | 5648 switch( (*( current_position)) ) { |
5627 case 226u: goto st154; | 5649 case 226u: goto st154; |
5628 » » case 227u: goto st166; | 5650 » » case 227u: goto st163; |
5629 } | 5651 } |
5630 goto tr16; | 5652 goto tr16; |
5631 st154: | 5653 st154: |
5632 if ( ++( current_position) == ( end_of_bundle) ) | 5654 if ( ++( current_position) == ( end_of_bundle) ) |
5633 goto _test_eof154; | 5655 goto _test_eof154; |
5634 case 154: | 5656 case 154: |
5635 switch( (*( current_position)) ) { | 5657 switch( (*( current_position)) ) { |
5636 case 64u: goto tr336; | 5658 case 64u: goto tr336; |
5637 case 65u: goto tr337; | 5659 case 65u: goto tr337; |
5638 case 69u: goto tr338; | |
5639 case 72u: goto tr336; | 5660 case 72u: goto tr336; |
5640 case 73u: goto tr337; | 5661 case 73u: goto tr337; |
5641 case 77u: goto tr338; | |
5642 case 80u: goto tr336; | 5662 case 80u: goto tr336; |
5643 case 81u: goto tr337; | 5663 case 81u: goto tr337; |
5644 case 85u: goto tr338; | |
5645 case 88u: goto tr336; | 5664 case 88u: goto tr336; |
5646 case 89u: goto tr337; | 5665 case 89u: goto tr337; |
5647 case 93u: goto tr338; | |
5648 case 96u: goto tr336; | 5666 case 96u: goto tr336; |
5649 case 97u: goto tr337; | 5667 case 97u: goto tr337; |
5650 case 101u: goto tr338; | |
5651 case 104u: goto tr336; | 5668 case 104u: goto tr336; |
5652 case 105u: goto tr337; | 5669 case 105u: goto tr337; |
5653 case 109u: goto tr338; | |
5654 case 112u: goto tr336; | 5670 case 112u: goto tr336; |
5655 case 113u: goto tr337; | 5671 case 113u: goto tr337; |
5656 case 117u: goto tr338; | |
5657 case 120u: goto tr336; | 5672 case 120u: goto tr336; |
5658 » » case 121u: goto tr339; | 5673 » » case 121u: goto tr338; |
5659 » » case 125u: goto tr340; | 5674 » » 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 } | 5675 } |
5677 goto tr16; | 5676 goto tr16; |
5678 tr336: | 5677 tr336: |
5679 { | 5678 { |
5680 SET_VEX_PREFIX3(*current_position); | 5679 SET_VEX_PREFIX3(*current_position); |
5681 } | 5680 } |
5682 goto st155; | 5681 goto st155; |
5683 st155: | 5682 st155: |
5684 if ( ++( current_position) == ( end_of_bundle) ) | 5683 if ( ++( current_position) == ( end_of_bundle) ) |
5685 goto _test_eof155; | 5684 goto _test_eof155; |
5686 case 155: | 5685 case 155: |
5687 switch( (*( current_position)) ) { | 5686 switch( (*( current_position)) ) { |
5688 case 242u: goto st156; | 5687 case 242u: goto st156; |
5689 case 243u: goto st157; | 5688 case 243u: goto st157; |
5690 case 247u: goto st156; | 5689 case 247u: goto st156; |
5691 } | 5690 } |
5692 goto tr16; | 5691 goto tr16; |
5693 st156: | 5692 st156: |
5694 if ( ++( current_position) == ( end_of_bundle) ) | 5693 if ( ++( current_position) == ( end_of_bundle) ) |
5695 goto _test_eof156; | 5694 goto _test_eof156; |
5696 case 156: | 5695 case 156: |
5697 switch( (*( current_position)) ) { | 5696 switch( (*( current_position)) ) { |
5698 » » case 4u: goto tr345; | 5697 » » case 4u: goto tr343; |
5699 » » case 5u: goto tr346; | 5698 » » case 5u: goto tr344; |
5700 » » case 12u: goto tr345; | 5699 » » case 12u: goto tr343; |
5701 » » case 13u: goto tr346; | 5700 » » case 13u: goto tr344; |
5702 » » case 20u: goto tr345; | 5701 » » case 20u: goto tr343; |
5703 » » case 21u: goto tr346; | 5702 » » case 21u: goto tr344; |
5704 » » case 28u: goto tr345; | 5703 » » case 28u: goto tr343; |
5705 » » case 29u: goto tr346; | 5704 » » case 29u: goto tr344; |
5706 » » case 36u: goto tr345; | 5705 » » case 36u: goto tr343; |
5707 » » case 37u: goto tr346; | 5706 » » case 37u: goto tr344; |
5708 » » case 44u: goto tr345; | 5707 » » case 44u: goto tr343; |
5709 » » case 45u: goto tr346; | 5708 » » case 45u: goto tr344; |
5710 » » case 52u: goto tr345; | 5709 » » case 52u: goto tr343; |
5711 » » case 53u: goto tr346; | 5710 » » case 53u: goto tr344; |
5712 » » case 60u: goto tr345; | 5711 » » case 60u: goto tr343; |
5713 » » case 61u: goto tr346; | 5712 » » case 61u: goto tr344; |
5714 » » case 68u: goto tr348; | 5713 » » case 68u: goto tr346; |
5715 » » case 76u: goto tr348; | 5714 » » case 76u: goto tr346; |
5716 » » case 84u: goto tr348; | 5715 » » case 84u: goto tr346; |
5717 » » case 92u: goto tr348; | 5716 » » case 92u: goto tr346; |
5718 » » case 100u: goto tr348; | 5717 » » case 100u: goto tr346; |
5719 » » case 108u: goto tr348; | 5718 » » case 108u: goto tr346; |
5720 » » case 116u: goto tr348; | 5719 » » case 116u: goto tr346; |
5721 » » case 124u: goto tr348; | 5720 » » case 124u: goto tr346; |
5722 » » case 132u: goto tr349; | 5721 » » case 132u: goto tr347; |
5723 » » case 140u: goto tr349; | 5722 » » case 140u: goto tr347; |
5724 » » case 148u: goto tr349; | 5723 » » case 148u: goto tr347; |
5725 » » case 156u: goto tr349; | 5724 » » case 156u: goto tr347; |
5726 » » case 164u: goto tr349; | 5725 » » case 164u: goto tr347; |
5727 » » case 172u: goto tr349; | 5726 » » case 172u: goto tr347; |
5728 » » case 180u: goto tr349; | 5727 » » case 180u: goto tr347; |
5729 » » case 188u: goto tr349; | 5728 » » case 188u: goto tr347; |
5730 } | 5729 } |
5731 if ( (*( current_position)) > 127u ) { | 5730 if ( (*( current_position)) > 127u ) { |
5732 if ( 128u <= (*( current_position)) && (*( current_position)) <=
191u ) | 5731 if ( 128u <= (*( current_position)) && (*( current_position)) <=
191u ) |
5733 » » » goto tr346; | 5732 » » » goto tr344; |
5734 } else if ( (*( current_position)) >= 64u ) | 5733 } else if ( (*( current_position)) >= 64u ) |
5735 » » goto tr347; | 5734 » » goto tr345; |
5736 » goto tr344; | 5735 » goto tr342; |
5737 st157: | 5736 st157: |
5738 if ( ++( current_position) == ( end_of_bundle) ) | 5737 if ( ++( current_position) == ( end_of_bundle) ) |
5739 goto _test_eof157; | 5738 goto _test_eof157; |
5740 case 157: | 5739 case 157: |
5741 switch( (*( current_position)) ) { | 5740 switch( (*( current_position)) ) { |
5742 » » case 12u: goto tr345; | 5741 » » case 12u: goto tr343; |
5743 » » case 13u: goto tr346; | 5742 » » case 13u: goto tr344; |
5744 » » case 20u: goto tr345; | 5743 » » case 20u: goto tr343; |
5745 » » case 21u: goto tr346; | 5744 » » case 21u: goto tr344; |
5746 » » case 28u: goto tr345; | 5745 » » case 28u: goto tr343; |
5747 » » case 29u: goto tr346; | 5746 » » case 29u: goto tr344; |
5748 » » case 76u: goto tr348; | 5747 » » case 76u: goto tr346; |
5749 » » case 84u: goto tr348; | 5748 » » case 84u: goto tr346; |
5750 » » case 92u: goto tr348; | 5749 » » case 92u: goto tr346; |
5751 » » case 140u: goto tr349; | 5750 » » case 140u: goto tr347; |
5752 » » case 148u: goto tr349; | 5751 » » case 148u: goto tr347; |
5753 » » case 156u: goto tr349; | 5752 » » case 156u: goto tr347; |
5754 } | 5753 } |
5755 if ( (*( current_position)) < 72u ) { | 5754 if ( (*( current_position)) < 72u ) { |
5756 if ( 8u <= (*( current_position)) && (*( current_position)) <= 3
1u ) | 5755 if ( 8u <= (*( current_position)) && (*( current_position)) <= 3
1u ) |
5757 » » » goto tr344; | 5756 » » » goto tr342; |
5758 } else if ( (*( current_position)) > 95u ) { | 5757 } else if ( (*( current_position)) > 95u ) { |
5759 if ( (*( current_position)) > 159u ) { | 5758 if ( (*( current_position)) > 159u ) { |
5760 if ( 200u <= (*( current_position)) && (*( current_posit
ion)) <= 223u ) | 5759 if ( 200u <= (*( current_position)) && (*( current_posit
ion)) <= 223u ) |
5761 » » » » goto tr344; | 5760 » » » » goto tr342; |
5762 } else if ( (*( current_position)) >= 136u ) | 5761 } else if ( (*( current_position)) >= 136u ) |
5763 » » » goto tr346; | 5762 » » » goto tr344; |
5764 } else | 5763 } else |
5765 » » goto tr347; | 5764 » » goto tr345; |
5766 goto tr16; | 5765 goto tr16; |
5767 tr337: | 5766 tr337: |
5768 { | 5767 { |
5769 SET_VEX_PREFIX3(*current_position); | 5768 SET_VEX_PREFIX3(*current_position); |
5770 } | 5769 } |
5771 goto st158; | 5770 goto st158; |
5772 st158: | 5771 st158: |
5773 if ( ++( current_position) == ( end_of_bundle) ) | 5772 if ( ++( current_position) == ( end_of_bundle) ) |
5774 goto _test_eof158; | 5773 goto _test_eof158; |
5775 case 158: | 5774 case 158: |
5776 » if ( (*( current_position)) < 166u ) { | 5775 » 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; | 5776 goto st159; |
5787 goto tr16; | 5777 goto tr16; |
5788 st159: | 5778 st159: |
5789 if ( ++( current_position) == ( end_of_bundle) ) | 5779 if ( ++( current_position) == ( end_of_bundle) ) |
5790 goto _test_eof159; | 5780 goto _test_eof159; |
5791 case 159: | 5781 case 159: |
5792 switch( (*( current_position)) ) { | 5782 switch( (*( current_position)) ) { |
5793 » » case 4u: goto tr353; | 5783 » » case 4u: goto tr350; |
5794 » » case 5u: goto tr354; | 5784 » » case 5u: goto tr351; |
5795 » » case 12u: goto tr353; | 5785 » » case 12u: goto tr350; |
5796 » » case 13u: goto tr354; | 5786 » » case 13u: goto tr351; |
5797 » » case 20u: goto tr353; | 5787 » » case 20u: goto tr350; |
5798 » » case 21u: goto tr354; | 5788 » » case 21u: goto tr351; |
5799 » » case 28u: goto tr353; | 5789 » » case 28u: goto tr350; |
5800 » » case 29u: goto tr354; | 5790 » » case 29u: goto tr351; |
5801 » » case 36u: goto tr353; | 5791 » » case 36u: goto tr350; |
5802 » » case 37u: goto tr354; | 5792 » » case 37u: goto tr351; |
5803 » » case 44u: goto tr353; | 5793 » » case 44u: goto tr350; |
5804 » » case 45u: goto tr354; | 5794 » » case 45u: goto tr351; |
5805 » » case 52u: goto tr353; | 5795 » » case 52u: goto tr350; |
5806 » » case 53u: goto tr354; | 5796 » » case 53u: goto tr351; |
5807 » » case 60u: goto tr353; | 5797 » » case 60u: goto tr350; |
5808 » » case 61u: goto tr354; | 5798 » » case 61u: goto tr351; |
5809 » » case 68u: goto tr356; | 5799 » » case 68u: goto tr353; |
5810 » » case 76u: goto tr356; | 5800 » » case 76u: goto tr353; |
5811 » » case 84u: goto tr356; | 5801 » » case 84u: goto tr353; |
5812 » » case 92u: goto tr356; | 5802 » » case 92u: goto tr353; |
5813 » » case 100u: goto tr356; | 5803 » » case 100u: goto tr353; |
5814 » » case 108u: goto tr356; | 5804 » » case 108u: goto tr353; |
5815 » » case 116u: goto tr356; | 5805 » » case 116u: goto tr353; |
5816 » » case 124u: goto tr356; | 5806 » » case 124u: goto tr353; |
5817 » » case 132u: goto tr357; | 5807 » » case 132u: goto tr354; |
5818 » » case 140u: goto tr357; | 5808 » » case 140u: goto tr354; |
5819 » » case 148u: goto tr357; | 5809 » » case 148u: goto tr354; |
5820 » » case 156u: goto tr357; | 5810 » » case 156u: goto tr354; |
5821 » » case 164u: goto tr357; | 5811 » » case 164u: goto tr354; |
5822 » » case 172u: goto tr357; | 5812 » » case 172u: goto tr354; |
5823 » » case 180u: goto tr357; | 5813 » » case 180u: goto tr354; |
5824 » » case 188u: goto tr357; | 5814 » » case 188u: goto tr354; |
5825 } | 5815 } |
5826 if ( (*( current_position)) > 127u ) { | 5816 if ( (*( current_position)) > 127u ) { |
5827 if ( 128u <= (*( current_position)) && (*( current_position)) <=
191u ) | 5817 if ( 128u <= (*( current_position)) && (*( current_position)) <=
191u ) |
5828 » » » goto tr354; | 5818 » » » goto tr351; |
5829 } else if ( (*( current_position)) >= 64u ) | 5819 } else if ( (*( current_position)) >= 64u ) |
5830 » » goto tr355; | 5820 » » goto tr352; |
5831 » goto tr352; | 5821 » goto tr349; |
| 5822 tr338: |
| 5823 » { |
| 5824 SET_VEX_PREFIX3(*current_position); |
| 5825 } |
| 5826 » goto st160; |
5832 st160: | 5827 st160: |
5833 if ( ++( current_position) == ( end_of_bundle) ) | 5828 if ( ++( current_position) == ( end_of_bundle) ) |
5834 goto _test_eof160; | 5829 goto _test_eof160; |
5835 case 160: | 5830 case 160: |
5836 » switch( (*( current_position)) ) { | 5831 » if ( (*( current_position)) == 19u ) |
5837 » » case 4u: goto tr359; | 5832 » » goto st161; |
5838 » » case 5u: goto tr360; | 5833 » if ( 219u <= (*( current_position)) && (*( current_position)) <= 223u ) |
5839 » » case 12u: goto tr359; | 5834 » » goto st159; |
5840 » » case 13u: goto tr360; | 5835 » 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: | 5836 st161: |
5882 if ( ++( current_position) == ( end_of_bundle) ) | 5837 if ( ++( current_position) == ( end_of_bundle) ) |
5883 goto _test_eof161; | 5838 goto _test_eof161; |
5884 case 161: | 5839 case 161: |
5885 switch( (*( current_position)) ) { | 5840 switch( (*( current_position)) ) { |
5886 » » case 154u: goto st159; | 5841 » » case 4u: goto tr357; |
5887 » » case 156u: goto st159; | 5842 » » case 5u: goto tr358; |
5888 » » case 158u: goto st159; | 5843 » » case 12u: goto tr357; |
5889 » » case 170u: goto st159; | 5844 » » case 13u: goto tr358; |
5890 » » case 172u: goto st159; | 5845 » » case 20u: goto tr357; |
5891 » » case 174u: goto st159; | 5846 » » case 21u: goto tr358; |
5892 » » case 186u: goto st159; | 5847 » » case 28u: goto tr357; |
5893 » » case 188u: goto st159; | 5848 » » case 29u: goto tr358; |
5894 » » case 190u: goto st159; | 5849 » » case 36u: goto tr357; |
| 5850 » » case 37u: goto tr358; |
| 5851 » » case 44u: goto tr357; |
| 5852 » » case 45u: goto tr358; |
| 5853 » » case 52u: goto tr357; |
| 5854 » » case 53u: goto tr358; |
| 5855 » » case 60u: goto tr357; |
| 5856 » » case 61u: goto tr358; |
| 5857 » » case 68u: goto tr360; |
| 5858 » » case 76u: goto tr360; |
| 5859 » » case 84u: goto tr360; |
| 5860 » » case 92u: goto tr360; |
| 5861 » » case 100u: goto tr360; |
| 5862 » » case 108u: goto tr360; |
| 5863 » » case 116u: goto tr360; |
| 5864 » » case 124u: goto tr360; |
| 5865 » » case 132u: goto tr361; |
| 5866 » » case 140u: goto tr361; |
| 5867 » » case 148u: goto tr361; |
| 5868 » » case 156u: goto tr361; |
| 5869 » » case 164u: goto tr361; |
| 5870 » » case 172u: goto tr361; |
| 5871 » » case 180u: goto tr361; |
| 5872 » » case 188u: goto tr361; |
5895 } | 5873 } |
5896 » if ( (*( current_position)) < 166u ) { | 5874 » if ( (*( current_position)) > 127u ) { |
5897 » » if ( 150u <= (*( current_position)) && (*( current_position)) <=
152u ) | 5875 » » if ( 128u <= (*( current_position)) && (*( current_position)) <=
191u ) |
5898 » » » goto st159; | 5876 » » » goto tr358; |
5899 » } else if ( (*( current_position)) > 168u ) { | 5877 » } else if ( (*( current_position)) >= 64u ) |
5900 » » if ( 182u <= (*( current_position)) && (*( current_position)) <=
184u ) | 5878 » » goto tr359; |
5901 » » » goto st159; | 5879 » goto tr356; |
5902 » } else | |
5903 » » goto st159; | |
5904 » goto tr16; | |
5905 tr339: | 5880 tr339: |
5906 { | 5881 { |
5907 SET_VEX_PREFIX3(*current_position); | 5882 SET_VEX_PREFIX3(*current_position); |
5908 } | 5883 } |
5909 goto st162; | 5884 goto st162; |
5910 st162: | 5885 st162: |
5911 if ( ++( current_position) == ( end_of_bundle) ) | 5886 if ( ++( current_position) == ( end_of_bundle) ) |
5912 goto _test_eof162; | 5887 goto _test_eof162; |
5913 case 162: | 5888 case 162: |
5914 if ( (*( current_position)) == 19u ) | 5889 if ( (*( current_position)) == 19u ) |
5915 » » goto st163; | 5890 » » 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; | 5891 goto tr16; |
5928 st163: | 5892 st163: |
5929 if ( ++( current_position) == ( end_of_bundle) ) | 5893 if ( ++( current_position) == ( end_of_bundle) ) |
5930 goto _test_eof163; | 5894 goto _test_eof163; |
5931 case 163: | 5895 case 163: |
5932 switch( (*( current_position)) ) { | 5896 switch( (*( current_position)) ) { |
5933 » » case 4u: goto tr366; | 5897 » » case 65u: goto tr362; |
5934 » » case 5u: goto tr367; | 5898 » » case 73u: goto tr362; |
5935 » » case 12u: goto tr366; | 5899 » » case 81u: goto tr362; |
5936 » » case 13u: goto tr367; | 5900 » » case 89u: goto tr362; |
5937 » » case 20u: goto tr366; | 5901 » » case 97u: goto tr362; |
5938 » » case 21u: goto tr367; | 5902 » » case 105u: goto tr362; |
5939 » » case 28u: goto tr366; | 5903 » » case 113u: goto tr362; |
5940 » » case 29u: goto tr367; | 5904 » » case 121u: goto tr363; |
5941 » » case 36u: goto tr366; | 5905 » » 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 } | 5906 } |
5966 » if ( (*( current_position)) > 127u ) { | 5907 » goto tr16; |
5967 » » if ( 128u <= (*( current_position)) && (*( current_position)) <=
191u ) | 5908 tr362: |
5968 » » » goto tr367; | |
5969 » } else if ( (*( current_position)) >= 64u ) | |
5970 » » goto tr368; | |
5971 » goto tr365; | |
5972 tr340: | |
5973 { | 5909 { |
5974 SET_VEX_PREFIX3(*current_position); | 5910 SET_VEX_PREFIX3(*current_position); |
5975 } | 5911 } |
5976 goto st164; | 5912 goto st164; |
5977 st164: | 5913 st164: |
5978 if ( ++( current_position) == ( end_of_bundle) ) | 5914 if ( ++( current_position) == ( end_of_bundle) ) |
5979 goto _test_eof164; | 5915 goto _test_eof164; |
5980 case 164: | 5916 case 164: |
5981 switch( (*( current_position)) ) { | 5917 switch( (*( current_position)) ) { |
5982 » » case 19u: goto st163; | 5918 » » case 68u: goto st165; |
5983 » » case 154u: goto st159; | 5919 » » 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 } | 5920 } |
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; | 5921 goto tr16; |
6002 tr341: | |
6003 { | |
6004 SET_VEX_PREFIX3(*current_position); | |
6005 } | |
6006 goto st165; | |
6007 st165: | 5922 st165: |
6008 if ( ++( current_position) == ( end_of_bundle) ) | 5923 if ( ++( current_position) == ( end_of_bundle) ) |
6009 goto _test_eof165; | 5924 goto _test_eof165; |
6010 case 165: | 5925 case 165: |
6011 » if ( (*( current_position)) < 166u ) { | 5926 » switch( (*( current_position)) ) { |
6012 » » if ( 150u <= (*( current_position)) && (*( current_position)) <=
159u ) | 5927 » » case 4u: goto tr368; |
6013 » » » goto st159; | 5928 » » case 5u: goto tr369; |
6014 » } else if ( (*( current_position)) > 175u ) { | 5929 » » case 12u: goto tr368; |
6015 » » if ( 182u <= (*( current_position)) && (*( current_position)) <=
191u ) | 5930 » » case 13u: goto tr369; |
6016 » » » goto st159; | 5931 » » case 20u: goto tr368; |
6017 » } else | 5932 » » case 21u: goto tr369; |
6018 » » goto st159; | 5933 » » case 28u: goto tr368; |
6019 » goto tr16; | 5934 » » case 29u: goto tr369; |
| 5935 » » case 36u: goto tr368; |
| 5936 » » case 37u: goto tr369; |
| 5937 » » case 44u: goto tr368; |
| 5938 » » case 45u: goto tr369; |
| 5939 » » case 52u: goto tr368; |
| 5940 » » case 53u: goto tr369; |
| 5941 » » case 60u: goto tr368; |
| 5942 » » case 61u: goto tr369; |
| 5943 » » case 68u: goto tr371; |
| 5944 » » case 76u: goto tr371; |
| 5945 » » case 84u: goto tr371; |
| 5946 » » case 92u: goto tr371; |
| 5947 » » case 100u: goto tr371; |
| 5948 » » case 108u: goto tr371; |
| 5949 » » case 116u: goto tr371; |
| 5950 » » case 124u: goto tr371; |
| 5951 » » case 132u: goto tr372; |
| 5952 » » case 140u: goto tr372; |
| 5953 » » case 148u: goto tr372; |
| 5954 » » case 156u: goto tr372; |
| 5955 » » case 164u: goto tr372; |
| 5956 » » case 172u: goto tr372; |
| 5957 » » case 180u: goto tr372; |
| 5958 » » case 188u: goto tr372; |
| 5959 » } |
| 5960 » if ( (*( current_position)) > 127u ) { |
| 5961 » » if ( 128u <= (*( current_position)) && (*( current_position)) <=
191u ) |
| 5962 » » » goto tr369; |
| 5963 » } else if ( (*( current_position)) >= 64u ) |
| 5964 » » goto tr370; |
| 5965 » goto tr367; |
6020 st166: | 5966 st166: |
6021 if ( ++( current_position) == ( end_of_bundle) ) | 5967 if ( ++( current_position) == ( end_of_bundle) ) |
6022 goto _test_eof166; | 5968 goto _test_eof166; |
6023 case 166: | 5969 case 166: |
6024 switch( (*( current_position)) ) { | 5970 switch( (*( current_position)) ) { |
6025 » » case 65u: goto tr371; | 5971 » » case 4u: goto tr374; |
6026 » » case 69u: goto tr372; | 5972 » » case 5u: goto tr375; |
6027 » » case 73u: goto tr371; | 5973 » » case 12u: goto tr374; |
6028 » » case 77u: goto tr372; | 5974 » » case 13u: goto tr375; |
6029 » » case 81u: goto tr371; | 5975 » » case 20u: goto tr374; |
6030 » » case 85u: goto tr372; | 5976 » » case 21u: goto tr375; |
6031 » » case 89u: goto tr371; | 5977 » » case 28u: goto tr374; |
6032 » » case 93u: goto tr372; | 5978 » » case 29u: goto tr375; |
6033 » » case 97u: goto tr371; | 5979 » » case 36u: goto tr374; |
6034 » » case 101u: goto tr372; | 5980 » » case 37u: goto tr375; |
6035 » » case 105u: goto tr371; | 5981 » » case 44u: goto tr374; |
6036 » » case 109u: goto tr372; | 5982 » » case 45u: goto tr375; |
6037 » » case 113u: goto tr371; | 5983 » » case 52u: goto tr374; |
6038 » » case 117u: goto tr372; | 5984 » » case 53u: goto tr375; |
6039 » » case 121u: goto tr373; | 5985 » » case 60u: goto tr374; |
6040 » » case 125u: goto tr374; | 5986 » » case 61u: goto tr375; |
6041 » » case 193u: goto tr375; | 5987 » » case 68u: goto tr377; |
6042 » » case 197u: goto tr372; | 5988 » » case 76u: goto tr377; |
6043 » » case 201u: goto tr375; | 5989 » » case 84u: goto tr377; |
6044 » » case 205u: goto tr372; | 5990 » » case 92u: goto tr377; |
6045 » » case 209u: goto tr375; | 5991 » » case 100u: goto tr377; |
6046 » » case 213u: goto tr372; | 5992 » » case 108u: goto tr377; |
6047 » » case 217u: goto tr375; | 5993 » » case 116u: goto tr377; |
6048 » » case 221u: goto tr372; | 5994 » » case 124u: goto tr377; |
6049 » » case 225u: goto tr375; | 5995 » » case 132u: goto tr378; |
6050 » » case 229u: goto tr372; | 5996 » » case 140u: goto tr378; |
6051 » » case 233u: goto tr375; | 5997 » » case 148u: goto tr378; |
6052 » » case 237u: goto tr372; | 5998 » » case 156u: goto tr378; |
6053 » » case 241u: goto tr375; | 5999 » » case 164u: goto tr378; |
6054 » » case 245u: goto tr372; | 6000 » » case 172u: goto tr378; |
6055 » » case 249u: goto tr375; | 6001 » » case 180u: goto tr378; |
6056 » » case 253u: goto tr372; | 6002 » » case 188u: goto tr378; |
6057 } | 6003 } |
6058 » goto tr16; | 6004 » if ( (*( current_position)) > 127u ) { |
6059 tr371: | 6005 » » if ( 128u <= (*( current_position)) && (*( current_position)) <=
191u ) |
| 6006 » » » goto tr375; |
| 6007 » } else if ( (*( current_position)) >= 64u ) |
| 6008 » » goto tr376; |
| 6009 » goto tr373; |
| 6010 tr363: |
6060 { | 6011 { |
6061 SET_VEX_PREFIX3(*current_position); | 6012 SET_VEX_PREFIX3(*current_position); |
6062 } | 6013 } |
6063 goto st167; | 6014 goto st167; |
6064 st167: | 6015 st167: |
6065 if ( ++( current_position) == ( end_of_bundle) ) | 6016 if ( ++( current_position) == ( end_of_bundle) ) |
6066 goto _test_eof167; | 6017 goto _test_eof167; |
6067 case 167: | 6018 case 167: |
6068 switch( (*( current_position)) ) { | 6019 switch( (*( current_position)) ) { |
6069 » » case 68u: goto st168; | 6020 » » case 29u: goto st168; |
6070 » » case 223u: goto st179; | 6021 » » case 68u: goto st165; |
| 6022 » » case 223u: goto st166; |
6071 } | 6023 } |
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; | 6024 goto tr16; |
6081 st168: | 6025 st168: |
6082 if ( ++( current_position) == ( end_of_bundle) ) | 6026 if ( ++( current_position) == ( end_of_bundle) ) |
6083 goto _test_eof168; | 6027 goto _test_eof168; |
6084 case 168: | 6028 case 168: |
6085 switch( (*( current_position)) ) { | 6029 switch( (*( current_position)) ) { |
6086 » » case 4u: goto tr380; | 6030 » » case 4u: goto tr381; |
6087 » » case 5u: goto tr381; | 6031 » » case 5u: goto tr382; |
6088 » » case 12u: goto tr380; | 6032 » » case 12u: goto tr381; |
6089 » » case 13u: goto tr381; | 6033 » » case 13u: goto tr382; |
6090 » » case 20u: goto tr380; | 6034 » » case 20u: goto tr381; |
6091 » » case 21u: goto tr381; | 6035 » » case 21u: goto tr382; |
6092 » » case 28u: goto tr380; | 6036 » » case 28u: goto tr381; |
6093 » » case 29u: goto tr381; | 6037 » » case 29u: goto tr382; |
6094 » » case 36u: goto tr380; | 6038 » » case 36u: goto tr381; |
6095 » » case 37u: goto tr381; | 6039 » » case 37u: goto tr382; |
6096 » » case 44u: goto tr380; | 6040 » » case 44u: goto tr381; |
6097 » » case 45u: goto tr381; | 6041 » » case 45u: goto tr382; |
6098 » » case 52u: goto tr380; | 6042 » » case 52u: goto tr381; |
6099 » » case 53u: goto tr381; | 6043 » » case 53u: goto tr382; |
6100 » » case 60u: goto tr380; | 6044 » » case 60u: goto tr381; |
6101 » » case 61u: goto tr381; | 6045 » » case 61u: goto tr382; |
6102 » » case 68u: goto tr383; | 6046 » » case 68u: goto tr384; |
6103 » » case 76u: goto tr383; | 6047 » » case 76u: goto tr384; |
6104 » » case 84u: goto tr383; | 6048 » » case 84u: goto tr384; |
6105 » » case 92u: goto tr383; | 6049 » » case 92u: goto tr384; |
6106 » » case 100u: goto tr383; | 6050 » » case 100u: goto tr384; |
6107 » » case 108u: goto tr383; | 6051 » » case 108u: goto tr384; |
6108 » » case 116u: goto tr383; | 6052 » » case 116u: goto tr384; |
6109 » » case 124u: goto tr383; | 6053 » » case 124u: goto tr384; |
6110 » » case 132u: goto tr384; | 6054 » » case 132u: goto tr385; |
6111 » » case 140u: goto tr384; | 6055 » » case 140u: goto tr385; |
6112 » » case 148u: goto tr384; | 6056 » » case 148u: goto tr385; |
6113 » » case 156u: goto tr384; | 6057 » » case 156u: goto tr385; |
6114 » » case 164u: goto tr384; | 6058 » » case 164u: goto tr385; |
6115 » » case 172u: goto tr384; | 6059 » » case 172u: goto tr385; |
6116 » » case 180u: goto tr384; | 6060 » » case 180u: goto tr385; |
6117 » » case 188u: goto tr384; | 6061 » » case 188u: goto tr385; |
6118 } | 6062 } |
6119 if ( (*( current_position)) > 127u ) { | 6063 if ( (*( current_position)) > 127u ) { |
6120 if ( 128u <= (*( current_position)) && (*( current_position)) <=
191u ) | 6064 if ( 128u <= (*( current_position)) && (*( current_position)) <=
191u ) |
6121 » » » goto tr381; | 6065 » » » goto tr382; |
6122 } else if ( (*( current_position)) >= 64u ) | 6066 } else if ( (*( current_position)) >= 64u ) |
6123 » » goto tr382; | 6067 » » goto tr383; |
6124 » goto tr379; | 6068 » goto tr380; |
| 6069 tr364: |
| 6070 » { |
| 6071 SET_VEX_PREFIX3(*current_position); |
| 6072 } |
| 6073 » goto st169; |
6125 st169: | 6074 st169: |
6126 if ( ++( current_position) == ( end_of_bundle) ) | 6075 if ( ++( current_position) == ( end_of_bundle) ) |
6127 goto _test_eof169; | 6076 goto _test_eof169; |
6128 case 169: | 6077 case 169: |
6129 » switch( (*( current_position)) ) { | 6078 » if ( (*( current_position)) == 29u ) |
6130 » » case 4u: goto tr386; | 6079 » » goto st168; |
6131 » » case 5u: goto tr387; | 6080 » 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: | 6081 st170: |
6187 if ( ++( current_position) == ( end_of_bundle) ) | 6082 if ( ++( current_position) == ( end_of_bundle) ) |
6188 goto _test_eof170; | 6083 goto _test_eof170; |
6189 case 170: | 6084 case 170: |
6190 switch( (*( current_position)) ) { | 6085 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; | 6086 case 4u: goto st39; |
6484 case 5u: goto st40; | 6087 case 5u: goto st40; |
6485 case 68u: goto st45; | 6088 case 68u: goto st45; |
6486 case 132u: goto st46; | 6089 case 132u: goto st46; |
6487 } | 6090 } |
6488 if ( (*( current_position)) < 64u ) { | 6091 if ( (*( current_position)) < 64u ) { |
6489 if ( (*( current_position)) <= 7u ) | 6092 if ( (*( current_position)) <= 7u ) |
6490 goto st10; | 6093 goto st10; |
6491 } else if ( (*( current_position)) > 71u ) { | 6094 } else if ( (*( current_position)) > 71u ) { |
6492 if ( (*( current_position)) > 135u ) { | 6095 if ( (*( current_position)) > 135u ) { |
6493 if ( 192u <= (*( current_position)) && (*( current_posit
ion)) <= 199u ) | 6096 if ( 192u <= (*( current_position)) && (*( current_posit
ion)) <= 199u ) |
6494 goto st10; | 6097 goto st10; |
6495 } else if ( (*( current_position)) >= 128u ) | 6098 } else if ( (*( current_position)) >= 128u ) |
6496 goto st40; | 6099 goto st40; |
6497 } else | 6100 } else |
6498 goto st44; | 6101 goto st44; |
6499 goto tr16; | 6102 goto tr16; |
6500 st186: | 6103 st171: |
6501 if ( ++( current_position) == ( end_of_bundle) ) | 6104 if ( ++( current_position) == ( end_of_bundle) ) |
6502 » » goto _test_eof186; | 6105 » » goto _test_eof171; |
6503 case 186: | 6106 case 171: |
6504 switch( (*( current_position)) ) { | 6107 switch( (*( current_position)) ) { |
6505 case 4u: goto st131; | 6108 case 4u: goto st131; |
6506 case 5u: goto st132; | 6109 case 5u: goto st132; |
6507 case 68u: goto st137; | 6110 case 68u: goto st137; |
6508 case 132u: goto st138; | 6111 case 132u: goto st138; |
6509 } | 6112 } |
6510 if ( (*( current_position)) < 64u ) { | 6113 if ( (*( current_position)) < 64u ) { |
6511 if ( (*( current_position)) <= 7u ) | 6114 if ( (*( current_position)) <= 7u ) |
6512 goto st11; | 6115 goto st11; |
6513 } else if ( (*( current_position)) > 71u ) { | 6116 } else if ( (*( current_position)) > 71u ) { |
6514 if ( (*( current_position)) > 135u ) { | 6117 if ( (*( current_position)) > 135u ) { |
6515 if ( 192u <= (*( current_position)) && (*( current_posit
ion)) <= 199u ) | 6118 if ( 192u <= (*( current_position)) && (*( current_posit
ion)) <= 199u ) |
6516 goto st11; | 6119 goto st11; |
6517 } else if ( (*( current_position)) >= 128u ) | 6120 } else if ( (*( current_position)) >= 128u ) |
6518 goto st132; | 6121 goto st132; |
6519 } else | 6122 } else |
6520 goto st136; | 6123 goto st136; |
6521 goto tr16; | 6124 goto tr16; |
6522 st187: | 6125 st172: |
6523 if ( ++( current_position) == ( end_of_bundle) ) | 6126 if ( ++( current_position) == ( end_of_bundle) ) |
6524 » » goto _test_eof187; | 6127 » » goto _test_eof172; |
6525 case 187: | 6128 case 172: |
6526 switch( (*( current_position)) ) { | 6129 switch( (*( current_position)) ) { |
6527 » » case 4u: goto tr414; | 6130 » » case 4u: goto tr387; |
6528 » » case 5u: goto tr415; | 6131 » » case 5u: goto tr388; |
6529 » » case 12u: goto tr414; | 6132 » » case 12u: goto tr387; |
6530 » » case 13u: goto tr415; | 6133 » » case 13u: goto tr388; |
6531 » » case 20u: goto tr414; | 6134 » » case 20u: goto tr387; |
6532 » » case 21u: goto tr415; | 6135 » » case 21u: goto tr388; |
6533 » » case 28u: goto tr414; | 6136 » » case 28u: goto tr387; |
6534 » » case 29u: goto tr415; | 6137 » » case 29u: goto tr388; |
6535 » » case 36u: goto tr414; | 6138 » » case 36u: goto tr387; |
6536 » » case 37u: goto tr415; | 6139 » » case 37u: goto tr388; |
6537 » » case 44u: goto tr414; | 6140 » » case 44u: goto tr387; |
6538 » » case 45u: goto tr415; | 6141 » » case 45u: goto tr388; |
6539 » » case 52u: goto tr414; | 6142 » » case 52u: goto tr387; |
6540 » » case 53u: goto tr415; | 6143 » » case 53u: goto tr388; |
6541 » » case 60u: goto tr414; | 6144 » » case 60u: goto tr387; |
6542 » » case 61u: goto tr415; | 6145 » » case 61u: goto tr388; |
6543 » » case 68u: goto tr417; | 6146 » » case 68u: goto tr390; |
6544 » » case 76u: goto tr417; | 6147 » » case 76u: goto tr390; |
6545 » » case 84u: goto tr417; | 6148 » » case 84u: goto tr390; |
6546 » » case 92u: goto tr417; | 6149 » » case 92u: goto tr390; |
6547 » » case 100u: goto tr417; | 6150 » » case 100u: goto tr390; |
6548 » » case 108u: goto tr417; | 6151 » » case 108u: goto tr390; |
6549 » » case 116u: goto tr417; | 6152 » » case 116u: goto tr390; |
6550 » » case 124u: goto tr417; | 6153 » » case 124u: goto tr390; |
6551 » » case 132u: goto tr418; | 6154 » » case 132u: goto tr391; |
6552 » » case 140u: goto tr418; | 6155 » » case 140u: goto tr391; |
6553 » » case 148u: goto tr418; | 6156 » » case 148u: goto tr391; |
6554 » » case 156u: goto tr418; | 6157 » » case 156u: goto tr391; |
6555 » » case 164u: goto tr418; | 6158 » » case 164u: goto tr391; |
6556 » » case 172u: goto tr418; | 6159 » » case 172u: goto tr391; |
6557 » » case 180u: goto tr418; | 6160 » » case 180u: goto tr391; |
6558 » » case 188u: goto tr418; | 6161 » » case 188u: goto tr391; |
6559 } | 6162 } |
6560 if ( (*( current_position)) > 127u ) { | 6163 if ( (*( current_position)) > 127u ) { |
6561 if ( 128u <= (*( current_position)) && (*( current_position)) <=
191u ) | 6164 if ( 128u <= (*( current_position)) && (*( current_position)) <=
191u ) |
6562 » » » goto tr415; | 6165 » » » goto tr388; |
6563 } else if ( (*( current_position)) >= 64u ) | 6166 } else if ( (*( current_position)) >= 64u ) |
6564 » » goto tr416; | 6167 » » goto tr389; |
6565 » goto tr413; | 6168 » goto tr386; |
6566 st188: | 6169 st173: |
6567 if ( ++( current_position) == ( end_of_bundle) ) | 6170 if ( ++( current_position) == ( end_of_bundle) ) |
6568 » » goto _test_eof188; | 6171 » » goto _test_eof173; |
6569 case 188: | 6172 case 173: |
6570 switch( (*( current_position)) ) { | 6173 switch( (*( current_position)) ) { |
6571 » » case 4u: goto tr414; | 6174 » » case 4u: goto tr387; |
6572 » » case 5u: goto tr415; | 6175 » » case 5u: goto tr388; |
6573 » » case 20u: goto tr414; | 6176 » » case 20u: goto tr387; |
6574 » » case 21u: goto tr415; | 6177 » » case 21u: goto tr388; |
6575 » » case 28u: goto tr414; | 6178 » » case 28u: goto tr387; |
6576 » » case 29u: goto tr415; | 6179 » » case 29u: goto tr388; |
6577 » » case 36u: goto tr414; | 6180 » » case 36u: goto tr387; |
6578 » » case 37u: goto tr415; | 6181 » » case 37u: goto tr388; |
6579 » » case 44u: goto tr414; | 6182 » » case 44u: goto tr387; |
6580 » » case 45u: goto tr415; | 6183 » » case 45u: goto tr388; |
6581 » » case 52u: goto tr414; | 6184 » » case 52u: goto tr387; |
6582 » » case 53u: goto tr415; | 6185 » » case 53u: goto tr388; |
6583 » » case 60u: goto tr414; | 6186 » » case 60u: goto tr387; |
6584 » » case 61u: goto tr415; | 6187 » » case 61u: goto tr388; |
6585 » » case 68u: goto tr417; | 6188 » » case 68u: goto tr390; |
6586 » » case 84u: goto tr417; | 6189 » » case 84u: goto tr390; |
6587 » » case 92u: goto tr417; | 6190 » » case 92u: goto tr390; |
6588 » » case 100u: goto tr417; | 6191 » » case 100u: goto tr390; |
6589 » » case 108u: goto tr417; | 6192 » » case 108u: goto tr390; |
6590 » » case 116u: goto tr417; | 6193 » » case 116u: goto tr390; |
6591 » » case 124u: goto tr417; | 6194 » » case 124u: goto tr390; |
6592 » » case 132u: goto tr418; | 6195 » » case 132u: goto tr391; |
6593 » » case 148u: goto tr418; | 6196 » » case 148u: goto tr391; |
6594 » » case 156u: goto tr418; | 6197 » » case 156u: goto tr391; |
6595 » » case 164u: goto tr418; | 6198 » » case 164u: goto tr391; |
6596 » » case 172u: goto tr418; | 6199 » » case 172u: goto tr391; |
6597 » » case 180u: goto tr418; | 6200 » » case 180u: goto tr391; |
6598 » » case 188u: goto tr418; | 6201 » » case 188u: goto tr391; |
6599 case 239u: goto tr16; | 6202 case 239u: goto tr16; |
6600 } | 6203 } |
6601 if ( (*( current_position)) < 128u ) { | 6204 if ( (*( current_position)) < 128u ) { |
6602 if ( (*( current_position)) < 64u ) { | 6205 if ( (*( current_position)) < 64u ) { |
6603 if ( 8u <= (*( current_position)) && (*( current_positio
n)) <= 15u ) | 6206 if ( 8u <= (*( current_position)) && (*( current_positio
n)) <= 15u ) |
6604 goto tr16; | 6207 goto tr16; |
6605 } else if ( (*( current_position)) > 71u ) { | 6208 } else if ( (*( current_position)) > 71u ) { |
6606 if ( (*( current_position)) > 79u ) { | 6209 if ( (*( current_position)) > 79u ) { |
6607 if ( 80u <= (*( current_position)) && (*( curren
t_position)) <= 127u ) | 6210 if ( 80u <= (*( current_position)) && (*( curren
t_position)) <= 127u ) |
6608 » » » » » goto tr416; | 6211 » » » » » goto tr389; |
6609 } else if ( (*( current_position)) >= 72u ) | 6212 } else if ( (*( current_position)) >= 72u ) |
6610 goto tr16; | 6213 goto tr16; |
6611 } else | 6214 } else |
6612 » » » goto tr416; | 6215 » » » goto tr389; |
6613 } else if ( (*( current_position)) > 135u ) { | 6216 } else if ( (*( current_position)) > 135u ) { |
6614 if ( (*( current_position)) < 209u ) { | 6217 if ( (*( current_position)) < 209u ) { |
6615 if ( (*( current_position)) > 143u ) { | 6218 if ( (*( current_position)) > 143u ) { |
6616 if ( 144u <= (*( current_position)) && (*( curre
nt_position)) <= 191u ) | 6219 if ( 144u <= (*( current_position)) && (*( curre
nt_position)) <= 191u ) |
6617 » » » » » goto tr415; | 6220 » » » » » goto tr388; |
6618 } else if ( (*( current_position)) >= 136u ) | 6221 } else if ( (*( current_position)) >= 136u ) |
6619 goto tr16; | 6222 goto tr16; |
6620 } else if ( (*( current_position)) > 223u ) { | 6223 } else if ( (*( current_position)) > 223u ) { |
6621 if ( (*( current_position)) > 227u ) { | 6224 if ( (*( current_position)) > 227u ) { |
6622 if ( 230u <= (*( current_position)) && (*( curre
nt_position)) <= 231u ) | 6225 if ( 230u <= (*( current_position)) && (*( curre
nt_position)) <= 231u ) |
6623 goto tr16; | 6226 goto tr16; |
6624 } else if ( (*( current_position)) >= 226u ) | 6227 } else if ( (*( current_position)) >= 226u ) |
6625 goto tr16; | 6228 goto tr16; |
6626 } else | 6229 } else |
6627 goto tr16; | 6230 goto tr16; |
6628 } else | 6231 } else |
6629 » » goto tr415; | 6232 » » goto tr388; |
6630 » goto tr413; | 6233 » goto tr386; |
6631 st189: | 6234 st174: |
6632 » if ( ++( current_position) == ( end_of_bundle) ) | 6235 » if ( ++( current_position) == ( end_of_bundle) ) |
6633 » » goto _test_eof189; | 6236 » » goto _test_eof174; |
6634 case 189: | 6237 case 174: |
6635 » switch( (*( current_position)) ) { | 6238 » switch( (*( current_position)) ) { |
6636 » » case 4u: goto tr414; | 6239 » » case 4u: goto tr387; |
6637 » » case 12u: goto tr414; | 6240 » » case 12u: goto tr387; |
6638 » » case 20u: goto tr414; | 6241 » » case 20u: goto tr387; |
6639 » » case 28u: goto tr414; | 6242 » » case 28u: goto tr387; |
6640 » » case 36u: goto tr414; | 6243 » » case 36u: goto tr387; |
6641 » » case 44u: goto tr414; | 6244 » » case 44u: goto tr387; |
6642 » » case 52u: goto tr414; | 6245 » » case 52u: goto tr387; |
6643 » » case 60u: goto tr414; | 6246 » » case 60u: goto tr387; |
6644 » » case 68u: goto tr417; | 6247 » » case 68u: goto tr390; |
6645 » » case 76u: goto tr417; | 6248 » » case 76u: goto tr390; |
6646 » » case 84u: goto tr417; | 6249 » » case 84u: goto tr390; |
6647 » » case 92u: goto tr417; | 6250 » » case 92u: goto tr390; |
6648 » » case 100u: goto tr417; | 6251 » » case 100u: goto tr390; |
6649 » » case 108u: goto tr417; | 6252 » » case 108u: goto tr390; |
6650 » » case 116u: goto tr417; | 6253 » » case 116u: goto tr390; |
6651 » » case 124u: goto tr417; | 6254 » » case 124u: goto tr390; |
6652 » » case 132u: goto tr418; | 6255 » » case 132u: goto tr391; |
6653 » » case 140u: goto tr418; | 6256 » » case 140u: goto tr391; |
6654 » » case 148u: goto tr418; | 6257 » » case 148u: goto tr391; |
6655 » » case 156u: goto tr418; | 6258 » » case 156u: goto tr391; |
6656 » » case 164u: goto tr418; | 6259 » » case 164u: goto tr391; |
6657 » » case 172u: goto tr418; | 6260 » » case 172u: goto tr391; |
6658 » » case 180u: goto tr418; | 6261 » » case 180u: goto tr391; |
6659 » » case 188u: goto tr418; | 6262 » » case 188u: goto tr391; |
6660 » » case 233u: goto tr413; | 6263 » » case 233u: goto tr386; |
6661 } | 6264 } |
6662 if ( (*( current_position)) < 38u ) { | 6265 if ( (*( current_position)) < 38u ) { |
6663 if ( (*( current_position)) < 14u ) { | 6266 if ( (*( current_position)) < 14u ) { |
6664 if ( (*( current_position)) > 3u ) { | 6267 if ( (*( current_position)) > 3u ) { |
6665 if ( 6u <= (*( current_position)) && (*( current
_position)) <= 11u ) | 6268 if ( 6u <= (*( current_position)) && (*( current
_position)) <= 11u ) |
6666 » » » » » goto tr413; | 6269 » » » » » goto tr386; |
6667 » » » } else | 6270 » » » } else |
6668 » » » » goto tr413; | 6271 » » » » goto tr386; |
6669 } else if ( (*( current_position)) > 19u ) { | 6272 } else if ( (*( current_position)) > 19u ) { |
6670 if ( (*( current_position)) > 27u ) { | 6273 if ( (*( current_position)) > 27u ) { |
6671 if ( 30u <= (*( current_position)) && (*( curren
t_position)) <= 35u ) | 6274 if ( 30u <= (*( current_position)) && (*( curren
t_position)) <= 35u ) |
6672 » » » » » goto tr413; | 6275 » » » » » goto tr386; |
6673 } else if ( (*( current_position)) >= 22u ) | 6276 } else if ( (*( current_position)) >= 22u ) |
6674 » » » » goto tr413; | 6277 » » » » goto tr386; |
6675 » » } else | 6278 » » } else |
6676 » » » goto tr413; | 6279 » » » goto tr386; |
6677 } else if ( (*( current_position)) > 43u ) { | 6280 } else if ( (*( current_position)) > 43u ) { |
6678 if ( (*( current_position)) < 62u ) { | 6281 if ( (*( current_position)) < 62u ) { |
6679 if ( (*( current_position)) > 51u ) { | 6282 if ( (*( current_position)) > 51u ) { |
6680 if ( 54u <= (*( current_position)) && (*( curren
t_position)) <= 59u ) | 6283 if ( 54u <= (*( current_position)) && (*( curren
t_position)) <= 59u ) |
6681 » » » » » goto tr413; | 6284 » » » » » goto tr386; |
6682 } else if ( (*( current_position)) >= 46u ) | 6285 } else if ( (*( current_position)) >= 46u ) |
6683 » » » » goto tr413; | 6286 » » » » goto tr386; |
6684 } else if ( (*( current_position)) > 63u ) { | 6287 } else if ( (*( current_position)) > 63u ) { |
6685 if ( (*( current_position)) < 192u ) { | 6288 if ( (*( current_position)) < 192u ) { |
6686 if ( 64u <= (*( current_position)) && (*( curren
t_position)) <= 127u ) | 6289 if ( 64u <= (*( current_position)) && (*( curren
t_position)) <= 127u ) |
6687 » » » » » goto tr416; | 6290 » » » » » goto tr389; |
6688 } else if ( (*( current_position)) > 223u ) { | 6291 } else if ( (*( current_position)) > 223u ) { |
6689 if ( 224u <= (*( current_position)) ) | 6292 if ( 224u <= (*( current_position)) ) |
6690 goto tr16; | 6293 goto tr16; |
6691 } else | 6294 } else |
6692 » » » » goto tr419; | 6295 » » » » goto tr392; |
6693 » » } else | 6296 » » } else |
6694 » » » goto tr413; | 6297 » » » goto tr386; |
6695 » } else | 6298 » } else |
6696 » » goto tr413; | 6299 » » goto tr386; |
6697 » goto tr415; | 6300 » goto tr388; |
6698 st190: | 6301 st175: |
6699 » if ( ++( current_position) == ( end_of_bundle) ) | 6302 » if ( ++( current_position) == ( end_of_bundle) ) |
6700 » » goto _test_eof190; | 6303 » » goto _test_eof175; |
6701 case 190: | 6304 case 175: |
6702 » switch( (*( current_position)) ) { | 6305 » switch( (*( current_position)) ) { |
6703 » » case 4u: goto tr414; | 6306 » » case 4u: goto tr387; |
6704 » » case 5u: goto tr415; | 6307 » » case 5u: goto tr388; |
6705 » » case 12u: goto tr414; | 6308 » » case 12u: goto tr387; |
6706 » » case 13u: goto tr415; | 6309 » » case 13u: goto tr388; |
6707 » » case 20u: goto tr414; | 6310 » » case 20u: goto tr387; |
6708 » » case 21u: goto tr415; | 6311 » » case 21u: goto tr388; |
6709 » » case 28u: goto tr414; | 6312 » » case 28u: goto tr387; |
6710 » » case 29u: goto tr415; | 6313 » » case 29u: goto tr388; |
6711 » » case 44u: goto tr414; | 6314 » » case 44u: goto tr387; |
6712 » » case 45u: goto tr415; | 6315 » » case 45u: goto tr388; |
6713 » » case 60u: goto tr414; | 6316 » » case 60u: goto tr387; |
6714 » » case 61u: goto tr415; | 6317 » » case 61u: goto tr388; |
6715 » » case 68u: goto tr417; | 6318 » » case 68u: goto tr390; |
6716 » » case 76u: goto tr417; | 6319 » » case 76u: goto tr390; |
6717 » » case 84u: goto tr417; | 6320 » » case 84u: goto tr390; |
6718 » » case 92u: goto tr417; | 6321 » » case 92u: goto tr390; |
6719 » » case 108u: goto tr417; | 6322 » » case 108u: goto tr390; |
6720 » » case 124u: goto tr417; | 6323 » » case 124u: goto tr390; |
6721 » » case 132u: goto tr418; | 6324 » » case 132u: goto tr391; |
6722 » » case 140u: goto tr418; | 6325 » » case 140u: goto tr391; |
6723 » » case 148u: goto tr418; | 6326 » » case 148u: goto tr391; |
6724 » » case 156u: goto tr418; | 6327 » » case 156u: goto tr391; |
6725 » » case 172u: goto tr418; | 6328 » » case 172u: goto tr391; |
6726 » » case 188u: goto tr418; | 6329 » » case 188u: goto tr391; |
6727 } | 6330 } |
6728 if ( (*( current_position)) < 120u ) { | 6331 if ( (*( current_position)) < 120u ) { |
6729 if ( (*( current_position)) < 56u ) { | 6332 if ( (*( current_position)) < 56u ) { |
6730 if ( (*( current_position)) > 31u ) { | 6333 if ( (*( current_position)) > 31u ) { |
6731 if ( 40u <= (*( current_position)) && (*( curren
t_position)) <= 47u ) | 6334 if ( 40u <= (*( current_position)) && (*( curren
t_position)) <= 47u ) |
6732 » » » » » goto tr413; | 6335 » » » » » goto tr386; |
6733 » » » } else | 6336 » » » } else |
6734 » » » » goto tr413; | 6337 » » » » goto tr386; |
6735 } else if ( (*( current_position)) > 63u ) { | 6338 } else if ( (*( current_position)) > 63u ) { |
6736 if ( (*( current_position)) > 95u ) { | 6339 if ( (*( current_position)) > 95u ) { |
6737 if ( 104u <= (*( current_position)) && (*( curre
nt_position)) <= 111u ) | 6340 if ( 104u <= (*( current_position)) && (*( curre
nt_position)) <= 111u ) |
6738 » » » » » goto tr416; | 6341 » » » » » goto tr389; |
6739 } else if ( (*( current_position)) >= 64u ) | 6342 } else if ( (*( current_position)) >= 64u ) |
6740 » » » » goto tr416; | 6343 » » » » goto tr389; |
6741 » » } else | 6344 » » } else |
6742 » » » goto tr413; | 6345 » » » goto tr386; |
6743 } else if ( (*( current_position)) > 127u ) { | 6346 } else if ( (*( current_position)) > 127u ) { |
6744 if ( (*( current_position)) < 184u ) { | 6347 if ( (*( current_position)) < 184u ) { |
6745 if ( (*( current_position)) > 159u ) { | 6348 if ( (*( current_position)) > 159u ) { |
6746 if ( 168u <= (*( current_position)) && (*( curre
nt_position)) <= 175u ) | 6349 if ( 168u <= (*( current_position)) && (*( curre
nt_position)) <= 175u ) |
6747 » » » » » goto tr415; | 6350 » » » » » goto tr388; |
6748 } else if ( (*( current_position)) >= 128u ) | 6351 } else if ( (*( current_position)) >= 128u ) |
6749 » » » » goto tr415; | 6352 » » » » goto tr388; |
6750 } else if ( (*( current_position)) > 191u ) { | 6353 } else if ( (*( current_position)) > 191u ) { |
6751 if ( (*( current_position)) < 226u ) { | 6354 if ( (*( current_position)) < 226u ) { |
6752 if ( 192u <= (*( current_position)) && (*( curre
nt_position)) <= 223u ) | 6355 if ( 192u <= (*( current_position)) && (*( curre
nt_position)) <= 223u ) |
6753 » » » » » goto tr419; | 6356 » » » » » goto tr392; |
6754 } else if ( (*( current_position)) > 227u ) { | 6357 } else if ( (*( current_position)) > 227u ) { |
6755 if ( 232u <= (*( current_position)) && (*( curre
nt_position)) <= 247u ) | 6358 if ( 232u <= (*( current_position)) && (*( curre
nt_position)) <= 247u ) |
6756 » » » » » goto tr413; | 6359 » » » » » goto tr386; |
6757 » » » } else | 6360 » » » } else |
6758 » » » » goto tr413; | 6361 » » » » goto tr386; |
6759 » » } else | 6362 » » } else |
6760 » » » goto tr415; | 6363 » » » goto tr388; |
6761 » } else | 6364 » } else |
6762 » » goto tr416; | 6365 » » goto tr389; |
6763 goto tr16; | 6366 goto tr16; |
6764 st191: | 6367 st176: |
6765 » if ( ++( current_position) == ( end_of_bundle) ) | 6368 » if ( ++( current_position) == ( end_of_bundle) ) |
6766 » » goto _test_eof191; | 6369 » » goto _test_eof176; |
6767 case 191: | 6370 case 176: |
6768 » switch( (*( current_position)) ) { | 6371 » switch( (*( current_position)) ) { |
6769 » » case 4u: goto tr414; | 6372 » » case 4u: goto tr387; |
6770 » » case 5u: goto tr415; | 6373 » » case 5u: goto tr388; |
6771 » » case 12u: goto tr414; | 6374 » » case 12u: goto tr387; |
6772 » » case 13u: goto tr415; | 6375 » » case 13u: goto tr388; |
6773 » » case 20u: goto tr414; | 6376 » » case 20u: goto tr387; |
6774 » » case 21u: goto tr415; | 6377 » » case 21u: goto tr388; |
6775 » » case 28u: goto tr414; | 6378 » » case 28u: goto tr387; |
6776 » » case 29u: goto tr415; | 6379 » » case 29u: goto tr388; |
6777 » » case 36u: goto tr414; | 6380 » » case 36u: goto tr387; |
6778 » » case 37u: goto tr415; | 6381 » » case 37u: goto tr388; |
6779 » » case 44u: goto tr414; | 6382 » » case 44u: goto tr387; |
6780 » » case 45u: goto tr415; | 6383 » » case 45u: goto tr388; |
6781 » » case 52u: goto tr414; | 6384 » » case 52u: goto tr387; |
6782 » » case 53u: goto tr415; | 6385 » » case 53u: goto tr388; |
6783 » » case 60u: goto tr414; | 6386 » » case 60u: goto tr387; |
6784 » » case 61u: goto tr415; | 6387 » » case 61u: goto tr388; |
6785 » » case 68u: goto tr417; | 6388 » » case 68u: goto tr390; |
6786 » » case 76u: goto tr417; | 6389 » » case 76u: goto tr390; |
6787 » » case 84u: goto tr417; | 6390 » » case 84u: goto tr390; |
6788 » » case 92u: goto tr417; | 6391 » » case 92u: goto tr390; |
6789 » » case 100u: goto tr417; | 6392 » » case 100u: goto tr390; |
6790 » » case 108u: goto tr417; | 6393 » » case 108u: goto tr390; |
6791 » » case 116u: goto tr417; | 6394 » » case 116u: goto tr390; |
6792 » » case 124u: goto tr417; | 6395 » » case 124u: goto tr390; |
6793 » » case 132u: goto tr418; | 6396 » » case 132u: goto tr391; |
6794 » » case 140u: goto tr418; | 6397 » » case 140u: goto tr391; |
6795 » » case 148u: goto tr418; | 6398 » » case 148u: goto tr391; |
6796 » » case 156u: goto tr418; | 6399 » » case 156u: goto tr391; |
6797 » » case 164u: goto tr418; | 6400 » » case 164u: goto tr391; |
6798 » » case 172u: goto tr418; | 6401 » » case 172u: goto tr391; |
6799 » » case 180u: goto tr418; | 6402 » » case 180u: goto tr391; |
6800 » » case 188u: goto tr418; | 6403 » » case 188u: goto tr391; |
6801 } | 6404 } |
6802 if ( (*( current_position)) < 128u ) { | 6405 if ( (*( current_position)) < 128u ) { |
6803 if ( 64u <= (*( current_position)) && (*( current_position)) <=
127u ) | 6406 if ( 64u <= (*( current_position)) && (*( current_position)) <=
127u ) |
6804 » » » goto tr416; | 6407 » » » goto tr389; |
6805 } else if ( (*( current_position)) > 191u ) { | 6408 } else if ( (*( current_position)) > 191u ) { |
6806 if ( 208u <= (*( current_position)) && (*( current_position)) <=
223u ) | 6409 if ( 208u <= (*( current_position)) && (*( current_position)) <=
223u ) |
6807 goto tr16; | 6410 goto tr16; |
6808 } else | 6411 } else |
6809 » » goto tr415; | 6412 » » goto tr388; |
6810 » goto tr413; | 6413 » goto tr386; |
6811 st192: | 6414 st177: |
6812 » if ( ++( current_position) == ( end_of_bundle) ) | 6415 » if ( ++( current_position) == ( end_of_bundle) ) |
6813 » » goto _test_eof192; | 6416 » » goto _test_eof177; |
6814 case 192: | 6417 case 177: |
6815 » switch( (*( current_position)) ) { | 6418 » switch( (*( current_position)) ) { |
6816 » » case 4u: goto tr414; | 6419 » » case 4u: goto tr387; |
6817 » » case 5u: goto tr415; | 6420 » » case 5u: goto tr388; |
6818 » » case 12u: goto tr414; | 6421 » » case 12u: goto tr387; |
6819 » » case 13u: goto tr415; | 6422 » » case 13u: goto tr388; |
6820 » » case 20u: goto tr414; | 6423 » » case 20u: goto tr387; |
6821 » » case 21u: goto tr415; | 6424 » » case 21u: goto tr388; |
6822 » » case 28u: goto tr414; | 6425 » » case 28u: goto tr387; |
6823 » » case 29u: goto tr415; | 6426 » » case 29u: goto tr388; |
6824 » » case 36u: goto tr414; | 6427 » » case 36u: goto tr387; |
6825 » » case 37u: goto tr415; | 6428 » » case 37u: goto tr388; |
6826 » » case 52u: goto tr414; | 6429 » » case 52u: goto tr387; |
6827 » » case 53u: goto tr415; | 6430 » » case 53u: goto tr388; |
6828 » » case 60u: goto tr414; | 6431 » » case 60u: goto tr387; |
6829 » » case 61u: goto tr415; | 6432 » » case 61u: goto tr388; |
6830 » » case 68u: goto tr417; | 6433 » » case 68u: goto tr390; |
6831 » » case 76u: goto tr417; | 6434 » » case 76u: goto tr390; |
6832 » » case 84u: goto tr417; | 6435 » » case 84u: goto tr390; |
6833 » » case 92u: goto tr417; | 6436 » » case 92u: goto tr390; |
6834 » » case 100u: goto tr417; | 6437 » » case 100u: goto tr390; |
6835 » » case 116u: goto tr417; | 6438 » » case 116u: goto tr390; |
6836 » » case 124u: goto tr417; | 6439 » » case 124u: goto tr390; |
6837 » » case 132u: goto tr418; | 6440 » » case 132u: goto tr391; |
6838 » » case 140u: goto tr418; | 6441 » » case 140u: goto tr391; |
6839 » » case 148u: goto tr418; | 6442 » » case 148u: goto tr391; |
6840 » » case 156u: goto tr418; | 6443 » » case 156u: goto tr391; |
6841 » » case 164u: goto tr418; | 6444 » » case 164u: goto tr391; |
6842 » » case 180u: goto tr418; | 6445 » » case 180u: goto tr391; |
6843 » » case 188u: goto tr418; | 6446 » » case 188u: goto tr391; |
6844 } | 6447 } |
6845 if ( (*( current_position)) < 128u ) { | 6448 if ( (*( current_position)) < 128u ) { |
6846 if ( (*( current_position)) < 64u ) { | 6449 if ( (*( current_position)) < 64u ) { |
6847 if ( 40u <= (*( current_position)) && (*( current_positi
on)) <= 47u ) | 6450 if ( 40u <= (*( current_position)) && (*( current_positi
on)) <= 47u ) |
6848 goto tr16; | 6451 goto tr16; |
6849 } else if ( (*( current_position)) > 103u ) { | 6452 } else if ( (*( current_position)) > 103u ) { |
6850 if ( (*( current_position)) > 111u ) { | 6453 if ( (*( current_position)) > 111u ) { |
6851 if ( 112u <= (*( current_position)) && (*( curre
nt_position)) <= 127u ) | 6454 if ( 112u <= (*( current_position)) && (*( curre
nt_position)) <= 127u ) |
6852 » » » » » goto tr416; | 6455 » » » » » goto tr389; |
6853 } else if ( (*( current_position)) >= 104u ) | 6456 } else if ( (*( current_position)) >= 104u ) |
6854 goto tr16; | 6457 goto tr16; |
6855 } else | 6458 } else |
6856 » » » goto tr416; | 6459 » » » goto tr389; |
6857 } else if ( (*( current_position)) > 167u ) { | 6460 } else if ( (*( current_position)) > 167u ) { |
6858 if ( (*( current_position)) < 176u ) { | 6461 if ( (*( current_position)) < 176u ) { |
6859 if ( 168u <= (*( current_position)) && (*( current_posit
ion)) <= 175u ) | 6462 if ( 168u <= (*( current_position)) && (*( current_posit
ion)) <= 175u ) |
6860 goto tr16; | 6463 goto tr16; |
6861 } else if ( (*( current_position)) > 191u ) { | 6464 } else if ( (*( current_position)) > 191u ) { |
6862 if ( (*( current_position)) > 207u ) { | 6465 if ( (*( current_position)) > 207u ) { |
6863 if ( 240u <= (*( current_position)) ) | 6466 if ( 240u <= (*( current_position)) ) |
6864 goto tr16; | 6467 goto tr16; |
6865 } else if ( (*( current_position)) >= 200u ) | 6468 } else if ( (*( current_position)) >= 200u ) |
6866 goto tr16; | 6469 goto tr16; |
6867 } else | 6470 } else |
6868 » » » goto tr415; | 6471 » » » goto tr388; |
6869 } else | 6472 } else |
6870 » » goto tr415; | 6473 » » goto tr388; |
6871 » goto tr413; | 6474 » goto tr386; |
6872 st193: | 6475 st178: |
6873 if ( ++( current_position) == ( end_of_bundle) ) | 6476 if ( ++( current_position) == ( end_of_bundle) ) |
6874 » » goto _test_eof193; | 6477 » » goto _test_eof178; |
6875 case 193: | 6478 case 178: |
6876 switch( (*( current_position)) ) { | 6479 switch( (*( current_position)) ) { |
6877 » » case 4u: goto tr414; | 6480 » » case 4u: goto tr387; |
6878 » » case 5u: goto tr415; | 6481 » » case 5u: goto tr388; |
6879 » » case 12u: goto tr414; | 6482 » » case 12u: goto tr387; |
6880 » » case 13u: goto tr415; | 6483 » » case 13u: goto tr388; |
6881 » » case 20u: goto tr414; | 6484 » » case 20u: goto tr387; |
6882 » » case 21u: goto tr415; | 6485 » » case 21u: goto tr388; |
6883 » » case 28u: goto tr414; | 6486 » » case 28u: goto tr387; |
6884 » » case 29u: goto tr415; | 6487 » » case 29u: goto tr388; |
6885 » » case 36u: goto tr414; | 6488 » » case 36u: goto tr387; |
6886 » » case 37u: goto tr415; | 6489 » » case 37u: goto tr388; |
6887 » » case 44u: goto tr414; | 6490 » » case 44u: goto tr387; |
6888 » » case 45u: goto tr415; | 6491 » » case 45u: goto tr388; |
6889 » » case 52u: goto tr414; | 6492 » » case 52u: goto tr387; |
6890 » » case 53u: goto tr415; | 6493 » » case 53u: goto tr388; |
6891 » » case 60u: goto tr414; | 6494 » » case 60u: goto tr387; |
6892 » » case 61u: goto tr415; | 6495 » » case 61u: goto tr388; |
6893 » » case 68u: goto tr417; | 6496 » » case 68u: goto tr390; |
6894 » » case 76u: goto tr417; | 6497 » » case 76u: goto tr390; |
6895 » » case 84u: goto tr417; | 6498 » » case 84u: goto tr390; |
6896 » » case 92u: goto tr417; | 6499 » » case 92u: goto tr390; |
6897 » » case 100u: goto tr417; | 6500 » » case 100u: goto tr390; |
6898 » » case 108u: goto tr417; | 6501 » » case 108u: goto tr390; |
6899 » » case 116u: goto tr417; | 6502 » » case 116u: goto tr390; |
6900 » » case 124u: goto tr417; | 6503 » » case 124u: goto tr390; |
6901 » » case 132u: goto tr418; | 6504 » » case 132u: goto tr391; |
6902 » » case 140u: goto tr418; | 6505 » » case 140u: goto tr391; |
6903 » » case 148u: goto tr418; | 6506 » » case 148u: goto tr391; |
6904 » » case 156u: goto tr418; | 6507 » » case 156u: goto tr391; |
6905 » » case 164u: goto tr418; | 6508 » » case 164u: goto tr391; |
6906 » » case 172u: goto tr418; | 6509 » » case 172u: goto tr391; |
6907 » » case 180u: goto tr418; | 6510 » » case 180u: goto tr391; |
6908 » » case 188u: goto tr418; | 6511 » » case 188u: goto tr391; |
6909 } | 6512 } |
6910 if ( (*( current_position)) < 128u ) { | 6513 if ( (*( current_position)) < 128u ) { |
6911 if ( 64u <= (*( current_position)) && (*( current_position)) <=
127u ) | 6514 if ( 64u <= (*( current_position)) && (*( current_position)) <=
127u ) |
6912 » » » goto tr416; | 6515 » » » goto tr389; |
6913 } else if ( (*( current_position)) > 191u ) { | 6516 } else if ( (*( current_position)) > 191u ) { |
6914 if ( (*( current_position)) > 216u ) { | 6517 if ( (*( current_position)) > 216u ) { |
6915 if ( 218u <= (*( current_position)) && (*( current_posit
ion)) <= 223u ) | 6518 if ( 218u <= (*( current_position)) && (*( current_posit
ion)) <= 223u ) |
6916 goto tr16; | 6519 goto tr16; |
6917 } else if ( (*( current_position)) >= 208u ) | 6520 } else if ( (*( current_position)) >= 208u ) |
6918 goto tr16; | 6521 goto tr16; |
6919 } else | 6522 } else |
6920 » » goto tr415; | 6523 » » goto tr388; |
6921 » goto tr413; | 6524 » goto tr386; |
6922 st194: | 6525 st179: |
6923 if ( ++( current_position) == ( end_of_bundle) ) | 6526 if ( ++( current_position) == ( end_of_bundle) ) |
6924 » » goto _test_eof194; | 6527 » » goto _test_eof179; |
6925 case 194: | 6528 case 179: |
6926 switch( (*( current_position)) ) { | 6529 switch( (*( current_position)) ) { |
6927 » » case 4u: goto tr414; | 6530 » » case 4u: goto tr387; |
6928 » » case 5u: goto tr415; | 6531 » » case 5u: goto tr388; |
6929 » » case 12u: goto tr414; | 6532 » » case 12u: goto tr387; |
6930 » » case 13u: goto tr415; | 6533 » » case 13u: goto tr388; |
6931 » » case 20u: goto tr414; | 6534 » » case 20u: goto tr387; |
6932 » » case 21u: goto tr415; | 6535 » » case 21u: goto tr388; |
6933 » » case 28u: goto tr414; | 6536 » » case 28u: goto tr387; |
6934 » » case 29u: goto tr415; | 6537 » » case 29u: goto tr388; |
6935 » » case 36u: goto tr414; | 6538 » » case 36u: goto tr387; |
6936 » » case 37u: goto tr415; | 6539 » » case 37u: goto tr388; |
6937 » » case 44u: goto tr414; | 6540 » » case 44u: goto tr387; |
6938 » » case 45u: goto tr415; | 6541 » » case 45u: goto tr388; |
6939 » » case 52u: goto tr414; | 6542 » » case 52u: goto tr387; |
6940 » » case 53u: goto tr415; | 6543 » » case 53u: goto tr388; |
6941 » » case 60u: goto tr414; | 6544 » » case 60u: goto tr387; |
6942 » » case 61u: goto tr415; | 6545 » » case 61u: goto tr388; |
6943 » » case 68u: goto tr417; | 6546 » » case 68u: goto tr390; |
6944 » » case 76u: goto tr417; | 6547 » » case 76u: goto tr390; |
6945 » » case 84u: goto tr417; | 6548 » » case 84u: goto tr390; |
6946 » » case 92u: goto tr417; | 6549 » » case 92u: goto tr390; |
6947 » » case 100u: goto tr417; | 6550 » » case 100u: goto tr390; |
6948 » » case 108u: goto tr417; | 6551 » » case 108u: goto tr390; |
6949 » » case 116u: goto tr417; | 6552 » » case 116u: goto tr390; |
6950 » » case 124u: goto tr417; | 6553 » » case 124u: goto tr390; |
6951 » » case 132u: goto tr418; | 6554 » » case 132u: goto tr391; |
6952 » » case 140u: goto tr418; | 6555 » » case 140u: goto tr391; |
6953 » » case 148u: goto tr418; | 6556 » » case 148u: goto tr391; |
6954 » » case 156u: goto tr418; | 6557 » » case 156u: goto tr391; |
6955 » » case 164u: goto tr418; | 6558 » » case 164u: goto tr391; |
6956 » » case 172u: goto tr418; | 6559 » » case 172u: goto tr391; |
6957 » » case 180u: goto tr418; | 6560 » » case 180u: goto tr391; |
6958 » » case 188u: goto tr418; | 6561 » » case 188u: goto tr391; |
6959 } | 6562 } |
6960 if ( (*( current_position)) < 192u ) { | 6563 if ( (*( current_position)) < 192u ) { |
6961 if ( (*( current_position)) > 127u ) { | 6564 if ( (*( current_position)) > 127u ) { |
6962 if ( 128u <= (*( current_position)) && (*( current_posit
ion)) <= 191u ) | 6565 if ( 128u <= (*( current_position)) && (*( current_posit
ion)) <= 191u ) |
6963 » » » » goto tr415; | 6566 » » » » goto tr388; |
6964 } else if ( (*( current_position)) >= 64u ) | 6567 } else if ( (*( current_position)) >= 64u ) |
6965 » » » goto tr416; | 6568 » » » goto tr389; |
6966 } else if ( (*( current_position)) > 223u ) { | 6569 } else if ( (*( current_position)) > 223u ) { |
6967 if ( (*( current_position)) > 231u ) { | 6570 if ( (*( current_position)) > 231u ) { |
6968 if ( 248u <= (*( current_position)) ) | 6571 if ( 248u <= (*( current_position)) ) |
6969 goto tr16; | 6572 goto tr16; |
6970 } else if ( (*( current_position)) >= 225u ) | 6573 } else if ( (*( current_position)) >= 225u ) |
6971 goto tr16; | 6574 goto tr16; |
6972 } else | 6575 } else |
6973 goto tr16; | 6576 goto tr16; |
6974 » goto tr413; | 6577 » goto tr386; |
6975 st195: | 6578 st180: |
6976 if ( ++( current_position) == ( end_of_bundle) ) | 6579 if ( ++( current_position) == ( end_of_bundle) ) |
6977 » » goto _test_eof195; | 6580 » » goto _test_eof180; |
6978 case 195: | 6581 case 180: |
6979 » goto tr420; | 6582 » goto tr393; |
6980 tr420: | 6583 tr393: |
6981 {} | 6584 {} |
6982 » goto st196; | 6585 » goto st181; |
6983 st196: | 6586 st181: |
6984 if ( ++( current_position) == ( end_of_bundle) ) | 6587 if ( ++( current_position) == ( end_of_bundle) ) |
6985 » » goto _test_eof196; | 6588 » » goto _test_eof181; |
6986 case 196: | 6589 case 181: |
6987 » goto tr421; | 6590 » goto tr394; |
6988 tr421: | 6591 tr394: |
6989 {} | 6592 {} |
6990 » goto st197; | 6593 » goto st182; |
6991 st197: | 6594 st182: |
6992 if ( ++( current_position) == ( end_of_bundle) ) | 6595 if ( ++( current_position) == ( end_of_bundle) ) |
6993 » » goto _test_eof197; | 6596 » » goto _test_eof182; |
6994 case 197: | 6597 case 182: |
6995 » goto tr422; | 6598 » goto tr395; |
6996 tr422: | 6599 tr395: |
6997 {} | 6600 {} |
6998 » goto st198; | 6601 » goto st183; |
6999 st198: | 6602 st183: |
7000 if ( ++( current_position) == ( end_of_bundle) ) | 6603 if ( ++( current_position) == ( end_of_bundle) ) |
7001 » » goto _test_eof198; | 6604 » » goto _test_eof183; |
7002 case 198: | 6605 case 183: |
7003 » goto tr423; | 6606 » goto tr396; |
7004 st199: | 6607 st184: |
7005 if ( ++( current_position) == ( end_of_bundle) ) | 6608 if ( ++( current_position) == ( end_of_bundle) ) |
7006 » » goto _test_eof199; | 6609 » » goto _test_eof184; |
7007 case 199: | 6610 case 184: |
7008 switch( (*( current_position)) ) { | 6611 switch( (*( current_position)) ) { |
7009 » » case 15u: goto st200; | 6612 » » case 15u: goto st185; |
7010 case 102u: goto st119; | 6613 case 102u: goto st119; |
7011 case 128u: goto st121; | 6614 case 128u: goto st121; |
7012 » » case 129u: goto st201; | 6615 » » case 129u: goto st186; |
7013 case 131u: goto st121; | 6616 case 131u: goto st121; |
7014 } | 6617 } |
7015 if ( (*( current_position)) < 32u ) { | 6618 if ( (*( current_position)) < 32u ) { |
7016 if ( (*( current_position)) < 8u ) { | 6619 if ( (*( current_position)) < 8u ) { |
7017 if ( (*( current_position)) <= 1u ) | 6620 if ( (*( current_position)) <= 1u ) |
7018 goto st115; | 6621 goto st115; |
7019 } else if ( (*( current_position)) > 9u ) { | 6622 } else if ( (*( current_position)) > 9u ) { |
7020 if ( (*( current_position)) > 17u ) { | 6623 if ( (*( current_position)) > 17u ) { |
7021 if ( 24u <= (*( current_position)) && (*( curren
t_position)) <= 25u ) | 6624 if ( 24u <= (*( current_position)) && (*( curren
t_position)) <= 25u ) |
7022 goto st115; | 6625 goto st115; |
(...skipping 12 matching lines...) Expand all Loading... |
7035 if ( (*( current_position)) > 247u ) { | 6638 if ( (*( current_position)) > 247u ) { |
7036 if ( 254u <= (*( current_position)) ) | 6639 if ( 254u <= (*( current_position)) ) |
7037 goto st123; | 6640 goto st123; |
7038 } else if ( (*( current_position)) >= 246u ) | 6641 } else if ( (*( current_position)) >= 246u ) |
7039 goto st122; | 6642 goto st122; |
7040 } else | 6643 } else |
7041 goto st115; | 6644 goto st115; |
7042 } else | 6645 } else |
7043 goto st115; | 6646 goto st115; |
7044 goto tr16; | 6647 goto tr16; |
7045 st200: | 6648 st185: |
7046 if ( ++( current_position) == ( end_of_bundle) ) | 6649 if ( ++( current_position) == ( end_of_bundle) ) |
7047 » » goto _test_eof200; | 6650 » » goto _test_eof185; |
7048 case 200: | 6651 case 185: |
7049 if ( (*( current_position)) == 199u ) | 6652 if ( (*( current_position)) == 199u ) |
7050 goto st61; | 6653 goto st61; |
7051 if ( (*( current_position)) > 177u ) { | 6654 if ( (*( current_position)) > 177u ) { |
7052 if ( 192u <= (*( current_position)) && (*( current_position)) <=
193u ) | 6655 if ( 192u <= (*( current_position)) && (*( current_position)) <=
193u ) |
7053 goto st115; | 6656 goto st115; |
7054 } else if ( (*( current_position)) >= 176u ) | 6657 } else if ( (*( current_position)) >= 176u ) |
7055 goto st115; | 6658 goto st115; |
7056 goto tr16; | 6659 goto tr16; |
7057 st201: | 6660 st186: |
7058 if ( ++( current_position) == ( end_of_bundle) ) | 6661 if ( ++( current_position) == ( end_of_bundle) ) |
7059 » » goto _test_eof201; | 6662 » » goto _test_eof186; |
7060 case 201: | 6663 case 186: |
7061 switch( (*( current_position)) ) { | 6664 switch( (*( current_position)) ) { |
7062 case 4u: goto st131; | 6665 case 4u: goto st131; |
7063 case 5u: goto st132; | 6666 case 5u: goto st132; |
7064 case 12u: goto st131; | 6667 case 12u: goto st131; |
7065 case 13u: goto st132; | 6668 case 13u: goto st132; |
7066 case 20u: goto st131; | 6669 case 20u: goto st131; |
7067 case 21u: goto st132; | 6670 case 21u: goto st132; |
7068 case 28u: goto st131; | 6671 case 28u: goto st131; |
7069 case 29u: goto st132; | 6672 case 29u: goto st132; |
7070 case 36u: goto st131; | 6673 case 36u: goto st131; |
(...skipping 19 matching lines...) Expand all Loading... |
7090 } | 6693 } |
7091 if ( (*( current_position)) < 64u ) { | 6694 if ( (*( current_position)) < 64u ) { |
7092 if ( (*( current_position)) <= 55u ) | 6695 if ( (*( current_position)) <= 55u ) |
7093 goto st11; | 6696 goto st11; |
7094 } else if ( (*( current_position)) > 119u ) { | 6697 } else if ( (*( current_position)) > 119u ) { |
7095 if ( 128u <= (*( current_position)) && (*( current_position)) <=
183u ) | 6698 if ( 128u <= (*( current_position)) && (*( current_position)) <=
183u ) |
7096 goto st132; | 6699 goto st132; |
7097 } else | 6700 } else |
7098 goto st136; | 6701 goto st136; |
7099 goto tr16; | 6702 goto tr16; |
7100 st202: | 6703 st187: |
7101 if ( ++( current_position) == ( end_of_bundle) ) | 6704 if ( ++( current_position) == ( end_of_bundle) ) |
7102 » » goto _test_eof202; | 6705 » » goto _test_eof187; |
7103 case 202: | 6706 case 187: |
7104 switch( (*( current_position)) ) { | 6707 switch( (*( current_position)) ) { |
7105 » » case 15u: goto st203; | 6708 » » case 15u: goto st188; |
7106 case 102u: goto st124; | 6709 case 102u: goto st124; |
7107 } | 6710 } |
7108 if ( (*( current_position)) > 167u ) { | 6711 if ( (*( current_position)) > 167u ) { |
7109 if ( 174u <= (*( current_position)) && (*( current_position)) <=
175u ) | 6712 if ( 174u <= (*( current_position)) && (*( current_position)) <=
175u ) |
7110 goto tr0; | 6713 goto tr0; |
7111 } else if ( (*( current_position)) >= 166u ) | 6714 } else if ( (*( current_position)) >= 166u ) |
7112 goto tr0; | 6715 goto tr0; |
7113 goto tr16; | 6716 goto tr16; |
7114 st203: | 6717 st188: |
7115 if ( ++( current_position) == ( end_of_bundle) ) | 6718 if ( ++( current_position) == ( end_of_bundle) ) |
7116 » » goto _test_eof203; | 6719 » » goto _test_eof188; |
7117 case 203: | 6720 case 188: |
7118 switch( (*( current_position)) ) { | 6721 switch( (*( current_position)) ) { |
7119 case 18u: goto st96; | 6722 case 18u: goto st96; |
7120 » » case 43u: goto st204; | 6723 » » case 43u: goto st189; |
7121 » » case 56u: goto st205; | 6724 » » case 56u: goto st190; |
7122 case 81u: goto st32; | 6725 case 81u: goto st32; |
7123 case 112u: goto st92; | 6726 case 112u: goto st92; |
7124 » » case 120u: goto st206; | 6727 » » case 120u: goto st191; |
7125 case 121u: goto st95; | 6728 case 121u: goto st95; |
7126 case 194u: goto st92; | 6729 case 194u: goto st92; |
7127 case 208u: goto st28; | 6730 case 208u: goto st28; |
7128 case 214u: goto st91; | 6731 case 214u: goto st91; |
7129 case 230u: goto st32; | 6732 case 230u: goto st32; |
7130 » » case 240u: goto st209; | 6733 » » case 240u: goto st194; |
7131 } | 6734 } |
7132 if ( (*( current_position)) < 88u ) { | 6735 if ( (*( current_position)) < 88u ) { |
7133 if ( (*( current_position)) > 17u ) { | 6736 if ( (*( current_position)) > 17u ) { |
7134 if ( 42u <= (*( current_position)) && (*( current_positi
on)) <= 45u ) | 6737 if ( 42u <= (*( current_position)) && (*( current_positi
on)) <= 45u ) |
7135 goto st32; | 6738 goto st32; |
7136 } else if ( (*( current_position)) >= 16u ) | 6739 } else if ( (*( current_position)) >= 16u ) |
7137 goto st32; | 6740 goto st32; |
7138 } else if ( (*( current_position)) > 90u ) { | 6741 } else if ( (*( current_position)) > 90u ) { |
7139 if ( (*( current_position)) > 95u ) { | 6742 if ( (*( current_position)) > 95u ) { |
7140 if ( 124u <= (*( current_position)) && (*( current_posit
ion)) <= 125u ) | 6743 if ( 124u <= (*( current_position)) && (*( current_posit
ion)) <= 125u ) |
7141 goto st96; | 6744 goto st96; |
7142 } else if ( (*( current_position)) >= 92u ) | 6745 } else if ( (*( current_position)) >= 92u ) |
7143 goto st32; | 6746 goto st32; |
7144 } else | 6747 } else |
7145 goto st32; | 6748 goto st32; |
7146 goto tr16; | 6749 goto tr16; |
7147 st204: | 6750 st189: |
7148 if ( ++( current_position) == ( end_of_bundle) ) | 6751 if ( ++( current_position) == ( end_of_bundle) ) |
7149 » » goto _test_eof204; | 6752 » » goto _test_eof189; |
7150 case 204: | 6753 case 189: |
7151 switch( (*( current_position)) ) { | 6754 switch( (*( current_position)) ) { |
7152 » » case 4u: goto tr431; | 6755 » » case 4u: goto tr404; |
7153 » » case 12u: goto tr431; | 6756 » » case 5u: goto tr405; |
7154 » » case 20u: goto tr431; | 6757 » » case 12u: goto tr404; |
7155 » » case 28u: goto tr431; | 6758 » » case 13u: goto tr405; |
7156 » » case 36u: goto tr431; | 6759 » » case 20u: goto tr404; |
7157 » » case 44u: goto tr431; | 6760 » » case 21u: goto tr405; |
7158 » » case 52u: goto tr431; | 6761 » » case 28u: goto tr404; |
7159 » » case 60u: goto tr431; | 6762 » » case 29u: goto tr405; |
7160 » » case 68u: goto tr434; | 6763 » » case 36u: goto tr404; |
7161 » » case 76u: goto tr434; | 6764 » » case 37u: goto tr405; |
7162 » » case 84u: goto tr434; | 6765 » » case 44u: goto tr404; |
7163 » » case 92u: goto tr434; | 6766 » » case 45u: goto tr405; |
7164 » » case 100u: goto tr434; | 6767 » » case 52u: goto tr404; |
7165 » » case 108u: goto tr434; | 6768 » » case 53u: goto tr405; |
7166 » » case 116u: goto tr434; | 6769 » » case 60u: goto tr404; |
7167 » » case 124u: goto tr434; | 6770 » » case 61u: goto tr405; |
7168 » » case 132u: goto tr435; | 6771 » » case 68u: goto tr407; |
7169 » » case 140u: goto tr435; | 6772 » » case 76u: goto tr407; |
7170 » » case 148u: goto tr435; | 6773 » » case 84u: goto tr407; |
7171 » » case 156u: goto tr435; | 6774 » » case 92u: goto tr407; |
7172 » » case 164u: goto tr435; | 6775 » » case 100u: goto tr407; |
7173 » » case 172u: goto tr435; | 6776 » » case 108u: goto tr407; |
7174 » » case 180u: goto tr435; | 6777 » » case 116u: goto tr407; |
7175 » » case 188u: goto tr435; | 6778 » » case 124u: goto tr407; |
| 6779 » » case 132u: goto tr408; |
| 6780 » » case 140u: goto tr408; |
| 6781 » » case 148u: goto tr408; |
| 6782 » » case 156u: goto tr408; |
| 6783 » » case 164u: goto tr408; |
| 6784 » » case 172u: goto tr408; |
| 6785 » » case 180u: goto tr408; |
| 6786 » » case 188u: goto tr408; |
7176 } | 6787 } |
7177 » if ( (*( current_position)) < 38u ) { | 6788 » if ( (*( current_position)) < 64u ) { |
7178 » » if ( (*( current_position)) < 14u ) { | 6789 » » if ( (*( current_position)) <= 63u ) |
7179 » » » if ( (*( current_position)) > 3u ) { | |
7180 » » » » if ( 6u <= (*( current_position)) && (*( current
_position)) <= 11u ) | |
7181 » » » » » goto tr255; | |
7182 » » » } else | |
7183 » » » » goto tr255; | |
7184 » » } else if ( (*( current_position)) > 19u ) { | |
7185 » » » if ( (*( current_position)) > 27u ) { | |
7186 » » » » if ( 30u <= (*( current_position)) && (*( curren
t_position)) <= 35u ) | |
7187 » » » » » goto tr255; | |
7188 » » » } else if ( (*( current_position)) >= 22u ) | |
7189 » » » » goto tr255; | |
7190 » » } else | |
7191 goto tr255; | 6790 goto tr255; |
7192 » } else if ( (*( current_position)) > 43u ) { | 6791 » } else if ( (*( current_position)) > 127u ) { |
7193 » » if ( (*( current_position)) < 62u ) { | 6792 » » if ( 128u <= (*( current_position)) && (*( current_position)) <=
191u ) |
7194 » » » if ( (*( current_position)) > 51u ) { | 6793 » » » goto tr405; |
7195 » » » » if ( 54u <= (*( current_position)) && (*( curren
t_position)) <= 59u ) | |
7196 » » » » » goto tr255; | |
7197 » » » } else if ( (*( current_position)) >= 46u ) | |
7198 » » » » goto tr255; | |
7199 » » } else if ( (*( current_position)) > 63u ) { | |
7200 » » » if ( (*( current_position)) > 127u ) { | |
7201 » » » » if ( 192u <= (*( current_position)) ) | |
7202 » » » » » goto tr16; | |
7203 » » » } else if ( (*( current_position)) >= 64u ) | |
7204 » » » » goto tr433; | |
7205 » » } else | |
7206 » » » goto tr255; | |
7207 } else | 6794 } else |
7208 » » goto tr255; | 6795 » » goto tr406; |
7209 » goto tr432; | 6796 » goto tr16; |
7210 st205: | 6797 st190: |
7211 if ( ++( current_position) == ( end_of_bundle) ) | 6798 if ( ++( current_position) == ( end_of_bundle) ) |
7212 » » goto _test_eof205; | 6799 » » goto _test_eof190; |
7213 case 205: | 6800 case 190: |
7214 if ( 240u <= (*( current_position)) && (*( current_position)) <= 241u ) | 6801 if ( 240u <= (*( current_position)) && (*( current_position)) <= 241u ) |
7215 goto st84; | 6802 goto st84; |
7216 goto tr16; | 6803 goto tr16; |
7217 st206: | 6804 st191: |
7218 if ( ++( current_position) == ( end_of_bundle) ) | 6805 if ( ++( current_position) == ( end_of_bundle) ) |
7219 » » goto _test_eof206; | 6806 » » goto _test_eof191; |
7220 case 206: | 6807 case 191: |
7221 if ( 192u <= (*( current_position)) ) | 6808 if ( 192u <= (*( current_position)) ) |
7222 » » goto tr436; | 6809 » » goto tr409; |
7223 goto tr16; | 6810 goto tr16; |
7224 tr436: | 6811 tr409: |
7225 { SET_CPU_FEATURE(CPUFeature_SSE4A); } | 6812 { SET_CPU_FEATURE(CPUFeature_SSE4A); } |
7226 » goto st207; | 6813 » goto st192; |
7227 st207: | 6814 st192: |
7228 if ( ++( current_position) == ( end_of_bundle) ) | 6815 if ( ++( current_position) == ( end_of_bundle) ) |
7229 » » goto _test_eof207; | 6816 » » goto _test_eof192; |
7230 case 207: | 6817 case 192: |
7231 » goto tr437; | 6818 » goto tr410; |
7232 tr437: | 6819 tr410: |
7233 { | 6820 { |
7234 SET_IMM_TYPE(IMM8); | 6821 SET_IMMEDIATE_FORMAT(IMM8); |
7235 SET_IMM_PTR(current_position); | 6822 SET_IMMEDIATE_POINTER(current_position); |
7236 } | 6823 } |
7237 {} | 6824 {} |
7238 » goto st208; | 6825 » goto st193; |
7239 st208: | 6826 st193: |
7240 if ( ++( current_position) == ( end_of_bundle) ) | 6827 if ( ++( current_position) == ( end_of_bundle) ) |
7241 » » goto _test_eof208; | 6828 » » goto _test_eof193; |
7242 case 208: | 6829 case 193: |
7243 » goto tr438; | 6830 » goto tr411; |
7244 st209: | 6831 st194: |
7245 if ( ++( current_position) == ( end_of_bundle) ) | 6832 if ( ++( current_position) == ( end_of_bundle) ) |
7246 » » goto _test_eof209; | 6833 » » goto _test_eof194; |
7247 case 209: | 6834 case 194: |
7248 switch( (*( current_position)) ) { | 6835 switch( (*( current_position)) ) { |
7249 case 4u: goto tr257; | 6836 case 4u: goto tr257; |
7250 case 12u: goto tr257; | 6837 case 12u: goto tr257; |
7251 case 20u: goto tr257; | 6838 case 20u: goto tr257; |
7252 case 28u: goto tr257; | 6839 case 28u: goto tr257; |
7253 case 36u: goto tr257; | 6840 case 36u: goto tr257; |
7254 case 44u: goto tr257; | 6841 case 44u: goto tr257; |
7255 case 52u: goto tr257; | 6842 case 52u: goto tr257; |
7256 case 60u: goto tr257; | 6843 case 60u: goto tr257; |
7257 case 68u: goto tr260; | 6844 case 68u: goto tr260; |
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
7297 if ( (*( current_position)) > 127u ) { | 6884 if ( (*( current_position)) > 127u ) { |
7298 if ( 192u <= (*( current_position)) ) | 6885 if ( 192u <= (*( current_position)) ) |
7299 goto tr16; | 6886 goto tr16; |
7300 } else if ( (*( current_position)) >= 64u ) | 6887 } else if ( (*( current_position)) >= 64u ) |
7301 goto tr259; | 6888 goto tr259; |
7302 } else | 6889 } else |
7303 goto tr256; | 6890 goto tr256; |
7304 } else | 6891 } else |
7305 goto tr256; | 6892 goto tr256; |
7306 goto tr258; | 6893 goto tr258; |
7307 st210: | 6894 st195: |
7308 if ( ++( current_position) == ( end_of_bundle) ) | 6895 if ( ++( current_position) == ( end_of_bundle) ) |
7309 » » goto _test_eof210; | 6896 » » goto _test_eof195; |
7310 case 210: | 6897 case 195: |
7311 switch( (*( current_position)) ) { | 6898 switch( (*( current_position)) ) { |
7312 » » case 15u: goto st211; | 6899 » » case 15u: goto st196; |
7313 case 102u: goto st127; | 6900 case 102u: goto st127; |
7314 case 144u: goto tr0; | 6901 case 144u: goto tr0; |
7315 } | 6902 } |
7316 if ( (*( current_position)) < 170u ) { | 6903 if ( (*( current_position)) < 170u ) { |
7317 if ( 164u <= (*( current_position)) && (*( current_position)) <=
167u ) | 6904 if ( 164u <= (*( current_position)) && (*( current_position)) <=
167u ) |
7318 goto tr0; | 6905 goto tr0; |
7319 } else if ( (*( current_position)) > 171u ) { | 6906 } else if ( (*( current_position)) > 171u ) { |
7320 if ( 174u <= (*( current_position)) && (*( current_position)) <=
175u ) | 6907 if ( 174u <= (*( current_position)) && (*( current_position)) <=
175u ) |
7321 goto tr0; | 6908 goto tr0; |
7322 } else | 6909 } else |
7323 goto tr0; | 6910 goto tr0; |
7324 goto tr16; | 6911 goto tr16; |
7325 st211: | 6912 st196: |
7326 if ( ++( current_position) == ( end_of_bundle) ) | 6913 if ( ++( current_position) == ( end_of_bundle) ) |
7327 » » goto _test_eof211; | 6914 » » goto _test_eof196; |
7328 case 211: | 6915 case 196: |
7329 switch( (*( current_position)) ) { | 6916 switch( (*( current_position)) ) { |
7330 case 18u: goto st96; | 6917 case 18u: goto st96; |
7331 case 22u: goto st96; | 6918 case 22u: goto st96; |
7332 » » case 43u: goto st204; | 6919 » » case 43u: goto st189; |
7333 case 111u: goto st32; | 6920 case 111u: goto st32; |
7334 case 112u: goto st92; | 6921 case 112u: goto st92; |
7335 » » case 184u: goto st212; | 6922 » » case 184u: goto st197; |
7336 » » case 188u: goto st213; | 6923 » » case 188u: goto st198; |
7337 » » case 189u: goto st214; | 6924 » » case 189u: goto st199; |
7338 case 194u: goto st58; | 6925 case 194u: goto st58; |
7339 case 214u: goto st91; | 6926 case 214u: goto st91; |
7340 case 230u: goto st32; | 6927 case 230u: goto st32; |
7341 } | 6928 } |
7342 if ( (*( current_position)) < 88u ) { | 6929 if ( (*( current_position)) < 88u ) { |
7343 if ( (*( current_position)) < 42u ) { | 6930 if ( (*( current_position)) < 42u ) { |
7344 if ( 16u <= (*( current_position)) && (*( current_positi
on)) <= 17u ) | 6931 if ( 16u <= (*( current_position)) && (*( current_positi
on)) <= 17u ) |
7345 goto st28; | 6932 goto st28; |
7346 } else if ( (*( current_position)) > 45u ) { | 6933 } else if ( (*( current_position)) > 45u ) { |
7347 if ( 81u <= (*( current_position)) && (*( current_positi
on)) <= 83u ) | 6934 if ( 81u <= (*( current_position)) && (*( current_positi
on)) <= 83u ) |
7348 goto st28; | 6935 goto st28; |
7349 } else | 6936 } else |
7350 goto st28; | 6937 goto st28; |
7351 } else if ( (*( current_position)) > 89u ) { | 6938 } else if ( (*( current_position)) > 89u ) { |
7352 if ( (*( current_position)) < 92u ) { | 6939 if ( (*( current_position)) < 92u ) { |
7353 if ( 90u <= (*( current_position)) && (*( current_positi
on)) <= 91u ) | 6940 if ( 90u <= (*( current_position)) && (*( current_positi
on)) <= 91u ) |
7354 goto st32; | 6941 goto st32; |
7355 } else if ( (*( current_position)) > 95u ) { | 6942 } else if ( (*( current_position)) > 95u ) { |
7356 if ( 126u <= (*( current_position)) && (*( current_posit
ion)) <= 127u ) | 6943 if ( 126u <= (*( current_position)) && (*( current_posit
ion)) <= 127u ) |
7357 goto st32; | 6944 goto st32; |
7358 } else | 6945 } else |
7359 goto st28; | 6946 goto st28; |
7360 } else | 6947 } else |
7361 goto st28; | 6948 goto st28; |
7362 goto tr16; | 6949 goto tr16; |
7363 st212: | 6950 st197: |
7364 if ( ++( current_position) == ( end_of_bundle) ) | 6951 if ( ++( current_position) == ( end_of_bundle) ) |
7365 » » goto _test_eof212; | 6952 » » goto _test_eof197; |
7366 case 212: | 6953 case 197: |
7367 switch( (*( current_position)) ) { | 6954 switch( (*( current_position)) ) { |
7368 » » case 4u: goto tr444; | 6955 » » case 4u: goto tr417; |
7369 » » case 5u: goto tr445; | 6956 » » case 5u: goto tr418; |
7370 » » case 12u: goto tr444; | 6957 » » case 12u: goto tr417; |
7371 » » case 13u: goto tr445; | 6958 » » case 13u: goto tr418; |
7372 » » case 20u: goto tr444; | 6959 » » case 20u: goto tr417; |
7373 » » case 21u: goto tr445; | 6960 » » case 21u: goto tr418; |
7374 » » case 28u: goto tr444; | 6961 » » case 28u: goto tr417; |
7375 » » case 29u: goto tr445; | 6962 » » case 29u: goto tr418; |
7376 » » case 36u: goto tr444; | 6963 » » case 36u: goto tr417; |
7377 » » case 37u: goto tr445; | 6964 » » case 37u: goto tr418; |
7378 » » case 44u: goto tr444; | 6965 » » case 44u: goto tr417; |
7379 » » case 45u: goto tr445; | 6966 » » case 45u: goto tr418; |
7380 » » case 52u: goto tr444; | 6967 » » case 52u: goto tr417; |
7381 » » case 53u: goto tr445; | 6968 » » case 53u: goto tr418; |
7382 » » case 60u: goto tr444; | 6969 » » case 60u: goto tr417; |
7383 » » case 61u: goto tr445; | 6970 » » case 61u: goto tr418; |
7384 » » case 68u: goto tr447; | 6971 » » case 68u: goto tr420; |
7385 » » case 76u: goto tr447; | 6972 » » case 76u: goto tr420; |
7386 » » case 84u: goto tr447; | 6973 » » case 84u: goto tr420; |
7387 » » case 92u: goto tr447; | 6974 » » case 92u: goto tr420; |
7388 » » case 100u: goto tr447; | 6975 » » case 100u: goto tr420; |
7389 » » case 108u: goto tr447; | 6976 » » case 108u: goto tr420; |
7390 » » case 116u: goto tr447; | 6977 » » case 116u: goto tr420; |
7391 » » case 124u: goto tr447; | 6978 » » case 124u: goto tr420; |
7392 » » case 132u: goto tr448; | 6979 » » case 132u: goto tr421; |
7393 » » case 140u: goto tr448; | 6980 » » case 140u: goto tr421; |
7394 » » case 148u: goto tr448; | 6981 » » case 148u: goto tr421; |
7395 » » case 156u: goto tr448; | 6982 » » case 156u: goto tr421; |
7396 » » case 164u: goto tr448; | 6983 » » case 164u: goto tr421; |
7397 » » case 172u: goto tr448; | 6984 » » case 172u: goto tr421; |
7398 » » case 180u: goto tr448; | 6985 » » case 180u: goto tr421; |
7399 » » case 188u: goto tr448; | 6986 » » case 188u: goto tr421; |
7400 } | 6987 } |
7401 if ( (*( current_position)) > 127u ) { | 6988 if ( (*( current_position)) > 127u ) { |
7402 if ( 128u <= (*( current_position)) && (*( current_position)) <=
191u ) | 6989 if ( 128u <= (*( current_position)) && (*( current_position)) <=
191u ) |
7403 » » » goto tr445; | 6990 » » » goto tr418; |
7404 } else if ( (*( current_position)) >= 64u ) | 6991 } else if ( (*( current_position)) >= 64u ) |
7405 » » goto tr446; | 6992 » » goto tr419; |
7406 » goto tr443; | 6993 » goto tr416; |
7407 st213: | 6994 st198: |
7408 if ( ++( current_position) == ( end_of_bundle) ) | 6995 if ( ++( current_position) == ( end_of_bundle) ) |
7409 » » goto _test_eof213; | 6996 » » goto _test_eof198; |
7410 case 213: | 6997 case 198: |
7411 switch( (*( current_position)) ) { | 6998 switch( (*( current_position)) ) { |
7412 » » case 4u: goto tr450; | 6999 » » case 4u: goto tr423; |
7413 » » case 5u: goto tr451; | 7000 » » case 5u: goto tr424; |
7414 » » case 12u: goto tr450; | 7001 » » case 12u: goto tr423; |
7415 » » case 13u: goto tr451; | 7002 » » case 13u: goto tr424; |
7416 » » case 20u: goto tr450; | 7003 » » case 20u: goto tr423; |
7417 » » case 21u: goto tr451; | 7004 » » case 21u: goto tr424; |
7418 » » case 28u: goto tr450; | 7005 » » case 28u: goto tr423; |
7419 » » case 29u: goto tr451; | 7006 » » case 29u: goto tr424; |
7420 » » case 36u: goto tr450; | 7007 » » case 36u: goto tr423; |
7421 » » case 37u: goto tr451; | 7008 » » case 37u: goto tr424; |
7422 » » case 44u: goto tr450; | 7009 » » case 44u: goto tr423; |
7423 » » case 45u: goto tr451; | 7010 » » case 45u: goto tr424; |
7424 » » case 52u: goto tr450; | 7011 » » case 52u: goto tr423; |
7425 » » case 53u: goto tr451; | 7012 » » case 53u: goto tr424; |
7426 » » case 60u: goto tr450; | 7013 » » case 60u: goto tr423; |
7427 » » case 61u: goto tr451; | 7014 » » case 61u: goto tr424; |
7428 » » case 68u: goto tr453; | 7015 » » case 68u: goto tr426; |
7429 » » case 76u: goto tr453; | 7016 » » case 76u: goto tr426; |
7430 » » case 84u: goto tr453; | 7017 » » case 84u: goto tr426; |
7431 » » case 92u: goto tr453; | 7018 » » case 92u: goto tr426; |
7432 » » case 100u: goto tr453; | 7019 » » case 100u: goto tr426; |
7433 » » case 108u: goto tr453; | 7020 » » case 108u: goto tr426; |
7434 » » case 116u: goto tr453; | 7021 » » case 116u: goto tr426; |
7435 » » case 124u: goto tr453; | 7022 » » case 124u: goto tr426; |
7436 » » case 132u: goto tr454; | 7023 » » case 132u: goto tr427; |
7437 » » case 140u: goto tr454; | 7024 » » case 140u: goto tr427; |
7438 » » case 148u: goto tr454; | 7025 » » case 148u: goto tr427; |
7439 » » case 156u: goto tr454; | 7026 » » case 156u: goto tr427; |
7440 » » case 164u: goto tr454; | 7027 » » case 164u: goto tr427; |
7441 » » case 172u: goto tr454; | 7028 » » case 172u: goto tr427; |
7442 » » case 180u: goto tr454; | 7029 » » case 180u: goto tr427; |
7443 » » case 188u: goto tr454; | 7030 » » case 188u: goto tr427; |
7444 } | 7031 } |
7445 if ( (*( current_position)) > 127u ) { | 7032 if ( (*( current_position)) > 127u ) { |
7446 if ( 128u <= (*( current_position)) && (*( current_position)) <=
191u ) | 7033 if ( 128u <= (*( current_position)) && (*( current_position)) <=
191u ) |
7447 » » » goto tr451; | 7034 » » » goto tr424; |
7448 } else if ( (*( current_position)) >= 64u ) | 7035 } else if ( (*( current_position)) >= 64u ) |
7449 » » goto tr452; | 7036 » » goto tr425; |
7450 » goto tr449; | 7037 » goto tr422; |
7451 st214: | 7038 st199: |
7452 if ( ++( current_position) == ( end_of_bundle) ) | 7039 if ( ++( current_position) == ( end_of_bundle) ) |
7453 » » goto _test_eof214; | 7040 » » goto _test_eof199; |
7454 case 214: | 7041 case 199: |
7455 switch( (*( current_position)) ) { | 7042 switch( (*( current_position)) ) { |
7456 » » case 4u: goto tr456; | 7043 » » case 4u: goto tr429; |
7457 » » case 5u: goto tr457; | 7044 » » case 5u: goto tr430; |
7458 » » case 12u: goto tr456; | 7045 » » case 12u: goto tr429; |
7459 » » case 13u: goto tr457; | 7046 » » case 13u: goto tr430; |
7460 » » case 20u: goto tr456; | 7047 » » case 20u: goto tr429; |
7461 » » case 21u: goto tr457; | 7048 » » case 21u: goto tr430; |
7462 » » case 28u: goto tr456; | 7049 » » case 28u: goto tr429; |
7463 » » case 29u: goto tr457; | 7050 » » case 29u: goto tr430; |
7464 » » case 36u: goto tr456; | 7051 » » case 36u: goto tr429; |
7465 » » case 37u: goto tr457; | 7052 » » case 37u: goto tr430; |
7466 » » case 44u: goto tr456; | 7053 » » case 44u: goto tr429; |
7467 » » case 45u: goto tr457; | 7054 » » case 45u: goto tr430; |
7468 » » case 52u: goto tr456; | 7055 » » case 52u: goto tr429; |
7469 » » case 53u: goto tr457; | 7056 » » case 53u: goto tr430; |
7470 » » case 60u: goto tr456; | 7057 » » case 60u: goto tr429; |
7471 » » case 61u: goto tr457; | 7058 » » case 61u: goto tr430; |
7472 » » case 68u: goto tr459; | 7059 » » case 68u: goto tr432; |
7473 » » case 76u: goto tr459; | 7060 » » case 76u: goto tr432; |
7474 » » case 84u: goto tr459; | 7061 » » case 84u: goto tr432; |
7475 » » case 92u: goto tr459; | 7062 » » case 92u: goto tr432; |
7476 » » case 100u: goto tr459; | 7063 » » case 100u: goto tr432; |
7477 » » case 108u: goto tr459; | 7064 » » case 108u: goto tr432; |
7478 » » case 116u: goto tr459; | 7065 » » case 116u: goto tr432; |
7479 » » case 124u: goto tr459; | 7066 » » case 124u: goto tr432; |
7480 » » case 132u: goto tr460; | 7067 » » case 132u: goto tr433; |
7481 » » case 140u: goto tr460; | 7068 » » case 140u: goto tr433; |
7482 » » case 148u: goto tr460; | 7069 » » case 148u: goto tr433; |
7483 » » case 156u: goto tr460; | 7070 » » case 156u: goto tr433; |
7484 » » case 164u: goto tr460; | 7071 » » case 164u: goto tr433; |
7485 » » case 172u: goto tr460; | 7072 » » case 172u: goto tr433; |
7486 » » case 180u: goto tr460; | 7073 » » case 180u: goto tr433; |
7487 » » case 188u: goto tr460; | 7074 » » case 188u: goto tr433; |
7488 } | 7075 } |
7489 if ( (*( current_position)) > 127u ) { | 7076 if ( (*( current_position)) > 127u ) { |
7490 if ( 128u <= (*( current_position)) && (*( current_position)) <=
191u ) | 7077 if ( 128u <= (*( current_position)) && (*( current_position)) <=
191u ) |
7491 » » » goto tr457; | 7078 » » » goto tr430; |
7492 } else if ( (*( current_position)) >= 64u ) | 7079 } else if ( (*( current_position)) >= 64u ) |
7493 » » goto tr458; | 7080 » » goto tr431; |
7494 » goto tr455; | 7081 » goto tr428; |
7495 st215: | 7082 st200: |
7496 if ( ++( current_position) == ( end_of_bundle) ) | 7083 if ( ++( current_position) == ( end_of_bundle) ) |
7497 » » goto _test_eof215; | 7084 » » goto _test_eof200; |
7498 case 215: | 7085 case 200: |
7499 switch( (*( current_position)) ) { | 7086 switch( (*( current_position)) ) { |
7500 case 4u: goto st39; | 7087 case 4u: goto st39; |
7501 case 5u: goto st40; | 7088 case 5u: goto st40; |
7502 case 20u: goto st2; | 7089 case 20u: goto st2; |
7503 case 21u: goto st3; | 7090 case 21u: goto st3; |
7504 case 28u: goto st2; | 7091 case 28u: goto st2; |
7505 case 29u: goto st3; | 7092 case 29u: goto st3; |
7506 case 36u: goto st2; | 7093 case 36u: goto st2; |
7507 case 37u: goto st3; | 7094 case 37u: goto st3; |
7508 case 44u: goto st2; | 7095 case 44u: goto st2; |
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
7549 if ( (*( current_position)) > 199u ) { | 7136 if ( (*( current_position)) > 199u ) { |
7550 if ( 200u <= (*( current_position)) && (*( curre
nt_position)) <= 207u ) | 7137 if ( 200u <= (*( current_position)) && (*( curre
nt_position)) <= 207u ) |
7551 goto tr16; | 7138 goto tr16; |
7552 } else if ( (*( current_position)) >= 192u ) | 7139 } else if ( (*( current_position)) >= 192u ) |
7553 goto st10; | 7140 goto st10; |
7554 } else | 7141 } else |
7555 goto st3; | 7142 goto st3; |
7556 } else | 7143 } else |
7557 goto st7; | 7144 goto st7; |
7558 goto tr0; | 7145 goto tr0; |
7559 st216: | 7146 st201: |
7560 if ( ++( current_position) == ( end_of_bundle) ) | 7147 if ( ++( current_position) == ( end_of_bundle) ) |
7561 » » goto _test_eof216; | 7148 » » goto _test_eof201; |
7562 case 216: | 7149 case 201: |
7563 switch( (*( current_position)) ) { | 7150 switch( (*( current_position)) ) { |
7564 case 4u: goto st131; | 7151 case 4u: goto st131; |
7565 case 5u: goto st132; | 7152 case 5u: goto st132; |
7566 case 20u: goto st2; | 7153 case 20u: goto st2; |
7567 case 21u: goto st3; | 7154 case 21u: goto st3; |
7568 case 28u: goto st2; | 7155 case 28u: goto st2; |
7569 case 29u: goto st3; | 7156 case 29u: goto st3; |
7570 case 36u: goto st2; | 7157 case 36u: goto st2; |
7571 case 37u: goto st3; | 7158 case 37u: goto st3; |
7572 case 44u: goto st2; | 7159 case 44u: goto st2; |
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
7613 if ( (*( current_position)) > 199u ) { | 7200 if ( (*( current_position)) > 199u ) { |
7614 if ( 200u <= (*( current_position)) && (*( curre
nt_position)) <= 207u ) | 7201 if ( 200u <= (*( current_position)) && (*( curre
nt_position)) <= 207u ) |
7615 goto tr16; | 7202 goto tr16; |
7616 } else if ( (*( current_position)) >= 192u ) | 7203 } else if ( (*( current_position)) >= 192u ) |
7617 goto st11; | 7204 goto st11; |
7618 } else | 7205 } else |
7619 goto st3; | 7206 goto st3; |
7620 } else | 7207 } else |
7621 goto st7; | 7208 goto st7; |
7622 goto tr0; | 7209 goto tr0; |
7623 st217: | 7210 st202: |
7624 if ( ++( current_position) == ( end_of_bundle) ) | 7211 if ( ++( current_position) == ( end_of_bundle) ) |
7625 » » goto _test_eof217; | 7212 » » goto _test_eof202; |
7626 case 217: | 7213 case 202: |
7627 switch( (*( current_position)) ) { | 7214 switch( (*( current_position)) ) { |
7628 case 4u: goto st2; | 7215 case 4u: goto st2; |
7629 case 5u: goto st3; | 7216 case 5u: goto st3; |
7630 case 12u: goto st2; | 7217 case 12u: goto st2; |
7631 case 13u: goto st3; | 7218 case 13u: goto st3; |
7632 case 68u: goto st8; | 7219 case 68u: goto st8; |
7633 case 76u: goto st8; | 7220 case 76u: goto st8; |
7634 case 132u: goto st9; | 7221 case 132u: goto st9; |
7635 case 140u: goto st9; | 7222 case 140u: goto st9; |
7636 } | 7223 } |
7637 if ( (*( current_position)) < 64u ) { | 7224 if ( (*( current_position)) < 64u ) { |
7638 if ( (*( current_position)) <= 15u ) | 7225 if ( (*( current_position)) <= 15u ) |
7639 goto tr0; | 7226 goto tr0; |
7640 } else if ( (*( current_position)) > 79u ) { | 7227 } else if ( (*( current_position)) > 79u ) { |
7641 if ( (*( current_position)) > 143u ) { | 7228 if ( (*( current_position)) > 143u ) { |
7642 if ( 192u <= (*( current_position)) && (*( current_posit
ion)) <= 207u ) | 7229 if ( 192u <= (*( current_position)) && (*( current_posit
ion)) <= 207u ) |
7643 goto tr0; | 7230 goto tr0; |
7644 } else if ( (*( current_position)) >= 128u ) | 7231 } else if ( (*( current_position)) >= 128u ) |
7645 goto st3; | 7232 goto st3; |
7646 } else | 7233 } else |
7647 goto st7; | 7234 goto st7; |
7648 goto tr16; | 7235 goto tr16; |
7649 st218: | 7236 st203: |
7650 if ( ++( current_position) == ( end_of_bundle) ) | 7237 if ( ++( current_position) == ( end_of_bundle) ) |
7651 » » goto _test_eof218; | 7238 » » goto _test_eof203; |
7652 case 218: | 7239 case 203: |
7653 switch( (*( current_position)) ) { | 7240 switch( (*( current_position)) ) { |
7654 case 4u: goto st2; | 7241 case 4u: goto st2; |
7655 case 5u: goto st3; | 7242 case 5u: goto st3; |
7656 case 12u: goto st2; | 7243 case 12u: goto st2; |
7657 case 13u: goto st3; | 7244 case 13u: goto st3; |
7658 case 52u: goto st2; | 7245 case 52u: goto st2; |
7659 case 53u: goto st3; | 7246 case 53u: goto st3; |
7660 case 68u: goto st8; | 7247 case 68u: goto st8; |
7661 case 76u: goto st8; | 7248 case 76u: goto st8; |
7662 case 116u: goto st8; | 7249 case 116u: goto st8; |
7663 case 132u: goto st9; | 7250 case 132u: goto st9; |
7664 case 140u: goto st9; | 7251 case 140u: goto st9; |
7665 case 180u: goto st9; | 7252 case 180u: goto st9; |
7666 » » case 208u: goto tr461; | 7253 » » case 208u: goto tr434; |
7667 » » case 224u: goto tr462; | 7254 » » case 224u: goto tr435; |
7668 } | 7255 } |
7669 if ( (*( current_position)) < 112u ) { | 7256 if ( (*( current_position)) < 112u ) { |
7670 if ( (*( current_position)) < 48u ) { | 7257 if ( (*( current_position)) < 48u ) { |
7671 if ( (*( current_position)) <= 15u ) | 7258 if ( (*( current_position)) <= 15u ) |
7672 goto tr0; | 7259 goto tr0; |
7673 } else if ( (*( current_position)) > 55u ) { | 7260 } else if ( (*( current_position)) > 55u ) { |
7674 if ( 64u <= (*( current_position)) && (*( current_positi
on)) <= 79u ) | 7261 if ( 64u <= (*( current_position)) && (*( current_positi
on)) <= 79u ) |
7675 goto st7; | 7262 goto st7; |
7676 } else | 7263 } else |
7677 goto tr0; | 7264 goto tr0; |
7678 } else if ( (*( current_position)) > 119u ) { | 7265 } else if ( (*( current_position)) > 119u ) { |
7679 if ( (*( current_position)) < 176u ) { | 7266 if ( (*( current_position)) < 176u ) { |
7680 if ( 128u <= (*( current_position)) && (*( current_posit
ion)) <= 143u ) | 7267 if ( 128u <= (*( current_position)) && (*( current_posit
ion)) <= 143u ) |
7681 goto st3; | 7268 goto st3; |
7682 } else if ( (*( current_position)) > 183u ) { | 7269 } else if ( (*( current_position)) > 183u ) { |
7683 if ( (*( current_position)) > 207u ) { | 7270 if ( (*( current_position)) > 207u ) { |
7684 if ( 240u <= (*( current_position)) && (*( curre
nt_position)) <= 247u ) | 7271 if ( 240u <= (*( current_position)) && (*( curre
nt_position)) <= 247u ) |
7685 goto tr0; | 7272 goto tr0; |
7686 } else if ( (*( current_position)) >= 192u ) | 7273 } else if ( (*( current_position)) >= 192u ) |
7687 goto tr0; | 7274 goto tr0; |
7688 } else | 7275 } else |
7689 goto st3; | 7276 goto st3; |
7690 } else | 7277 } else |
7691 goto st7; | 7278 goto st7; |
7692 goto tr16; | 7279 goto tr16; |
7693 st219: | 7280 st204: |
7694 if ( ++( current_position) == ( end_of_bundle) ) | 7281 if ( ++( current_position) == ( end_of_bundle) ) |
7695 » » goto _test_eof219; | 7282 » » goto _test_eof204; |
7696 case 219: | 7283 case 204: |
7697 if ( (*( current_position)) == 224u ) | 7284 if ( (*( current_position)) == 224u ) |
7698 » » goto tr463; | 7285 » » goto tr436; |
7699 goto tr11; | 7286 goto tr11; |
7700 tr463: | 7287 tr436: |
7701 { | 7288 { |
7702 SET_IMM_TYPE(IMM8); | 7289 SET_IMMEDIATE_FORMAT(IMM8); |
7703 SET_IMM_PTR(current_position); | 7290 SET_IMMEDIATE_POINTER(current_position); |
7704 } | 7291 } |
7705 {} | 7292 {} |
7706 { | 7293 { |
7707 /* Mark start of this instruction as a valid target for jump. */ | 7294 /* Mark start of this instruction as a valid target for jump. */ |
7708 MarkValidJumpTarget(instruction_begin - data, valid_targets); | 7295 MarkValidJumpTarget(instruction_begin - codeblock, valid_targets); |
7709 | 7296 |
7710 /* Call user-supplied callback. */ | 7297 /* Call user-supplied callback. */ |
7711 instruction_end = current_position + 1; | 7298 instruction_end = current_position + 1; |
7712 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || | 7299 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || |
7713 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { | 7300 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { |
7714 result &= user_callback(instruction_begin, instruction_end, | 7301 result &= user_callback(instruction_begin, instruction_end, |
7715 instruction_info_collected, callback_data); | 7302 instruction_info_collected, callback_data); |
7716 } | 7303 } |
7717 | 7304 |
7718 /* On successful match the instruction_begin must point to the next byte | 7305 /* |
7719 * to be able to report the new offset as the start of instruction | 7306 * We may set instruction_begin at the first byte of the instruction instead |
7720 * causing error. */ | 7307 * of here but in the case of incorrect one byte instructions user callback |
| 7308 * may be called before instruction_begin is set. |
| 7309 */ |
7721 instruction_begin = instruction_end; | 7310 instruction_begin = instruction_end; |
7722 | 7311 |
7723 /* Clear variables (well, one variable currently). */ | 7312 /* Clear variables (well, one variable currently). */ |
7724 instruction_info_collected = 0; | 7313 instruction_info_collected = 0; |
7725 } | 7314 } |
7726 » goto st235; | 7315 » goto st220; |
7727 st235: | 7316 st220: |
7728 if ( ++( current_position) == ( end_of_bundle) ) | 7317 if ( ++( current_position) == ( end_of_bundle) ) |
7729 » » goto _test_eof235; | 7318 » » goto _test_eof220; |
7730 case 235: | 7319 case 220: |
7731 switch( (*( current_position)) ) { | 7320 switch( (*( current_position)) ) { |
7732 case 4u: goto st10; | 7321 case 4u: goto st10; |
7733 case 5u: goto st11; | 7322 case 5u: goto st11; |
7734 case 12u: goto st10; | 7323 case 12u: goto st10; |
7735 case 13u: goto st11; | 7324 case 13u: goto st11; |
7736 case 15u: goto st15; | 7325 case 15u: goto st15; |
7737 case 20u: goto st10; | 7326 case 20u: goto st10; |
7738 case 21u: goto st11; | 7327 case 21u: goto st11; |
7739 case 28u: goto st10; | 7328 case 28u: goto st10; |
7740 case 29u: goto st11; | 7329 case 29u: goto st11; |
(...skipping 11 matching lines...) Expand all Loading... |
7752 case 102u: goto st74; | 7341 case 102u: goto st74; |
7753 case 104u: goto st11; | 7342 case 104u: goto st11; |
7754 case 105u: goto st130; | 7343 case 105u: goto st130; |
7755 case 106u: goto st10; | 7344 case 106u: goto st10; |
7756 case 107u: goto st56; | 7345 case 107u: goto st56; |
7757 case 128u: goto st56; | 7346 case 128u: goto st56; |
7758 case 129u: goto st130; | 7347 case 129u: goto st130; |
7759 case 131u: goto st139; | 7348 case 131u: goto st139; |
7760 case 141u: goto st115; | 7349 case 141u: goto st115; |
7761 case 143u: goto st141; | 7350 case 143u: goto st141; |
7762 » » case 155u: goto tr413; | 7351 » » case 155u: goto tr386; |
7763 case 168u: goto st10; | 7352 case 168u: goto st10; |
7764 case 169u: goto st11; | 7353 case 169u: goto st11; |
7765 case 196u: goto st153; | 7354 case 196u: goto st153; |
7766 » » case 198u: goto st185; | 7355 » » case 198u: goto st170; |
7767 » » case 199u: goto st186; | 7356 » » case 199u: goto st171; |
7768 case 201u: goto tr0; | 7357 case 201u: goto tr0; |
7769 » » case 216u: goto st187; | 7358 » » case 216u: goto st172; |
7770 » » case 217u: goto st188; | 7359 » » case 217u: goto st173; |
7771 » » case 218u: goto st189; | 7360 » » case 218u: goto st174; |
7772 » » case 219u: goto st190; | 7361 » » case 219u: goto st175; |
7773 » » case 220u: goto st191; | 7362 » » case 220u: goto st176; |
7774 » » case 221u: goto st192; | 7363 » » case 221u: goto st177; |
7775 » » case 222u: goto st193; | 7364 » » case 222u: goto st178; |
7776 » » case 223u: goto st194; | 7365 » » case 223u: goto st179; |
7777 » » case 232u: goto st195; | 7366 » » case 232u: goto st180; |
7778 case 233u: goto st52; | 7367 case 233u: goto st52; |
7779 case 235u: goto st67; | 7368 case 235u: goto st67; |
7780 » » case 240u: goto st199; | 7369 » » case 240u: goto st184; |
7781 » » case 242u: goto st202; | 7370 » » case 242u: goto st187; |
7782 » » case 243u: goto st210; | 7371 » » case 243u: goto st195; |
7783 » » case 246u: goto st215; | 7372 » » case 246u: goto st200; |
7784 » » case 247u: goto st216; | 7373 » » case 247u: goto st201; |
7785 » » case 254u: goto st217; | 7374 » » case 254u: goto st202; |
7786 » » case 255u: goto st220; | 7375 » » case 255u: goto st205; |
7787 } | 7376 } |
7788 if ( (*( current_position)) < 132u ) { | 7377 if ( (*( current_position)) < 132u ) { |
7789 if ( (*( current_position)) < 32u ) { | 7378 if ( (*( current_position)) < 32u ) { |
7790 if ( (*( current_position)) < 8u ) { | 7379 if ( (*( current_position)) < 8u ) { |
7791 if ( (*( current_position)) <= 3u ) | 7380 if ( (*( current_position)) <= 3u ) |
7792 goto st1; | 7381 goto st1; |
7793 } else if ( (*( current_position)) > 11u ) { | 7382 } else if ( (*( current_position)) > 11u ) { |
7794 if ( (*( current_position)) > 19u ) { | 7383 if ( (*( current_position)) > 19u ) { |
7795 if ( 24u <= (*( current_position)) && (*
( current_position)) <= 27u ) | 7384 if ( 24u <= (*( current_position)) && (*
( current_position)) <= 27u ) |
7796 goto st1; | 7385 goto st1; |
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
7844 goto tr0; | 7433 goto tr0; |
7845 } else if ( (*( current_position)) >= 244u ) | 7434 } else if ( (*( current_position)) >= 244u ) |
7846 goto tr0; | 7435 goto tr0; |
7847 } else | 7436 } else |
7848 goto st118; | 7437 goto st118; |
7849 } else | 7438 } else |
7850 goto st10; | 7439 goto st10; |
7851 } else | 7440 } else |
7852 goto st1; | 7441 goto st1; |
7853 goto tr16; | 7442 goto tr16; |
7854 st220: | 7443 st205: |
7855 if ( ++( current_position) == ( end_of_bundle) ) | 7444 if ( ++( current_position) == ( end_of_bundle) ) |
7856 » » goto _test_eof220; | 7445 » » goto _test_eof205; |
7857 case 220: | 7446 case 205: |
7858 switch( (*( current_position)) ) { | 7447 switch( (*( current_position)) ) { |
7859 case 4u: goto st2; | 7448 case 4u: goto st2; |
7860 case 5u: goto st3; | 7449 case 5u: goto st3; |
7861 case 12u: goto st2; | 7450 case 12u: goto st2; |
7862 case 13u: goto st3; | 7451 case 13u: goto st3; |
7863 case 52u: goto st2; | 7452 case 52u: goto st2; |
7864 case 53u: goto st3; | 7453 case 53u: goto st3; |
7865 case 68u: goto st8; | 7454 case 68u: goto st8; |
7866 case 76u: goto st8; | 7455 case 76u: goto st8; |
7867 case 116u: goto st8; | 7456 case 116u: goto st8; |
7868 case 132u: goto st9; | 7457 case 132u: goto st9; |
7869 case 140u: goto st9; | 7458 case 140u: goto st9; |
7870 case 180u: goto st9; | 7459 case 180u: goto st9; |
7871 » » case 209u: goto tr461; | 7460 » » case 209u: goto tr434; |
7872 » » case 225u: goto tr462; | 7461 » » case 225u: goto tr435; |
7873 } | 7462 } |
7874 if ( (*( current_position)) < 112u ) { | 7463 if ( (*( current_position)) < 112u ) { |
7875 if ( (*( current_position)) < 48u ) { | 7464 if ( (*( current_position)) < 48u ) { |
7876 if ( (*( current_position)) <= 15u ) | 7465 if ( (*( current_position)) <= 15u ) |
7877 goto tr0; | 7466 goto tr0; |
7878 } else if ( (*( current_position)) > 55u ) { | 7467 } else if ( (*( current_position)) > 55u ) { |
7879 if ( 64u <= (*( current_position)) && (*( current_positi
on)) <= 79u ) | 7468 if ( 64u <= (*( current_position)) && (*( current_positi
on)) <= 79u ) |
7880 goto st7; | 7469 goto st7; |
7881 } else | 7470 } else |
7882 goto tr0; | 7471 goto tr0; |
7883 } else if ( (*( current_position)) > 119u ) { | 7472 } else if ( (*( current_position)) > 119u ) { |
7884 if ( (*( current_position)) < 176u ) { | 7473 if ( (*( current_position)) < 176u ) { |
7885 if ( 128u <= (*( current_position)) && (*( current_posit
ion)) <= 143u ) | 7474 if ( 128u <= (*( current_position)) && (*( current_posit
ion)) <= 143u ) |
7886 goto st3; | 7475 goto st3; |
7887 } else if ( (*( current_position)) > 183u ) { | 7476 } else if ( (*( current_position)) > 183u ) { |
7888 if ( (*( current_position)) > 207u ) { | 7477 if ( (*( current_position)) > 207u ) { |
7889 if ( 240u <= (*( current_position)) && (*( curre
nt_position)) <= 247u ) | 7478 if ( 240u <= (*( current_position)) && (*( curre
nt_position)) <= 247u ) |
7890 goto tr0; | 7479 goto tr0; |
7891 } else if ( (*( current_position)) >= 192u ) | 7480 } else if ( (*( current_position)) >= 192u ) |
7892 goto tr0; | 7481 goto tr0; |
7893 } else | 7482 } else |
7894 goto st3; | 7483 goto st3; |
7895 } else | 7484 } else |
7896 goto st7; | 7485 goto st7; |
7897 goto tr16; | 7486 goto tr16; |
7898 st221: | 7487 st206: |
7899 if ( ++( current_position) == ( end_of_bundle) ) | 7488 if ( ++( current_position) == ( end_of_bundle) ) |
7900 » » goto _test_eof221; | 7489 » » goto _test_eof206; |
7901 case 221: | 7490 case 206: |
7902 if ( (*( current_position)) == 224u ) | 7491 if ( (*( current_position)) == 224u ) |
7903 » » goto tr464; | 7492 » » goto tr437; |
7904 goto tr11; | 7493 goto tr11; |
7905 tr464: | 7494 tr437: |
7906 { | 7495 { |
7907 SET_IMM_TYPE(IMM8); | 7496 SET_IMMEDIATE_FORMAT(IMM8); |
7908 SET_IMM_PTR(current_position); | 7497 SET_IMMEDIATE_POINTER(current_position); |
7909 } | 7498 } |
7910 {} | 7499 {} |
7911 { | 7500 { |
7912 /* Mark start of this instruction as a valid target for jump. */ | 7501 /* Mark start of this instruction as a valid target for jump. */ |
7913 MarkValidJumpTarget(instruction_begin - data, valid_targets); | 7502 MarkValidJumpTarget(instruction_begin - codeblock, valid_targets); |
7914 | 7503 |
7915 /* Call user-supplied callback. */ | 7504 /* Call user-supplied callback. */ |
7916 instruction_end = current_position + 1; | 7505 instruction_end = current_position + 1; |
7917 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || | 7506 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || |
7918 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { | 7507 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { |
7919 result &= user_callback(instruction_begin, instruction_end, | 7508 result &= user_callback(instruction_begin, instruction_end, |
7920 instruction_info_collected, callback_data); | 7509 instruction_info_collected, callback_data); |
7921 } | 7510 } |
7922 | 7511 |
7923 /* On successful match the instruction_begin must point to the next byte | 7512 /* |
7924 * to be able to report the new offset as the start of instruction | 7513 * We may set instruction_begin at the first byte of the instruction instead |
7925 * causing error. */ | 7514 * of here but in the case of incorrect one byte instructions user callback |
| 7515 * may be called before instruction_begin is set. |
| 7516 */ |
7926 instruction_begin = instruction_end; | 7517 instruction_begin = instruction_end; |
7927 | 7518 |
7928 /* Clear variables (well, one variable currently). */ | 7519 /* Clear variables (well, one variable currently). */ |
7929 instruction_info_collected = 0; | 7520 instruction_info_collected = 0; |
7930 } | 7521 } |
7931 » goto st236; | 7522 » goto st221; |
7932 st236: | 7523 st221: |
7933 if ( ++( current_position) == ( end_of_bundle) ) | 7524 if ( ++( current_position) == ( end_of_bundle) ) |
7934 » » goto _test_eof236; | 7525 » » goto _test_eof221; |
7935 case 236: | 7526 case 221: |
7936 switch( (*( current_position)) ) { | 7527 switch( (*( current_position)) ) { |
7937 case 4u: goto st10; | 7528 case 4u: goto st10; |
7938 case 5u: goto st11; | 7529 case 5u: goto st11; |
7939 case 12u: goto st10; | 7530 case 12u: goto st10; |
7940 case 13u: goto st11; | 7531 case 13u: goto st11; |
7941 case 15u: goto st15; | 7532 case 15u: goto st15; |
7942 case 20u: goto st10; | 7533 case 20u: goto st10; |
7943 case 21u: goto st11; | 7534 case 21u: goto st11; |
7944 case 28u: goto st10; | 7535 case 28u: goto st10; |
7945 case 29u: goto st11; | 7536 case 29u: goto st11; |
(...skipping 11 matching lines...) Expand all Loading... |
7957 case 102u: goto st74; | 7548 case 102u: goto st74; |
7958 case 104u: goto st11; | 7549 case 104u: goto st11; |
7959 case 105u: goto st130; | 7550 case 105u: goto st130; |
7960 case 106u: goto st10; | 7551 case 106u: goto st10; |
7961 case 107u: goto st56; | 7552 case 107u: goto st56; |
7962 case 128u: goto st56; | 7553 case 128u: goto st56; |
7963 case 129u: goto st130; | 7554 case 129u: goto st130; |
7964 case 131u: goto st139; | 7555 case 131u: goto st139; |
7965 case 141u: goto st115; | 7556 case 141u: goto st115; |
7966 case 143u: goto st141; | 7557 case 143u: goto st141; |
7967 » » case 155u: goto tr413; | 7558 » » case 155u: goto tr386; |
7968 case 168u: goto st10; | 7559 case 168u: goto st10; |
7969 case 169u: goto st11; | 7560 case 169u: goto st11; |
7970 case 196u: goto st153; | 7561 case 196u: goto st153; |
7971 » » case 198u: goto st185; | 7562 » » case 198u: goto st170; |
7972 » » case 199u: goto st186; | 7563 » » case 199u: goto st171; |
7973 case 201u: goto tr0; | 7564 case 201u: goto tr0; |
7974 » » case 216u: goto st187; | 7565 » » case 216u: goto st172; |
7975 » » case 217u: goto st188; | 7566 » » case 217u: goto st173; |
7976 » » case 218u: goto st189; | 7567 » » case 218u: goto st174; |
7977 » » case 219u: goto st190; | 7568 » » case 219u: goto st175; |
7978 » » case 220u: goto st191; | 7569 » » case 220u: goto st176; |
7979 » » case 221u: goto st192; | 7570 » » case 221u: goto st177; |
7980 » » case 222u: goto st193; | 7571 » » case 222u: goto st178; |
7981 » » case 223u: goto st194; | 7572 » » case 223u: goto st179; |
7982 » » case 232u: goto st195; | 7573 » » case 232u: goto st180; |
7983 case 233u: goto st52; | 7574 case 233u: goto st52; |
7984 case 235u: goto st67; | 7575 case 235u: goto st67; |
7985 » » case 240u: goto st199; | 7576 » » case 240u: goto st184; |
7986 » » case 242u: goto st202; | 7577 » » case 242u: goto st187; |
7987 » » case 243u: goto st210; | 7578 » » case 243u: goto st195; |
7988 » » case 246u: goto st215; | 7579 » » case 246u: goto st200; |
7989 » » case 247u: goto st216; | 7580 » » case 247u: goto st201; |
7990 » » case 254u: goto st217; | 7581 » » case 254u: goto st202; |
7991 » » case 255u: goto st222; | 7582 » » case 255u: goto st207; |
7992 } | 7583 } |
7993 if ( (*( current_position)) < 132u ) { | 7584 if ( (*( current_position)) < 132u ) { |
7994 if ( (*( current_position)) < 32u ) { | 7585 if ( (*( current_position)) < 32u ) { |
7995 if ( (*( current_position)) < 8u ) { | 7586 if ( (*( current_position)) < 8u ) { |
7996 if ( (*( current_position)) <= 3u ) | 7587 if ( (*( current_position)) <= 3u ) |
7997 goto st1; | 7588 goto st1; |
7998 } else if ( (*( current_position)) > 11u ) { | 7589 } else if ( (*( current_position)) > 11u ) { |
7999 if ( (*( current_position)) > 19u ) { | 7590 if ( (*( current_position)) > 19u ) { |
8000 if ( 24u <= (*( current_position)) && (*
( current_position)) <= 27u ) | 7591 if ( 24u <= (*( current_position)) && (*
( current_position)) <= 27u ) |
8001 goto st1; | 7592 goto st1; |
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
8049 goto tr0; | 7640 goto tr0; |
8050 } else if ( (*( current_position)) >= 244u ) | 7641 } else if ( (*( current_position)) >= 244u ) |
8051 goto tr0; | 7642 goto tr0; |
8052 } else | 7643 } else |
8053 goto st118; | 7644 goto st118; |
8054 } else | 7645 } else |
8055 goto st10; | 7646 goto st10; |
8056 } else | 7647 } else |
8057 goto st1; | 7648 goto st1; |
8058 goto tr16; | 7649 goto tr16; |
8059 st222: | 7650 st207: |
8060 if ( ++( current_position) == ( end_of_bundle) ) | 7651 if ( ++( current_position) == ( end_of_bundle) ) |
8061 » » goto _test_eof222; | 7652 » » goto _test_eof207; |
8062 case 222: | 7653 case 207: |
8063 switch( (*( current_position)) ) { | 7654 switch( (*( current_position)) ) { |
8064 case 4u: goto st2; | 7655 case 4u: goto st2; |
8065 case 5u: goto st3; | 7656 case 5u: goto st3; |
8066 case 12u: goto st2; | 7657 case 12u: goto st2; |
8067 case 13u: goto st3; | 7658 case 13u: goto st3; |
8068 case 52u: goto st2; | 7659 case 52u: goto st2; |
8069 case 53u: goto st3; | 7660 case 53u: goto st3; |
8070 case 68u: goto st8; | 7661 case 68u: goto st8; |
8071 case 76u: goto st8; | 7662 case 76u: goto st8; |
8072 case 116u: goto st8; | 7663 case 116u: goto st8; |
8073 case 132u: goto st9; | 7664 case 132u: goto st9; |
8074 case 140u: goto st9; | 7665 case 140u: goto st9; |
8075 case 180u: goto st9; | 7666 case 180u: goto st9; |
8076 » » case 210u: goto tr461; | 7667 » » case 210u: goto tr434; |
8077 » » case 226u: goto tr462; | 7668 » » case 226u: goto tr435; |
8078 } | 7669 } |
8079 if ( (*( current_position)) < 112u ) { | 7670 if ( (*( current_position)) < 112u ) { |
8080 if ( (*( current_position)) < 48u ) { | 7671 if ( (*( current_position)) < 48u ) { |
8081 if ( (*( current_position)) <= 15u ) | 7672 if ( (*( current_position)) <= 15u ) |
8082 goto tr0; | 7673 goto tr0; |
8083 } else if ( (*( current_position)) > 55u ) { | 7674 } else if ( (*( current_position)) > 55u ) { |
8084 if ( 64u <= (*( current_position)) && (*( current_positi
on)) <= 79u ) | 7675 if ( 64u <= (*( current_position)) && (*( current_positi
on)) <= 79u ) |
8085 goto st7; | 7676 goto st7; |
8086 } else | 7677 } else |
8087 goto tr0; | 7678 goto tr0; |
8088 } else if ( (*( current_position)) > 119u ) { | 7679 } else if ( (*( current_position)) > 119u ) { |
8089 if ( (*( current_position)) < 176u ) { | 7680 if ( (*( current_position)) < 176u ) { |
8090 if ( 128u <= (*( current_position)) && (*( current_posit
ion)) <= 143u ) | 7681 if ( 128u <= (*( current_position)) && (*( current_posit
ion)) <= 143u ) |
8091 goto st3; | 7682 goto st3; |
8092 } else if ( (*( current_position)) > 183u ) { | 7683 } else if ( (*( current_position)) > 183u ) { |
8093 if ( (*( current_position)) > 207u ) { | 7684 if ( (*( current_position)) > 207u ) { |
8094 if ( 240u <= (*( current_position)) && (*( curre
nt_position)) <= 247u ) | 7685 if ( 240u <= (*( current_position)) && (*( curre
nt_position)) <= 247u ) |
8095 goto tr0; | 7686 goto tr0; |
8096 } else if ( (*( current_position)) >= 192u ) | 7687 } else if ( (*( current_position)) >= 192u ) |
8097 goto tr0; | 7688 goto tr0; |
8098 } else | 7689 } else |
8099 goto st3; | 7690 goto st3; |
8100 } else | 7691 } else |
8101 goto st7; | 7692 goto st7; |
8102 goto tr16; | 7693 goto tr16; |
8103 st223: | 7694 st208: |
8104 if ( ++( current_position) == ( end_of_bundle) ) | 7695 if ( ++( current_position) == ( end_of_bundle) ) |
8105 » » goto _test_eof223; | 7696 » » goto _test_eof208; |
8106 case 223: | 7697 case 208: |
8107 if ( (*( current_position)) == 224u ) | 7698 if ( (*( current_position)) == 224u ) |
8108 » » goto tr465; | 7699 » » goto tr438; |
8109 goto tr11; | 7700 goto tr11; |
8110 tr465: | 7701 tr438: |
8111 { | 7702 { |
8112 SET_IMM_TYPE(IMM8); | 7703 SET_IMMEDIATE_FORMAT(IMM8); |
8113 SET_IMM_PTR(current_position); | 7704 SET_IMMEDIATE_POINTER(current_position); |
8114 } | 7705 } |
8115 {} | 7706 {} |
8116 { | 7707 { |
8117 /* Mark start of this instruction as a valid target for jump. */ | 7708 /* Mark start of this instruction as a valid target for jump. */ |
8118 MarkValidJumpTarget(instruction_begin - data, valid_targets); | 7709 MarkValidJumpTarget(instruction_begin - codeblock, valid_targets); |
8119 | 7710 |
8120 /* Call user-supplied callback. */ | 7711 /* Call user-supplied callback. */ |
8121 instruction_end = current_position + 1; | 7712 instruction_end = current_position + 1; |
8122 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || | 7713 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || |
8123 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { | 7714 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { |
8124 result &= user_callback(instruction_begin, instruction_end, | 7715 result &= user_callback(instruction_begin, instruction_end, |
8125 instruction_info_collected, callback_data); | 7716 instruction_info_collected, callback_data); |
8126 } | 7717 } |
8127 | 7718 |
8128 /* On successful match the instruction_begin must point to the next byte | 7719 /* |
8129 * to be able to report the new offset as the start of instruction | 7720 * We may set instruction_begin at the first byte of the instruction instead |
8130 * causing error. */ | 7721 * of here but in the case of incorrect one byte instructions user callback |
| 7722 * may be called before instruction_begin is set. |
| 7723 */ |
8131 instruction_begin = instruction_end; | 7724 instruction_begin = instruction_end; |
8132 | 7725 |
8133 /* Clear variables (well, one variable currently). */ | 7726 /* Clear variables (well, one variable currently). */ |
8134 instruction_info_collected = 0; | 7727 instruction_info_collected = 0; |
8135 } | 7728 } |
8136 » goto st237; | 7729 » goto st222; |
8137 st237: | 7730 st222: |
8138 if ( ++( current_position) == ( end_of_bundle) ) | 7731 if ( ++( current_position) == ( end_of_bundle) ) |
8139 » » goto _test_eof237; | 7732 » » goto _test_eof222; |
8140 case 237: | 7733 case 222: |
8141 switch( (*( current_position)) ) { | 7734 switch( (*( current_position)) ) { |
8142 case 4u: goto st10; | 7735 case 4u: goto st10; |
8143 case 5u: goto st11; | 7736 case 5u: goto st11; |
8144 case 12u: goto st10; | 7737 case 12u: goto st10; |
8145 case 13u: goto st11; | 7738 case 13u: goto st11; |
8146 case 15u: goto st15; | 7739 case 15u: goto st15; |
8147 case 20u: goto st10; | 7740 case 20u: goto st10; |
8148 case 21u: goto st11; | 7741 case 21u: goto st11; |
8149 case 28u: goto st10; | 7742 case 28u: goto st10; |
8150 case 29u: goto st11; | 7743 case 29u: goto st11; |
(...skipping 11 matching lines...) Expand all Loading... |
8162 case 102u: goto st74; | 7755 case 102u: goto st74; |
8163 case 104u: goto st11; | 7756 case 104u: goto st11; |
8164 case 105u: goto st130; | 7757 case 105u: goto st130; |
8165 case 106u: goto st10; | 7758 case 106u: goto st10; |
8166 case 107u: goto st56; | 7759 case 107u: goto st56; |
8167 case 128u: goto st56; | 7760 case 128u: goto st56; |
8168 case 129u: goto st130; | 7761 case 129u: goto st130; |
8169 case 131u: goto st139; | 7762 case 131u: goto st139; |
8170 case 141u: goto st115; | 7763 case 141u: goto st115; |
8171 case 143u: goto st141; | 7764 case 143u: goto st141; |
8172 » » case 155u: goto tr413; | 7765 » » case 155u: goto tr386; |
8173 case 168u: goto st10; | 7766 case 168u: goto st10; |
8174 case 169u: goto st11; | 7767 case 169u: goto st11; |
8175 case 196u: goto st153; | 7768 case 196u: goto st153; |
8176 » » case 198u: goto st185; | 7769 » » case 198u: goto st170; |
8177 » » case 199u: goto st186; | 7770 » » case 199u: goto st171; |
8178 case 201u: goto tr0; | 7771 case 201u: goto tr0; |
8179 » » case 216u: goto st187; | 7772 » » case 216u: goto st172; |
8180 » » case 217u: goto st188; | 7773 » » case 217u: goto st173; |
8181 » » case 218u: goto st189; | 7774 » » case 218u: goto st174; |
8182 » » case 219u: goto st190; | 7775 » » case 219u: goto st175; |
8183 » » case 220u: goto st191; | 7776 » » case 220u: goto st176; |
8184 » » case 221u: goto st192; | 7777 » » case 221u: goto st177; |
8185 » » case 222u: goto st193; | 7778 » » case 222u: goto st178; |
8186 » » case 223u: goto st194; | 7779 » » case 223u: goto st179; |
8187 » » case 232u: goto st195; | 7780 » » case 232u: goto st180; |
8188 case 233u: goto st52; | 7781 case 233u: goto st52; |
8189 case 235u: goto st67; | 7782 case 235u: goto st67; |
8190 » » case 240u: goto st199; | 7783 » » case 240u: goto st184; |
8191 » » case 242u: goto st202; | 7784 » » case 242u: goto st187; |
8192 » » case 243u: goto st210; | 7785 » » case 243u: goto st195; |
8193 » » case 246u: goto st215; | 7786 » » case 246u: goto st200; |
8194 » » case 247u: goto st216; | 7787 » » case 247u: goto st201; |
8195 » » case 254u: goto st217; | 7788 » » case 254u: goto st202; |
8196 » » case 255u: goto st224; | 7789 » » case 255u: goto st209; |
8197 } | 7790 } |
8198 if ( (*( current_position)) < 132u ) { | 7791 if ( (*( current_position)) < 132u ) { |
8199 if ( (*( current_position)) < 32u ) { | 7792 if ( (*( current_position)) < 32u ) { |
8200 if ( (*( current_position)) < 8u ) { | 7793 if ( (*( current_position)) < 8u ) { |
8201 if ( (*( current_position)) <= 3u ) | 7794 if ( (*( current_position)) <= 3u ) |
8202 goto st1; | 7795 goto st1; |
8203 } else if ( (*( current_position)) > 11u ) { | 7796 } else if ( (*( current_position)) > 11u ) { |
8204 if ( (*( current_position)) > 19u ) { | 7797 if ( (*( current_position)) > 19u ) { |
8205 if ( 24u <= (*( current_position)) && (*
( current_position)) <= 27u ) | 7798 if ( 24u <= (*( current_position)) && (*
( current_position)) <= 27u ) |
8206 goto st1; | 7799 goto st1; |
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
8254 goto tr0; | 7847 goto tr0; |
8255 } else if ( (*( current_position)) >= 244u ) | 7848 } else if ( (*( current_position)) >= 244u ) |
8256 goto tr0; | 7849 goto tr0; |
8257 } else | 7850 } else |
8258 goto st118; | 7851 goto st118; |
8259 } else | 7852 } else |
8260 goto st10; | 7853 goto st10; |
8261 } else | 7854 } else |
8262 goto st1; | 7855 goto st1; |
8263 goto tr16; | 7856 goto tr16; |
8264 st224: | 7857 st209: |
8265 if ( ++( current_position) == ( end_of_bundle) ) | 7858 if ( ++( current_position) == ( end_of_bundle) ) |
8266 » » goto _test_eof224; | 7859 » » goto _test_eof209; |
8267 case 224: | 7860 case 209: |
8268 switch( (*( current_position)) ) { | 7861 switch( (*( current_position)) ) { |
8269 case 4u: goto st2; | 7862 case 4u: goto st2; |
8270 case 5u: goto st3; | 7863 case 5u: goto st3; |
8271 case 12u: goto st2; | 7864 case 12u: goto st2; |
8272 case 13u: goto st3; | 7865 case 13u: goto st3; |
8273 case 52u: goto st2; | 7866 case 52u: goto st2; |
8274 case 53u: goto st3; | 7867 case 53u: goto st3; |
8275 case 68u: goto st8; | 7868 case 68u: goto st8; |
8276 case 76u: goto st8; | 7869 case 76u: goto st8; |
8277 case 116u: goto st8; | 7870 case 116u: goto st8; |
8278 case 132u: goto st9; | 7871 case 132u: goto st9; |
8279 case 140u: goto st9; | 7872 case 140u: goto st9; |
8280 case 180u: goto st9; | 7873 case 180u: goto st9; |
8281 » » case 211u: goto tr461; | 7874 » » case 211u: goto tr434; |
8282 » » case 227u: goto tr462; | 7875 » » case 227u: goto tr435; |
8283 } | 7876 } |
8284 if ( (*( current_position)) < 112u ) { | 7877 if ( (*( current_position)) < 112u ) { |
8285 if ( (*( current_position)) < 48u ) { | 7878 if ( (*( current_position)) < 48u ) { |
8286 if ( (*( current_position)) <= 15u ) | 7879 if ( (*( current_position)) <= 15u ) |
8287 goto tr0; | 7880 goto tr0; |
8288 } else if ( (*( current_position)) > 55u ) { | 7881 } else if ( (*( current_position)) > 55u ) { |
8289 if ( 64u <= (*( current_position)) && (*( current_positi
on)) <= 79u ) | 7882 if ( 64u <= (*( current_position)) && (*( current_positi
on)) <= 79u ) |
8290 goto st7; | 7883 goto st7; |
8291 } else | 7884 } else |
8292 goto tr0; | 7885 goto tr0; |
8293 } else if ( (*( current_position)) > 119u ) { | 7886 } else if ( (*( current_position)) > 119u ) { |
8294 if ( (*( current_position)) < 176u ) { | 7887 if ( (*( current_position)) < 176u ) { |
8295 if ( 128u <= (*( current_position)) && (*( current_posit
ion)) <= 143u ) | 7888 if ( 128u <= (*( current_position)) && (*( current_posit
ion)) <= 143u ) |
8296 goto st3; | 7889 goto st3; |
8297 } else if ( (*( current_position)) > 183u ) { | 7890 } else if ( (*( current_position)) > 183u ) { |
8298 if ( (*( current_position)) > 207u ) { | 7891 if ( (*( current_position)) > 207u ) { |
8299 if ( 240u <= (*( current_position)) && (*( curre
nt_position)) <= 247u ) | 7892 if ( 240u <= (*( current_position)) && (*( curre
nt_position)) <= 247u ) |
8300 goto tr0; | 7893 goto tr0; |
8301 } else if ( (*( current_position)) >= 192u ) | 7894 } else if ( (*( current_position)) >= 192u ) |
8302 goto tr0; | 7895 goto tr0; |
8303 } else | 7896 } else |
8304 goto st3; | 7897 goto st3; |
8305 } else | 7898 } else |
8306 goto st7; | 7899 goto st7; |
8307 goto tr16; | 7900 goto tr16; |
8308 st225: | 7901 st210: |
8309 if ( ++( current_position) == ( end_of_bundle) ) | 7902 if ( ++( current_position) == ( end_of_bundle) ) |
8310 » » goto _test_eof225; | 7903 » » goto _test_eof210; |
8311 case 225: | 7904 case 210: |
8312 if ( (*( current_position)) == 224u ) | 7905 if ( (*( current_position)) == 224u ) |
8313 » » goto tr466; | 7906 » » goto tr439; |
8314 goto tr11; | 7907 goto tr11; |
8315 tr466: | 7908 tr439: |
8316 { | 7909 { |
8317 SET_IMM_TYPE(IMM8); | 7910 SET_IMMEDIATE_FORMAT(IMM8); |
8318 SET_IMM_PTR(current_position); | 7911 SET_IMMEDIATE_POINTER(current_position); |
8319 } | 7912 } |
8320 {} | 7913 {} |
8321 { | 7914 { |
8322 /* Mark start of this instruction as a valid target for jump. */ | 7915 /* Mark start of this instruction as a valid target for jump. */ |
8323 MarkValidJumpTarget(instruction_begin - data, valid_targets); | 7916 MarkValidJumpTarget(instruction_begin - codeblock, valid_targets); |
8324 | 7917 |
8325 /* Call user-supplied callback. */ | 7918 /* Call user-supplied callback. */ |
8326 instruction_end = current_position + 1; | 7919 instruction_end = current_position + 1; |
8327 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || | 7920 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || |
8328 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { | 7921 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { |
8329 result &= user_callback(instruction_begin, instruction_end, | 7922 result &= user_callback(instruction_begin, instruction_end, |
8330 instruction_info_collected, callback_data); | 7923 instruction_info_collected, callback_data); |
8331 } | 7924 } |
8332 | 7925 |
8333 /* On successful match the instruction_begin must point to the next byte | 7926 /* |
8334 * to be able to report the new offset as the start of instruction | 7927 * We may set instruction_begin at the first byte of the instruction instead |
8335 * causing error. */ | 7928 * of here but in the case of incorrect one byte instructions user callback |
| 7929 * may be called before instruction_begin is set. |
| 7930 */ |
8336 instruction_begin = instruction_end; | 7931 instruction_begin = instruction_end; |
8337 | 7932 |
8338 /* Clear variables (well, one variable currently). */ | 7933 /* Clear variables (well, one variable currently). */ |
8339 instruction_info_collected = 0; | 7934 instruction_info_collected = 0; |
8340 } | 7935 } |
8341 » goto st238; | 7936 » goto st223; |
8342 st238: | 7937 st223: |
8343 if ( ++( current_position) == ( end_of_bundle) ) | 7938 if ( ++( current_position) == ( end_of_bundle) ) |
8344 » » goto _test_eof238; | 7939 » » goto _test_eof223; |
8345 case 238: | 7940 case 223: |
8346 switch( (*( current_position)) ) { | 7941 switch( (*( current_position)) ) { |
8347 case 4u: goto st10; | 7942 case 4u: goto st10; |
8348 case 5u: goto st11; | 7943 case 5u: goto st11; |
8349 case 12u: goto st10; | 7944 case 12u: goto st10; |
8350 case 13u: goto st11; | 7945 case 13u: goto st11; |
8351 case 15u: goto st15; | 7946 case 15u: goto st15; |
8352 case 20u: goto st10; | 7947 case 20u: goto st10; |
8353 case 21u: goto st11; | 7948 case 21u: goto st11; |
8354 case 28u: goto st10; | 7949 case 28u: goto st10; |
8355 case 29u: goto st11; | 7950 case 29u: goto st11; |
(...skipping 11 matching lines...) Expand all Loading... |
8367 case 102u: goto st74; | 7962 case 102u: goto st74; |
8368 case 104u: goto st11; | 7963 case 104u: goto st11; |
8369 case 105u: goto st130; | 7964 case 105u: goto st130; |
8370 case 106u: goto st10; | 7965 case 106u: goto st10; |
8371 case 107u: goto st56; | 7966 case 107u: goto st56; |
8372 case 128u: goto st56; | 7967 case 128u: goto st56; |
8373 case 129u: goto st130; | 7968 case 129u: goto st130; |
8374 case 131u: goto st139; | 7969 case 131u: goto st139; |
8375 case 141u: goto st115; | 7970 case 141u: goto st115; |
8376 case 143u: goto st141; | 7971 case 143u: goto st141; |
8377 » » case 155u: goto tr413; | 7972 » » case 155u: goto tr386; |
8378 case 168u: goto st10; | 7973 case 168u: goto st10; |
8379 case 169u: goto st11; | 7974 case 169u: goto st11; |
8380 case 196u: goto st153; | 7975 case 196u: goto st153; |
8381 » » case 198u: goto st185; | 7976 » » case 198u: goto st170; |
8382 » » case 199u: goto st186; | 7977 » » case 199u: goto st171; |
8383 case 201u: goto tr0; | 7978 case 201u: goto tr0; |
8384 » » case 216u: goto st187; | 7979 » » case 216u: goto st172; |
8385 » » case 217u: goto st188; | 7980 » » case 217u: goto st173; |
8386 » » case 218u: goto st189; | 7981 » » case 218u: goto st174; |
8387 » » case 219u: goto st190; | 7982 » » case 219u: goto st175; |
8388 » » case 220u: goto st191; | 7983 » » case 220u: goto st176; |
8389 » » case 221u: goto st192; | 7984 » » case 221u: goto st177; |
8390 » » case 222u: goto st193; | 7985 » » case 222u: goto st178; |
8391 » » case 223u: goto st194; | 7986 » » case 223u: goto st179; |
8392 » » case 232u: goto st195; | 7987 » » case 232u: goto st180; |
8393 case 233u: goto st52; | 7988 case 233u: goto st52; |
8394 case 235u: goto st67; | 7989 case 235u: goto st67; |
8395 » » case 240u: goto st199; | 7990 » » case 240u: goto st184; |
8396 » » case 242u: goto st202; | 7991 » » case 242u: goto st187; |
8397 » » case 243u: goto st210; | 7992 » » case 243u: goto st195; |
8398 » » case 246u: goto st215; | 7993 » » case 246u: goto st200; |
8399 » » case 247u: goto st216; | 7994 » » case 247u: goto st201; |
8400 » » case 254u: goto st217; | 7995 » » case 254u: goto st202; |
8401 » » case 255u: goto st226; | 7996 » » case 255u: goto st211; |
8402 } | 7997 } |
8403 if ( (*( current_position)) < 132u ) { | 7998 if ( (*( current_position)) < 132u ) { |
8404 if ( (*( current_position)) < 32u ) { | 7999 if ( (*( current_position)) < 32u ) { |
8405 if ( (*( current_position)) < 8u ) { | 8000 if ( (*( current_position)) < 8u ) { |
8406 if ( (*( current_position)) <= 3u ) | 8001 if ( (*( current_position)) <= 3u ) |
8407 goto st1; | 8002 goto st1; |
8408 } else if ( (*( current_position)) > 11u ) { | 8003 } else if ( (*( current_position)) > 11u ) { |
8409 if ( (*( current_position)) > 19u ) { | 8004 if ( (*( current_position)) > 19u ) { |
8410 if ( 24u <= (*( current_position)) && (*
( current_position)) <= 27u ) | 8005 if ( 24u <= (*( current_position)) && (*
( current_position)) <= 27u ) |
8411 goto st1; | 8006 goto st1; |
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
8459 goto tr0; | 8054 goto tr0; |
8460 } else if ( (*( current_position)) >= 244u ) | 8055 } else if ( (*( current_position)) >= 244u ) |
8461 goto tr0; | 8056 goto tr0; |
8462 } else | 8057 } else |
8463 goto st118; | 8058 goto st118; |
8464 } else | 8059 } else |
8465 goto st10; | 8060 goto st10; |
8466 } else | 8061 } else |
8467 goto st1; | 8062 goto st1; |
8468 goto tr16; | 8063 goto tr16; |
8469 st226: | 8064 st211: |
8470 if ( ++( current_position) == ( end_of_bundle) ) | 8065 if ( ++( current_position) == ( end_of_bundle) ) |
8471 » » goto _test_eof226; | 8066 » » goto _test_eof211; |
8472 case 226: | 8067 case 211: |
8473 switch( (*( current_position)) ) { | 8068 switch( (*( current_position)) ) { |
8474 case 4u: goto st2; | 8069 case 4u: goto st2; |
8475 case 5u: goto st3; | 8070 case 5u: goto st3; |
8476 case 12u: goto st2; | 8071 case 12u: goto st2; |
8477 case 13u: goto st3; | 8072 case 13u: goto st3; |
8478 case 52u: goto st2; | 8073 case 52u: goto st2; |
8479 case 53u: goto st3; | 8074 case 53u: goto st3; |
8480 case 68u: goto st8; | 8075 case 68u: goto st8; |
8481 case 76u: goto st8; | 8076 case 76u: goto st8; |
8482 case 116u: goto st8; | 8077 case 116u: goto st8; |
8483 case 132u: goto st9; | 8078 case 132u: goto st9; |
8484 case 140u: goto st9; | 8079 case 140u: goto st9; |
8485 case 180u: goto st9; | 8080 case 180u: goto st9; |
8486 » » case 212u: goto tr461; | 8081 » » case 212u: goto tr434; |
8487 » » case 228u: goto tr462; | 8082 » » case 228u: goto tr435; |
8488 } | 8083 } |
8489 if ( (*( current_position)) < 112u ) { | 8084 if ( (*( current_position)) < 112u ) { |
8490 if ( (*( current_position)) < 48u ) { | 8085 if ( (*( current_position)) < 48u ) { |
8491 if ( (*( current_position)) <= 15u ) | 8086 if ( (*( current_position)) <= 15u ) |
8492 goto tr0; | 8087 goto tr0; |
8493 } else if ( (*( current_position)) > 55u ) { | 8088 } else if ( (*( current_position)) > 55u ) { |
8494 if ( 64u <= (*( current_position)) && (*( current_positi
on)) <= 79u ) | 8089 if ( 64u <= (*( current_position)) && (*( current_positi
on)) <= 79u ) |
8495 goto st7; | 8090 goto st7; |
8496 } else | 8091 } else |
8497 goto tr0; | 8092 goto tr0; |
8498 } else if ( (*( current_position)) > 119u ) { | 8093 } else if ( (*( current_position)) > 119u ) { |
8499 if ( (*( current_position)) < 176u ) { | 8094 if ( (*( current_position)) < 176u ) { |
8500 if ( 128u <= (*( current_position)) && (*( current_posit
ion)) <= 143u ) | 8095 if ( 128u <= (*( current_position)) && (*( current_posit
ion)) <= 143u ) |
8501 goto st3; | 8096 goto st3; |
8502 } else if ( (*( current_position)) > 183u ) { | 8097 } else if ( (*( current_position)) > 183u ) { |
8503 if ( (*( current_position)) > 207u ) { | 8098 if ( (*( current_position)) > 207u ) { |
8504 if ( 240u <= (*( current_position)) && (*( curre
nt_position)) <= 247u ) | 8099 if ( 240u <= (*( current_position)) && (*( curre
nt_position)) <= 247u ) |
8505 goto tr0; | 8100 goto tr0; |
8506 } else if ( (*( current_position)) >= 192u ) | 8101 } else if ( (*( current_position)) >= 192u ) |
8507 goto tr0; | 8102 goto tr0; |
8508 } else | 8103 } else |
8509 goto st3; | 8104 goto st3; |
8510 } else | 8105 } else |
8511 goto st7; | 8106 goto st7; |
8512 goto tr16; | 8107 goto tr16; |
8513 st227: | 8108 st212: |
8514 if ( ++( current_position) == ( end_of_bundle) ) | 8109 if ( ++( current_position) == ( end_of_bundle) ) |
8515 » » goto _test_eof227; | 8110 » » goto _test_eof212; |
8516 case 227: | 8111 case 212: |
8517 if ( (*( current_position)) == 224u ) | 8112 if ( (*( current_position)) == 224u ) |
8518 » » goto tr467; | 8113 » » goto tr440; |
8519 goto tr11; | 8114 goto tr11; |
8520 tr467: | 8115 tr440: |
8521 { | 8116 { |
8522 SET_IMM_TYPE(IMM8); | 8117 SET_IMMEDIATE_FORMAT(IMM8); |
8523 SET_IMM_PTR(current_position); | 8118 SET_IMMEDIATE_POINTER(current_position); |
8524 } | 8119 } |
8525 {} | 8120 {} |
8526 { | 8121 { |
8527 /* Mark start of this instruction as a valid target for jump. */ | 8122 /* Mark start of this instruction as a valid target for jump. */ |
8528 MarkValidJumpTarget(instruction_begin - data, valid_targets); | 8123 MarkValidJumpTarget(instruction_begin - codeblock, valid_targets); |
8529 | 8124 |
8530 /* Call user-supplied callback. */ | 8125 /* Call user-supplied callback. */ |
8531 instruction_end = current_position + 1; | 8126 instruction_end = current_position + 1; |
8532 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || | 8127 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || |
8533 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { | 8128 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { |
8534 result &= user_callback(instruction_begin, instruction_end, | 8129 result &= user_callback(instruction_begin, instruction_end, |
8535 instruction_info_collected, callback_data); | 8130 instruction_info_collected, callback_data); |
8536 } | 8131 } |
8537 | 8132 |
8538 /* On successful match the instruction_begin must point to the next byte | 8133 /* |
8539 * to be able to report the new offset as the start of instruction | 8134 * We may set instruction_begin at the first byte of the instruction instead |
8540 * causing error. */ | 8135 * of here but in the case of incorrect one byte instructions user callback |
| 8136 * may be called before instruction_begin is set. |
| 8137 */ |
8541 instruction_begin = instruction_end; | 8138 instruction_begin = instruction_end; |
8542 | 8139 |
8543 /* Clear variables (well, one variable currently). */ | 8140 /* Clear variables (well, one variable currently). */ |
8544 instruction_info_collected = 0; | 8141 instruction_info_collected = 0; |
8545 } | 8142 } |
8546 » goto st239; | 8143 » goto st224; |
8547 st239: | 8144 st224: |
8548 if ( ++( current_position) == ( end_of_bundle) ) | 8145 if ( ++( current_position) == ( end_of_bundle) ) |
8549 » » goto _test_eof239; | 8146 » » goto _test_eof224; |
8550 case 239: | 8147 case 224: |
8551 switch( (*( current_position)) ) { | 8148 switch( (*( current_position)) ) { |
8552 case 4u: goto st10; | 8149 case 4u: goto st10; |
8553 case 5u: goto st11; | 8150 case 5u: goto st11; |
8554 case 12u: goto st10; | 8151 case 12u: goto st10; |
8555 case 13u: goto st11; | 8152 case 13u: goto st11; |
8556 case 15u: goto st15; | 8153 case 15u: goto st15; |
8557 case 20u: goto st10; | 8154 case 20u: goto st10; |
8558 case 21u: goto st11; | 8155 case 21u: goto st11; |
8559 case 28u: goto st10; | 8156 case 28u: goto st10; |
8560 case 29u: goto st11; | 8157 case 29u: goto st11; |
(...skipping 11 matching lines...) Expand all Loading... |
8572 case 102u: goto st74; | 8169 case 102u: goto st74; |
8573 case 104u: goto st11; | 8170 case 104u: goto st11; |
8574 case 105u: goto st130; | 8171 case 105u: goto st130; |
8575 case 106u: goto st10; | 8172 case 106u: goto st10; |
8576 case 107u: goto st56; | 8173 case 107u: goto st56; |
8577 case 128u: goto st56; | 8174 case 128u: goto st56; |
8578 case 129u: goto st130; | 8175 case 129u: goto st130; |
8579 case 131u: goto st139; | 8176 case 131u: goto st139; |
8580 case 141u: goto st115; | 8177 case 141u: goto st115; |
8581 case 143u: goto st141; | 8178 case 143u: goto st141; |
8582 » » case 155u: goto tr413; | 8179 » » case 155u: goto tr386; |
8583 case 168u: goto st10; | 8180 case 168u: goto st10; |
8584 case 169u: goto st11; | 8181 case 169u: goto st11; |
8585 case 196u: goto st153; | 8182 case 196u: goto st153; |
8586 » » case 198u: goto st185; | 8183 » » case 198u: goto st170; |
8587 » » case 199u: goto st186; | 8184 » » case 199u: goto st171; |
8588 case 201u: goto tr0; | 8185 case 201u: goto tr0; |
8589 » » case 216u: goto st187; | 8186 » » case 216u: goto st172; |
8590 » » case 217u: goto st188; | 8187 » » case 217u: goto st173; |
8591 » » case 218u: goto st189; | 8188 » » case 218u: goto st174; |
8592 » » case 219u: goto st190; | 8189 » » case 219u: goto st175; |
8593 » » case 220u: goto st191; | 8190 » » case 220u: goto st176; |
8594 » » case 221u: goto st192; | 8191 » » case 221u: goto st177; |
8595 » » case 222u: goto st193; | 8192 » » case 222u: goto st178; |
8596 » » case 223u: goto st194; | 8193 » » case 223u: goto st179; |
8597 » » case 232u: goto st195; | 8194 » » case 232u: goto st180; |
8598 case 233u: goto st52; | 8195 case 233u: goto st52; |
8599 case 235u: goto st67; | 8196 case 235u: goto st67; |
8600 » » case 240u: goto st199; | 8197 » » case 240u: goto st184; |
8601 » » case 242u: goto st202; | 8198 » » case 242u: goto st187; |
8602 » » case 243u: goto st210; | 8199 » » case 243u: goto st195; |
8603 » » case 246u: goto st215; | 8200 » » case 246u: goto st200; |
8604 » » case 247u: goto st216; | 8201 » » case 247u: goto st201; |
8605 » » case 254u: goto st217; | 8202 » » case 254u: goto st202; |
8606 » » case 255u: goto st228; | 8203 » » case 255u: goto st213; |
8607 } | 8204 } |
8608 if ( (*( current_position)) < 132u ) { | 8205 if ( (*( current_position)) < 132u ) { |
8609 if ( (*( current_position)) < 32u ) { | 8206 if ( (*( current_position)) < 32u ) { |
8610 if ( (*( current_position)) < 8u ) { | 8207 if ( (*( current_position)) < 8u ) { |
8611 if ( (*( current_position)) <= 3u ) | 8208 if ( (*( current_position)) <= 3u ) |
8612 goto st1; | 8209 goto st1; |
8613 } else if ( (*( current_position)) > 11u ) { | 8210 } else if ( (*( current_position)) > 11u ) { |
8614 if ( (*( current_position)) > 19u ) { | 8211 if ( (*( current_position)) > 19u ) { |
8615 if ( 24u <= (*( current_position)) && (*
( current_position)) <= 27u ) | 8212 if ( 24u <= (*( current_position)) && (*
( current_position)) <= 27u ) |
8616 goto st1; | 8213 goto st1; |
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
8664 goto tr0; | 8261 goto tr0; |
8665 } else if ( (*( current_position)) >= 244u ) | 8262 } else if ( (*( current_position)) >= 244u ) |
8666 goto tr0; | 8263 goto tr0; |
8667 } else | 8264 } else |
8668 goto st118; | 8265 goto st118; |
8669 } else | 8266 } else |
8670 goto st10; | 8267 goto st10; |
8671 } else | 8268 } else |
8672 goto st1; | 8269 goto st1; |
8673 goto tr16; | 8270 goto tr16; |
8674 st228: | 8271 st213: |
8675 if ( ++( current_position) == ( end_of_bundle) ) | 8272 if ( ++( current_position) == ( end_of_bundle) ) |
8676 » » goto _test_eof228; | 8273 » » goto _test_eof213; |
8677 case 228: | 8274 case 213: |
8678 switch( (*( current_position)) ) { | 8275 switch( (*( current_position)) ) { |
8679 case 4u: goto st2; | 8276 case 4u: goto st2; |
8680 case 5u: goto st3; | 8277 case 5u: goto st3; |
8681 case 12u: goto st2; | 8278 case 12u: goto st2; |
8682 case 13u: goto st3; | 8279 case 13u: goto st3; |
8683 case 52u: goto st2; | 8280 case 52u: goto st2; |
8684 case 53u: goto st3; | 8281 case 53u: goto st3; |
8685 case 68u: goto st8; | 8282 case 68u: goto st8; |
8686 case 76u: goto st8; | 8283 case 76u: goto st8; |
8687 case 116u: goto st8; | 8284 case 116u: goto st8; |
8688 case 132u: goto st9; | 8285 case 132u: goto st9; |
8689 case 140u: goto st9; | 8286 case 140u: goto st9; |
8690 case 180u: goto st9; | 8287 case 180u: goto st9; |
8691 » » case 213u: goto tr461; | 8288 » » case 213u: goto tr434; |
8692 » » case 229u: goto tr462; | 8289 » » case 229u: goto tr435; |
8693 } | 8290 } |
8694 if ( (*( current_position)) < 112u ) { | 8291 if ( (*( current_position)) < 112u ) { |
8695 if ( (*( current_position)) < 48u ) { | 8292 if ( (*( current_position)) < 48u ) { |
8696 if ( (*( current_position)) <= 15u ) | 8293 if ( (*( current_position)) <= 15u ) |
8697 goto tr0; | 8294 goto tr0; |
8698 } else if ( (*( current_position)) > 55u ) { | 8295 } else if ( (*( current_position)) > 55u ) { |
8699 if ( 64u <= (*( current_position)) && (*( current_positi
on)) <= 79u ) | 8296 if ( 64u <= (*( current_position)) && (*( current_positi
on)) <= 79u ) |
8700 goto st7; | 8297 goto st7; |
8701 } else | 8298 } else |
8702 goto tr0; | 8299 goto tr0; |
8703 } else if ( (*( current_position)) > 119u ) { | 8300 } else if ( (*( current_position)) > 119u ) { |
8704 if ( (*( current_position)) < 176u ) { | 8301 if ( (*( current_position)) < 176u ) { |
8705 if ( 128u <= (*( current_position)) && (*( current_posit
ion)) <= 143u ) | 8302 if ( 128u <= (*( current_position)) && (*( current_posit
ion)) <= 143u ) |
8706 goto st3; | 8303 goto st3; |
8707 } else if ( (*( current_position)) > 183u ) { | 8304 } else if ( (*( current_position)) > 183u ) { |
8708 if ( (*( current_position)) > 207u ) { | 8305 if ( (*( current_position)) > 207u ) { |
8709 if ( 240u <= (*( current_position)) && (*( curre
nt_position)) <= 247u ) | 8306 if ( 240u <= (*( current_position)) && (*( curre
nt_position)) <= 247u ) |
8710 goto tr0; | 8307 goto tr0; |
8711 } else if ( (*( current_position)) >= 192u ) | 8308 } else if ( (*( current_position)) >= 192u ) |
8712 goto tr0; | 8309 goto tr0; |
8713 } else | 8310 } else |
8714 goto st3; | 8311 goto st3; |
8715 } else | 8312 } else |
8716 goto st7; | 8313 goto st7; |
8717 goto tr16; | 8314 goto tr16; |
8718 st229: | 8315 st214: |
8719 if ( ++( current_position) == ( end_of_bundle) ) | 8316 if ( ++( current_position) == ( end_of_bundle) ) |
8720 » » goto _test_eof229; | 8317 » » goto _test_eof214; |
8721 case 229: | 8318 case 214: |
8722 if ( (*( current_position)) == 224u ) | 8319 if ( (*( current_position)) == 224u ) |
8723 » » goto tr468; | 8320 » » goto tr441; |
8724 goto tr11; | 8321 goto tr11; |
8725 tr468: | 8322 tr441: |
8726 { | 8323 { |
8727 SET_IMM_TYPE(IMM8); | 8324 SET_IMMEDIATE_FORMAT(IMM8); |
8728 SET_IMM_PTR(current_position); | 8325 SET_IMMEDIATE_POINTER(current_position); |
8729 } | 8326 } |
8730 {} | 8327 {} |
8731 { | 8328 { |
8732 /* Mark start of this instruction as a valid target for jump. */ | 8329 /* Mark start of this instruction as a valid target for jump. */ |
8733 MarkValidJumpTarget(instruction_begin - data, valid_targets); | 8330 MarkValidJumpTarget(instruction_begin - codeblock, valid_targets); |
8734 | 8331 |
8735 /* Call user-supplied callback. */ | 8332 /* Call user-supplied callback. */ |
8736 instruction_end = current_position + 1; | 8333 instruction_end = current_position + 1; |
8737 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || | 8334 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || |
8738 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { | 8335 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { |
8739 result &= user_callback(instruction_begin, instruction_end, | 8336 result &= user_callback(instruction_begin, instruction_end, |
8740 instruction_info_collected, callback_data); | 8337 instruction_info_collected, callback_data); |
8741 } | 8338 } |
8742 | 8339 |
8743 /* On successful match the instruction_begin must point to the next byte | 8340 /* |
8744 * to be able to report the new offset as the start of instruction | 8341 * We may set instruction_begin at the first byte of the instruction instead |
8745 * causing error. */ | 8342 * of here but in the case of incorrect one byte instructions user callback |
| 8343 * may be called before instruction_begin is set. |
| 8344 */ |
8746 instruction_begin = instruction_end; | 8345 instruction_begin = instruction_end; |
8747 | 8346 |
8748 /* Clear variables (well, one variable currently). */ | 8347 /* Clear variables (well, one variable currently). */ |
8749 instruction_info_collected = 0; | 8348 instruction_info_collected = 0; |
8750 } | 8349 } |
8751 » goto st240; | 8350 » goto st225; |
8752 st240: | 8351 st225: |
8753 if ( ++( current_position) == ( end_of_bundle) ) | 8352 if ( ++( current_position) == ( end_of_bundle) ) |
8754 » » goto _test_eof240; | 8353 » » goto _test_eof225; |
8755 case 240: | 8354 case 225: |
8756 switch( (*( current_position)) ) { | 8355 switch( (*( current_position)) ) { |
8757 case 4u: goto st10; | 8356 case 4u: goto st10; |
8758 case 5u: goto st11; | 8357 case 5u: goto st11; |
8759 case 12u: goto st10; | 8358 case 12u: goto st10; |
8760 case 13u: goto st11; | 8359 case 13u: goto st11; |
8761 case 15u: goto st15; | 8360 case 15u: goto st15; |
8762 case 20u: goto st10; | 8361 case 20u: goto st10; |
8763 case 21u: goto st11; | 8362 case 21u: goto st11; |
8764 case 28u: goto st10; | 8363 case 28u: goto st10; |
8765 case 29u: goto st11; | 8364 case 29u: goto st11; |
(...skipping 11 matching lines...) Expand all Loading... |
8777 case 102u: goto st74; | 8376 case 102u: goto st74; |
8778 case 104u: goto st11; | 8377 case 104u: goto st11; |
8779 case 105u: goto st130; | 8378 case 105u: goto st130; |
8780 case 106u: goto st10; | 8379 case 106u: goto st10; |
8781 case 107u: goto st56; | 8380 case 107u: goto st56; |
8782 case 128u: goto st56; | 8381 case 128u: goto st56; |
8783 case 129u: goto st130; | 8382 case 129u: goto st130; |
8784 case 131u: goto st139; | 8383 case 131u: goto st139; |
8785 case 141u: goto st115; | 8384 case 141u: goto st115; |
8786 case 143u: goto st141; | 8385 case 143u: goto st141; |
8787 » » case 155u: goto tr413; | 8386 » » case 155u: goto tr386; |
8788 case 168u: goto st10; | 8387 case 168u: goto st10; |
8789 case 169u: goto st11; | 8388 case 169u: goto st11; |
8790 case 196u: goto st153; | 8389 case 196u: goto st153; |
8791 » » case 198u: goto st185; | 8390 » » case 198u: goto st170; |
8792 » » case 199u: goto st186; | 8391 » » case 199u: goto st171; |
8793 case 201u: goto tr0; | 8392 case 201u: goto tr0; |
8794 » » case 216u: goto st187; | 8393 » » case 216u: goto st172; |
8795 » » case 217u: goto st188; | 8394 » » case 217u: goto st173; |
8796 » » case 218u: goto st189; | 8395 » » case 218u: goto st174; |
8797 » » case 219u: goto st190; | 8396 » » case 219u: goto st175; |
8798 » » case 220u: goto st191; | 8397 » » case 220u: goto st176; |
8799 » » case 221u: goto st192; | 8398 » » case 221u: goto st177; |
8800 » » case 222u: goto st193; | 8399 » » case 222u: goto st178; |
8801 » » case 223u: goto st194; | 8400 » » case 223u: goto st179; |
8802 » » case 232u: goto st195; | 8401 » » case 232u: goto st180; |
8803 case 233u: goto st52; | 8402 case 233u: goto st52; |
8804 case 235u: goto st67; | 8403 case 235u: goto st67; |
8805 » » case 240u: goto st199; | 8404 » » case 240u: goto st184; |
8806 » » case 242u: goto st202; | 8405 » » case 242u: goto st187; |
8807 » » case 243u: goto st210; | 8406 » » case 243u: goto st195; |
8808 » » case 246u: goto st215; | 8407 » » case 246u: goto st200; |
8809 » » case 247u: goto st216; | 8408 » » case 247u: goto st201; |
8810 » » case 254u: goto st217; | 8409 » » case 254u: goto st202; |
8811 » » case 255u: goto st230; | 8410 » » case 255u: goto st215; |
8812 } | 8411 } |
8813 if ( (*( current_position)) < 132u ) { | 8412 if ( (*( current_position)) < 132u ) { |
8814 if ( (*( current_position)) < 32u ) { | 8413 if ( (*( current_position)) < 32u ) { |
8815 if ( (*( current_position)) < 8u ) { | 8414 if ( (*( current_position)) < 8u ) { |
8816 if ( (*( current_position)) <= 3u ) | 8415 if ( (*( current_position)) <= 3u ) |
8817 goto st1; | 8416 goto st1; |
8818 } else if ( (*( current_position)) > 11u ) { | 8417 } else if ( (*( current_position)) > 11u ) { |
8819 if ( (*( current_position)) > 19u ) { | 8418 if ( (*( current_position)) > 19u ) { |
8820 if ( 24u <= (*( current_position)) && (*
( current_position)) <= 27u ) | 8419 if ( 24u <= (*( current_position)) && (*
( current_position)) <= 27u ) |
8821 goto st1; | 8420 goto st1; |
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
8869 goto tr0; | 8468 goto tr0; |
8870 } else if ( (*( current_position)) >= 244u ) | 8469 } else if ( (*( current_position)) >= 244u ) |
8871 goto tr0; | 8470 goto tr0; |
8872 } else | 8471 } else |
8873 goto st118; | 8472 goto st118; |
8874 } else | 8473 } else |
8875 goto st10; | 8474 goto st10; |
8876 } else | 8475 } else |
8877 goto st1; | 8476 goto st1; |
8878 goto tr16; | 8477 goto tr16; |
8879 st230: | 8478 st215: |
8880 if ( ++( current_position) == ( end_of_bundle) ) | 8479 if ( ++( current_position) == ( end_of_bundle) ) |
8881 » » goto _test_eof230; | 8480 » » goto _test_eof215; |
8882 case 230: | 8481 case 215: |
8883 switch( (*( current_position)) ) { | 8482 switch( (*( current_position)) ) { |
8884 case 4u: goto st2; | 8483 case 4u: goto st2; |
8885 case 5u: goto st3; | 8484 case 5u: goto st3; |
8886 case 12u: goto st2; | 8485 case 12u: goto st2; |
8887 case 13u: goto st3; | 8486 case 13u: goto st3; |
8888 case 52u: goto st2; | 8487 case 52u: goto st2; |
8889 case 53u: goto st3; | 8488 case 53u: goto st3; |
8890 case 68u: goto st8; | 8489 case 68u: goto st8; |
8891 case 76u: goto st8; | 8490 case 76u: goto st8; |
8892 case 116u: goto st8; | 8491 case 116u: goto st8; |
8893 case 132u: goto st9; | 8492 case 132u: goto st9; |
8894 case 140u: goto st9; | 8493 case 140u: goto st9; |
8895 case 180u: goto st9; | 8494 case 180u: goto st9; |
8896 » » case 214u: goto tr461; | 8495 » » case 214u: goto tr434; |
8897 » » case 230u: goto tr462; | 8496 » » case 230u: goto tr435; |
8898 } | 8497 } |
8899 if ( (*( current_position)) < 112u ) { | 8498 if ( (*( current_position)) < 112u ) { |
8900 if ( (*( current_position)) < 48u ) { | 8499 if ( (*( current_position)) < 48u ) { |
8901 if ( (*( current_position)) <= 15u ) | 8500 if ( (*( current_position)) <= 15u ) |
8902 goto tr0; | 8501 goto tr0; |
8903 } else if ( (*( current_position)) > 55u ) { | 8502 } else if ( (*( current_position)) > 55u ) { |
8904 if ( 64u <= (*( current_position)) && (*( current_positi
on)) <= 79u ) | 8503 if ( 64u <= (*( current_position)) && (*( current_positi
on)) <= 79u ) |
8905 goto st7; | 8504 goto st7; |
8906 } else | 8505 } else |
8907 goto tr0; | 8506 goto tr0; |
8908 } else if ( (*( current_position)) > 119u ) { | 8507 } else if ( (*( current_position)) > 119u ) { |
8909 if ( (*( current_position)) < 176u ) { | 8508 if ( (*( current_position)) < 176u ) { |
8910 if ( 128u <= (*( current_position)) && (*( current_posit
ion)) <= 143u ) | 8509 if ( 128u <= (*( current_position)) && (*( current_posit
ion)) <= 143u ) |
8911 goto st3; | 8510 goto st3; |
8912 } else if ( (*( current_position)) > 183u ) { | 8511 } else if ( (*( current_position)) > 183u ) { |
8913 if ( (*( current_position)) > 207u ) { | 8512 if ( (*( current_position)) > 207u ) { |
8914 if ( 240u <= (*( current_position)) && (*( curre
nt_position)) <= 247u ) | 8513 if ( 240u <= (*( current_position)) && (*( curre
nt_position)) <= 247u ) |
8915 goto tr0; | 8514 goto tr0; |
8916 } else if ( (*( current_position)) >= 192u ) | 8515 } else if ( (*( current_position)) >= 192u ) |
8917 goto tr0; | 8516 goto tr0; |
8918 } else | 8517 } else |
8919 goto st3; | 8518 goto st3; |
8920 } else | 8519 } else |
8921 goto st7; | 8520 goto st7; |
8922 goto tr16; | 8521 goto tr16; |
8923 st231: | 8522 st216: |
8924 if ( ++( current_position) == ( end_of_bundle) ) | 8523 if ( ++( current_position) == ( end_of_bundle) ) |
8925 » » goto _test_eof231; | 8524 » » goto _test_eof216; |
8926 case 231: | 8525 case 216: |
8927 if ( (*( current_position)) == 224u ) | 8526 if ( (*( current_position)) == 224u ) |
8928 » » goto tr469; | 8527 » » goto tr442; |
8929 goto tr11; | 8528 goto tr11; |
8930 tr469: | 8529 tr442: |
8931 { | 8530 { |
8932 SET_IMM_TYPE(IMM8); | 8531 SET_IMMEDIATE_FORMAT(IMM8); |
8933 SET_IMM_PTR(current_position); | 8532 SET_IMMEDIATE_POINTER(current_position); |
8934 } | 8533 } |
8935 {} | 8534 {} |
8936 { | 8535 { |
8937 /* Mark start of this instruction as a valid target for jump. */ | 8536 /* Mark start of this instruction as a valid target for jump. */ |
8938 MarkValidJumpTarget(instruction_begin - data, valid_targets); | 8537 MarkValidJumpTarget(instruction_begin - codeblock, valid_targets); |
8939 | 8538 |
8940 /* Call user-supplied callback. */ | 8539 /* Call user-supplied callback. */ |
8941 instruction_end = current_position + 1; | 8540 instruction_end = current_position + 1; |
8942 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || | 8541 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || |
8943 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { | 8542 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { |
8944 result &= user_callback(instruction_begin, instruction_end, | 8543 result &= user_callback(instruction_begin, instruction_end, |
8945 instruction_info_collected, callback_data); | 8544 instruction_info_collected, callback_data); |
8946 } | 8545 } |
8947 | 8546 |
8948 /* On successful match the instruction_begin must point to the next byte | 8547 /* |
8949 * to be able to report the new offset as the start of instruction | 8548 * We may set instruction_begin at the first byte of the instruction instead |
8950 * causing error. */ | 8549 * of here but in the case of incorrect one byte instructions user callback |
| 8550 * may be called before instruction_begin is set. |
| 8551 */ |
8951 instruction_begin = instruction_end; | 8552 instruction_begin = instruction_end; |
8952 | 8553 |
8953 /* Clear variables (well, one variable currently). */ | 8554 /* Clear variables (well, one variable currently). */ |
8954 instruction_info_collected = 0; | 8555 instruction_info_collected = 0; |
8955 } | 8556 } |
8956 » goto st241; | 8557 » goto st226; |
8957 st241: | 8558 st226: |
8958 if ( ++( current_position) == ( end_of_bundle) ) | 8559 if ( ++( current_position) == ( end_of_bundle) ) |
8959 » » goto _test_eof241; | 8560 » » goto _test_eof226; |
8960 case 241: | 8561 case 226: |
8961 switch( (*( current_position)) ) { | 8562 switch( (*( current_position)) ) { |
8962 case 4u: goto st10; | 8563 case 4u: goto st10; |
8963 case 5u: goto st11; | 8564 case 5u: goto st11; |
8964 case 12u: goto st10; | 8565 case 12u: goto st10; |
8965 case 13u: goto st11; | 8566 case 13u: goto st11; |
8966 case 15u: goto st15; | 8567 case 15u: goto st15; |
8967 case 20u: goto st10; | 8568 case 20u: goto st10; |
8968 case 21u: goto st11; | 8569 case 21u: goto st11; |
8969 case 28u: goto st10; | 8570 case 28u: goto st10; |
8970 case 29u: goto st11; | 8571 case 29u: goto st11; |
(...skipping 11 matching lines...) Expand all Loading... |
8982 case 102u: goto st74; | 8583 case 102u: goto st74; |
8983 case 104u: goto st11; | 8584 case 104u: goto st11; |
8984 case 105u: goto st130; | 8585 case 105u: goto st130; |
8985 case 106u: goto st10; | 8586 case 106u: goto st10; |
8986 case 107u: goto st56; | 8587 case 107u: goto st56; |
8987 case 128u: goto st56; | 8588 case 128u: goto st56; |
8988 case 129u: goto st130; | 8589 case 129u: goto st130; |
8989 case 131u: goto st139; | 8590 case 131u: goto st139; |
8990 case 141u: goto st115; | 8591 case 141u: goto st115; |
8991 case 143u: goto st141; | 8592 case 143u: goto st141; |
8992 » » case 155u: goto tr413; | 8593 » » case 155u: goto tr386; |
8993 case 168u: goto st10; | 8594 case 168u: goto st10; |
8994 case 169u: goto st11; | 8595 case 169u: goto st11; |
8995 case 196u: goto st153; | 8596 case 196u: goto st153; |
8996 » » case 198u: goto st185; | 8597 » » case 198u: goto st170; |
8997 » » case 199u: goto st186; | 8598 » » case 199u: goto st171; |
8998 case 201u: goto tr0; | 8599 case 201u: goto tr0; |
8999 » » case 216u: goto st187; | 8600 » » case 216u: goto st172; |
9000 » » case 217u: goto st188; | 8601 » » case 217u: goto st173; |
9001 » » case 218u: goto st189; | 8602 » » case 218u: goto st174; |
9002 » » case 219u: goto st190; | 8603 » » case 219u: goto st175; |
9003 » » case 220u: goto st191; | 8604 » » case 220u: goto st176; |
9004 » » case 221u: goto st192; | 8605 » » case 221u: goto st177; |
9005 » » case 222u: goto st193; | 8606 » » case 222u: goto st178; |
9006 » » case 223u: goto st194; | 8607 » » case 223u: goto st179; |
9007 » » case 232u: goto st195; | 8608 » » case 232u: goto st180; |
9008 case 233u: goto st52; | 8609 case 233u: goto st52; |
9009 case 235u: goto st67; | 8610 case 235u: goto st67; |
9010 » » case 240u: goto st199; | 8611 » » case 240u: goto st184; |
9011 » » case 242u: goto st202; | 8612 » » case 242u: goto st187; |
9012 » » case 243u: goto st210; | 8613 » » case 243u: goto st195; |
9013 » » case 246u: goto st215; | 8614 » » case 246u: goto st200; |
9014 » » case 247u: goto st216; | 8615 » » case 247u: goto st201; |
9015 » » case 254u: goto st217; | 8616 » » case 254u: goto st202; |
9016 » » case 255u: goto st232; | 8617 » » case 255u: goto st217; |
9017 } | 8618 } |
9018 if ( (*( current_position)) < 132u ) { | 8619 if ( (*( current_position)) < 132u ) { |
9019 if ( (*( current_position)) < 32u ) { | 8620 if ( (*( current_position)) < 32u ) { |
9020 if ( (*( current_position)) < 8u ) { | 8621 if ( (*( current_position)) < 8u ) { |
9021 if ( (*( current_position)) <= 3u ) | 8622 if ( (*( current_position)) <= 3u ) |
9022 goto st1; | 8623 goto st1; |
9023 } else if ( (*( current_position)) > 11u ) { | 8624 } else if ( (*( current_position)) > 11u ) { |
9024 if ( (*( current_position)) > 19u ) { | 8625 if ( (*( current_position)) > 19u ) { |
9025 if ( 24u <= (*( current_position)) && (*
( current_position)) <= 27u ) | 8626 if ( 24u <= (*( current_position)) && (*
( current_position)) <= 27u ) |
9026 goto st1; | 8627 goto st1; |
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
9074 goto tr0; | 8675 goto tr0; |
9075 } else if ( (*( current_position)) >= 244u ) | 8676 } else if ( (*( current_position)) >= 244u ) |
9076 goto tr0; | 8677 goto tr0; |
9077 } else | 8678 } else |
9078 goto st118; | 8679 goto st118; |
9079 } else | 8680 } else |
9080 goto st10; | 8681 goto st10; |
9081 } else | 8682 } else |
9082 goto st1; | 8683 goto st1; |
9083 goto tr16; | 8684 goto tr16; |
9084 st232: | 8685 st217: |
9085 if ( ++( current_position) == ( end_of_bundle) ) | 8686 if ( ++( current_position) == ( end_of_bundle) ) |
9086 » » goto _test_eof232; | 8687 » » goto _test_eof217; |
9087 case 232: | 8688 case 217: |
9088 switch( (*( current_position)) ) { | 8689 switch( (*( current_position)) ) { |
9089 case 4u: goto st2; | 8690 case 4u: goto st2; |
9090 case 5u: goto st3; | 8691 case 5u: goto st3; |
9091 case 12u: goto st2; | 8692 case 12u: goto st2; |
9092 case 13u: goto st3; | 8693 case 13u: goto st3; |
9093 case 52u: goto st2; | 8694 case 52u: goto st2; |
9094 case 53u: goto st3; | 8695 case 53u: goto st3; |
9095 case 68u: goto st8; | 8696 case 68u: goto st8; |
9096 case 76u: goto st8; | 8697 case 76u: goto st8; |
9097 case 116u: goto st8; | 8698 case 116u: goto st8; |
9098 case 132u: goto st9; | 8699 case 132u: goto st9; |
9099 case 140u: goto st9; | 8700 case 140u: goto st9; |
9100 case 180u: goto st9; | 8701 case 180u: goto st9; |
9101 » » case 215u: goto tr461; | 8702 » » case 215u: goto tr434; |
9102 » » case 231u: goto tr462; | 8703 » » case 231u: goto tr435; |
9103 } | 8704 } |
9104 if ( (*( current_position)) < 112u ) { | 8705 if ( (*( current_position)) < 112u ) { |
9105 if ( (*( current_position)) < 48u ) { | 8706 if ( (*( current_position)) < 48u ) { |
9106 if ( (*( current_position)) <= 15u ) | 8707 if ( (*( current_position)) <= 15u ) |
9107 goto tr0; | 8708 goto tr0; |
9108 } else if ( (*( current_position)) > 55u ) { | 8709 } else if ( (*( current_position)) > 55u ) { |
9109 if ( 64u <= (*( current_position)) && (*( current_positi
on)) <= 79u ) | 8710 if ( 64u <= (*( current_position)) && (*( current_positi
on)) <= 79u ) |
9110 goto st7; | 8711 goto st7; |
9111 } else | 8712 } else |
9112 goto tr0; | 8713 goto tr0; |
9113 } else if ( (*( current_position)) > 119u ) { | 8714 } else if ( (*( current_position)) > 119u ) { |
9114 if ( (*( current_position)) < 176u ) { | 8715 if ( (*( current_position)) < 176u ) { |
9115 if ( 128u <= (*( current_position)) && (*( current_posit
ion)) <= 143u ) | 8716 if ( 128u <= (*( current_position)) && (*( current_posit
ion)) <= 143u ) |
9116 goto st3; | 8717 goto st3; |
9117 } else if ( (*( current_position)) > 183u ) { | 8718 } else if ( (*( current_position)) > 183u ) { |
9118 if ( (*( current_position)) > 207u ) { | 8719 if ( (*( current_position)) > 207u ) { |
9119 if ( 240u <= (*( current_position)) && (*( curre
nt_position)) <= 247u ) | 8720 if ( 240u <= (*( current_position)) && (*( curre
nt_position)) <= 247u ) |
9120 goto tr0; | 8721 goto tr0; |
9121 } else if ( (*( current_position)) >= 192u ) | 8722 } else if ( (*( current_position)) >= 192u ) |
9122 goto tr0; | 8723 goto tr0; |
9123 } else | 8724 } else |
9124 goto st3; | 8725 goto st3; |
9125 } else | 8726 } else |
9126 goto st7; | 8727 goto st7; |
9127 goto tr16; | 8728 goto tr16; |
9128 } | 8729 } |
9129 » _test_eof233: ( current_state) = 233; goto _test_eof; | 8730 » _test_eof218: ( current_state) = 218; goto _test_eof; |
9130 _test_eof1: ( current_state) = 1; goto _test_eof; | 8731 _test_eof1: ( current_state) = 1; goto _test_eof; |
9131 _test_eof2: ( current_state) = 2; goto _test_eof; | 8732 _test_eof2: ( current_state) = 2; goto _test_eof; |
9132 _test_eof3: ( current_state) = 3; goto _test_eof; | 8733 _test_eof3: ( current_state) = 3; goto _test_eof; |
9133 _test_eof4: ( current_state) = 4; goto _test_eof; | 8734 _test_eof4: ( current_state) = 4; goto _test_eof; |
9134 _test_eof5: ( current_state) = 5; goto _test_eof; | 8735 _test_eof5: ( current_state) = 5; goto _test_eof; |
9135 _test_eof6: ( current_state) = 6; goto _test_eof; | 8736 _test_eof6: ( current_state) = 6; goto _test_eof; |
9136 _test_eof7: ( current_state) = 7; goto _test_eof; | 8737 _test_eof7: ( current_state) = 7; goto _test_eof; |
9137 _test_eof8: ( current_state) = 8; goto _test_eof; | 8738 _test_eof8: ( current_state) = 8; goto _test_eof; |
9138 _test_eof9: ( current_state) = 9; goto _test_eof; | 8739 _test_eof9: ( current_state) = 9; goto _test_eof; |
9139 _test_eof10: ( current_state) = 10; goto _test_eof; | 8740 _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; | 8861 _test_eof131: ( current_state) = 131; goto _test_eof; |
9261 _test_eof132: ( current_state) = 132; goto _test_eof; | 8862 _test_eof132: ( current_state) = 132; goto _test_eof; |
9262 _test_eof133: ( current_state) = 133; goto _test_eof; | 8863 _test_eof133: ( current_state) = 133; goto _test_eof; |
9263 _test_eof134: ( current_state) = 134; goto _test_eof; | 8864 _test_eof134: ( current_state) = 134; goto _test_eof; |
9264 _test_eof135: ( current_state) = 135; goto _test_eof; | 8865 _test_eof135: ( current_state) = 135; goto _test_eof; |
9265 _test_eof136: ( current_state) = 136; goto _test_eof; | 8866 _test_eof136: ( current_state) = 136; goto _test_eof; |
9266 _test_eof137: ( current_state) = 137; goto _test_eof; | 8867 _test_eof137: ( current_state) = 137; goto _test_eof; |
9267 _test_eof138: ( current_state) = 138; goto _test_eof; | 8868 _test_eof138: ( current_state) = 138; goto _test_eof; |
9268 _test_eof139: ( current_state) = 139; goto _test_eof; | 8869 _test_eof139: ( current_state) = 139; goto _test_eof; |
9269 _test_eof140: ( current_state) = 140; goto _test_eof; | 8870 _test_eof140: ( current_state) = 140; goto _test_eof; |
9270 » _test_eof234: ( current_state) = 234; goto _test_eof; | 8871 » _test_eof219: ( current_state) = 219; goto _test_eof; |
9271 _test_eof141: ( current_state) = 141; goto _test_eof; | 8872 _test_eof141: ( current_state) = 141; goto _test_eof; |
9272 _test_eof142: ( current_state) = 142; goto _test_eof; | 8873 _test_eof142: ( current_state) = 142; goto _test_eof; |
9273 _test_eof143: ( current_state) = 143; goto _test_eof; | 8874 _test_eof143: ( current_state) = 143; goto _test_eof; |
9274 _test_eof144: ( current_state) = 144; goto _test_eof; | 8875 _test_eof144: ( current_state) = 144; goto _test_eof; |
9275 _test_eof145: ( current_state) = 145; goto _test_eof; | 8876 _test_eof145: ( current_state) = 145; goto _test_eof; |
9276 _test_eof146: ( current_state) = 146; goto _test_eof; | 8877 _test_eof146: ( current_state) = 146; goto _test_eof; |
9277 _test_eof147: ( current_state) = 147; goto _test_eof; | 8878 _test_eof147: ( current_state) = 147; goto _test_eof; |
9278 _test_eof148: ( current_state) = 148; goto _test_eof; | 8879 _test_eof148: ( current_state) = 148; goto _test_eof; |
9279 _test_eof149: ( current_state) = 149; goto _test_eof; | 8880 _test_eof149: ( current_state) = 149; goto _test_eof; |
9280 _test_eof150: ( current_state) = 150; goto _test_eof; | 8881 _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; | 8926 _test_eof195: ( current_state) = 195; goto _test_eof; |
9326 _test_eof196: ( current_state) = 196; goto _test_eof; | 8927 _test_eof196: ( current_state) = 196; goto _test_eof; |
9327 _test_eof197: ( current_state) = 197; goto _test_eof; | 8928 _test_eof197: ( current_state) = 197; goto _test_eof; |
9328 _test_eof198: ( current_state) = 198; goto _test_eof; | 8929 _test_eof198: ( current_state) = 198; goto _test_eof; |
9329 _test_eof199: ( current_state) = 199; goto _test_eof; | 8930 _test_eof199: ( current_state) = 199; goto _test_eof; |
9330 _test_eof200: ( current_state) = 200; goto _test_eof; | 8931 _test_eof200: ( current_state) = 200; goto _test_eof; |
9331 _test_eof201: ( current_state) = 201; goto _test_eof; | 8932 _test_eof201: ( current_state) = 201; goto _test_eof; |
9332 _test_eof202: ( current_state) = 202; goto _test_eof; | 8933 _test_eof202: ( current_state) = 202; goto _test_eof; |
9333 _test_eof203: ( current_state) = 203; goto _test_eof; | 8934 _test_eof203: ( current_state) = 203; goto _test_eof; |
9334 _test_eof204: ( current_state) = 204; goto _test_eof; | 8935 _test_eof204: ( current_state) = 204; goto _test_eof; |
| 8936 _test_eof220: ( current_state) = 220; goto _test_eof; |
9335 _test_eof205: ( current_state) = 205; goto _test_eof; | 8937 _test_eof205: ( current_state) = 205; goto _test_eof; |
9336 _test_eof206: ( current_state) = 206; goto _test_eof; | 8938 _test_eof206: ( current_state) = 206; goto _test_eof; |
| 8939 _test_eof221: ( current_state) = 221; goto _test_eof; |
9337 _test_eof207: ( current_state) = 207; goto _test_eof; | 8940 _test_eof207: ( current_state) = 207; goto _test_eof; |
9338 _test_eof208: ( current_state) = 208; goto _test_eof; | 8941 _test_eof208: ( current_state) = 208; goto _test_eof; |
| 8942 _test_eof222: ( current_state) = 222; goto _test_eof; |
9339 _test_eof209: ( current_state) = 209; goto _test_eof; | 8943 _test_eof209: ( current_state) = 209; goto _test_eof; |
9340 _test_eof210: ( current_state) = 210; goto _test_eof; | 8944 _test_eof210: ( current_state) = 210; goto _test_eof; |
| 8945 _test_eof223: ( current_state) = 223; goto _test_eof; |
9341 _test_eof211: ( current_state) = 211; goto _test_eof; | 8946 _test_eof211: ( current_state) = 211; goto _test_eof; |
9342 _test_eof212: ( current_state) = 212; goto _test_eof; | 8947 _test_eof212: ( current_state) = 212; goto _test_eof; |
| 8948 _test_eof224: ( current_state) = 224; goto _test_eof; |
9343 _test_eof213: ( current_state) = 213; goto _test_eof; | 8949 _test_eof213: ( current_state) = 213; goto _test_eof; |
9344 _test_eof214: ( current_state) = 214; goto _test_eof; | 8950 _test_eof214: ( current_state) = 214; goto _test_eof; |
| 8951 _test_eof225: ( current_state) = 225; goto _test_eof; |
9345 _test_eof215: ( current_state) = 215; goto _test_eof; | 8952 _test_eof215: ( current_state) = 215; goto _test_eof; |
9346 _test_eof216: ( current_state) = 216; goto _test_eof; | 8953 _test_eof216: ( current_state) = 216; goto _test_eof; |
| 8954 _test_eof226: ( current_state) = 226; goto _test_eof; |
9347 _test_eof217: ( current_state) = 217; goto _test_eof; | 8955 _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 | 8956 |
9371 _test_eof: {} | 8957 _test_eof: {} |
9372 if ( ( current_position) == ( end_of_bundle) ) | 8958 if ( ( current_position) == ( end_of_bundle) ) |
9373 { | 8959 { |
9374 switch ( ( current_state) ) { | 8960 switch ( ( current_state) ) { |
9375 case 1: | 8961 case 1: |
9376 case 2: | 8962 case 2: |
9377 case 3: | 8963 case 3: |
9378 case 4: | 8964 case 4: |
9379 case 5: | 8965 case 5: |
(...skipping 202 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
9582 case 208: | 9168 case 208: |
9583 case 209: | 9169 case 209: |
9584 case 210: | 9170 case 210: |
9585 case 211: | 9171 case 211: |
9586 case 212: | 9172 case 212: |
9587 case 213: | 9173 case 213: |
9588 case 214: | 9174 case 214: |
9589 case 215: | 9175 case 215: |
9590 case 216: | 9176 case 216: |
9591 case 217: | 9177 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 { | 9178 { |
9608 result &= user_callback(instruction_begin, current_position, | 9179 result &= user_callback(instruction_begin, current_position, |
9609 UNRECOGNIZED_INSTRUCTION, callback_data); | 9180 UNRECOGNIZED_INSTRUCTION, callback_data); |
9610 /* | 9181 /* |
9611 * Process the next bundle: "continue" here is for the "for" cycle in | 9182 * Process the next bundle: "continue" here is for the "for" cycle in |
9612 * the ValidateChunkIA32 function. | 9183 * the ValidateChunkIA32 function. |
9613 * | 9184 * |
9614 * It does not affect the case which we really care about (when code | 9185 * 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 | 9186 * is validatable), but makes it possible to detect more errors in one |
9616 * run in tools like ncval. | 9187 * run in tools like ncval. |
9617 */ | 9188 */ |
9618 continue; | 9189 continue; |
9619 } | 9190 } |
9620 break; | 9191 break; |
9621 } | 9192 } |
9622 } | 9193 } |
9623 | 9194 |
9624 _out: {} | 9195 _out: {} |
9625 } | 9196 } |
9626 | 9197 |
9627 } | 9198 } |
9628 | 9199 |
9629 /* | 9200 /* |
9630 * Check the direct jumps. All the targets from jump_dests must be in | 9201 * Check the direct jumps. All the targets from jump_dests must be in |
9631 * valid_targets. | 9202 * valid_targets. |
9632 */ | 9203 */ |
9633 result &= ProcessInvalidJumpTargets(data, size, valid_targets, jump_dests, | 9204 result &= ProcessInvalidJumpTargets(codeblock, |
9634 user_callback, callback_data); | 9205 size, |
| 9206 valid_targets, |
| 9207 jump_dests, |
| 9208 user_callback, |
| 9209 callback_data); |
9635 | 9210 |
9636 /* We only use malloc for a large code sequences */ | 9211 /* We only use malloc for a large code sequences */ |
9637 if (jump_dests != &jump_dests_small) free(jump_dests); | 9212 if (jump_dests != &jump_dests_small) free(jump_dests); |
9638 if (valid_targets != &valid_targets_small) free(valid_targets); | 9213 if (valid_targets != &valid_targets_small) free(valid_targets); |
9639 if (!result) errno = EINVAL; | 9214 if (!result) errno = EINVAL; |
9640 return result; | 9215 return result; |
9641 } | 9216 } |
OLD | NEW |