src/share/vm/oops/klassOop.hpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File 7085860 Sdiff src/share/vm/oops

src/share/vm/oops/klassOop.hpp

Print this page




  36 //    [klass_field]
  37 //    [KLASS      ]
  38 
  39 class klassOopDesc : public oopDesc {
  40  public:
  41   // size operation
  42   static int header_size()                       { return sizeof(klassOopDesc)/HeapWordSize; }
  43 
  44   // support for code generation
  45   static int klass_part_offset_in_bytes()        { return sizeof(klassOopDesc); }
  46 
  47   // returns the Klass part containing dispatching behavior
  48   Klass* klass_part() const                      { return (Klass*)((address)this + klass_part_offset_in_bytes()); }
  49 
  50   // Convenience wrapper
  51   inline oop java_mirror() const;
  52 
  53  private:
  54   // These have no implementation since klassOop should never be accessed in this fashion
  55   oop obj_field(int offset) const;

  56   void obj_field_put(int offset, oop value);
  57   void obj_field_raw_put(int offset, oop value);

  58 
  59   jbyte byte_field(int offset) const;
  60   void byte_field_put(int offset, jbyte contents);
  61 
  62   jchar char_field(int offset) const;
  63   void char_field_put(int offset, jchar contents);
  64 
  65   jboolean bool_field(int offset) const;
  66   void bool_field_put(int offset, jboolean contents);
  67 
  68   jint int_field(int offset) const;
  69   void int_field_put(int offset, jint contents);
  70 
  71   jshort short_field(int offset) const;
  72   void short_field_put(int offset, jshort contents);
  73 
  74   jlong long_field(int offset) const;
  75   void long_field_put(int offset, jlong contents);
  76 
  77   jfloat float_field(int offset) const;




  36 //    [klass_field]
  37 //    [KLASS      ]
  38 
  39 class klassOopDesc : public oopDesc {
  40  public:
  41   // size operation
  42   static int header_size()                       { return sizeof(klassOopDesc)/HeapWordSize; }
  43 
  44   // support for code generation
  45   static int klass_part_offset_in_bytes()        { return sizeof(klassOopDesc); }
  46 
  47   // returns the Klass part containing dispatching behavior
  48   Klass* klass_part() const                      { return (Klass*)((address)this + klass_part_offset_in_bytes()); }
  49 
  50   // Convenience wrapper
  51   inline oop java_mirror() const;
  52 
  53  private:
  54   // These have no implementation since klassOop should never be accessed in this fashion
  55   oop obj_field(int offset) const;
  56   volatile oop obj_field_volatile(int offset) const;
  57   void obj_field_put(int offset, oop value);
  58   void obj_field_put_raw(int offset, oop value);
  59   void obj_field_put_volatile(int offset, oop value);
  60 
  61   jbyte byte_field(int offset) const;
  62   void byte_field_put(int offset, jbyte contents);
  63 
  64   jchar char_field(int offset) const;
  65   void char_field_put(int offset, jchar contents);
  66 
  67   jboolean bool_field(int offset) const;
  68   void bool_field_put(int offset, jboolean contents);
  69 
  70   jint int_field(int offset) const;
  71   void int_field_put(int offset, jint contents);
  72 
  73   jshort short_field(int offset) const;
  74   void short_field_put(int offset, jshort contents);
  75 
  76   jlong long_field(int offset) const;
  77   void long_field_put(int offset, jlong contents);
  78 
  79   jfloat float_field(int offset) const;


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