Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(134)

Side by Side Diff: src/trusted/validator_ragel/gen/validator_x86_32.c

Issue 11000033: Move validator_x86_XX.rl out of unreviewed. (Closed) Base URL: svn://svn.chromium.org/native_client/trunk/src/native_client/
Patch Set: Created 8 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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 /*
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
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
11 * β€œ@{}” or β€œREX_WRX?” mean, etc.
12 */
13
6 #include <assert.h> 14 #include <assert.h>
7 #include <errno.h> 15 #include <errno.h>
8 #include <stddef.h> 16 #include <stddef.h>
9 #include <stdio.h> 17 #include <stdio.h>
10 #include <stdlib.h> 18 #include <stdlib.h>
11 #include <string.h> 19 #include <string.h>
12 20
13 #include "native_client/src/trusted/validator_ragel/unreviewed/validator_interna l.h" 21 #include "native_client/src/trusted/validator_ragel/validator_internal.h"
14 22
15 /* Ignore this information: it's not used by security model in IA32 mode. */ 23 /* Ignore this information: it's not used by security model in IA32 mode. */
16 #undef GET_VEX_PREFIX3 24 #undef GET_VEX_PREFIX3
17 #define GET_VEX_PREFIX3 0 25 #define GET_VEX_PREFIX3 0
18 #undef SET_VEX_PREFIX3 26 #undef SET_VEX_PREFIX3
19 #define SET_VEX_PREFIX3(P) 27 #define SET_VEX_PREFIX3(P)
20 28
21 29
22 30
23 31
24 32
25 static const int x86_32_validator_start = 247; 33 static const int x86_32_validator_start = 247;
26 static const int x86_32_validator_first_final = 247; 34 static const int x86_32_validator_first_final = 247;
27 static const int x86_32_validator_error = 0; 35 static const int x86_32_validator_error = 0;
28 36
29 static const int x86_32_validator_en_main = 247; 37 static const int x86_32_validator_en_main = 247;
30 38
31 39
32 40
33 41
34 Bool ValidateChunkIA32(const uint8_t *data, size_t size, 42 Bool ValidateChunkIA32(const uint8_t *data, size_t size,
35 enum validation_options options, 43 enum validation_options options,
36 const NaClCPUFeaturesX86 *cpu_features, 44 const NaClCPUFeaturesX86 *cpu_features,
37 validation_callback_func user_callback, 45 ValidationCallbackFunc user_callback,
38 void *callback_data) { 46 void *callback_data) {
39 bitmap_word valid_targets_small; 47 bitmap_word valid_targets_small;
40 bitmap_word jump_dests_small; 48 bitmap_word jump_dests_small;
41 bitmap_word *valid_targets; 49 bitmap_word *valid_targets;
42 bitmap_word *jump_dests; 50 bitmap_word *jump_dests;
43 const uint8_t *current_position; 51 const uint8_t *current_position;
44 const uint8_t *end_of_bundle; 52 const uint8_t *end_of_bundle;
45 int result = TRUE; 53 int result = TRUE;
46 54
47 CHECK(sizeof valid_targets_small == sizeof jump_dests_small); 55 CHECK(sizeof valid_targets_small == sizeof jump_dests_small);
(...skipping 590 matching lines...) Expand 10 before | Expand all | Expand 10 after
638 } 646 }
639 /* On successful match the instruction start must point to the next byte 647 /* On successful match the instruction start must point to the next byte
640 * to be able to report the new offset as the start of instruction 648 * to be able to report the new offset as the start of instruction
641 * causing error. */ 649 * causing error. */
642 instruction_start = current_position + 1; 650 instruction_start = current_position + 1;
643 instruction_info_collected = 0; 651 instruction_info_collected = 0;
644 } 652 }
645 goto st247; 653 goto st247;
646 tr419: 654 tr419:
647 { 655 {
648 BitmapClearBit(valid_targets, (current_position - data) - 1); 656 MakeInvalidJumpTarget((current_position - data) - 1, valid_targets);
649 instruction_start -= 3; 657 instruction_start -= 3;
650 instruction_info_collected |= SPECIAL_INSTRUCTION; 658 instruction_info_collected |= SPECIAL_INSTRUCTION;
651 } 659 }
652 { 660 {
653 if (((current_position - data) & kBundleMask) != kBundleMask) 661 if (((current_position - data) & kBundleMask) != kBundleMask)
654 instruction_info_collected |= BAD_CALL_ALIGNMENT; 662 instruction_info_collected |= BAD_CALL_ALIGNMENT;
655 } 663 }
656 { 664 {
657 if ((instruction_info_collected & 665 if ((instruction_info_collected &
658 (VALIDATION_ERRORS_MASK | BAD_CALL_ALIGNMENT)) || 666 (VALIDATION_ERRORS_MASK | BAD_CALL_ALIGNMENT)) ||
659 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { 667 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) {
660 result &= user_callback(instruction_start, current_position, 668 result &= user_callback(instruction_start, current_position,
661 instruction_info_collected, callback_data); 669 instruction_info_collected, callback_data);
662 } 670 }
663 /* On successful match the instruction start must point to the next byte 671 /* On successful match the instruction start must point to the next byte
664 * to be able to report the new offset as the start of instruction 672 * to be able to report the new offset as the start of instruction
665 * causing error. */ 673 * causing error. */
666 instruction_start = current_position + 1; 674 instruction_start = current_position + 1;
667 instruction_info_collected = 0; 675 instruction_info_collected = 0;
668 } 676 }
669 goto st247; 677 goto st247;
670 tr420: 678 tr420:
671 { 679 {
672 BitmapClearBit(valid_targets, (current_position - data) - 1); 680 MakeInvalidJumpTarget((current_position - data) - 1, valid_targets);
673 instruction_start -= 3; 681 instruction_start -= 3;
674 instruction_info_collected |= SPECIAL_INSTRUCTION; 682 instruction_info_collected |= SPECIAL_INSTRUCTION;
675 } 683 }
676 { 684 {
677 if ((instruction_info_collected & 685 if ((instruction_info_collected &
678 (VALIDATION_ERRORS_MASK | BAD_CALL_ALIGNMENT)) || 686 (VALIDATION_ERRORS_MASK | BAD_CALL_ALIGNMENT)) ||
679 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { 687 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) {
680 result &= user_callback(instruction_start, current_position, 688 result &= user_callback(instruction_start, current_position,
681 instruction_info_collected, callback_data); 689 instruction_info_collected, callback_data);
682 } 690 }
683 /* On successful match the instruction start must point to the next byte 691 /* On successful match the instruction start must point to the next byte
684 * to be able to report the new offset as the start of instruction 692 * to be able to report the new offset as the start of instruction
685 * causing error. */ 693 * causing error. */
686 instruction_start = current_position + 1; 694 instruction_start = current_position + 1;
687 instruction_info_collected = 0; 695 instruction_info_collected = 0;
688 } 696 }
689 goto st247; 697 goto st247;
690 tr434: 698 tr434:
691 { 699 {
692 BitmapSetBit(valid_targets, current_position - data); 700 MakeJumpTargetValid(current_position - data, valid_targets);
693 } 701 }
694 { 702 {
695 if ((instruction_info_collected & 703 if ((instruction_info_collected &
696 (VALIDATION_ERRORS_MASK | BAD_CALL_ALIGNMENT)) || 704 (VALIDATION_ERRORS_MASK | BAD_CALL_ALIGNMENT)) ||
697 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { 705 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) {
698 result &= user_callback(instruction_start, current_position, 706 result &= user_callback(instruction_start, current_position,
699 instruction_info_collected, callback_data); 707 instruction_info_collected, callback_data);
700 } 708 }
701 /* On successful match the instruction start must point to the next byte 709 /* On successful match the instruction start must point to the next byte
702 * to be able to report the new offset as the start of instruction 710 * to be able to report the new offset as the start of instruction
703 * causing error. */ 711 * causing error. */
704 instruction_start = current_position + 1; 712 instruction_start = current_position + 1;
705 instruction_info_collected = 0; 713 instruction_info_collected = 0;
706 } 714 }
707 goto st247; 715 goto st247;
708 tr443: 716 tr443:
709 { 717 {
710 BitmapSetBit(valid_targets, current_position - data); 718 MakeJumpTargetValid(current_position - data, valid_targets);
711 } 719 }
712 { SET_CPU_FEATURE(CPUFeature_x87); } 720 { SET_CPU_FEATURE(CPUFeature_x87); }
713 { 721 {
714 if ((instruction_info_collected & 722 if ((instruction_info_collected &
715 (VALIDATION_ERRORS_MASK | BAD_CALL_ALIGNMENT)) || 723 (VALIDATION_ERRORS_MASK | BAD_CALL_ALIGNMENT)) ||
716 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { 724 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) {
717 result &= user_callback(instruction_start, current_position, 725 result &= user_callback(instruction_start, current_position,
718 instruction_info_collected, callback_data); 726 instruction_info_collected, callback_data);
719 } 727 }
720 /* On successful match the instruction start must point to the next byte 728 /* On successful match the instruction start must point to the next byte
(...skipping 258 matching lines...) Expand 10 before | Expand all | Expand 10 after
979 { SET_CPU_FEATURE(CPUFeature_SSE3); } 987 { SET_CPU_FEATURE(CPUFeature_SSE3); }
980 goto st1; 988 goto st1;
981 tr415: 989 tr415:
982 { 990 {
983 SET_REPZ_PREFIX(FALSE); 991 SET_REPZ_PREFIX(FALSE);
984 } 992 }
985 { SET_CPU_FEATURE(CPUFeature_SSE2); } 993 { SET_CPU_FEATURE(CPUFeature_SSE2); }
986 goto st1; 994 goto st1;
987 tr428: 995 tr428:
988 { 996 {
989 BitmapSetBit(valid_targets, current_position - data); 997 MakeJumpTargetValid(current_position - data, valid_targets);
990 } 998 }
991 goto st1; 999 goto st1;
992 st1: 1000 st1:
993 if ( ++( current_position) == ( end_of_bundle) ) 1001 if ( ++( current_position) == ( end_of_bundle) )
994 goto _test_eof1; 1002 goto _test_eof1;
995 case 1: 1003 case 1:
996 switch( (*( current_position)) ) { 1004 switch( (*( current_position)) ) {
997 case 4u: goto st2; 1005 case 4u: goto st2;
998 case 5u: goto st3; 1006 case 5u: goto st3;
999 case 12u: goto st2; 1007 case 12u: goto st2;
(...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after
1121 { SET_CPU_FEATURE(CPUFeature_BMI1); } 1129 { SET_CPU_FEATURE(CPUFeature_BMI1); }
1122 goto st3; 1130 goto st3;
1123 tr306: 1131 tr306:
1124 { SET_CPU_FEATURE(CPUFeature_AVX); } 1132 { SET_CPU_FEATURE(CPUFeature_AVX); }
1125 goto st3; 1133 goto st3;
1126 tr383: 1134 tr383:
1127 { SET_CPU_FEATURE(CPUFeature_x87); } 1135 { SET_CPU_FEATURE(CPUFeature_x87); }
1128 goto st3; 1136 goto st3;
1129 tr444: 1137 tr444:
1130 { 1138 {
1131 BitmapSetBit(valid_targets, current_position - data); 1139 MakeJumpTargetValid(current_position - data, valid_targets);
1132 } 1140 }
1133 goto st3; 1141 goto st3;
1134 st3: 1142 st3:
1135 if ( ++( current_position) == ( end_of_bundle) ) 1143 if ( ++( current_position) == ( end_of_bundle) )
1136 goto _test_eof3; 1144 goto _test_eof3;
1137 case 3: 1145 case 3:
1138 goto st4; 1146 goto st4;
1139 st4: 1147 st4:
1140 if ( ++( current_position) == ( end_of_bundle) ) 1148 if ( ++( current_position) == ( end_of_bundle) )
1141 goto _test_eof4; 1149 goto _test_eof4;
(...skipping 145 matching lines...) Expand 10 before | Expand all | Expand 10 after
1287 { SET_CPU_FEATURE(CPUFeature_AVX); } 1295 { SET_CPU_FEATURE(CPUFeature_AVX); }
1288 goto st10; 1296 goto st10;
1289 tr408: 1297 tr408:
1290 { 1298 {
1291 SET_IMM2_TYPE(IMM8); 1299 SET_IMM2_TYPE(IMM8);
1292 SET_IMM2_PTR(current_position); 1300 SET_IMM2_PTR(current_position);
1293 } 1301 }
1294 goto st10; 1302 goto st10;
1295 tr429: 1303 tr429:
1296 { 1304 {
1297 BitmapSetBit(valid_targets, current_position - data); 1305 MakeJumpTargetValid(current_position - data, valid_targets);
1298 } 1306 }
1299 goto st10; 1307 goto st10;
1300 st10: 1308 st10:
1301 if ( ++( current_position) == ( end_of_bundle) ) 1309 if ( ++( current_position) == ( end_of_bundle) )
1302 goto _test_eof10; 1310 goto _test_eof10;
1303 case 10: 1311 case 10:
1304 goto tr11; 1312 goto tr11;
1305 tr224: 1313 tr224:
1306 { 1314 {
1307 SET_DISP_TYPE(DISP32); 1315 SET_DISP_TYPE(DISP32);
1308 SET_DISP_PTR(current_position - 3); 1316 SET_DISP_PTR(current_position - 3);
1309 } 1317 }
1310 goto st11; 1318 goto st11;
1311 tr225: 1319 tr225:
1312 { 1320 {
1313 SET_DISP_TYPE(DISP8); 1321 SET_DISP_TYPE(DISP8);
1314 SET_DISP_PTR(current_position); 1322 SET_DISP_PTR(current_position);
1315 } 1323 }
1316 goto st11; 1324 goto st11;
1317 tr274: 1325 tr274:
1318 { SET_CPU_FEATURE(CPUFeature_LWP); } 1326 { SET_CPU_FEATURE(CPUFeature_LWP); }
1319 goto st11; 1327 goto st11;
1320 tr430: 1328 tr430:
1321 { 1329 {
1322 BitmapSetBit(valid_targets, current_position - data); 1330 MakeJumpTargetValid(current_position - data, valid_targets);
1323 } 1331 }
1324 goto st11; 1332 goto st11;
1325 st11: 1333 st11:
1326 if ( ++( current_position) == ( end_of_bundle) ) 1334 if ( ++( current_position) == ( end_of_bundle) )
1327 goto _test_eof11; 1335 goto _test_eof11;
1328 case 11: 1336 case 11:
1329 goto st12; 1337 goto st12;
1330 st12: 1338 st12:
1331 if ( ++( current_position) == ( end_of_bundle) ) 1339 if ( ++( current_position) == ( end_of_bundle) )
1332 goto _test_eof12; 1340 goto _test_eof12;
(...skipping 14 matching lines...) Expand all
1347 result &= user_callback(instruction_start, current_position, 1355 result &= user_callback(instruction_start, current_position,
1348 UNRECOGNIZED_INSTRUCTION, callback_data); 1356 UNRECOGNIZED_INSTRUCTION, callback_data);
1349 continue; 1357 continue;
1350 } 1358 }
1351 goto st0; 1359 goto st0;
1352 st0: 1360 st0:
1353 ( current_state) = 0; 1361 ( current_state) = 0;
1354 goto _out; 1362 goto _out;
1355 tr431: 1363 tr431:
1356 { 1364 {
1357 BitmapSetBit(valid_targets, current_position - data); 1365 MakeJumpTargetValid(current_position - data, valid_targets);
1358 } 1366 }
1359 goto st15; 1367 goto st15;
1360 st15: 1368 st15:
1361 if ( ++( current_position) == ( end_of_bundle) ) 1369 if ( ++( current_position) == ( end_of_bundle) )
1362 goto _test_eof15; 1370 goto _test_eof15;
1363 case 15: 1371 case 15:
1364 switch( (*( current_position)) ) { 1372 switch( (*( current_position)) ) {
1365 case 1u: goto st16; 1373 case 1u: goto st16;
1366 case 11u: goto tr0; 1374 case 11u: goto tr0;
1367 case 13u: goto st17; 1375 case 13u: goto st17;
(...skipping 390 matching lines...) Expand 10 before | Expand all | Expand 10 after
1758 { SET_CPU_FEATURE(CPUFeature_SSE4A); } 1766 { SET_CPU_FEATURE(CPUFeature_SSE4A); }
1759 goto st29; 1767 goto st29;
1760 tr414: 1768 tr414:
1761 { 1769 {
1762 SET_REPZ_PREFIX(FALSE); 1770 SET_REPZ_PREFIX(FALSE);
1763 } 1771 }
1764 { SET_CPU_FEATURE(CPUFeature_SSE4A); } 1772 { SET_CPU_FEATURE(CPUFeature_SSE4A); }
1765 goto st29; 1773 goto st29;
1766 tr441: 1774 tr441:
1767 { 1775 {
1768 BitmapSetBit(valid_targets, current_position - data); 1776 MakeJumpTargetValid(current_position - data, valid_targets);
1769 } 1777 }
1770 goto st29; 1778 goto st29;
1771 st29: 1779 st29:
1772 if ( ++( current_position) == ( end_of_bundle) ) 1780 if ( ++( current_position) == ( end_of_bundle) )
1773 goto _test_eof29; 1781 goto _test_eof29;
1774 case 29: 1782 case 29:
1775 switch( (*( current_position)) ) { 1783 switch( (*( current_position)) ) {
1776 case 4u: goto st2; 1784 case 4u: goto st2;
1777 case 12u: goto st2; 1785 case 12u: goto st2;
1778 case 20u: goto st2; 1786 case 20u: goto st2;
(...skipping 200 matching lines...) Expand 10 before | Expand all | Expand 10 after
1979 { SET_CPU_FEATURE(CPUFeature_SSE); } 1987 { SET_CPU_FEATURE(CPUFeature_SSE); }
1980 goto st34; 1988 goto st34;
1981 tr416: 1989 tr416:
1982 { 1990 {
1983 SET_REPZ_PREFIX(FALSE); 1991 SET_REPZ_PREFIX(FALSE);
1984 } 1992 }
1985 { SET_CPU_FEATURE(CPUFeature_SSE2); } 1993 { SET_CPU_FEATURE(CPUFeature_SSE2); }
1986 goto st34; 1994 goto st34;
1987 tr438: 1995 tr438:
1988 { 1996 {
1989 BitmapSetBit(valid_targets, current_position - data); 1997 MakeJumpTargetValid(current_position - data, valid_targets);
1990 } 1998 }
1991 goto st34; 1999 goto st34;
1992 st34: 2000 st34:
1993 if ( ++( current_position) == ( end_of_bundle) ) 2001 if ( ++( current_position) == ( end_of_bundle) )
1994 goto _test_eof34; 2002 goto _test_eof34;
1995 case 34: 2003 case 34:
1996 switch( (*( current_position)) ) { 2004 switch( (*( current_position)) ) {
1997 case 4u: goto st35; 2005 case 4u: goto st35;
1998 case 5u: goto st36; 2006 case 5u: goto st36;
1999 case 12u: goto st35; 2007 case 12u: goto st35;
(...skipping 264 matching lines...) Expand 10 before | Expand all | Expand 10 after
2264 goto _test_eof45; 2272 goto _test_eof45;
2265 case 45: 2273 case 45:
2266 if ( (*( current_position)) > 215u ) { 2274 if ( (*( current_position)) > 215u ) {
2267 if ( 240u <= (*( current_position)) && (*( current_position)) <= 247u ) 2275 if ( 240u <= (*( current_position)) && (*( current_position)) <= 247u )
2268 goto tr91; 2276 goto tr91;
2269 } else if ( (*( current_position)) >= 208u ) 2277 } else if ( (*( current_position)) >= 208u )
2270 goto tr91; 2278 goto tr91;
2271 goto tr16; 2279 goto tr16;
2272 tr460: 2280 tr460:
2273 { 2281 {
2274 BitmapSetBit(valid_targets, current_position - data); 2282 MakeJumpTargetValid(current_position - data, valid_targets);
2275 } 2283 }
2276 goto st46; 2284 goto st46;
2277 st46: 2285 st46:
2278 if ( ++( current_position) == ( end_of_bundle) ) 2286 if ( ++( current_position) == ( end_of_bundle) )
2279 goto _test_eof46; 2287 goto _test_eof46;
2280 case 46: 2288 case 46:
2281 goto st47; 2289 goto st47;
2282 st47: 2290 st47:
2283 if ( ++( current_position) == ( end_of_bundle) ) 2291 if ( ++( current_position) == ( end_of_bundle) )
2284 goto _test_eof47; 2292 goto _test_eof47;
(...skipping 163 matching lines...) Expand 10 before | Expand all | Expand 10 after
2448 if ( 8u <= (*( current_position)) && (*( current_position)) <= 1 5u ) 2456 if ( 8u <= (*( current_position)) && (*( current_position)) <= 1 5u )
2449 goto tr115; 2457 goto tr115;
2450 } else if ( (*( current_position)) > 79u ) { 2458 } else if ( (*( current_position)) > 79u ) {
2451 if ( 136u <= (*( current_position)) && (*( current_position)) <= 143u ) 2459 if ( 136u <= (*( current_position)) && (*( current_position)) <= 143u )
2452 goto tr117; 2460 goto tr117;
2453 } else 2461 } else
2454 goto tr118; 2462 goto tr118;
2455 goto tr16; 2463 goto tr16;
2456 tr432: 2464 tr432:
2457 { 2465 {
2458 BitmapSetBit(valid_targets, current_position - data); 2466 MakeJumpTargetValid(current_position - data, valid_targets);
2459 } 2467 }
2460 { 2468 {
2461 SET_BRANCH_NOT_TAKEN(TRUE); 2469 SET_BRANCH_NOT_TAKEN(TRUE);
2462 } 2470 }
2463 goto st54; 2471 goto st54;
2464 tr433: 2472 tr433:
2465 { 2473 {
2466 BitmapSetBit(valid_targets, current_position - data); 2474 MakeJumpTargetValid(current_position - data, valid_targets);
2467 } 2475 }
2468 { 2476 {
2469 SET_BRANCH_TAKEN(TRUE); 2477 SET_BRANCH_TAKEN(TRUE);
2470 } 2478 }
2471 goto st54; 2479 goto st54;
2472 st54: 2480 st54:
2473 if ( ++( current_position) == ( end_of_bundle) ) 2481 if ( ++( current_position) == ( end_of_bundle) )
2474 goto _test_eof54; 2482 goto _test_eof54;
2475 case 54: 2483 case 54:
2476 if ( (*( current_position)) == 15u ) 2484 if ( (*( current_position)) == 15u )
2477 goto st55; 2485 goto st55;
2478 if ( 112u <= (*( current_position)) && (*( current_position)) <= 127u ) 2486 if ( 112u <= (*( current_position)) && (*( current_position)) <= 127u )
2479 goto st56; 2487 goto st56;
2480 goto tr16; 2488 goto tr16;
2481 st55: 2489 st55:
2482 if ( ++( current_position) == ( end_of_bundle) ) 2490 if ( ++( current_position) == ( end_of_bundle) )
2483 goto _test_eof55; 2491 goto _test_eof55;
2484 case 55: 2492 case 55:
2485 if ( 128u <= (*( current_position)) && (*( current_position)) <= 143u ) 2493 if ( 128u <= (*( current_position)) && (*( current_position)) <= 143u )
2486 goto st46; 2494 goto st46;
2487 goto tr16; 2495 goto tr16;
2488 tr439: 2496 tr439:
2489 { 2497 {
2490 BitmapSetBit(valid_targets, current_position - data); 2498 MakeJumpTargetValid(current_position - data, valid_targets);
2491 } 2499 }
2492 goto st56; 2500 goto st56;
2493 st56: 2501 st56:
2494 if ( ++( current_position) == ( end_of_bundle) ) 2502 if ( ++( current_position) == ( end_of_bundle) )
2495 goto _test_eof56; 2503 goto _test_eof56;
2496 case 56: 2504 case 56:
2497 goto tr123; 2505 goto tr123;
2498 tr435: 2506 tr435:
2499 { 2507 {
2500 BitmapSetBit(valid_targets, current_position - data); 2508 MakeJumpTargetValid(current_position - data, valid_targets);
2501 } 2509 }
2502 goto st57; 2510 goto st57;
2503 st57: 2511 st57:
2504 if ( ++( current_position) == ( end_of_bundle) ) 2512 if ( ++( current_position) == ( end_of_bundle) )
2505 goto _test_eof57; 2513 goto _test_eof57;
2506 case 57: 2514 case 57:
2507 switch( (*( current_position)) ) { 2515 switch( (*( current_position)) ) {
2508 case 139u: goto st58; 2516 case 139u: goto st58;
2509 case 161u: goto st59; 2517 case 161u: goto st59;
2510 } 2518 }
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
2549 goto tr16; 2557 goto tr16;
2550 st62: 2558 st62:
2551 if ( ++( current_position) == ( end_of_bundle) ) 2559 if ( ++( current_position) == ( end_of_bundle) )
2552 goto _test_eof62; 2560 goto _test_eof62;
2553 case 62: 2561 case 62:
2554 if ( (*( current_position)) == 0u ) 2562 if ( (*( current_position)) == 0u )
2555 goto tr0; 2563 goto tr0;
2556 goto tr16; 2564 goto tr16;
2557 tr436: 2565 tr436:
2558 { 2566 {
2559 BitmapSetBit(valid_targets, current_position - data); 2567 MakeJumpTargetValid(current_position - data, valid_targets);
2560 } 2568 }
2561 { 2569 {
2562 SET_DATA16_PREFIX(TRUE); 2570 SET_DATA16_PREFIX(TRUE);
2563 } 2571 }
2564 goto st63; 2572 goto st63;
2565 st63: 2573 st63:
2566 if ( ++( current_position) == ( end_of_bundle) ) 2574 if ( ++( current_position) == ( end_of_bundle) )
2567 goto _test_eof63; 2575 goto _test_eof63;
2568 case 63: 2576 case 63:
2569 switch( (*( current_position)) ) { 2577 switch( (*( current_position)) ) {
(...skipping 545 matching lines...) Expand 10 before | Expand all | Expand 10 after
3115 goto _test_eof94; 3123 goto _test_eof94;
3116 case 94: 3124 case 94:
3117 goto st93; 3125 goto st93;
3118 st95: 3126 st95:
3119 if ( ++( current_position) == ( end_of_bundle) ) 3127 if ( ++( current_position) == ( end_of_bundle) )
3120 goto _test_eof95; 3128 goto _test_eof95;
3121 case 95: 3129 case 95:
3122 goto st89; 3130 goto st89;
3123 tr445: 3131 tr445:
3124 { 3132 {
3125 BitmapSetBit(valid_targets, current_position - data); 3133 MakeJumpTargetValid(current_position - data, valid_targets);
3126 } 3134 }
3127 goto st96; 3135 goto st96;
3128 st96: 3136 st96:
3129 if ( ++( current_position) == ( end_of_bundle) ) 3137 if ( ++( current_position) == ( end_of_bundle) )
3130 goto _test_eof96; 3138 goto _test_eof96;
3131 case 96: 3139 case 96:
3132 switch( (*( current_position)) ) { 3140 switch( (*( current_position)) ) {
3133 case 4u: goto st35; 3141 case 4u: goto st35;
3134 case 5u: goto st36; 3142 case 5u: goto st36;
3135 case 12u: goto st35; 3143 case 12u: goto st35;
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after
3200 if ( (*( current_position)) > 135u ) { 3208 if ( (*( current_position)) > 135u ) {
3201 if ( 192u <= (*( current_position)) && (*( current_posit ion)) <= 199u ) 3209 if ( 192u <= (*( current_position)) && (*( current_posit ion)) <= 199u )
3202 goto st64; 3210 goto st64;
3203 } else if ( (*( current_position)) >= 128u ) 3211 } else if ( (*( current_position)) >= 128u )
3204 goto st89; 3212 goto st89;
3205 } else 3213 } else
3206 goto st93; 3214 goto st93;
3207 goto tr16; 3215 goto tr16;
3208 tr450: 3216 tr450:
3209 { 3217 {
3210 BitmapSetBit(valid_targets, current_position - data); 3218 MakeJumpTargetValid(current_position - data, valid_targets);
3211 } 3219 }
3212 goto st98; 3220 goto st98;
3213 st98: 3221 st98:
3214 if ( ++( current_position) == ( end_of_bundle) ) 3222 if ( ++( current_position) == ( end_of_bundle) )
3215 goto _test_eof98; 3223 goto _test_eof98;
3216 case 98: 3224 case 98:
3217 switch( (*( current_position)) ) { 3225 switch( (*( current_position)) ) {
3218 case 4u: goto st2; 3226 case 4u: goto st2;
3219 case 5u: goto st3; 3227 case 5u: goto st3;
3220 case 12u: goto st2; 3228 case 12u: goto st2;
(...skipping 336 matching lines...) Expand 10 before | Expand all | Expand 10 after
3557 goto tr16; 3565 goto tr16;
3558 } else if ( (*( current_position)) >= 192u ) 3566 } else if ( (*( current_position)) >= 192u )
3559 goto st64; 3567 goto st64;
3560 } else 3568 } else
3561 goto st3; 3569 goto st3;
3562 } else 3570 } else
3563 goto st7; 3571 goto st7;
3564 goto tr0; 3572 goto tr0;
3565 tr467: 3573 tr467:
3566 { 3574 {
3567 BitmapSetBit(valid_targets, current_position - data); 3575 MakeJumpTargetValid(current_position - data, valid_targets);
3568 } 3576 }
3569 goto st110; 3577 goto st110;
3570 st110: 3578 st110:
3571 if ( ++( current_position) == ( end_of_bundle) ) 3579 if ( ++( current_position) == ( end_of_bundle) )
3572 goto _test_eof110; 3580 goto _test_eof110;
3573 case 110: 3581 case 110:
3574 switch( (*( current_position)) ) { 3582 switch( (*( current_position)) ) {
3575 case 4u: goto st2; 3583 case 4u: goto st2;
3576 case 5u: goto st3; 3584 case 5u: goto st3;
3577 case 12u: goto st2; 3585 case 12u: goto st2;
(...skipping 29 matching lines...) Expand all
3607 } else 3615 } else
3608 goto st3; 3616 goto st3;
3609 } else 3617 } else
3610 goto st7; 3618 goto st7;
3611 goto tr16; 3619 goto tr16;
3612 tr280: 3620 tr280:
3613 { SET_CPU_FEATURE(CPUFeature_BMI1); } 3621 { SET_CPU_FEATURE(CPUFeature_BMI1); }
3614 goto st111; 3622 goto st111;
3615 tr437: 3623 tr437:
3616 { 3624 {
3617 BitmapSetBit(valid_targets, current_position - data); 3625 MakeJumpTargetValid(current_position - data, valid_targets);
3618 } 3626 }
3619 goto st111; 3627 goto st111;
3620 st111: 3628 st111:
3621 if ( ++( current_position) == ( end_of_bundle) ) 3629 if ( ++( current_position) == ( end_of_bundle) )
3622 goto _test_eof111; 3630 goto _test_eof111;
3623 case 111: 3631 case 111:
3624 switch( (*( current_position)) ) { 3632 switch( (*( current_position)) ) {
3625 case 4u: goto st112; 3633 case 4u: goto st112;
3626 case 5u: goto st113; 3634 case 5u: goto st113;
3627 case 12u: goto st112; 3635 case 12u: goto st112;
(...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after
3745 tr279: 3753 tr279:
3746 { SET_CPU_FEATURE(CPUFeature_LWP); } 3754 { SET_CPU_FEATURE(CPUFeature_LWP); }
3747 goto st119; 3755 goto st119;
3748 st119: 3756 st119:
3749 if ( ++( current_position) == ( end_of_bundle) ) 3757 if ( ++( current_position) == ( end_of_bundle) )
3750 goto _test_eof119; 3758 goto _test_eof119;
3751 case 119: 3759 case 119:
3752 goto st113; 3760 goto st113;
3753 tr440: 3761 tr440:
3754 { 3762 {
3755 BitmapSetBit(valid_targets, current_position - data); 3763 MakeJumpTargetValid(current_position - data, valid_targets);
3756 } 3764 }
3757 goto st120; 3765 goto st120;
3758 st120: 3766 st120:
3759 if ( ++( current_position) == ( end_of_bundle) ) 3767 if ( ++( current_position) == ( end_of_bundle) )
3760 goto _test_eof120; 3768 goto _test_eof120;
3761 case 120: 3769 case 120:
3762 switch( (*( current_position)) ) { 3770 switch( (*( current_position)) ) {
3763 case 4u: goto st35; 3771 case 4u: goto st35;
3764 case 5u: goto st36; 3772 case 5u: goto st36;
3765 case 12u: goto st35; 3773 case 12u: goto st35;
(...skipping 190 matching lines...) Expand 10 before | Expand all | Expand 10 after
3956 goto tr434; 3964 goto tr434;
3957 } else 3965 } else
3958 goto tr450; 3966 goto tr450;
3959 } else 3967 } else
3960 goto tr429; 3968 goto tr429;
3961 } else 3969 } else
3962 goto tr428; 3970 goto tr428;
3963 goto tr16; 3971 goto tr16;
3964 tr442: 3972 tr442:
3965 { 3973 {
3966 BitmapSetBit(valid_targets, current_position - data); 3974 MakeJumpTargetValid(current_position - data, valid_targets);
3967 } 3975 }
3968 goto st122; 3976 goto st122;
3969 st122: 3977 st122:
3970 if ( ++( current_position) == ( end_of_bundle) ) 3978 if ( ++( current_position) == ( end_of_bundle) )
3971 goto _test_eof122; 3979 goto _test_eof122;
3972 case 122: 3980 case 122:
3973 switch( (*( current_position)) ) { 3981 switch( (*( current_position)) ) {
3974 case 4u: goto st2; 3982 case 4u: goto st2;
3975 case 5u: goto st3; 3983 case 5u: goto st3;
3976 case 68u: goto st8; 3984 case 68u: goto st8;
(...skipping 562 matching lines...) Expand 10 before | Expand all | Expand 10 after
4539 if ( ++( current_position) == ( end_of_bundle) ) 4547 if ( ++( current_position) == ( end_of_bundle) )
4540 goto _test_eof149; 4548 goto _test_eof149;
4541 case 149: 4549 case 149:
4542 switch( (*( current_position)) ) { 4550 switch( (*( current_position)) ) {
4543 case 16u: goto tr280; 4551 case 16u: goto tr280;
4544 case 18u: goto st148; 4552 case 18u: goto st148;
4545 } 4553 }
4546 goto tr16; 4554 goto tr16;
4547 tr446: 4555 tr446:
4548 { 4556 {
4549 BitmapSetBit(valid_targets, current_position - data); 4557 MakeJumpTargetValid(current_position - data, valid_targets);
4550 } 4558 }
4551 goto st150; 4559 goto st150;
4552 st150: 4560 st150:
4553 if ( ++( current_position) == ( end_of_bundle) ) 4561 if ( ++( current_position) == ( end_of_bundle) )
4554 goto _test_eof150; 4562 goto _test_eof150;
4555 case 150: 4563 case 150:
4556 switch( (*( current_position)) ) { 4564 switch( (*( current_position)) ) {
4557 case 225u: goto st151; 4565 case 225u: goto st151;
4558 case 226u: goto st173; 4566 case 226u: goto st173;
4559 case 227u: goto st182; 4567 case 227u: goto st182;
(...skipping 1522 matching lines...) Expand 10 before | Expand all | Expand 10 after
6082 } else if ( (*( current_position)) > 121u ) { 6090 } else if ( (*( current_position)) > 121u ) {
6083 if ( 124u <= (*( current_position)) && (*( current_posit ion)) <= 125u ) 6091 if ( 124u <= (*( current_position)) && (*( current_posit ion)) <= 125u )
6084 goto tr349; 6092 goto tr349;
6085 } else 6093 } else
6086 goto tr349; 6094 goto tr349;
6087 } else 6095 } else
6088 goto tr349; 6096 goto tr349;
6089 goto tr16; 6097 goto tr16;
6090 tr447: 6098 tr447:
6091 { 6099 {
6092 BitmapSetBit(valid_targets, current_position - data); 6100 MakeJumpTargetValid(current_position - data, valid_targets);
6093 } 6101 }
6094 goto st200; 6102 goto st200;
6095 st200: 6103 st200:
6096 if ( ++( current_position) == ( end_of_bundle) ) 6104 if ( ++( current_position) == ( end_of_bundle) )
6097 goto _test_eof200; 6105 goto _test_eof200;
6098 case 200: 6106 case 200:
6099 switch( (*( current_position)) ) { 6107 switch( (*( current_position)) ) {
6100 case 193u: goto tr366; 6108 case 193u: goto tr366;
6101 case 194u: goto tr367; 6109 case 194u: goto tr367;
6102 case 195u: goto tr368; 6110 case 195u: goto tr368;
(...skipping 156 matching lines...) Expand 10 before | Expand all | Expand 10 after
6259 if ( (*( current_position)) > 95u ) { 6267 if ( (*( current_position)) > 95u ) {
6260 if ( 124u <= (*( current_position)) && (*( current_posit ion)) <= 125u ) 6268 if ( 124u <= (*( current_position)) && (*( current_posit ion)) <= 125u )
6261 goto tr301; 6269 goto tr301;
6262 } else if ( (*( current_position)) >= 92u ) 6270 } else if ( (*( current_position)) >= 92u )
6263 goto tr301; 6271 goto tr301;
6264 } else 6272 } else
6265 goto tr301; 6273 goto tr301;
6266 goto tr16; 6274 goto tr16;
6267 tr448: 6275 tr448:
6268 { 6276 {
6269 BitmapSetBit(valid_targets, current_position - data); 6277 MakeJumpTargetValid(current_position - data, valid_targets);
6270 } 6278 }
6271 goto st205; 6279 goto st205;
6272 st205: 6280 st205:
6273 if ( ++( current_position) == ( end_of_bundle) ) 6281 if ( ++( current_position) == ( end_of_bundle) )
6274 goto _test_eof205; 6282 goto _test_eof205;
6275 case 205: 6283 case 205:
6276 switch( (*( current_position)) ) { 6284 switch( (*( current_position)) ) {
6277 case 4u: goto st35; 6285 case 4u: goto st35;
6278 case 5u: goto st36; 6286 case 5u: goto st36;
6279 case 68u: goto st41; 6287 case 68u: goto st41;
6280 case 132u: goto st42; 6288 case 132u: goto st42;
6281 } 6289 }
6282 if ( (*( current_position)) < 64u ) { 6290 if ( (*( current_position)) < 64u ) {
6283 if ( (*( current_position)) <= 7u ) 6291 if ( (*( current_position)) <= 7u )
6284 goto st10; 6292 goto st10;
6285 } else if ( (*( current_position)) > 71u ) { 6293 } else if ( (*( current_position)) > 71u ) {
6286 if ( (*( current_position)) > 135u ) { 6294 if ( (*( current_position)) > 135u ) {
6287 if ( 192u <= (*( current_position)) && (*( current_posit ion)) <= 199u ) 6295 if ( 192u <= (*( current_position)) && (*( current_posit ion)) <= 199u )
6288 goto st10; 6296 goto st10;
6289 } else if ( (*( current_position)) >= 128u ) 6297 } else if ( (*( current_position)) >= 128u )
6290 goto st36; 6298 goto st36;
6291 } else 6299 } else
6292 goto st40; 6300 goto st40;
6293 goto tr16; 6301 goto tr16;
6294 tr449: 6302 tr449:
6295 { 6303 {
6296 BitmapSetBit(valid_targets, current_position - data); 6304 MakeJumpTargetValid(current_position - data, valid_targets);
6297 } 6305 }
6298 goto st206; 6306 goto st206;
6299 st206: 6307 st206:
6300 if ( ++( current_position) == ( end_of_bundle) ) 6308 if ( ++( current_position) == ( end_of_bundle) )
6301 goto _test_eof206; 6309 goto _test_eof206;
6302 case 206: 6310 case 206:
6303 switch( (*( current_position)) ) { 6311 switch( (*( current_position)) ) {
6304 case 4u: goto st112; 6312 case 4u: goto st112;
6305 case 5u: goto st113; 6313 case 5u: goto st113;
6306 case 68u: goto st118; 6314 case 68u: goto st118;
6307 case 132u: goto st119; 6315 case 132u: goto st119;
6308 } 6316 }
6309 if ( (*( current_position)) < 64u ) { 6317 if ( (*( current_position)) < 64u ) {
6310 if ( (*( current_position)) <= 7u ) 6318 if ( (*( current_position)) <= 7u )
6311 goto st11; 6319 goto st11;
6312 } else if ( (*( current_position)) > 71u ) { 6320 } else if ( (*( current_position)) > 71u ) {
6313 if ( (*( current_position)) > 135u ) { 6321 if ( (*( current_position)) > 135u ) {
6314 if ( 192u <= (*( current_position)) && (*( current_posit ion)) <= 199u ) 6322 if ( 192u <= (*( current_position)) && (*( current_posit ion)) <= 199u )
6315 goto st11; 6323 goto st11;
6316 } else if ( (*( current_position)) >= 128u ) 6324 } else if ( (*( current_position)) >= 128u )
6317 goto st113; 6325 goto st113;
6318 } else 6326 } else
6319 goto st117; 6327 goto st117;
6320 goto tr16; 6328 goto tr16;
6321 tr451: 6329 tr451:
6322 { 6330 {
6323 BitmapSetBit(valid_targets, current_position - data); 6331 MakeJumpTargetValid(current_position - data, valid_targets);
6324 } 6332 }
6325 goto st207; 6333 goto st207;
6326 st207: 6334 st207:
6327 if ( ++( current_position) == ( end_of_bundle) ) 6335 if ( ++( current_position) == ( end_of_bundle) )
6328 goto _test_eof207; 6336 goto _test_eof207;
6329 case 207: 6337 case 207:
6330 switch( (*( current_position)) ) { 6338 switch( (*( current_position)) ) {
6331 case 4u: goto tr382; 6339 case 4u: goto tr382;
6332 case 5u: goto tr383; 6340 case 5u: goto tr383;
6333 case 12u: goto tr382; 6341 case 12u: goto tr382;
(...skipping 28 matching lines...) Expand all
6362 case 188u: goto tr386; 6370 case 188u: goto tr386;
6363 } 6371 }
6364 if ( (*( current_position)) > 127u ) { 6372 if ( (*( current_position)) > 127u ) {
6365 if ( 128u <= (*( current_position)) && (*( current_position)) <= 191u ) 6373 if ( 128u <= (*( current_position)) && (*( current_position)) <= 191u )
6366 goto tr383; 6374 goto tr383;
6367 } else if ( (*( current_position)) >= 64u ) 6375 } else if ( (*( current_position)) >= 64u )
6368 goto tr384; 6376 goto tr384;
6369 goto tr381; 6377 goto tr381;
6370 tr452: 6378 tr452:
6371 { 6379 {
6372 BitmapSetBit(valid_targets, current_position - data); 6380 MakeJumpTargetValid(current_position - data, valid_targets);
6373 } 6381 }
6374 goto st208; 6382 goto st208;
6375 st208: 6383 st208:
6376 if ( ++( current_position) == ( end_of_bundle) ) 6384 if ( ++( current_position) == ( end_of_bundle) )
6377 goto _test_eof208; 6385 goto _test_eof208;
6378 case 208: 6386 case 208:
6379 switch( (*( current_position)) ) { 6387 switch( (*( current_position)) ) {
6380 case 4u: goto tr382; 6388 case 4u: goto tr382;
6381 case 5u: goto tr383; 6389 case 5u: goto tr383;
6382 case 20u: goto tr382; 6390 case 20u: goto tr382;
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
6432 goto tr16; 6440 goto tr16;
6433 } else if ( (*( current_position)) >= 226u ) 6441 } else if ( (*( current_position)) >= 226u )
6434 goto tr16; 6442 goto tr16;
6435 } else 6443 } else
6436 goto tr16; 6444 goto tr16;
6437 } else 6445 } else
6438 goto tr383; 6446 goto tr383;
6439 goto tr381; 6447 goto tr381;
6440 tr453: 6448 tr453:
6441 { 6449 {
6442 BitmapSetBit(valid_targets, current_position - data); 6450 MakeJumpTargetValid(current_position - data, valid_targets);
6443 } 6451 }
6444 goto st209; 6452 goto st209;
6445 st209: 6453 st209:
6446 if ( ++( current_position) == ( end_of_bundle) ) 6454 if ( ++( current_position) == ( end_of_bundle) )
6447 goto _test_eof209; 6455 goto _test_eof209;
6448 case 209: 6456 case 209:
6449 switch( (*( current_position)) ) { 6457 switch( (*( current_position)) ) {
6450 case 4u: goto tr382; 6458 case 4u: goto tr382;
6451 case 12u: goto tr382; 6459 case 12u: goto tr382;
6452 case 20u: goto tr382; 6460 case 20u: goto tr382;
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
6504 goto tr16; 6512 goto tr16;
6505 } else 6513 } else
6506 goto tr387; 6514 goto tr387;
6507 } else 6515 } else
6508 goto tr381; 6516 goto tr381;
6509 } else 6517 } else
6510 goto tr381; 6518 goto tr381;
6511 goto tr383; 6519 goto tr383;
6512 tr454: 6520 tr454:
6513 { 6521 {
6514 BitmapSetBit(valid_targets, current_position - data); 6522 MakeJumpTargetValid(current_position - data, valid_targets);
6515 } 6523 }
6516 goto st210; 6524 goto st210;
6517 st210: 6525 st210:
6518 if ( ++( current_position) == ( end_of_bundle) ) 6526 if ( ++( current_position) == ( end_of_bundle) )
6519 goto _test_eof210; 6527 goto _test_eof210;
6520 case 210: 6528 case 210:
6521 switch( (*( current_position)) ) { 6529 switch( (*( current_position)) ) {
6522 case 4u: goto tr382; 6530 case 4u: goto tr382;
6523 case 5u: goto tr383; 6531 case 5u: goto tr383;
6524 case 12u: goto tr382; 6532 case 12u: goto tr382;
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
6575 goto tr381; 6583 goto tr381;
6576 } else 6584 } else
6577 goto tr381; 6585 goto tr381;
6578 } else 6586 } else
6579 goto tr383; 6587 goto tr383;
6580 } else 6588 } else
6581 goto tr384; 6589 goto tr384;
6582 goto tr16; 6590 goto tr16;
6583 tr455: 6591 tr455:
6584 { 6592 {
6585 BitmapSetBit(valid_targets, current_position - data); 6593 MakeJumpTargetValid(current_position - data, valid_targets);
6586 } 6594 }
6587 goto st211; 6595 goto st211;
6588 st211: 6596 st211:
6589 if ( ++( current_position) == ( end_of_bundle) ) 6597 if ( ++( current_position) == ( end_of_bundle) )
6590 goto _test_eof211; 6598 goto _test_eof211;
6591 case 211: 6599 case 211:
6592 switch( (*( current_position)) ) { 6600 switch( (*( current_position)) ) {
6593 case 4u: goto tr382; 6601 case 4u: goto tr382;
6594 case 5u: goto tr383; 6602 case 5u: goto tr383;
6595 case 12u: goto tr382; 6603 case 12u: goto tr382;
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
6627 if ( 64u <= (*( current_position)) && (*( current_position)) <= 127u ) 6635 if ( 64u <= (*( current_position)) && (*( current_position)) <= 127u )
6628 goto tr384; 6636 goto tr384;
6629 } else if ( (*( current_position)) > 191u ) { 6637 } else if ( (*( current_position)) > 191u ) {
6630 if ( 208u <= (*( current_position)) && (*( current_position)) <= 223u ) 6638 if ( 208u <= (*( current_position)) && (*( current_position)) <= 223u )
6631 goto tr16; 6639 goto tr16;
6632 } else 6640 } else
6633 goto tr383; 6641 goto tr383;
6634 goto tr381; 6642 goto tr381;
6635 tr456: 6643 tr456:
6636 { 6644 {
6637 BitmapSetBit(valid_targets, current_position - data); 6645 MakeJumpTargetValid(current_position - data, valid_targets);
6638 } 6646 }
6639 goto st212; 6647 goto st212;
6640 st212: 6648 st212:
6641 if ( ++( current_position) == ( end_of_bundle) ) 6649 if ( ++( current_position) == ( end_of_bundle) )
6642 goto _test_eof212; 6650 goto _test_eof212;
6643 case 212: 6651 case 212:
6644 switch( (*( current_position)) ) { 6652 switch( (*( current_position)) ) {
6645 case 4u: goto tr382; 6653 case 4u: goto tr382;
6646 case 5u: goto tr383; 6654 case 5u: goto tr383;
6647 case 12u: goto tr382; 6655 case 12u: goto tr382;
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
6693 goto tr16; 6701 goto tr16;
6694 } else if ( (*( current_position)) >= 200u ) 6702 } else if ( (*( current_position)) >= 200u )
6695 goto tr16; 6703 goto tr16;
6696 } else 6704 } else
6697 goto tr383; 6705 goto tr383;
6698 } else 6706 } else
6699 goto tr383; 6707 goto tr383;
6700 goto tr381; 6708 goto tr381;
6701 tr457: 6709 tr457:
6702 { 6710 {
6703 BitmapSetBit(valid_targets, current_position - data); 6711 MakeJumpTargetValid(current_position - data, valid_targets);
6704 } 6712 }
6705 goto st213; 6713 goto st213;
6706 st213: 6714 st213:
6707 if ( ++( current_position) == ( end_of_bundle) ) 6715 if ( ++( current_position) == ( end_of_bundle) )
6708 goto _test_eof213; 6716 goto _test_eof213;
6709 case 213: 6717 case 213:
6710 switch( (*( current_position)) ) { 6718 switch( (*( current_position)) ) {
6711 case 4u: goto tr382; 6719 case 4u: goto tr382;
6712 case 5u: goto tr383; 6720 case 5u: goto tr383;
6713 case 12u: goto tr382; 6721 case 12u: goto tr382;
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
6748 if ( (*( current_position)) > 216u ) { 6756 if ( (*( current_position)) > 216u ) {
6749 if ( 218u <= (*( current_position)) && (*( current_posit ion)) <= 223u ) 6757 if ( 218u <= (*( current_position)) && (*( current_posit ion)) <= 223u )
6750 goto tr16; 6758 goto tr16;
6751 } else if ( (*( current_position)) >= 208u ) 6759 } else if ( (*( current_position)) >= 208u )
6752 goto tr16; 6760 goto tr16;
6753 } else 6761 } else
6754 goto tr383; 6762 goto tr383;
6755 goto tr381; 6763 goto tr381;
6756 tr458: 6764 tr458:
6757 { 6765 {
6758 BitmapSetBit(valid_targets, current_position - data); 6766 MakeJumpTargetValid(current_position - data, valid_targets);
6759 } 6767 }
6760 goto st214; 6768 goto st214;
6761 st214: 6769 st214:
6762 if ( ++( current_position) == ( end_of_bundle) ) 6770 if ( ++( current_position) == ( end_of_bundle) )
6763 goto _test_eof214; 6771 goto _test_eof214;
6764 case 214: 6772 case 214:
6765 switch( (*( current_position)) ) { 6773 switch( (*( current_position)) ) {
6766 case 4u: goto tr382; 6774 case 4u: goto tr382;
6767 case 5u: goto tr383; 6775 case 5u: goto tr383;
6768 case 12u: goto tr382; 6776 case 12u: goto tr382;
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
6806 if ( (*( current_position)) > 231u ) { 6814 if ( (*( current_position)) > 231u ) {
6807 if ( 248u <= (*( current_position)) ) 6815 if ( 248u <= (*( current_position)) )
6808 goto tr16; 6816 goto tr16;
6809 } else if ( (*( current_position)) >= 225u ) 6817 } else if ( (*( current_position)) >= 225u )
6810 goto tr16; 6818 goto tr16;
6811 } else 6819 } else
6812 goto tr16; 6820 goto tr16;
6813 goto tr381; 6821 goto tr381;
6814 tr459: 6822 tr459:
6815 { 6823 {
6816 BitmapSetBit(valid_targets, current_position - data); 6824 MakeJumpTargetValid(current_position - data, valid_targets);
6817 } 6825 }
6818 goto st215; 6826 goto st215;
6819 st215: 6827 st215:
6820 if ( ++( current_position) == ( end_of_bundle) ) 6828 if ( ++( current_position) == ( end_of_bundle) )
6821 goto _test_eof215; 6829 goto _test_eof215;
6822 case 215: 6830 case 215:
6823 goto st216; 6831 goto st216;
6824 st216: 6832 st216:
6825 if ( ++( current_position) == ( end_of_bundle) ) 6833 if ( ++( current_position) == ( end_of_bundle) )
6826 goto _test_eof216; 6834 goto _test_eof216;
6827 case 216: 6835 case 216:
6828 goto st217; 6836 goto st217;
6829 st217: 6837 st217:
6830 if ( ++( current_position) == ( end_of_bundle) ) 6838 if ( ++( current_position) == ( end_of_bundle) )
6831 goto _test_eof217; 6839 goto _test_eof217;
6832 case 217: 6840 case 217:
6833 goto st218; 6841 goto st218;
6834 st218: 6842 st218:
6835 if ( ++( current_position) == ( end_of_bundle) ) 6843 if ( ++( current_position) == ( end_of_bundle) )
6836 goto _test_eof218; 6844 goto _test_eof218;
6837 case 218: 6845 case 218:
6838 goto tr391; 6846 goto tr391;
6839 tr461: 6847 tr461:
6840 { 6848 {
6841 BitmapSetBit(valid_targets, current_position - data); 6849 MakeJumpTargetValid(current_position - data, valid_targets);
6842 } 6850 }
6843 { 6851 {
6844 SET_LOCK_PREFIX(TRUE); 6852 SET_LOCK_PREFIX(TRUE);
6845 } 6853 }
6846 goto st219; 6854 goto st219;
6847 st219: 6855 st219:
6848 if ( ++( current_position) == ( end_of_bundle) ) 6856 if ( ++( current_position) == ( end_of_bundle) )
6849 goto _test_eof219; 6857 goto _test_eof219;
6850 case 219: 6858 case 219:
6851 switch( (*( current_position)) ) { 6859 switch( (*( current_position)) ) {
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after
6935 if ( (*( current_position)) <= 55u ) 6943 if ( (*( current_position)) <= 55u )
6936 goto st11; 6944 goto st11;
6937 } else if ( (*( current_position)) > 119u ) { 6945 } else if ( (*( current_position)) > 119u ) {
6938 if ( 128u <= (*( current_position)) && (*( current_position)) <= 183u ) 6946 if ( 128u <= (*( current_position)) && (*( current_position)) <= 183u )
6939 goto st113; 6947 goto st113;
6940 } else 6948 } else
6941 goto st117; 6949 goto st117;
6942 goto tr16; 6950 goto tr16;
6943 tr462: 6951 tr462:
6944 { 6952 {
6945 BitmapSetBit(valid_targets, current_position - data); 6953 MakeJumpTargetValid(current_position - data, valid_targets);
6946 } 6954 }
6947 { 6955 {
6948 SET_REPNZ_PREFIX(TRUE); 6956 SET_REPNZ_PREFIX(TRUE);
6949 } 6957 }
6950 goto st222; 6958 goto st222;
6951 st222: 6959 st222:
6952 if ( ++( current_position) == ( end_of_bundle) ) 6960 if ( ++( current_position) == ( end_of_bundle) )
6953 goto _test_eof222; 6961 goto _test_eof222;
6954 case 222: 6962 case 222:
6955 switch( (*( current_position)) ) { 6963 switch( (*( current_position)) ) {
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
7015 if ( 192u <= (*( current_position)) ) 7023 if ( 192u <= (*( current_position)) )
7016 goto st226; 7024 goto st226;
7017 goto tr16; 7025 goto tr16;
7018 st226: 7026 st226:
7019 if ( ++( current_position) == ( end_of_bundle) ) 7027 if ( ++( current_position) == ( end_of_bundle) )
7020 goto _test_eof226; 7028 goto _test_eof226;
7021 case 226: 7029 case 226:
7022 goto tr408; 7030 goto tr408;
7023 tr463: 7031 tr463:
7024 { 7032 {
7025 BitmapSetBit(valid_targets, current_position - data); 7033 MakeJumpTargetValid(current_position - data, valid_targets);
7026 } 7034 }
7027 { 7035 {
7028 SET_REPZ_PREFIX(TRUE); 7036 SET_REPZ_PREFIX(TRUE);
7029 } 7037 }
7030 { 7038 {
7031 SET_REPZ_PREFIX(TRUE); 7039 SET_REPZ_PREFIX(TRUE);
7032 } 7040 }
7033 goto st227; 7041 goto st227;
7034 st227: 7042 st227:
7035 if ( ++( current_position) == ( end_of_bundle) ) 7043 if ( ++( current_position) == ( end_of_bundle) )
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
7082 } else if ( (*( current_position)) > 95u ) { 7090 } else if ( (*( current_position)) > 95u ) {
7083 if ( 126u <= (*( current_position)) && (*( current_posit ion)) <= 127u ) 7091 if ( 126u <= (*( current_position)) && (*( current_posit ion)) <= 127u )
7084 goto tr415; 7092 goto tr415;
7085 } else 7093 } else
7086 goto tr412; 7094 goto tr412;
7087 } else 7095 } else
7088 goto tr412; 7096 goto tr412;
7089 goto tr16; 7097 goto tr16;
7090 tr464: 7098 tr464:
7091 { 7099 {
7092 BitmapSetBit(valid_targets, current_position - data); 7100 MakeJumpTargetValid(current_position - data, valid_targets);
7093 } 7101 }
7094 goto st229; 7102 goto st229;
7095 st229: 7103 st229:
7096 if ( ++( current_position) == ( end_of_bundle) ) 7104 if ( ++( current_position) == ( end_of_bundle) )
7097 goto _test_eof229; 7105 goto _test_eof229;
7098 case 229: 7106 case 229:
7099 switch( (*( current_position)) ) { 7107 switch( (*( current_position)) ) {
7100 case 4u: goto st35; 7108 case 4u: goto st35;
7101 case 5u: goto st36; 7109 case 5u: goto st36;
7102 case 20u: goto st2; 7110 case 20u: goto st2;
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
7151 goto tr16; 7159 goto tr16;
7152 } else if ( (*( current_position)) >= 192u ) 7160 } else if ( (*( current_position)) >= 192u )
7153 goto st10; 7161 goto st10;
7154 } else 7162 } else
7155 goto st3; 7163 goto st3;
7156 } else 7164 } else
7157 goto st7; 7165 goto st7;
7158 goto tr0; 7166 goto tr0;
7159 tr465: 7167 tr465:
7160 { 7168 {
7161 BitmapSetBit(valid_targets, current_position - data); 7169 MakeJumpTargetValid(current_position - data, valid_targets);
7162 } 7170 }
7163 goto st230; 7171 goto st230;
7164 st230: 7172 st230:
7165 if ( ++( current_position) == ( end_of_bundle) ) 7173 if ( ++( current_position) == ( end_of_bundle) )
7166 goto _test_eof230; 7174 goto _test_eof230;
7167 case 230: 7175 case 230:
7168 switch( (*( current_position)) ) { 7176 switch( (*( current_position)) ) {
7169 case 4u: goto st112; 7177 case 4u: goto st112;
7170 case 5u: goto st113; 7178 case 5u: goto st113;
7171 case 20u: goto st2; 7179 case 20u: goto st2;
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
7220 goto tr16; 7228 goto tr16;
7221 } else if ( (*( current_position)) >= 192u ) 7229 } else if ( (*( current_position)) >= 192u )
7222 goto st11; 7230 goto st11;
7223 } else 7231 } else
7224 goto st3; 7232 goto st3;
7225 } else 7233 } else
7226 goto st7; 7234 goto st7;
7227 goto tr0; 7235 goto tr0;
7228 tr466: 7236 tr466:
7229 { 7237 {
7230 BitmapSetBit(valid_targets, current_position - data); 7238 MakeJumpTargetValid(current_position - data, valid_targets);
7231 } 7239 }
7232 goto st231; 7240 goto st231;
7233 st231: 7241 st231:
7234 if ( ++( current_position) == ( end_of_bundle) ) 7242 if ( ++( current_position) == ( end_of_bundle) )
7235 goto _test_eof231; 7243 goto _test_eof231;
7236 case 231: 7244 case 231:
7237 switch( (*( current_position)) ) { 7245 switch( (*( current_position)) ) {
7238 case 4u: goto st2; 7246 case 4u: goto st2;
7239 case 5u: goto st3; 7247 case 5u: goto st3;
7240 case 12u: goto st2; 7248 case 12u: goto st2;
(...skipping 10 matching lines...) Expand all
7251 if ( (*( current_position)) > 143u ) { 7259 if ( (*( current_position)) > 143u ) {
7252 if ( 192u <= (*( current_position)) && (*( current_posit ion)) <= 207u ) 7260 if ( 192u <= (*( current_position)) && (*( current_posit ion)) <= 207u )
7253 goto tr0; 7261 goto tr0;
7254 } else if ( (*( current_position)) >= 128u ) 7262 } else if ( (*( current_position)) >= 128u )
7255 goto st3; 7263 goto st3;
7256 } else 7264 } else
7257 goto st7; 7265 goto st7;
7258 goto tr16; 7266 goto tr16;
7259 tr468: 7267 tr468:
7260 { 7268 {
7261 BitmapSetBit(valid_targets, current_position - data); 7269 MakeJumpTargetValid(current_position - data, valid_targets);
7262 } 7270 }
7263 goto st232; 7271 goto st232;
7264 st232: 7272 st232:
7265 if ( ++( current_position) == ( end_of_bundle) ) 7273 if ( ++( current_position) == ( end_of_bundle) )
7266 goto _test_eof232; 7274 goto _test_eof232;
7267 case 232: 7275 case 232:
7268 switch( (*( current_position)) ) { 7276 switch( (*( current_position)) ) {
7269 case 4u: goto st2; 7277 case 4u: goto st2;
7270 case 5u: goto st3; 7278 case 5u: goto st3;
7271 case 12u: goto st2; 7279 case 12u: goto st2;
(...skipping 182 matching lines...) Expand 10 before | Expand all | Expand 10 after
7454 goto tr434; 7462 goto tr434;
7455 } else 7463 } else
7456 goto tr450; 7464 goto tr450;
7457 } else 7465 } else
7458 goto tr429; 7466 goto tr429;
7459 } else 7467 } else
7460 goto tr428; 7468 goto tr428;
7461 goto tr16; 7469 goto tr16;
7462 tr469: 7470 tr469:
7463 { 7471 {
7464 BitmapSetBit(valid_targets, current_position - data); 7472 MakeJumpTargetValid(current_position - data, valid_targets);
7465 } 7473 }
7466 goto st234; 7474 goto st234;
7467 st234: 7475 st234:
7468 if ( ++( current_position) == ( end_of_bundle) ) 7476 if ( ++( current_position) == ( end_of_bundle) )
7469 goto _test_eof234; 7477 goto _test_eof234;
7470 case 234: 7478 case 234:
7471 switch( (*( current_position)) ) { 7479 switch( (*( current_position)) ) {
7472 case 4u: goto st2; 7480 case 4u: goto st2;
7473 case 5u: goto st3; 7481 case 5u: goto st3;
7474 case 12u: goto st2; 7482 case 12u: goto st2;
(...skipping 182 matching lines...) Expand 10 before | Expand all | Expand 10 after
7657 goto tr434; 7665 goto tr434;
7658 } else 7666 } else
7659 goto tr450; 7667 goto tr450;
7660 } else 7668 } else
7661 goto tr429; 7669 goto tr429;
7662 } else 7670 } else
7663 goto tr428; 7671 goto tr428;
7664 goto tr16; 7672 goto tr16;
7665 tr470: 7673 tr470:
7666 { 7674 {
7667 BitmapSetBit(valid_targets, current_position - data); 7675 MakeJumpTargetValid(current_position - data, valid_targets);
7668 } 7676 }
7669 goto st236; 7677 goto st236;
7670 st236: 7678 st236:
7671 if ( ++( current_position) == ( end_of_bundle) ) 7679 if ( ++( current_position) == ( end_of_bundle) )
7672 goto _test_eof236; 7680 goto _test_eof236;
7673 case 236: 7681 case 236:
7674 switch( (*( current_position)) ) { 7682 switch( (*( current_position)) ) {
7675 case 4u: goto st2; 7683 case 4u: goto st2;
7676 case 5u: goto st3; 7684 case 5u: goto st3;
7677 case 12u: goto st2; 7685 case 12u: goto st2;
(...skipping 182 matching lines...) Expand 10 before | Expand all | Expand 10 after
7860 goto tr434; 7868 goto tr434;
7861 } else 7869 } else
7862 goto tr450; 7870 goto tr450;
7863 } else 7871 } else
7864 goto tr429; 7872 goto tr429;
7865 } else 7873 } else
7866 goto tr428; 7874 goto tr428;
7867 goto tr16; 7875 goto tr16;
7868 tr471: 7876 tr471:
7869 { 7877 {
7870 BitmapSetBit(valid_targets, current_position - data); 7878 MakeJumpTargetValid(current_position - data, valid_targets);
7871 } 7879 }
7872 goto st238; 7880 goto st238;
7873 st238: 7881 st238:
7874 if ( ++( current_position) == ( end_of_bundle) ) 7882 if ( ++( current_position) == ( end_of_bundle) )
7875 goto _test_eof238; 7883 goto _test_eof238;
7876 case 238: 7884 case 238:
7877 switch( (*( current_position)) ) { 7885 switch( (*( current_position)) ) {
7878 case 4u: goto st2; 7886 case 4u: goto st2;
7879 case 5u: goto st3; 7887 case 5u: goto st3;
7880 case 12u: goto st2; 7888 case 12u: goto st2;
(...skipping 182 matching lines...) Expand 10 before | Expand all | Expand 10 after
8063 goto tr434; 8071 goto tr434;
8064 } else 8072 } else
8065 goto tr450; 8073 goto tr450;
8066 } else 8074 } else
8067 goto tr429; 8075 goto tr429;
8068 } else 8076 } else
8069 goto tr428; 8077 goto tr428;
8070 goto tr16; 8078 goto tr16;
8071 tr472: 8079 tr472:
8072 { 8080 {
8073 BitmapSetBit(valid_targets, current_position - data); 8081 MakeJumpTargetValid(current_position - data, valid_targets);
8074 } 8082 }
8075 goto st240; 8083 goto st240;
8076 st240: 8084 st240:
8077 if ( ++( current_position) == ( end_of_bundle) ) 8085 if ( ++( current_position) == ( end_of_bundle) )
8078 goto _test_eof240; 8086 goto _test_eof240;
8079 case 240: 8087 case 240:
8080 switch( (*( current_position)) ) { 8088 switch( (*( current_position)) ) {
8081 case 4u: goto st2; 8089 case 4u: goto st2;
8082 case 5u: goto st3; 8090 case 5u: goto st3;
8083 case 12u: goto st2; 8091 case 12u: goto st2;
(...skipping 182 matching lines...) Expand 10 before | Expand all | Expand 10 after
8266 goto tr434; 8274 goto tr434;
8267 } else 8275 } else
8268 goto tr450; 8276 goto tr450;
8269 } else 8277 } else
8270 goto tr429; 8278 goto tr429;
8271 } else 8279 } else
8272 goto tr428; 8280 goto tr428;
8273 goto tr16; 8281 goto tr16;
8274 tr473: 8282 tr473:
8275 { 8283 {
8276 BitmapSetBit(valid_targets, current_position - data); 8284 MakeJumpTargetValid(current_position - data, valid_targets);
8277 } 8285 }
8278 goto st242; 8286 goto st242;
8279 st242: 8287 st242:
8280 if ( ++( current_position) == ( end_of_bundle) ) 8288 if ( ++( current_position) == ( end_of_bundle) )
8281 goto _test_eof242; 8289 goto _test_eof242;
8282 case 242: 8290 case 242:
8283 switch( (*( current_position)) ) { 8291 switch( (*( current_position)) ) {
8284 case 4u: goto st2; 8292 case 4u: goto st2;
8285 case 5u: goto st3; 8293 case 5u: goto st3;
8286 case 12u: goto st2; 8294 case 12u: goto st2;
(...skipping 182 matching lines...) Expand 10 before | Expand all | Expand 10 after
8469 goto tr434; 8477 goto tr434;
8470 } else 8478 } else
8471 goto tr450; 8479 goto tr450;
8472 } else 8480 } else
8473 goto tr429; 8481 goto tr429;
8474 } else 8482 } else
8475 goto tr428; 8483 goto tr428;
8476 goto tr16; 8484 goto tr16;
8477 tr474: 8485 tr474:
8478 { 8486 {
8479 BitmapSetBit(valid_targets, current_position - data); 8487 MakeJumpTargetValid(current_position - data, valid_targets);
8480 } 8488 }
8481 goto st244; 8489 goto st244;
8482 st244: 8490 st244:
8483 if ( ++( current_position) == ( end_of_bundle) ) 8491 if ( ++( current_position) == ( end_of_bundle) )
8484 goto _test_eof244; 8492 goto _test_eof244;
8485 case 244: 8493 case 244:
8486 switch( (*( current_position)) ) { 8494 switch( (*( current_position)) ) {
8487 case 4u: goto st2; 8495 case 4u: goto st2;
8488 case 5u: goto st3; 8496 case 5u: goto st3;
8489 case 12u: goto st2; 8497 case 12u: goto st2;
(...skipping 182 matching lines...) Expand 10 before | Expand all | Expand 10 after
8672 goto tr434; 8680 goto tr434;
8673 } else 8681 } else
8674 goto tr450; 8682 goto tr450;
8675 } else 8683 } else
8676 goto tr429; 8684 goto tr429;
8677 } else 8685 } else
8678 goto tr428; 8686 goto tr428;
8679 goto tr16; 8687 goto tr16;
8680 tr475: 8688 tr475:
8681 { 8689 {
8682 BitmapSetBit(valid_targets, current_position - data); 8690 MakeJumpTargetValid(current_position - data, valid_targets);
8683 } 8691 }
8684 goto st246; 8692 goto st246;
8685 st246: 8693 st246:
8686 if ( ++( current_position) == ( end_of_bundle) ) 8694 if ( ++( current_position) == ( end_of_bundle) )
8687 goto _test_eof246; 8695 goto _test_eof246;
8688 case 246: 8696 case 246:
8689 switch( (*( current_position)) ) { 8697 switch( (*( current_position)) ) {
8690 case 4u: goto st2; 8698 case 4u: goto st2;
8691 case 5u: goto st3; 8699 case 5u: goto st3;
8692 case 12u: goto st2; 8700 case 12u: goto st2;
(...skipping 558 matching lines...) Expand 10 before | Expand all | Expand 10 after
9251 user_callback, callback_data); 9259 user_callback, callback_data);
9252 9260
9253 /* We only use malloc for a large code sequences */ 9261 /* We only use malloc for a large code sequences */
9254 if (size > sizeof valid_targets_small) { 9262 if (size > sizeof valid_targets_small) {
9255 free(jump_dests); 9263 free(jump_dests);
9256 free(valid_targets); 9264 free(valid_targets);
9257 } 9265 }
9258 if (!result) errno = EINVAL; 9266 if (!result) errno = EINVAL;
9259 return result; 9267 return result;
9260 } 9268 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698