< prev index next >

src/hotspot/share/oops/instanceOop.hpp

Print this page




  20  * or visit www.oracle.com if you need additional information or have any
  21  * questions.
  22  *
  23  */
  24 
  25 #ifndef SHARE_OOPS_INSTANCEOOP_HPP
  26 #define SHARE_OOPS_INSTANCEOOP_HPP
  27 
  28 #include "oops/oop.hpp"
  29 
  30 // An instanceOop is an instance of a Java Class
  31 // Evaluating "new HashTable()" will create an instanceOop.
  32 
  33 class instanceOopDesc : public oopDesc {
  34  public:
  35   // aligned header size.
  36   static int header_size() { return sizeof(instanceOopDesc)/HeapWordSize; }
  37 
  38   // If compressed, the offset of the fields of the instance may not be aligned.
  39   static int base_offset_in_bytes() {
  40     if (UseNewFieldLayout) {
  41       return (UseCompressedClassPointers) ?
  42               klass_gap_offset_in_bytes() :
  43               sizeof(instanceOopDesc);
  44     } else {
  45       // The old layout could not deal with compressed oops being off and compressed
  46       // class pointers being off.
  47       return (UseCompressedOops && UseCompressedClassPointers) ?
  48               klass_gap_offset_in_bytes() :
  49               sizeof(instanceOopDesc);
  50     }
  51   }
  52 };
  53 
  54 #endif // SHARE_OOPS_INSTANCEOOP_HPP


  20  * or visit www.oracle.com if you need additional information or have any
  21  * questions.
  22  *
  23  */
  24 
  25 #ifndef SHARE_OOPS_INSTANCEOOP_HPP
  26 #define SHARE_OOPS_INSTANCEOOP_HPP
  27 
  28 #include "oops/oop.hpp"
  29 
  30 // An instanceOop is an instance of a Java Class
  31 // Evaluating "new HashTable()" will create an instanceOop.
  32 
  33 class instanceOopDesc : public oopDesc {
  34  public:
  35   // aligned header size.
  36   static int header_size() { return sizeof(instanceOopDesc)/HeapWordSize; }
  37 
  38   // If compressed, the offset of the fields of the instance may not be aligned.
  39   static int base_offset_in_bytes() {

  40     return (UseCompressedClassPointers) ?
  41             klass_gap_offset_in_bytes() :
  42             sizeof(instanceOopDesc);
  43 






  44   }
  45 };
  46 
  47 #endif // SHARE_OOPS_INSTANCEOOP_HPP
< prev index next >