< prev index next >

src/hotspot/share/gc/shared/preservedMarks.hpp

Print this page
*** 53,21 ***
  
    PreservedMarkStack _stack;
  
    inline bool should_preserve_mark(oop obj, markWord m) const;
  
  public:
    size_t size() const { return _stack.size(); }
    inline void push_if_necessary(oop obj, markWord m);
    inline void push_always(oop obj, markWord m);
    // Iterate over the stack, restore all preserved marks, and
    // reclaim the memory taken up by the stack segments.
    void restore();
  
    // Adjust the preserved mark according to its
    // forwarding location stored in the mark.
!   static void adjust_preserved_mark(PreservedMark* elem);
  
    // Iterate over the stack, adjust all preserved marks according
    // to their forwarding location stored in the mark.
    void adjust_during_full_gc();
  
--- 53,25 ---
  
    PreservedMarkStack _stack;
  
    inline bool should_preserve_mark(oop obj, markWord m) const;
  
+   template <bool ALT_FWD>
+   void adjust_during_full_gc_impl();
+ 
  public:
    size_t size() const { return _stack.size(); }
    inline void push_if_necessary(oop obj, markWord m);
    inline void push_always(oop obj, markWord m);
    // Iterate over the stack, restore all preserved marks, and
    // reclaim the memory taken up by the stack segments.
    void restore();
  
    // Adjust the preserved mark according to its
    // forwarding location stored in the mark.
!   template <bool ALT_FWD>
+   static inline void adjust_preserved_mark(PreservedMark* elem);
  
    // Iterate over the stack, adjust all preserved marks according
    // to their forwarding location stored in the mark.
    void adjust_during_full_gc();
  
< prev index next >