hotspot/src/share/vm/adlc/archDesc.cpp
changeset 360 21d113ecbf6a
parent 1 489c9b5090e2
child 670 ddf3e9583f2f
equal deleted inserted replaced
357:f4edb0d9f109 360:21d113ecbf6a
   865 
   865 
   866   // Lookup this result operand and get its register class
   866   // Lookup this result operand and get its register class
   867   Form *form = (Form*)_globalNames[result];
   867   Form *form = (Form*)_globalNames[result];
   868   assert( form, "Result operand must be defined");
   868   assert( form, "Result operand must be defined");
   869   OperandForm *oper = form->is_operand();
   869   OperandForm *oper = form->is_operand();
       
   870   if (oper == NULL) form->dump();
   870   assert( oper, "Result must be an OperandForm");
   871   assert( oper, "Result must be an OperandForm");
   871   return reg_mask( *oper );
   872   return reg_mask( *oper );
   872 }
   873 }
   873 
   874 
   874 
   875 
   906 
   907 
   907   // !!!!!
   908   // !!!!!
   908   switch( last_char ) {
   909   switch( last_char ) {
   909   case 'I':    return "TypeInt::INT";
   910   case 'I':    return "TypeInt::INT";
   910   case 'P':    return "TypePtr::BOTTOM";
   911   case 'P':    return "TypePtr::BOTTOM";
       
   912   case 'N':    return "TypeNarrowOop::BOTTOM";
   911   case 'F':    return "Type::FLOAT";
   913   case 'F':    return "Type::FLOAT";
   912   case 'D':    return "Type::DOUBLE";
   914   case 'D':    return "Type::DOUBLE";
   913   case 'L':    return "TypeLong::LONG";
   915   case 'L':    return "TypeLong::LONG";
   914   case 's':    return "TypeInt::CC /*flags*/";
   916   case 's':    return "TypeInt::CC /*flags*/";
   915   default:
   917   default:
   942     constructOperand(ident, true);
   944     constructOperand(ident, true);
   943   }
   945   }
   944   // Create InstructForm and assign type for each ideal instruction.
   946   // Create InstructForm and assign type for each ideal instruction.
   945   for ( int j = _last_machine_leaf+1; j < _last_opcode; ++j) {
   947   for ( int j = _last_machine_leaf+1; j < _last_opcode; ++j) {
   946     char         *ident    = (char *)NodeClassNames[j];
   948     char         *ident    = (char *)NodeClassNames[j];
   947     if(!strcmp(ident, "ConI") || !strcmp(ident, "ConP") ||
   949     if(!strcmp(ident, "ConI") || !strcmp(ident, "ConP") || !strcmp(ident, "ConN") ||
   948        !strcmp(ident, "ConF") || !strcmp(ident, "ConD") ||
   950        !strcmp(ident, "ConF") || !strcmp(ident, "ConD") ||
   949        !strcmp(ident, "ConL") || !strcmp(ident, "Con" ) ||
   951        !strcmp(ident, "ConL") || !strcmp(ident, "Con" ) ||
   950        !strcmp(ident, "Bool") ) {
   952        !strcmp(ident, "Bool") ) {
   951       constructOperand(ident, true);
   953       constructOperand(ident, true);
   952     }
   954     }
  1107     // !!!!!
  1109     // !!!!!
  1108     // These are the current machine-dependent clones
  1110     // These are the current machine-dependent clones
  1109     if ( strcmp(idealName,"CmpI") == 0
  1111     if ( strcmp(idealName,"CmpI") == 0
  1110          || strcmp(idealName,"CmpU") == 0
  1112          || strcmp(idealName,"CmpU") == 0
  1111          || strcmp(idealName,"CmpP") == 0
  1113          || strcmp(idealName,"CmpP") == 0
       
  1114          || strcmp(idealName,"CmpN") == 0
  1112          || strcmp(idealName,"CmpL") == 0
  1115          || strcmp(idealName,"CmpL") == 0
  1113          || strcmp(idealName,"CmpD") == 0
  1116          || strcmp(idealName,"CmpD") == 0
  1114          || strcmp(idealName,"CmpF") == 0
  1117          || strcmp(idealName,"CmpF") == 0
  1115          || strcmp(idealName,"FastLock") == 0
  1118          || strcmp(idealName,"FastLock") == 0
  1116          || strcmp(idealName,"FastUnlock") == 0
  1119          || strcmp(idealName,"FastUnlock") == 0