1709 protected:
1710 virtual uint hash() const; // Check the type
1711 virtual uint cmp( const Node &n ) const;
1712 virtual uint size_of() const; // Size is bigger
1713 const Type* const _type;
1714 public:
1715 void set_type(const Type* t) {
1716 assert(t != NULL, "sanity");
1717 debug_only(uint check_hash = (VerifyHashTableKeys && _hash_lock) ? hash() : NO_HASH);
1718 *(const Type**)&_type = t; // cast away const-ness
1719 // If this node is in the hash table, make sure it doesn't need a rehash.
1720 assert(check_hash == NO_HASH || check_hash == hash(), "type change must preserve hash code");
1721 }
1722 const Type* type() const { assert(_type != NULL, "sanity"); return _type; };
1723 TypeNode( const Type *t, uint required ) : Node(required), _type(t) {
1724 init_class_id(Class_Type);
1725 }
1726 virtual const Type* Value(PhaseGVN* phase) const;
1727 virtual const Type *bottom_type() const;
1728 virtual uint ideal_reg() const;
1729
1730 #ifndef PRODUCT
1731 virtual void dump_spec(outputStream *st) const;
1732 virtual void dump_compact_spec(outputStream *st) const;
1733 #endif
1734 };
1735
1736 #endif // SHARE_VM_OPTO_NODE_HPP
|
1709 protected:
1710 virtual uint hash() const; // Check the type
1711 virtual uint cmp( const Node &n ) const;
1712 virtual uint size_of() const; // Size is bigger
1713 const Type* const _type;
1714 public:
1715 void set_type(const Type* t) {
1716 assert(t != NULL, "sanity");
1717 debug_only(uint check_hash = (VerifyHashTableKeys && _hash_lock) ? hash() : NO_HASH);
1718 *(const Type**)&_type = t; // cast away const-ness
1719 // If this node is in the hash table, make sure it doesn't need a rehash.
1720 assert(check_hash == NO_HASH || check_hash == hash(), "type change must preserve hash code");
1721 }
1722 const Type* type() const { assert(_type != NULL, "sanity"); return _type; };
1723 TypeNode( const Type *t, uint required ) : Node(required), _type(t) {
1724 init_class_id(Class_Type);
1725 }
1726 virtual const Type* Value(PhaseGVN* phase) const;
1727 virtual const Type *bottom_type() const;
1728 virtual uint ideal_reg() const;
1729 #ifndef PRODUCT
1730 virtual void dump_spec(outputStream *st) const;
1731 virtual void dump_compact_spec(outputStream *st) const;
1732 #endif
1733 };
1734
1735 #endif // SHARE_VM_OPTO_NODE_HPP
|