hotspot/src/share/vm/gc_implementation/parallelScavenge/psScavenge.hpp
changeset 360 21d113ecbf6a
parent 1 489c9b5090e2
child 670 ddf3e9583f2f
equal deleted inserted replaced
357:f4edb0d9f109 360:21d113ecbf6a
   114   static bool invoke_no_policy();
   114   static bool invoke_no_policy();
   115 
   115 
   116   // If an attempt to promote fails, this method is invoked
   116   // If an attempt to promote fails, this method is invoked
   117   static void oop_promotion_failed(oop obj, markOop obj_mark);
   117   static void oop_promotion_failed(oop obj, markOop obj_mark);
   118 
   118 
   119   static inline bool should_scavenge(oop p);
   119   template <class T> static inline bool should_scavenge(T* p);
   120 
   120 
   121   // These call should_scavenge() above and, if it returns true, also check that
   121   // These call should_scavenge() above and, if it returns true, also check that
   122   // the object was not newly copied into to_space.  The version with the bool
   122   // the object was not newly copied into to_space.  The version with the bool
   123   // argument is a convenience wrapper that fetches the to_space pointer from
   123   // argument is a convenience wrapper that fetches the to_space pointer from
   124   // the heap and calls the other version (if the arg is true).
   124   // the heap and calls the other version (if the arg is true).
   125   static inline bool should_scavenge(oop p, MutableSpace* to_space);
   125   template <class T> static inline bool should_scavenge(T* p, MutableSpace* to_space);
   126   static inline bool should_scavenge(oop p, bool check_to_space);
   126   template <class T> static inline bool should_scavenge(T* p, bool check_to_space);
   127 
   127 
   128   inline static void copy_and_push_safe_barrier(PSPromotionManager* pm, oop* p);
   128   template <class T> inline static void copy_and_push_safe_barrier(PSPromotionManager* pm, T* p);
   129 
   129 
   130   // Is an object in the young generation
   130   // Is an object in the young generation
   131   // This assumes that the HeapWord argument is in the heap,
   131   // This assumes that the HeapWord argument is in the heap,
   132   // so it only checks one side of the complete predicate.
   132   // so it only checks one side of the complete predicate.
   133   inline static bool is_obj_in_young(HeapWord* o) {
   133   inline static bool is_obj_in_young(HeapWord* o) {