< prev index next >
src/hotspot/share/oops/markWord.hpp
Print this page
*** 250,261 ****
// other thread. (They should spin or block instead. The 0 value
// is transient and *should* be short-lived).
static markWord INFLATING() { return zero(); } // inflate-in-progress
// Should this header be preserved during GC?
! inline bool must_be_preserved(oop obj_containing_mark) const;
! inline bool must_be_preserved_with_bias(oop obj_containing_mark) const;
// Should this header (including its age bits) be preserved in the
// case of a promotion failure during scavenge?
// Note that we special case this situation. We want to avoid
// calling BiasedLocking::preserve_marks()/restore_marks() (which
--- 250,261 ----
// other thread. (They should spin or block instead. The 0 value
// is transient and *should* be short-lived).
static markWord INFLATING() { return zero(); } // inflate-in-progress
// Should this header be preserved during GC?
! template <typename KlassProxy>
! inline bool must_be_preserved(KlassProxy klass) const;
// Should this header (including its age bits) be preserved in the
// case of a promotion failure during scavenge?
// Note that we special case this situation. We want to avoid
// calling BiasedLocking::preserve_marks()/restore_marks() (which
*** 270,288 ****
// place in which to call them in any of the scavengers (although
// guarded by appropriate locks we could make one), but the
// observation is that promotion failures are quite rare and
// reducing the number of mark words preserved during them isn't a
// high priority.
! inline bool must_be_preserved_for_promotion_failure(oop obj_containing_mark) const;
! inline bool must_be_preserved_with_bias_for_promotion_failure(oop obj_containing_mark) const;
// Should this header be preserved during a scavenge where CMS is
// the old generation?
// (This is basically the same body as must_be_preserved_for_promotion_failure(),
// but takes the Klass* as argument instead)
inline bool must_be_preserved_for_cms_scavenge(Klass* klass_of_obj_containing_mark) const;
- inline bool must_be_preserved_with_bias_for_cms_scavenge(Klass* klass_of_obj_containing_mark) const;
// WARNING: The following routines are used EXCLUSIVELY by
// synchronization functions. They are not really gc safe.
// They must get updated if markWord layout get changed.
markWord set_unlocked() const {
--- 270,287 ----
// place in which to call them in any of the scavengers (although
// guarded by appropriate locks we could make one), but the
// observation is that promotion failures are quite rare and
// reducing the number of mark words preserved during them isn't a
// high priority.
! template <typename KlassProxy>
! inline bool must_be_preserved_for_promotion_failure(KlassProxy klass) const;
// Should this header be preserved during a scavenge where CMS is
// the old generation?
// (This is basically the same body as must_be_preserved_for_promotion_failure(),
// but takes the Klass* as argument instead)
inline bool must_be_preserved_for_cms_scavenge(Klass* klass_of_obj_containing_mark) const;
// WARNING: The following routines are used EXCLUSIVELY by
// synchronization functions. They are not really gc safe.
// They must get updated if markWord layout get changed.
markWord set_unlocked() const {
*** 370,380 ****
static markWord prototype() {
return markWord( no_hash_in_place | no_lock_in_place );
}
// Helper function for restoration of unmarked mark oops during GC
! static inline markWord prototype_for_object(oop obj);
// Debugging
void print_on(outputStream* st) const;
// Prepare address of oop for placement into mark
--- 369,379 ----
static markWord prototype() {
return markWord( no_hash_in_place | no_lock_in_place );
}
// Helper function for restoration of unmarked mark oops during GC
! static inline markWord prototype_for_klass(const Klass* klass);
// Debugging
void print_on(outputStream* st) const;
// Prepare address of oop for placement into mark
< prev index next >