< prev index next >

src/hotspot/share/oops/klass.hpp

Print this page
*** 643,11 ***
   public:
    // ALL FUNCTIONS BELOW THIS POINT ARE DISPATCHED FROM AN OOP
    // These functions describe behavior for the oop not the KLASS.
  
    // actual oop size of obj in memory in word size.
!   virtual size_t oop_size(oop obj) const = 0;
  
    // Size of klass in word size.
    virtual int size() const = 0;
  
    // Returns the Java name for a class (Resource allocated)
--- 643,12 ---
   public:
    // ALL FUNCTIONS BELOW THIS POINT ARE DISPATCHED FROM AN OOP
    // These functions describe behavior for the oop not the KLASS.
  
    // actual oop size of obj in memory in word size.
!   virtual size_t oop_size(oop obj, markWord mark) const = 0;
+   size_t oop_size(oop obj) const;
  
    // Size of klass in word size.
    virtual int size() const = 0;
  
    // Returns the Java name for a class (Resource allocated)

*** 787,8 ***
--- 788,12 ---
    static void on_secondary_supers_verification_failure(Klass* super, Klass* sub, bool linear_result, bool table_result, const char* msg);
  
    // Returns true if this Klass needs to be addressable via narrow Klass ID.
    inline bool needs_narrow_id() const;
  
+   virtual int hash_offset_in_bytes(oop obj) const = 0;
+   static int kind_offset_in_bytes() { return (int)offset_of(Klass, _kind); }
+ 
+   bool expand_for_hash(oop obj) const;
  };
  
  #endif // SHARE_OOPS_KLASS_HPP
< prev index next >