< prev index next >

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

Print this page
@@ -30,10 +30,11 @@
  #include "oops/oop.hpp"
  #include "utilities/stack.hpp"
  
  class AbstractGangTask;
  class PreservedMarksSet;
+ class SlidingForwarding;
  class WorkGang;
  
  class PreservedMarks {
  private:
    class OopAndMarkWord {

@@ -61,12 +62,16 @@
    // Iterate over the stack, restore all preserved marks, and
    // reclaim the memory taken up by the stack segments.
    void restore();
    // Iterate over the stack, adjust all preserved marks according
    // to their forwarding location stored in the mark.
+   // TODO: This method is unused, except in the gunit test. Change the test
+   // to exercise the updated method below instead, and remove this one.
    void adjust_during_full_gc();
  
+   void adjust_during_full_gc(const SlidingForwarding* const forwarding);
+ 
    void restore_and_increment(volatile size_t* const _total_size_addr);
    inline static void init_forwarded_mark(oop obj);
  
    // Assert the stack is empty and has no cached segments.
    void assert_empty() PRODUCT_RETURN;
< prev index next >