< prev index next >
src/share/vm/oops/oop.hpp
Print this page
rev 9978 : 8146395: Add inline qualifier in oop.hpp and fix inlining in gc files
Summary: Fix remaining issues after 8146401. Also fix windows VS2010 linkage problem (g1OopClosures.hpp).
Reviewed-by: stefank, mgerdin
*** 80,99 ****
// Used only to re-initialize the mark word (e.g., of promoted
// objects during a GC) -- requires a valid klass pointer
inline void init_mark();
! /*inline*/ Klass* klass() const;
inline Klass* klass_or_null() const volatile;
inline Klass** klass_addr();
inline narrowKlass* compressed_klass_addr();
! /*inline*/ void set_klass(Klass* k);
// For klass field compression
inline int klass_gap() const;
! /*inline*/ void set_klass_gap(int z);
// For when the klass pointer is being used as a linked list "next" field.
inline void set_klass_to_list_ptr(oop k);
inline oop list_ptr_from_klass();
// size of object header, aligned to platform wordSize
--- 80,99 ----
// Used only to re-initialize the mark word (e.g., of promoted
// objects during a GC) -- requires a valid klass pointer
inline void init_mark();
! inline Klass* klass() const;
inline Klass* klass_or_null() const volatile;
inline Klass** klass_addr();
inline narrowKlass* compressed_klass_addr();
! inline void set_klass(Klass* k);
// For klass field compression
inline int klass_gap() const;
! inline void set_klass_gap(int z);
// For when the klass pointer is being used as a linked list "next" field.
inline void set_klass_to_list_ptr(oop k);
inline oop list_ptr_from_klass();
// size of object header, aligned to platform wordSize
*** 101,119 ****
// Returns whether this is an instance of k or an instance of a subclass of k
inline bool is_a(Klass* k) const;
// Returns the actual oop size of the object
! /*inline*/ int size();
// Sometimes (for complicated concurrency-related reasons), it is useful
// to be able to figure out the size of an object knowing its klass.
inline int size_given_klass(Klass* klass);
// type test operations (inlined in oop.inline.hpp)
inline bool is_instance() const;
! /*inline*/ bool is_array() const;
inline bool is_objArray() const;
inline bool is_typeArray() const;
// type test operations that don't require inclusion of oop.inline.hpp.
bool is_instance_noinline() const;
--- 101,119 ----
// Returns whether this is an instance of k or an instance of a subclass of k
inline bool is_a(Klass* k) const;
// Returns the actual oop size of the object
! inline int size();
// Sometimes (for complicated concurrency-related reasons), it is useful
// to be able to figure out the size of an object knowing its klass.
inline int size_given_klass(Klass* klass);
// type test operations (inlined in oop.inline.hpp)
inline bool is_instance() const;
! inline bool is_array() const;
inline bool is_objArray() const;
inline bool is_typeArray() const;
// type test operations that don't require inclusion of oop.inline.hpp.
bool is_instance_noinline() const;
*** 147,165 ****
// Decode an oop pointer from a narrowOop if compressed.
// These are overloaded for oop and narrowOop as are the other functions
// below so that they can be called in template functions.
static inline oop decode_heap_oop_not_null(oop v) { return v; }
! static /*inline*/ oop decode_heap_oop_not_null(narrowOop v);
static inline oop decode_heap_oop(oop v) { return v; }
! static /*inline*/ oop decode_heap_oop(narrowOop v);
// Encode an oop pointer to a narrow oop. The or_null versions accept
// null oop pointer, others do not in order to eliminate the
// null checking branches.
static inline narrowOop encode_heap_oop_not_null(oop v);
! static /*inline*/ narrowOop encode_heap_oop(oop v);
// Load an oop out of the Java heap as is without decoding.
// Called by GC to check for null before decoding.
static inline narrowOop load_heap_oop(narrowOop* p) { return *p; }
static inline oop load_heap_oop(oop* p) { return *p; }
--- 147,165 ----
// Decode an oop pointer from a narrowOop if compressed.
// These are overloaded for oop and narrowOop as are the other functions
// below so that they can be called in template functions.
static inline oop decode_heap_oop_not_null(oop v) { return v; }
! static inline oop decode_heap_oop_not_null(narrowOop v);
static inline oop decode_heap_oop(oop v) { return v; }
! static inline oop decode_heap_oop(narrowOop v);
// Encode an oop pointer to a narrow oop. The or_null versions accept
// null oop pointer, others do not in order to eliminate the
// null checking branches.
static inline narrowOop encode_heap_oop_not_null(oop v);
! static inline narrowOop encode_heap_oop(oop v);
// Load an oop out of the Java heap as is without decoding.
// Called by GC to check for null before decoding.
static inline narrowOop load_heap_oop(narrowOop* p) { return *p; }
static inline oop load_heap_oop(oop* p) { return *p; }
*** 282,293 ****
inline bool is_locked() const;
inline bool is_unlocked() const;
inline bool has_bias_pattern() const;
// asserts
! /*inline*/ bool is_oop(bool ignore_mark_word = false) const;
! /*inline*/ bool is_oop_or_null(bool ignore_mark_word = false) const;
#ifndef PRODUCT
inline bool is_unlocked_oop() const;
#endif
// garbage collection
--- 282,293 ----
inline bool is_locked() const;
inline bool is_unlocked() const;
inline bool has_bias_pattern() const;
// asserts
! inline bool is_oop(bool ignore_mark_word = false) const;
! inline bool is_oop_or_null(bool ignore_mark_word = false) const;
#ifndef PRODUCT
inline bool is_unlocked_oop() const;
#endif
// garbage collection
*** 310,320 ****
#endif // INCLUDE_ALL_GCS
inline oop forwardee() const;
// Age of object during scavenge
! /*inline*/ uint age() const;
inline void incr_age();
// mark-sweep support
void follow_body(int begin, int end);
--- 310,320 ----
#endif // INCLUDE_ALL_GCS
inline oop forwardee() const;
// Age of object during scavenge
! inline uint age() const;
inline void incr_age();
// mark-sweep support
void follow_body(int begin, int end);
< prev index next >