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: |