src/share/vm/adlc/output_c.cpp

Print this page
rev 7060 : 8058880: Introduce identifier TEMP_DEF for effects in adl.

@@ -1713,17 +1713,18 @@
     // For kills, the choice of projection numbers is arbitrary
     int proj_no = 1;
     bool declared_def  = false;
     bool declared_kill = false;
 
-    while( (comp = node->_components.iter()) != NULL ) {
+    while ((comp = node->_components.iter()) != NULL) {
       // Lookup register class associated with operand type
       Form        *form = (Form*)_globalNames[comp->_type];
-      assert( form, "component type must be a defined form");
+      assert(form, "component type must be a defined form");
       OperandForm *op   = form->is_operand();
 
-      if (comp->is(Component::TEMP)) {
+      if (comp->is(Component::TEMP) ||
+          comp->is(Component::TEMP_DEF)) {
         fprintf(fp, "  // TEMP %s\n", comp->_name);
         if (!declared_def) {
           // Define the variable "def" to hold new MachProjNodes
           fprintf(fp, "  MachTempNode *def;\n");
           declared_def = true;

@@ -1748,11 +1749,11 @@
           // Define the variable "kill" to hold new MachProjNodes
           fprintf(fp, "  MachProjNode *kill;\n");
           declared_kill = true;
         }
 
-        assert( op, "Support additional KILLS for base operands");
+        assert(op, "Support additional KILLS for base operands");
         const char *regmask    = reg_mask(*op);
         const char *ideal_type = op->ideal_type(_globalNames, _register);
 
         if (!op->is_bound_register()) {
           syntax_err(node->_linenum, "In %s only bound registers can be killed: %s %s\n",