< prev index next >

src/share/vm/adlc/dfa.cpp

Print this page

        

@@ -369,11 +369,11 @@
 // rule, and prune any cases which are higher cost for the same reduction.
 // In order to generate the DFA we walk the table of ideal opcode/MatchList
 // pairs generated by the ADLC front end to build the contents of the case
 // statements (a series of if statements).
 void ArchDesc::buildDFA(FILE* fp) {
-  int i;
+  uint i;
   // Remember operands that are the starting points for chain rules.
   // Prevent cycles by checking if we have already generated chain.
   Dict operands_chained_from(cmpstr, hashstr, Form::arena);
 
   // Hash inputs to match rules so that final DFA contains only one entry for

@@ -422,32 +422,32 @@
   fprintf(fp, "\n");
   fprintf(fp, "\n");
   if (_dfa_small) {
     // Now build the individual routines just like the switch entries in large version
     // Iterate over the table of MatchLists, start at first valid opcode of 1
-    for (i = 1; i < _last_opcode; i++) {
+    for (i = 1; i < static_cast<uint>(Opcodes::_last_opcode); i++) {
       if (_mlistab[i] == NULL) continue;
       // Generate the routine header statement for this opcode
       fprintf(fp, "void  State::_sub_Op_%s(const Node *n){\n", NodeClassNames[i]);
       // Generate body. Shared for both inline and out-of-line version
       gen_dfa_state_body(fp, minimize, status, operands_chained_from, i);
       // End of routine
       fprintf(fp, "}\n");
     }
   }
   fprintf(fp, "bool State::DFA");
-  fprintf(fp, "(int opcode, const Node *n) {\n");
+  fprintf(fp, "(Opcodes opcode, const Node *n) {\n");
   fprintf(fp, "  switch(opcode) {\n");
 
   // Iterate over the table of MatchLists, start at first valid opcode of 1
-  for (i = 1; i < _last_opcode; i++) {
+  for (i = 1; i < static_cast<uint>(Opcodes::_last_opcode); i++) {
     if (_mlistab[i] == NULL) continue;
     // Generate the case statement for this opcode
     if (_dfa_small) {
-      fprintf(fp, "  case Op_%s: { _sub_Op_%s(n);\n", NodeClassNames[i], NodeClassNames[i]);
+      fprintf(fp, "  case Opcodes::Op_%s: { _sub_Op_%s(n);\n", NodeClassNames[i], NodeClassNames[i]);
     } else {
-      fprintf(fp, "  case Op_%s: {\n", NodeClassNames[i]);
+      fprintf(fp, "  case Opcodes::Op_%s: {\n", NodeClassNames[i]);
       // Walk the list, compacting it
       gen_dfa_state_body(fp, minimize, status, operands_chained_from, i);
     }
     // Print the "break"
     fprintf(fp, "    break;\n");

@@ -456,11 +456,11 @@
 
   // Generate the default case for switch(opcode)
   fprintf(fp, "  \n");
   fprintf(fp, "  default:\n");
   fprintf(fp, "    tty->print(\"Default case invoked for: \\n\");\n");
-  fprintf(fp, "    tty->print(\"   opcode  = %cd, \\\"%cs\\\"\\n\", opcode, NodeClassNames[opcode]);\n", '%', '%');
+  fprintf(fp, "    tty->print(\"   opcode  = %cu, \\\"%cs\\\"\\n\", static_cast<uint>(opcode), NodeClassNames[static_cast<uint>(opcode)]);\n", '%', '%');
   fprintf(fp, "    return false;\n");
   fprintf(fp, "  }\n");
 
   // Return status, indicating a successful match.
   fprintf(fp, "  return true;\n");
< prev index next >