< prev index next >

test/hotspot/gtest/gc/shared/test_preservedMarks.cpp

Print this page
@@ -26,11 +26,11 @@
  #include "gc/shared/fullGCForwarding.inline.hpp"
  #include "oops/oop.inline.hpp"
  #include "unittest.hpp"
  
  static markWord originalMark() { return markWord(markWord::lock_mask_in_place); }
- static markWord changedMark()  { return markWord(0x4711); }
+ static markWord changedMark()  { return markWord(0x4712); }
  
  #define ASSERT_MARK_WORD_EQ(a, b) ASSERT_EQ((a).value(), (b).value())
  
  TEST_VM(PreservedMarks, iterate_and_restore) {
    PreservedMarks pm;

@@ -54,10 +54,12 @@
    o1->set_mark(changedMark());
    o2->set_mark(changedMark());
    ASSERT_MARK_WORD_EQ(o1->mark(), changedMark());
    ASSERT_MARK_WORD_EQ(o2->mark(), changedMark());
  
+   FullGCForwarding::begin();
+ 
    // Push o1 and o2 to have their marks preserved.
    pm.push_if_necessary(o1, o1->mark());
    pm.push_if_necessary(o2, o2->mark());
  
    // Fake a move from o1->o3 and o2->o4.

@@ -72,6 +74,8 @@
    // Restore all preserved and verify that the changed
    // mark is now present at o3 and o4.
    pm.restore();
    ASSERT_MARK_WORD_EQ(o3->mark(), changedMark());
    ASSERT_MARK_WORD_EQ(o4->mark(), changedMark());
+ 
+   FullGCForwarding::end();
  }
< prev index next >