src/hotspot/share/gc/parallel/psMarkSweepDecorator.cpp
changeset 49722 a47d1e21b3f1
parent 47216 71c04702a3d5
child 50752 9d62da00bf15
--- a/src/hotspot/share/gc/parallel/psMarkSweepDecorator.cpp	Mon Apr 09 08:19:26 2018 -0400
+++ b/src/hotspot/share/gc/parallel/psMarkSweepDecorator.cpp	Thu Apr 05 10:54:53 2018 +0200
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2001, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -112,8 +112,8 @@
   const intx interval = PrefetchScanIntervalInBytes;
 
   while (q < t) {
-    assert(oop(q)->mark()->is_marked() || oop(q)->mark()->is_unlocked() ||
-           oop(q)->mark()->has_bias_pattern(),
+    assert(oop(q)->mark_raw()->is_marked() || oop(q)->mark_raw()->is_unlocked() ||
+           oop(q)->mark_raw()->has_bias_pattern(),
            "these are the only valid states during a mark sweep");
     if (oop(q)->is_gc_marked()) {
       /* prefetch beyond q */
@@ -150,7 +150,7 @@
       } else {
         // if the object isn't moving we can just set the mark to the default
         // mark and handle it specially later on.
-        oop(q)->init_mark();
+        oop(q)->init_mark_raw();
         assert(oop(q)->forwardee() == NULL, "should be forwarded to NULL");
       }
 
@@ -210,7 +210,7 @@
           } else {
             // if the object isn't moving we can just set the mark to the default
             // mark and handle it specially later on.
-            oop(q)->init_mark();
+            oop(q)->init_mark_raw();
             assert(oop(q)->forwardee() == NULL, "should be forwarded to NULL");
           }
 
@@ -258,7 +258,7 @@
   if (allowed_deadspace_words >= deadlength) {
     allowed_deadspace_words -= deadlength;
     CollectedHeap::fill_with_object(q, deadlength);
-    oop(q)->set_mark(oop(q)->mark()->set_marked());
+    oop(q)->set_mark_raw(oop(q)->mark_raw()->set_marked());
     assert((int) deadlength == oop(q)->size(), "bad filler object size");
     // Recall that we required "q == compaction_top".
     return true;
@@ -349,7 +349,7 @@
       q = t;
     } else {
       // $$$ Funky
-      q = (HeapWord*) oop(_first_dead)->mark()->decode_pointer();
+      q = (HeapWord*) oop(_first_dead)->mark_raw()->decode_pointer();
     }
   }
 
@@ -360,7 +360,7 @@
     if (!oop(q)->is_gc_marked()) {
       // mark is pointer to next marked oop
       debug_only(prev_q = q);
-      q = (HeapWord*) oop(q)->mark()->decode_pointer();
+      q = (HeapWord*) oop(q)->mark_raw()->decode_pointer();
       assert(q > prev_q, "we should be moving forward through memory");
     } else {
       // prefetch beyond q
@@ -376,7 +376,7 @@
       // copy object and reinit its mark
       assert(q != compaction_top, "everything in this pass should be moving");
       Copy::aligned_conjoint_words(q, compaction_top, size);
-      oop(compaction_top)->init_mark();
+      oop(compaction_top)->init_mark_raw();
       assert(oop(compaction_top)->klass() != NULL, "should have a class");
 
       debug_only(prev_q = q);