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

src/share/vm/opto/type.hpp

Print this page




 697   // Creates a type given a klass. Correctly handles multi-dimensional arrays
 698   // Respects UseUniqueSubclasses.
 699   // If the klass is final, the resulting type will be exact.
 700   static const TypeOopPtr* make_from_klass(ciKlass* klass) {
 701     return make_from_klass_common(klass, true, false);
 702   }
 703   // Same as before, but will produce an exact type, even if
 704   // the klass is not final, as long as it has exactly one implementation.
 705   static const TypeOopPtr* make_from_klass_unique(ciKlass* klass) {
 706     return make_from_klass_common(klass, true, true);
 707   }
 708   // Same as before, but does not respects UseUniqueSubclasses.
 709   // Use this only for creating array element types.
 710   static const TypeOopPtr* make_from_klass_raw(ciKlass* klass) {
 711     return make_from_klass_common(klass, false, false);
 712   }
 713   // Creates a singleton type given an object.
 714   static const TypeOopPtr* make_from_constant(ciObject* o);
 715 
 716   // Make a generic (unclassed) pointer to an oop.
 717   static const TypeOopPtr* make(PTR ptr, int offset);
 718 
 719   ciObject* const_oop()    const { return _const_oop; }
 720   virtual ciKlass* klass() const { return _klass;     }
 721   bool klass_is_exact()    const { return _klass_is_exact; }
 722 
 723   // Returns true if this pointer points at memory which contains a
 724   // compressed oop references.
 725   bool is_ptr_to_narrowoop_nv() const { return _is_ptr_to_narrowoop; }
 726 
 727   bool is_known_instance()       const { return _instance_id > 0; }
 728   int  instance_id()             const { return _instance_id; }
 729   bool is_known_instance_field() const { return is_known_instance() && _offset >= 0; }
 730 
 731   virtual intptr_t get_con() const;
 732 
 733   virtual const Type *cast_to_ptr_type(PTR ptr) const;
 734 
 735   virtual const Type *cast_to_exactness(bool klass_is_exact) const;
 736 
 737   virtual const TypeOopPtr *cast_to_instance_id(int instance_id) const;




 697   // Creates a type given a klass. Correctly handles multi-dimensional arrays
 698   // Respects UseUniqueSubclasses.
 699   // If the klass is final, the resulting type will be exact.
 700   static const TypeOopPtr* make_from_klass(ciKlass* klass) {
 701     return make_from_klass_common(klass, true, false);
 702   }
 703   // Same as before, but will produce an exact type, even if
 704   // the klass is not final, as long as it has exactly one implementation.
 705   static const TypeOopPtr* make_from_klass_unique(ciKlass* klass) {
 706     return make_from_klass_common(klass, true, true);
 707   }
 708   // Same as before, but does not respects UseUniqueSubclasses.
 709   // Use this only for creating array element types.
 710   static const TypeOopPtr* make_from_klass_raw(ciKlass* klass) {
 711     return make_from_klass_common(klass, false, false);
 712   }
 713   // Creates a singleton type given an object.
 714   static const TypeOopPtr* make_from_constant(ciObject* o);
 715 
 716   // Make a generic (unclassed) pointer to an oop.
 717   static const TypeOopPtr* make(PTR ptr, int offset, int instance_id = InstanceBot);
 718 
 719   ciObject* const_oop()    const { return _const_oop; }
 720   virtual ciKlass* klass() const { return _klass;     }
 721   bool klass_is_exact()    const { return _klass_is_exact; }
 722 
 723   // Returns true if this pointer points at memory which contains a
 724   // compressed oop references.
 725   bool is_ptr_to_narrowoop_nv() const { return _is_ptr_to_narrowoop; }
 726 
 727   bool is_known_instance()       const { return _instance_id > 0; }
 728   int  instance_id()             const { return _instance_id; }
 729   bool is_known_instance_field() const { return is_known_instance() && _offset >= 0; }
 730 
 731   virtual intptr_t get_con() const;
 732 
 733   virtual const Type *cast_to_ptr_type(PTR ptr) const;
 734 
 735   virtual const Type *cast_to_exactness(bool klass_is_exact) const;
 736 
 737   virtual const TypeOopPtr *cast_to_instance_id(int instance_id) const;


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