src/hotspot/share/adlc/archDesc.cpp
changeset 59278 8375560db76b
parent 59277 31272cef28e2
equal deleted inserted replaced
59277:31272cef28e2 59278:8375560db76b
   806 
   806 
   807   if (strcmp(reg_class_name,"Universe")==0) {
   807   if (strcmp(reg_class_name,"Universe")==0) {
   808     return "RegMask::Empty";
   808     return "RegMask::Empty";
   809   } else if (strcmp(reg_class_name,"stack_slots")==0) {
   809   } else if (strcmp(reg_class_name,"stack_slots")==0) {
   810     return "(Compile::current()->FIRST_STACK_mask())";
   810     return "(Compile::current()->FIRST_STACK_mask())";
       
   811   } else if (strcmp(reg_class_name, "dynamic")==0) {
       
   812     return "*_opnds[0]->in_RegMask(0)";
   811   } else {
   813   } else {
   812     char       *rc_name = toUpper(reg_class_name);
   814     char       *rc_name = toUpper(reg_class_name);
   813     const char *mask    = "_mask";
   815     const char *mask    = "_mask";
   814     int         length  = (int)strlen(rc_name) + (int)strlen(mask) + 5;
   816     int         length  = (int)strlen(rc_name) + (int)strlen(mask) + 5;
   815     char       *regMask = new char[length];
   817     char       *regMask = new char[length];
   868                inForm._ident);
   870                inForm._ident);
   869     abort();
   871     abort();
   870   }
   872   }
   871 
   873 
   872   // Instructions producing 'Universe' use RegMask::Empty
   874   // Instructions producing 'Universe' use RegMask::Empty
   873   if( strcmp(result,"Universe")==0 ) {
   875   if (strcmp(result,"Universe") == 0) {
   874     return "RegMask::Empty";
   876     return "RegMask::Empty";
   875   }
   877   }
   876 
   878 
   877   // Lookup this result operand and get its register class
   879   // Lookup this result operand and get its register class
   878   Form *form = (Form*)_globalNames[result];
   880   Form *form = (Form*)_globalNames[result];