< 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 >