< prev index next > src/hotspot/share/oops/klass.hpp
Print this page
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)
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)
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 >