--- old/src/share/vm/adlc/output_c.cpp 2016-07-11 22:46:09.037508597 +0900 +++ new/src/share/vm/adlc/output_c.cpp 2016-07-11 22:46:08.896509090 +0900 @@ -49,7 +49,7 @@ for (reg_def = registers->iter_RegDefs(); reg_def != NULL; reg_def = next) { next = registers->iter_RegDefs(); const char *comma = (next != NULL) ? "," : " // no trailing comma"; - fprintf(fp," \"%s\"%s\n", reg_def->_regname, comma); + fprintf(fp," \"Opcodes::%s\"%s\n", reg_def->_regname, comma); } // Finish defining enumeration @@ -1713,7 +1713,7 @@ } fprintf(fp," kill = "); - fprintf(fp,"new MachProjNode( %s, %d, (%s), Op_%s );\n", + fprintf(fp,"new MachProjNode( %s, %d, (%s), Opcodes::Op_%s );\n", machNode, proj_no++, regmask, ideal_type); fprintf(fp," proj_list.push(kill);\n"); } @@ -3637,7 +3637,7 @@ fprintf(fp_hpp, "\n"); fprintf(fp_hpp, "extern const char register_save_policy[];\n"); fprintf(fp_hpp, "extern const char c_reg_save_policy[];\n"); - fprintf(fp_hpp, "extern const int register_save_type[];\n"); + fprintf(fp_hpp, "extern const Opcodes register_save_type[];\n"); fprintf(fp_hpp, "\n"); // Construct Save-Policy array @@ -3666,12 +3666,13 @@ // Construct Register Save Type array fprintf(fp_cpp, "// Map from machine-independent register number to register_save_type\n"); - fprintf(fp_cpp, "const int register_save_type[] = {\n"); + fprintf(fp_cpp, "const Opcodes register_save_type[] = {\n"); _register->reset_RegDefs(); for( rdef = _register->iter_RegDefs(); rdef != NULL; rdef = next ) { next = _register->iter_RegDefs(); const char *comma = (next != NULL) ? "," : " // no trailing comma"; - fprintf(fp_cpp, " %s%s\n", rdef->_idealtype, comma); + const char *idealtype = (next != NULL) ? rdef->_idealtype : "Op_Node"; + fprintf(fp_cpp, " Opcodes::%s%s\n", idealtype, comma); } fprintf(fp_cpp, "};\n\n"); @@ -4097,14 +4098,14 @@ // instruction has a matching rule for the host architecture. void ArchDesc::buildInstructMatchCheck(FILE *fp_cpp) const { fprintf(fp_cpp, "\n\n"); - fprintf(fp_cpp, "const bool Matcher::has_match_rule(int opcode) {\n"); - fprintf(fp_cpp, " assert(_last_machine_leaf < opcode && opcode < _last_opcode, \"opcode in range\");\n"); - fprintf(fp_cpp, " return _hasMatchRule[opcode];\n"); + fprintf(fp_cpp, "const bool Matcher::has_match_rule(Opcodes opcode) {\n"); + fprintf(fp_cpp, " assert(Opcodes::_last_machine_leaf < opcode && opcode < Opcodes::_last_opcode, \"opcode in range\");\n"); + fprintf(fp_cpp, " return _hasMatchRule[static_cast(opcode)];\n"); fprintf(fp_cpp, "}\n\n"); - fprintf(fp_cpp, "const bool Matcher::_hasMatchRule[_last_opcode] = {\n"); - int i; - for (i = 0; i < _last_opcode - 1; i++) { + fprintf(fp_cpp, "const bool Matcher::_hasMatchRule[static_cast(Opcodes::_last_opcode)] = {\n"); + uint i; + for (i = 0; i < static_cast(Opcodes::_last_opcode) - 1; i++) { fprintf(fp_cpp, " %-5s, // %s\n", _has_match_rule[i] ? "true" : "false", NodeClassNames[i]); @@ -4156,11 +4157,11 @@ fprintf(fp_cpp,"%s\n", _frame->_c_calling_convention); fprintf(fp_cpp,"}\n\n"); // Java Return Value Location - fprintf(fp_cpp,"OptoRegPair Matcher::return_value(int ideal_reg, bool is_outgoing) {\n"); + fprintf(fp_cpp,"OptoRegPair Matcher::return_value(Opcodes ideal_reg, bool is_outgoing) {\n"); fprintf(fp_cpp,"%s\n", _frame->_return_value); fprintf(fp_cpp,"}\n\n"); // Native Return Value Location - fprintf(fp_cpp,"OptoRegPair Matcher::c_return_value(int ideal_reg, bool is_outgoing) {\n"); + fprintf(fp_cpp,"OptoRegPair Matcher::c_return_value(Opcodes ideal_reg, bool is_outgoing) {\n"); fprintf(fp_cpp,"%s\n", _frame->_c_return_value); fprintf(fp_cpp,"}\n\n");