src/share/vm/opto/connode.cpp

Print this page
rev 5190 : 8015107: NPG: Use consistent naming for metaspace concepts


 613   assert(t->isa_narrowklass(), "only narrow klass ptr here");
 614   return t->make_ptr();
 615 }
 616 
 617 Node* EncodePKlassNode::Identity(PhaseTransform* phase) {
 618   const Type *t = phase->type( in(1) );
 619   if( t == Type::TOP ) return in(1);
 620 
 621   if (in(1)->is_DecodeNKlass()) {
 622     // (EncodePKlass (DecodeNKlass p)) -> p
 623     return in(1)->in(1);
 624   }
 625   return this;
 626 }
 627 
 628 const Type *EncodePKlassNode::Value( PhaseTransform *phase ) const {
 629   const Type *t = phase->type( in(1) );
 630   if (t == Type::TOP) return Type::TOP;
 631   assert (t != TypePtr::NULL_PTR, "null klass?");
 632 
 633   assert(UseCompressedKlassPointers && t->isa_klassptr(), "only klass ptr here");
 634   return t->make_narrowklass();
 635 }
 636 
 637 
 638 //=============================================================================
 639 //------------------------------Identity---------------------------------------
 640 Node *Conv2BNode::Identity( PhaseTransform *phase ) {
 641   const Type *t = phase->type( in(1) );
 642   if( t == Type::TOP ) return in(1);
 643   if( t == TypeInt::ZERO ) return in(1);
 644   if( t == TypeInt::ONE ) return in(1);
 645   if( t == TypeInt::BOOL ) return in(1);
 646   return this;
 647 }
 648 
 649 //------------------------------Value------------------------------------------
 650 const Type *Conv2BNode::Value( PhaseTransform *phase ) const {
 651   const Type *t = phase->type( in(1) );
 652   if( t == Type::TOP ) return Type::TOP;
 653   if( t == TypeInt::ZERO ) return TypeInt::ZERO;




 613   assert(t->isa_narrowklass(), "only narrow klass ptr here");
 614   return t->make_ptr();
 615 }
 616 
 617 Node* EncodePKlassNode::Identity(PhaseTransform* phase) {
 618   const Type *t = phase->type( in(1) );
 619   if( t == Type::TOP ) return in(1);
 620 
 621   if (in(1)->is_DecodeNKlass()) {
 622     // (EncodePKlass (DecodeNKlass p)) -> p
 623     return in(1)->in(1);
 624   }
 625   return this;
 626 }
 627 
 628 const Type *EncodePKlassNode::Value( PhaseTransform *phase ) const {
 629   const Type *t = phase->type( in(1) );
 630   if (t == Type::TOP) return Type::TOP;
 631   assert (t != TypePtr::NULL_PTR, "null klass?");
 632 
 633   assert(UseCompressedClassPointers && t->isa_klassptr(), "only klass ptr here");
 634   return t->make_narrowklass();
 635 }
 636 
 637 
 638 //=============================================================================
 639 //------------------------------Identity---------------------------------------
 640 Node *Conv2BNode::Identity( PhaseTransform *phase ) {
 641   const Type *t = phase->type( in(1) );
 642   if( t == Type::TOP ) return in(1);
 643   if( t == TypeInt::ZERO ) return in(1);
 644   if( t == TypeInt::ONE ) return in(1);
 645   if( t == TypeInt::BOOL ) return in(1);
 646   return this;
 647 }
 648 
 649 //------------------------------Value------------------------------------------
 650 const Type *Conv2BNode::Value( PhaseTransform *phase ) const {
 651   const Type *t = phase->type( in(1) );
 652   if( t == Type::TOP ) return Type::TOP;
 653   if( t == TypeInt::ZERO ) return TypeInt::ZERO;