36 class OpClassForm;
37 class AttributeForm;
38 class RegisterForm;
39 class PipelineForm;
40 class SourceForm;
41 class Peephole;
42 // ***** Level 2 classes *****
43 class Component;
44 class Predicate;
45 class MatchRule;
46 class Encode;
47 class Attribute;
48 class Effect;
49 class ExpandRule;
50 class RewriteRule;
51 class Constraint;
52 class ConstructRule;
53 // ***** Register Section *****
54 class RegDef;
55 class RegClass;
56 class AllocClass;
57 class ResourceForm;
58 // ***** Pipeline Section *****
59 class PipeDesc;
60 class PipeClass;
61 class RegList;
62 // ***** Peephole Section *****
63 class PeepMatch;
64 class PeepConstraint;
65 class PeepReplace;
66
67 // class ostream; // ostream is a typedef in some systems
68
69 extern char *toUpper(const char *str);
70
71 //---------------------------ADLParser-----------------------------------------
72 class ADLParser {
73 protected:
74 char *_curline; // Start of current line
75 char *_ptr; // Pointer into current location in File Buffer
110 void enc_class_parse_block(EncClass* encoding, char* ec_name);
111
112 // Parse the components of the frame section
113 void stack_dir_parse(FrameForm *frame); // Parse the stack direction entry
114 void sync_stack_slots_parse(FrameForm *frame);
115 void frame_pointer_parse(FrameForm *frame, bool native);
116 void interpreter_frame_pointer_parse(FrameForm *frame, bool native);
117 void inline_cache_parse(FrameForm *frame, bool native);
118 void interpreter_arg_ptr_parse(FrameForm *frame, bool native);
119 void interpreter_method_oop_parse(FrameForm *frame, bool native);
120 void cisc_spilling_operand_name_parse(FrameForm *frame, bool native);
121 void stack_alignment_parse(FrameForm *frame);
122 void return_addr_parse(FrameForm *frame, bool native);
123 void preserve_stack_parse(FrameForm *frame);
124 char *calling_convention_parse();
125 char *return_value_parse();
126
127 // Parse components of the register section
128 void reg_def_parse(void); // Parse register definition
129 void reg_class_parse(void); // Parse register class definition
130 void alloc_class_parse(void); // Parse allocation class definition
131
132 // Parse components of the definition section
133 void int_def_parse(void); // Parse an integer definition
134
135 // Parse components of a pipeline rule
136 void resource_parse(PipelineForm &pipe); // Parse resource definition
137 void pipe_desc_parse(PipelineForm &pipe); // Parse pipeline description definition
138 void pipe_class_parse(PipelineForm &pipe); // Parse pipeline class definition
139
140 // Parse components of a peephole rule
141 void peep_match_parse(Peephole &peep); // Parse the peephole match rule
142 void peep_constraint_parse(Peephole &peep);// Parse the peephole constraints
143 void peep_replace_parse(Peephole &peep); // Parse peephole replacement rule
144
145 // Parse the peep match rule tree
146 InstructForm *peep_match_child_parse(PeepMatch &match, int parent, int &position, int input);
147
148 // Parse components of an operand and/or instruction form
149 Predicate *pred_parse(void); // Parse predicate rule
|
36 class OpClassForm;
37 class AttributeForm;
38 class RegisterForm;
39 class PipelineForm;
40 class SourceForm;
41 class Peephole;
42 // ***** Level 2 classes *****
43 class Component;
44 class Predicate;
45 class MatchRule;
46 class Encode;
47 class Attribute;
48 class Effect;
49 class ExpandRule;
50 class RewriteRule;
51 class Constraint;
52 class ConstructRule;
53 // ***** Register Section *****
54 class RegDef;
55 class RegClass;
56 class CodeSnippetRegClass;
57 class ConditionalRegClass;
58 class AllocClass;
59 class ResourceForm;
60 // ***** Pipeline Section *****
61 class PipeDesc;
62 class PipeClass;
63 class RegList;
64 // ***** Peephole Section *****
65 class PeepMatch;
66 class PeepConstraint;
67 class PeepReplace;
68
69 // class ostream; // ostream is a typedef in some systems
70
71 extern char *toUpper(const char *str);
72
73 //---------------------------ADLParser-----------------------------------------
74 class ADLParser {
75 protected:
76 char *_curline; // Start of current line
77 char *_ptr; // Pointer into current location in File Buffer
112 void enc_class_parse_block(EncClass* encoding, char* ec_name);
113
114 // Parse the components of the frame section
115 void stack_dir_parse(FrameForm *frame); // Parse the stack direction entry
116 void sync_stack_slots_parse(FrameForm *frame);
117 void frame_pointer_parse(FrameForm *frame, bool native);
118 void interpreter_frame_pointer_parse(FrameForm *frame, bool native);
119 void inline_cache_parse(FrameForm *frame, bool native);
120 void interpreter_arg_ptr_parse(FrameForm *frame, bool native);
121 void interpreter_method_oop_parse(FrameForm *frame, bool native);
122 void cisc_spilling_operand_name_parse(FrameForm *frame, bool native);
123 void stack_alignment_parse(FrameForm *frame);
124 void return_addr_parse(FrameForm *frame, bool native);
125 void preserve_stack_parse(FrameForm *frame);
126 char *calling_convention_parse();
127 char *return_value_parse();
128
129 // Parse components of the register section
130 void reg_def_parse(void); // Parse register definition
131 void reg_class_parse(void); // Parse register class definition
132 void reg_class_dynamic_parse(void); // Parse dynamic register class definition
133 void alloc_class_parse(void); // Parse allocation class definition
134
135 // Parse components of the definition section
136 void int_def_parse(void); // Parse an integer definition
137
138 // Parse components of a pipeline rule
139 void resource_parse(PipelineForm &pipe); // Parse resource definition
140 void pipe_desc_parse(PipelineForm &pipe); // Parse pipeline description definition
141 void pipe_class_parse(PipelineForm &pipe); // Parse pipeline class definition
142
143 // Parse components of a peephole rule
144 void peep_match_parse(Peephole &peep); // Parse the peephole match rule
145 void peep_constraint_parse(Peephole &peep);// Parse the peephole constraints
146 void peep_replace_parse(Peephole &peep); // Parse peephole replacement rule
147
148 // Parse the peep match rule tree
149 InstructForm *peep_match_child_parse(PeepMatch &match, int parent, int &position, int input);
150
151 // Parse components of an operand and/or instruction form
152 Predicate *pred_parse(void); // Parse predicate rule
|