Mercurial > hg > graal-jvmci-8
comparison src/share/vm/adlc/adlparse.hpp @ 415:4d9884b01ba6
6754519: don't emit flag fixup for NaN when condition being tested doesn't need it
Reviewed-by: kvn, rasbold
author | never |
---|---|
date | Tue, 28 Oct 2008 09:31:30 -0700 |
parents | a61af66fc99e |
children | ad8c8ca4ab0f 284d0af00d53 |
comparison
equal
deleted
inserted
replaced
407:ebfd4ae89bf6 | 415:4d9884b01ba6 |
---|---|
68 //---------------------------ADLParser----------------------------------------- | 68 //---------------------------ADLParser----------------------------------------- |
69 class ADLParser { | 69 class ADLParser { |
70 protected: | 70 protected: |
71 char *_curline; // Start of current line | 71 char *_curline; // Start of current line |
72 char *_ptr; // Pointer into current location in File Buffer | 72 char *_ptr; // Pointer into current location in File Buffer |
73 int _linenum; // Count of line numbers seen so far | |
74 char _curchar; // Current character from buffer | 73 char _curchar; // Current character from buffer |
75 FormDict &_globalNames; // Global names | 74 FormDict &_globalNames; // Global names |
76 | 75 |
77 enum { _preproc_limit = 20 }; | 76 enum { _preproc_limit = 20 }; |
78 int _preproc_depth; // How deep are we into ifdefs? | 77 int _preproc_depth; // How deep are we into ifdefs? |
158 Opcode *opcode_parse(InstructForm *insr); // Parse instruction opcode | 157 Opcode *opcode_parse(InstructForm *insr); // Parse instruction opcode |
159 char *size_parse(InstructForm *insr); // Parse instruction size | 158 char *size_parse(InstructForm *insr); // Parse instruction size |
160 Interface *interface_parse(); // Parse operand interface rule | 159 Interface *interface_parse(); // Parse operand interface rule |
161 Interface *mem_interface_parse(); // Parse memory interface rule | 160 Interface *mem_interface_parse(); // Parse memory interface rule |
162 Interface *cond_interface_parse(); // Parse conditional interface rule | 161 Interface *cond_interface_parse(); // Parse conditional interface rule |
163 char *interface_field_parse();// Parse field contents | 162 char *interface_field_parse(const char** format = NULL);// Parse field contents |
164 | 163 |
165 FormatRule *format_parse(void); // Parse format rule | 164 FormatRule *format_parse(void); // Parse format rule |
165 FormatRule *template_parse(void); // Parse format rule | |
166 void effect_parse(InstructForm *instr); // Parse effect rule | 166 void effect_parse(InstructForm *instr); // Parse effect rule |
167 ExpandRule *expand_parse(InstructForm *instr); // Parse expand rule | 167 ExpandRule *expand_parse(InstructForm *instr); // Parse expand rule |
168 RewriteRule *rewrite_parse(void); // Parse rewrite rule | 168 RewriteRule *rewrite_parse(void); // Parse rewrite rule |
169 Constraint *constraint_parse(void); // Parse constraint rule | 169 Constraint *constraint_parse(void); // Parse constraint rule |
170 ConstructRule *construct_parse(void); // Parse construct rule | 170 ConstructRule *construct_parse(void); // Parse construct rule |
261 ADLParser(FileBuff &buf, ArchDesc &archDesc); // Create new ADLParser object | 261 ADLParser(FileBuff &buf, ArchDesc &archDesc); // Create new ADLParser object |
262 ~ADLParser(); // Destroy ADLParser object | 262 ~ADLParser(); // Destroy ADLParser object |
263 | 263 |
264 void parse(void); // Do the parsing & build forms lists | 264 void parse(void); // Do the parsing & build forms lists |
265 | 265 |
266 int getlines( ) { return _linenum; } | 266 int linenum() { return _buf.linenum(); } |
267 | 267 |
268 static bool is_literal_constant(const char *hex_string); | 268 static bool is_literal_constant(const char *hex_string); |
269 static bool is_hex_digit(char digit); | 269 static bool is_hex_digit(char digit); |
270 static bool is_int_token(const char* token, int& intval); | 270 static bool is_int_token(const char* token, int& intval); |
271 static void trim(char* &token); // trim leading & trailing spaces | 271 static void trim(char* &token); // trim leading & trailing spaces |