< prev index next >

src/hotspot/share/adlc/formssel.cpp

Print this page

        

*** 917,927 **** // Add parameters that "do not appear in match rule". bool has_temp = false; const char *name; const char *kill_name = NULL; for (_parameters.reset(); (name = _parameters.iter()) != NULL;) { ! OperandForm *opForm = (OperandForm*)_localNames[name]; Effect* e = NULL; { const Form* form = _effects[name]; e = form ? form->is_effect() : NULL; --- 917,927 ---- // Add parameters that "do not appear in match rule". bool has_temp = false; const char *name; const char *kill_name = NULL; for (_parameters.reset(); (name = _parameters.iter()) != NULL;) { ! OpClassForm *opForm = (OpClassForm*)_localNames[name]; Effect* e = NULL; { const Form* form = _effects[name]; e = form ? form->is_effect() : NULL;
*** 934,944 **** // uses so their operand numbering must directly follow the real // inputs from the match rule. Fixing the numbering seems // complex so simply enforce the restriction during parse. if (kill_name != NULL && e->isa(Component::TEMP) && !e->isa(Component::DEF)) { ! OperandForm* kill = (OperandForm*)_localNames[kill_name]; globalAD->syntax_err(_linenum, "%s: %s %s must be at the end of the argument list\n", _ident, kill->_ident, kill_name); } else if (e->isa(Component::KILL) && !e->isa(Component::USE)) { kill_name = name; } --- 934,944 ---- // uses so their operand numbering must directly follow the real // inputs from the match rule. Fixing the numbering seems // complex so simply enforce the restriction during parse. if (kill_name != NULL && e->isa(Component::TEMP) && !e->isa(Component::DEF)) { ! OpClassForm* kill = (OpClassForm*)_localNames[kill_name]; globalAD->syntax_err(_linenum, "%s: %s %s must be at the end of the argument list\n", _ident, kill->_ident, kill_name); } else if (e->isa(Component::KILL) && !e->isa(Component::USE)) { kill_name = name; }
*** 2348,2358 **** if (_matrule) _matrule->append_components(_localNames, _components); // Add parameters that "do not appear in match rule". const char *name; for (_parameters.reset(); (name = _parameters.iter()) != NULL;) { ! OperandForm *opForm = (OperandForm*)_localNames[name]; if ( _components.operand_position(name) == -1 ) { _components.insert(name, opForm->_ident, Component::INVALID, false); } } --- 2348,2358 ---- if (_matrule) _matrule->append_components(_localNames, _components); // Add parameters that "do not appear in match rule". const char *name; for (_parameters.reset(); (name = _parameters.iter()) != NULL;) { ! OpClassForm *opForm = (OpClassForm*)_localNames[name]; if ( _components.operand_position(name) == -1 ) { _components.insert(name, opForm->_ident, Component::INVALID, false); } }
< prev index next >