< prev index next >

src/hotspot/share/gc/shenandoah/shenandoahHeap.hpp

Print this page
rev 59438 : 8245823: Shenandoah: inline/optimize ShenandoahEvacOOMScope


 682   ShenandoahEvacOOMHandler _oom_evac_handler;
 683 
 684   void evacuate_and_update_roots();
 685 
 686 public:
 687   static address in_cset_fast_test_addr();
 688 
 689   ShenandoahCollectionSet* collection_set() const { return _collection_set; }
 690 
 691   // Checks if object is in the collection set.
 692   inline bool in_collection_set(oop obj) const;
 693 
 694   // Checks if location is in the collection set. Can be interior pointer, not the oop itself.
 695   inline bool in_collection_set_loc(void* loc) const;
 696 
 697   // Evacuates object src. Returns the evacuated object, either evacuated
 698   // by this thread, or by some other thread.
 699   inline oop evacuate_object(oop src, Thread* thread);
 700 
 701   // Call before/after evacuation.
 702   void enter_evacuation();
 703   void leave_evacuation();
 704 
 705 // ---------- Helper functions
 706 //
 707 public:
 708   template <class T>
 709   inline oop evac_update_with_forwarded(T* p);
 710 
 711   template <class T>
 712   inline oop maybe_update_with_forwarded(T* p);
 713 
 714   template <class T>
 715   inline oop maybe_update_with_forwarded_not_null(T* p, oop obj);
 716 
 717   template <class T>
 718   inline oop update_with_forwarded_not_null(T* p, oop obj);
 719 
 720   static inline oop cas_oop(oop n, narrowOop* addr, oop c);
 721   static inline oop cas_oop(oop n, oop* addr, oop c);
 722   static inline oop cas_oop(oop n, narrowOop* addr, narrowOop c);
 723 


 682   ShenandoahEvacOOMHandler _oom_evac_handler;
 683 
 684   void evacuate_and_update_roots();
 685 
 686 public:
 687   static address in_cset_fast_test_addr();
 688 
 689   ShenandoahCollectionSet* collection_set() const { return _collection_set; }
 690 
 691   // Checks if object is in the collection set.
 692   inline bool in_collection_set(oop obj) const;
 693 
 694   // Checks if location is in the collection set. Can be interior pointer, not the oop itself.
 695   inline bool in_collection_set_loc(void* loc) const;
 696 
 697   // Evacuates object src. Returns the evacuated object, either evacuated
 698   // by this thread, or by some other thread.
 699   inline oop evacuate_object(oop src, Thread* thread);
 700 
 701   // Call before/after evacuation.
 702   inline void enter_evacuation(Thread* t);
 703   inline void leave_evacuation(Thread* t);
 704 
 705 // ---------- Helper functions
 706 //
 707 public:
 708   template <class T>
 709   inline oop evac_update_with_forwarded(T* p);
 710 
 711   template <class T>
 712   inline oop maybe_update_with_forwarded(T* p);
 713 
 714   template <class T>
 715   inline oop maybe_update_with_forwarded_not_null(T* p, oop obj);
 716 
 717   template <class T>
 718   inline oop update_with_forwarded_not_null(T* p, oop obj);
 719 
 720   static inline oop cas_oop(oop n, narrowOop* addr, oop c);
 721   static inline oop cas_oop(oop n, oop* addr, oop c);
 722   static inline oop cas_oop(oop n, narrowOop* addr, narrowOop c);
 723 
< prev index next >