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

src/share/vm/opto/type.hpp

Print this page




  47 class   TypeD;
  48 class   TypeF;
  49 class   TypeInt;
  50 class   TypeLong;
  51 class   TypeNarrowOop;
  52 class   TypeAry;
  53 class   TypeTuple;
  54 class   TypePtr;
  55 class     TypeRawPtr;
  56 class     TypeOopPtr;
  57 class       TypeInstPtr;
  58 class       TypeAryPtr;
  59 class       TypeKlassPtr;
  60 
  61 //------------------------------Type-------------------------------------------
  62 // Basic Type object, represents a set of primitive Values.
  63 // Types are hash-cons'd into a private class dictionary, so only one of each
  64 // different kind of Type exists.  Types are never modified after creation, so
  65 // all their interesting fields are constant.
  66 class Type {


  67 public:
  68   enum TYPES {
  69     Bad=0,                      // Type check
  70     Control,                    // Control of code (not in lattice)
  71     Top,                        // Top of the lattice
  72     Int,                        // Integer range (lo-hi)
  73     Long,                       // Long integer range (lo-hi)
  74     Half,                       // Placeholder half of doubleword
  75     NarrowOop,                  // Compressed oop pointer
  76 
  77     Tuple,                      // Method signature or object layout
  78     Array,                      // Array types
  79 
  80     AnyPtr,                     // Any old raw, klass, inst, or array pointer
  81     RawPtr,                     // Raw (non-oop) pointers
  82     OopPtr,                     // Any and all Java heap entities
  83     InstPtr,                    // Instance pointers (non-array objects)
  84     AryPtr,                     // Array pointers
  85     KlassPtr,                   // Klass pointers
  86     // (Ptr order matters:  See is_ptr, isa_ptr, is_oopptr, isa_oopptr.)




  47 class   TypeD;
  48 class   TypeF;
  49 class   TypeInt;
  50 class   TypeLong;
  51 class   TypeNarrowOop;
  52 class   TypeAry;
  53 class   TypeTuple;
  54 class   TypePtr;
  55 class     TypeRawPtr;
  56 class     TypeOopPtr;
  57 class       TypeInstPtr;
  58 class       TypeAryPtr;
  59 class       TypeKlassPtr;
  60 
  61 //------------------------------Type-------------------------------------------
  62 // Basic Type object, represents a set of primitive Values.
  63 // Types are hash-cons'd into a private class dictionary, so only one of each
  64 // different kind of Type exists.  Types are never modified after creation, so
  65 // all their interesting fields are constant.
  66 class Type {
  67   friend class VMStructs;
  68 
  69 public:
  70   enum TYPES {
  71     Bad=0,                      // Type check
  72     Control,                    // Control of code (not in lattice)
  73     Top,                        // Top of the lattice
  74     Int,                        // Integer range (lo-hi)
  75     Long,                       // Long integer range (lo-hi)
  76     Half,                       // Placeholder half of doubleword
  77     NarrowOop,                  // Compressed oop pointer
  78 
  79     Tuple,                      // Method signature or object layout
  80     Array,                      // Array types
  81 
  82     AnyPtr,                     // Any old raw, klass, inst, or array pointer
  83     RawPtr,                     // Raw (non-oop) pointers
  84     OopPtr,                     // Any and all Java heap entities
  85     InstPtr,                    // Instance pointers (non-array objects)
  86     AryPtr,                     // Array pointers
  87     KlassPtr,                   // Klass pointers
  88     // (Ptr order matters:  See is_ptr, isa_ptr, is_oopptr, isa_oopptr.)


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