src/share/vm/opto/type.hpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File hotspot Sdiff src/share/vm/opto

src/share/vm/opto/type.hpp

Print this page
rev 5462 : 8026844: Various Math functions needs intrinsification
Reviewed-by: duke


 568   static const TypeTuple *make_range(ciSignature *sig);
 569   static const TypeTuple *make_domain(ciInstanceKlass* recv, ciSignature *sig);
 570 
 571   // Subroutine call type with space allocated for argument types
 572   static const Type **fields( uint arg_cnt );
 573 
 574   virtual const Type *xmeet( const Type *t ) const;
 575   virtual const Type *xdual() const;    // Compute dual right now.
 576   // Convenience common pre-built types.
 577   static const TypeTuple *IFBOTH;
 578   static const TypeTuple *IFFALSE;
 579   static const TypeTuple *IFTRUE;
 580   static const TypeTuple *IFNEITHER;
 581   static const TypeTuple *LOOPBODY;
 582   static const TypeTuple *MEMBAR;
 583   static const TypeTuple *STORECONDITIONAL;
 584   static const TypeTuple *START_I2C;
 585   static const TypeTuple *INT_PAIR;
 586   static const TypeTuple *LONG_PAIR;
 587   static const TypeTuple *INT_CC_PAIR;

 588 #ifndef PRODUCT
 589   virtual void dump2( Dict &d, uint, outputStream *st  ) const; // Specialized per-Type dumping
 590 #endif
 591 };
 592 
 593 //------------------------------TypeAry----------------------------------------
 594 // Class of Array Types
 595 class TypeAry : public Type {
 596   TypeAry(const Type* elem, const TypeInt* size, bool stable) : Type(Array),
 597       _elem(elem), _size(size), _stable(stable) {}
 598 public:
 599   virtual bool eq( const Type *t ) const;
 600   virtual int  hash() const;             // Type specific hashing
 601   virtual bool singleton(void) const;    // TRUE if type is a singleton
 602   virtual bool empty(void) const;        // TRUE if type is vacuous
 603 
 604 private:
 605   const Type *_elem;            // Element type of array
 606   const TypeInt *_size;         // Elements in array
 607   const bool _stable;           // Are elements @Stable?




 568   static const TypeTuple *make_range(ciSignature *sig);
 569   static const TypeTuple *make_domain(ciInstanceKlass* recv, ciSignature *sig);
 570 
 571   // Subroutine call type with space allocated for argument types
 572   static const Type **fields( uint arg_cnt );
 573 
 574   virtual const Type *xmeet( const Type *t ) const;
 575   virtual const Type *xdual() const;    // Compute dual right now.
 576   // Convenience common pre-built types.
 577   static const TypeTuple *IFBOTH;
 578   static const TypeTuple *IFFALSE;
 579   static const TypeTuple *IFTRUE;
 580   static const TypeTuple *IFNEITHER;
 581   static const TypeTuple *LOOPBODY;
 582   static const TypeTuple *MEMBAR;
 583   static const TypeTuple *STORECONDITIONAL;
 584   static const TypeTuple *START_I2C;
 585   static const TypeTuple *INT_PAIR;
 586   static const TypeTuple *LONG_PAIR;
 587   static const TypeTuple *INT_CC_PAIR;
 588   static const TypeTuple *LONG_CC_PAIR;
 589 #ifndef PRODUCT
 590   virtual void dump2( Dict &d, uint, outputStream *st  ) const; // Specialized per-Type dumping
 591 #endif
 592 };
 593 
 594 //------------------------------TypeAry----------------------------------------
 595 // Class of Array Types
 596 class TypeAry : public Type {
 597   TypeAry(const Type* elem, const TypeInt* size, bool stable) : Type(Array),
 598       _elem(elem), _size(size), _stable(stable) {}
 599 public:
 600   virtual bool eq( const Type *t ) const;
 601   virtual int  hash() const;             // Type specific hashing
 602   virtual bool singleton(void) const;    // TRUE if type is a singleton
 603   virtual bool empty(void) const;        // TRUE if type is vacuous
 604 
 605 private:
 606   const Type *_elem;            // Element type of array
 607   const TypeInt *_size;         // Elements in array
 608   const bool _stable;           // Are elements @Stable?


src/share/vm/opto/type.hpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File