| Index: src/trusted/validator_ragel/gen/decoder_x86_32.c
|
| ===================================================================
|
| --- src/trusted/validator_ragel/gen/decoder_x86_32.c (revision 10997)
|
| +++ src/trusted/validator_ragel/gen/decoder_x86_32.c (working copy)
|
| @@ -21,25 +21,10 @@
|
| #include "native_client/src/shared/utils/types.h"
|
| #include "native_client/src/trusted/validator_ragel/unreviewed/decoder_internal.h"
|
|
|
| -/*
|
| - * These prefixes are not useful in IA32 mode, but they will "cleaned up" by
|
| - * decoder's cleanup procedure anyway. Do nothing when that happens.
|
| - */
|
| -#define SET_REX_PREFIX(P)
|
| -#define SET_VEX_PREFIX2(P)
|
| -#define CLEAR_SPURIOUS_REX_B()
|
| -#define SET_SPURIOUS_REX_B()
|
| -#define CLEAR_SPURIOUS_REX_X()
|
| -#define SET_SPURIOUS_REX_X()
|
| -#define CLEAR_SPURIOUS_REX_R()
|
| -#define SET_SPURIOUS_REX_R()
|
| -#define CLEAR_SPURIOUS_REX_W()
|
| -#define SET_SPURIOUS_REX_W()
|
|
|
|
|
|
|
|
|
| -
|
| static const short _x86_32_decoder_actions[] = {
|
| 0, 1, 0, 1, 1, 1, 2, 1,
|
| 3, 1, 6, 1, 12, 1, 13, 1,
|
| @@ -11583,8 +11568,8 @@
|
| 88u, 95u, 96u, 103u, 104u, 111u, 112u, 119u,
|
| 120u, 127u, 128u, 135u, 136u, 143u, 144u, 151u,
|
| 152u, 159u, 160u, 167u, 168u, 175u, 176u, 183u,
|
| - 184u, 191u, 192u, 199u, 200u, 207u, 216u, 223u,
|
| - 224u, 231u, 232u, 239u, 240u, 247u, 248u, 255u,
|
| + 184u, 191u, 192u, 199u, 200u, 207u, 208u, 215u,
|
| + 216u, 223u, 224u, 231u, 232u, 239u, 248u, 255u,
|
| 4u, 5u, 12u, 13u, 20u, 21u, 28u, 29u,
|
| 36u, 37u, 44u, 45u, 52u, 53u, 60u, 61u,
|
| 68u, 76u, 84u, 92u, 100u, 108u, 116u, 124u,
|
| @@ -11814,7 +11799,7 @@
|
| 119u, 120u, 127u, 128u, 135u, 136u, 143u, 144u,
|
| 151u, 152u, 159u, 160u, 167u, 168u, 175u, 176u,
|
| 183u, 184u, 191u, 192u, 199u, 200u, 207u, 208u,
|
| - 215u, 216u, 223u, 224u, 231u, 232u, 239u, 248u,
|
| + 215u, 216u, 223u, 232u, 239u, 240u, 247u, 248u,
|
| 255u, 4u, 5u, 12u, 13u, 20u, 21u, 28u,
|
| 29u, 36u, 37u, 44u, 45u, 52u, 53u, 60u,
|
| 61u, 68u, 76u, 84u, 92u, 100u, 108u, 116u,
|
| @@ -11825,8 +11810,8 @@
|
| 95u, 96u, 103u, 104u, 111u, 112u, 119u, 120u,
|
| 127u, 128u, 135u, 136u, 143u, 144u, 151u, 152u,
|
| 159u, 160u, 167u, 168u, 175u, 176u, 183u, 184u,
|
| - 191u, 192u, 199u, 200u, 207u, 208u, 215u, 216u,
|
| - 223u, 232u, 239u, 240u, 247u, 248u, 255u, 5u,
|
| + 191u, 200u, 207u, 208u, 215u, 216u, 223u, 224u,
|
| + 231u, 232u, 239u, 240u, 247u, 248u, 255u, 5u,
|
| 13u, 21u, 29u, 37u, 45u, 53u, 61u, 69u,
|
| 77u, 85u, 93u, 101u, 109u, 117u, 125u, 133u,
|
| 141u, 149u, 157u, 165u, 173u, 181u, 189u, 197u,
|
| @@ -11840,9 +11825,9 @@
|
| 71u, 72u, 79u, 80u, 87u, 88u, 95u, 96u,
|
| 103u, 104u, 111u, 112u, 119u, 120u, 127u, 128u,
|
| 135u, 136u, 143u, 144u, 151u, 152u, 159u, 160u,
|
| - 167u, 168u, 175u, 176u, 183u, 184u, 191u, 192u,
|
| - 199u, 200u, 207u, 208u, 215u, 216u, 223u, 224u,
|
| - 231u, 232u, 239u, 240u, 247u, 4u, 5u, 12u,
|
| + 167u, 168u, 175u, 176u, 183u, 184u, 191u, 200u,
|
| + 207u, 208u, 215u, 216u, 223u, 224u, 231u, 232u,
|
| + 239u, 240u, 247u, 248u, 255u, 4u, 5u, 12u,
|
| 13u, 20u, 21u, 28u, 29u, 36u, 37u, 44u,
|
| 45u, 52u, 53u, 60u, 61u, 68u, 76u, 84u,
|
| 92u, 100u, 108u, 116u, 124u, 132u, 140u, 148u,
|
| @@ -15101,7 +15086,7 @@
|
| 80u, 87u, 88u, 95u, 96u, 103u, 104u, 111u,
|
| 112u, 119u, 120u, 127u, 128u, 135u, 136u, 143u,
|
| 144u, 151u, 152u, 159u, 160u, 167u, 168u, 175u,
|
| - 176u, 183u, 184u, 191u, 192u, 199u, 208u, 215u,
|
| + 176u, 183u, 184u, 191u, 200u, 207u, 208u, 215u,
|
| 216u, 223u, 224u, 231u, 232u, 239u, 240u, 247u,
|
| 248u, 255u, 4u, 5u, 20u, 21u, 28u, 29u,
|
| 36u, 37u, 44u, 45u, 52u, 53u, 60u, 61u,
|
| @@ -18478,8 +18463,8 @@
|
| 4749, 4751, 4753, 4755, 4700, 4703, 4706, 4709,
|
| 4712, 4715, 4718, 4721, 4724, 4726, 4728, 4730,
|
| 4732, 4734, 4736, 4738, 4740, 4742, 4744, 4746,
|
| - 4748, 4750, 4752, 4754, 4756, 4757, 4759, 4760,
|
| - 4761, 4762, 4763, 4758, 4765, 4766, 4765, 4766,
|
| + 4748, 4750, 4752, 4754, 4756, 4757, 4758, 4759,
|
| + 4760, 4761, 4763, 4762, 4765, 4766, 4765, 4766,
|
| 4765, 4766, 4765, 4766, 4765, 4766, 4765, 4766,
|
| 4765, 4766, 4765, 4766, 4768, 4768, 4768, 4768,
|
| 4768, 4768, 4768, 4768, 4770, 4770, 4770, 4770,
|
| @@ -18676,15 +18661,15 @@
|
| 5244, 5247, 5250, 5253, 5256, 5258, 5260, 5262,
|
| 5264, 5266, 5268, 5270, 5272, 5274, 5276, 5278,
|
| 5280, 5282, 5284, 5286, 5288, 5289, 5290, 5291,
|
| - 5292, 5293, 5295, 5294, 5297, 5298, 5300, 5301,
|
| + 5293, 5294, 5295, 5292, 5297, 5298, 5300, 5301,
|
| 5303, 5304, 5306, 5307, 5309, 5310, 5312, 5313,
|
| 5315, 5316, 5318, 5319, 5321, 5323, 5325, 5327,
|
| 5329, 5331, 5333, 5335, 5337, 5339, 5341, 5343,
|
| 5345, 5347, 5349, 5351, 5296, 5299, 5302, 5305,
|
| 5308, 5311, 5314, 5317, 5320, 5322, 5324, 5326,
|
| 5328, 5330, 5332, 5334, 5336, 5338, 5340, 5342,
|
| - 5344, 5346, 5348, 5350, 5352, 5353, 5354, 5355,
|
| - 5357, 5358, 5359, 5356, 5361, 5361, 5361, 5361,
|
| + 5344, 5346, 5348, 5350, 5353, 5354, 5355, 5356,
|
| + 5357, 5358, 5359, 5352, 5361, 5361, 5361, 5361,
|
| 5361, 5361, 5361, 5361, 5361, 5361, 5361, 5361,
|
| 5361, 5361, 5361, 5361, 5361, 5361, 5361, 5361,
|
| 5361, 5361, 5361, 5361, 5361, 5361, 5361, 5361,
|
| @@ -18696,8 +18681,8 @@
|
| 5418, 5420, 5422, 5424, 5369, 5372, 5375, 5378,
|
| 5381, 5384, 5387, 5390, 5393, 5395, 5397, 5399,
|
| 5401, 5403, 5405, 5407, 5409, 5411, 5413, 5415,
|
| - 5417, 5419, 5421, 5423, 5425, 5426, 5427, 5428,
|
| - 5429, 5430, 5431, 5432, 5434, 5435, 5434, 5435,
|
| + 5417, 5419, 5421, 5423, 5426, 5427, 5428, 5429,
|
| + 5430, 5431, 5432, 5425, 5434, 5435, 5434, 5435,
|
| 5434, 5435, 5434, 5435, 5434, 5435, 5434, 5435,
|
| 5434, 5435, 5434, 5435, 5437, 5437, 5437, 5437,
|
| 5437, 5437, 5437, 5437, 5439, 5439, 5439, 5439,
|
| @@ -21789,8 +21774,8 @@
|
| 12025, 12027, 12029, 12031, 11976, 11979, 11982, 11985,
|
| 11988, 11991, 11994, 11997, 12000, 12002, 12004, 12006,
|
| 12008, 12010, 12012, 12014, 12016, 12018, 12020, 12022,
|
| - 12024, 12026, 12028, 12030, 12032, 12034, 12035, 12036,
|
| - 12037, 12038, 12039, 12033, 12041, 12042, 12044, 12045,
|
| + 12024, 12026, 12028, 12030, 12033, 12034, 12035, 12036,
|
| + 12037, 12038, 12039, 12032, 12041, 12042, 12044, 12045,
|
| 12047, 12048, 12050, 12051, 12053, 12054, 12056, 12057,
|
| 12059, 12060, 12062, 12064, 12066, 12068, 12070, 12072,
|
| 12074, 12076, 12078, 12080, 12082, 12084, 12086, 12088,
|
| @@ -25861,7 +25846,7 @@
|
| static const int x86_32_decoder_first_final = 1650;
|
| static const int x86_32_decoder_error = 0;
|
|
|
| -static const int x86_32_decoder_en_main = 1650;
|
| +static const int x86_32_decoder_en_decoder = 1650;
|
|
|
|
|
|
|
| @@ -25879,24 +25864,8 @@
|
|
|
| int current_state;
|
|
|
| - /* Not used in ia32_mode. */
|
| - instruction.prefix.rex = 0;
|
| + memset(&instruction, 0, sizeof instruction);
|
|
|
| - SET_DISP_TYPE(DISPNONE);
|
| - SET_IMM_TYPE(IMMNONE);
|
| - SET_IMM2_TYPE(IMMNONE);
|
| - SET_DATA16_PREFIX(FALSE);
|
| - SET_LOCK_PREFIX(FALSE);
|
| - SET_REPNZ_PREFIX(FALSE);
|
| - SET_REPZ_PREFIX(FALSE);
|
| - SET_BRANCH_NOT_TAKEN(FALSE);
|
| - SET_BRANCH_TAKEN(FALSE);
|
| - SET_ATT_INSTRUCTION_SUFFIX(NULL);
|
| - instruction.prefix.rex_b_spurious = FALSE;
|
| - instruction.prefix.rex_x_spurious = FALSE;
|
| - instruction.prefix.rex_r_spurious = FALSE;
|
| - instruction.prefix.rex_w_spurious = FALSE;
|
| -
|
|
|
| {
|
| ( current_state) = x86_32_decoder_start;
|
| @@ -30203,21 +30172,14 @@
|
| SET_DISP_TYPE(DISPNONE);
|
| SET_IMM_TYPE(IMMNONE);
|
| SET_IMM2_TYPE(IMMNONE);
|
| - SET_REX_PREFIX(FALSE);
|
| SET_DATA16_PREFIX(FALSE);
|
| SET_LOCK_PREFIX(FALSE);
|
| SET_REPNZ_PREFIX(FALSE);
|
| SET_REPZ_PREFIX(FALSE);
|
| SET_BRANCH_NOT_TAKEN(FALSE);
|
| SET_BRANCH_TAKEN(FALSE);
|
| - /* Top three bis of VEX2 are inverted: see AMD/Intel manual. */
|
| - SET_VEX_PREFIX2(VEX_R | VEX_X | VEX_B);
|
| SET_VEX_PREFIX3(0x00);
|
| SET_ATT_INSTRUCTION_SUFFIX(NULL);
|
| - CLEAR_SPURIOUS_REX_B();
|
| - CLEAR_SPURIOUS_REX_X();
|
| - CLEAR_SPURIOUS_REX_R();
|
| - CLEAR_SPURIOUS_REX_W();
|
| }
|
| break;
|
| case 1356:
|
|
|