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