--- old/src/hotspot/share/oops/markWord.hpp 2019-08-19 15:57:16.702195103 +0200 +++ new/src/hotspot/share/oops/markWord.hpp 2019-08-19 15:57:16.478191097 +0200 @@ -252,8 +252,8 @@ 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; + template + 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? @@ -272,15 +272,14 @@ // 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; + template + 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; - 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. @@ -372,7 +371,7 @@ } // Helper function for restoration of unmarked mark oops during GC - static inline markWord prototype_for_object(oop obj); + static inline markWord prototype_for_klass(const Klass* klass); // Debugging void print_on(outputStream* st) const;