--- old/src/hotspot/share/gc/shared/space.inline.hpp 2018-03-25 12:59:30.757785067 +0200 +++ new/src/hotspot/share/gc/shared/space.inline.hpp 2018-03-25 12:59:30.558787760 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2000, 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 @@ -32,6 +32,7 @@ #include "gc/shared/spaceDecorator.hpp" #include "memory/universe.hpp" #include "oops/oopsHierarchy.hpp" +#include "oops/oop.inline.hpp" #include "runtime/prefetch.inline.hpp" #include "runtime/safepoint.hpp" @@ -112,7 +113,7 @@ _allowed_deadspace_words -= dead_length; CollectedHeap::fill_with_object(dead_start, dead_length); oop obj = oop(dead_start); - obj->set_mark(obj->mark()->set_marked()); + obj->set_mark_raw(obj->mark_raw()->set_marked()); assert(dead_length == (size_t)obj->size(), "bad filler object size"); log_develop_trace(gc, compaction)("Inserting object to dead space: " PTR_FORMAT ", " PTR_FORMAT ", " SIZE_FORMAT "b", @@ -159,8 +160,8 @@ while (cur_obj < scan_limit) { assert(!space->scanned_block_is_obj(cur_obj) || - oop(cur_obj)->mark()->is_marked() || oop(cur_obj)->mark()->is_unlocked() || - oop(cur_obj)->mark()->has_bias_pattern(), + oop(cur_obj)->mark_raw()->is_marked() || oop(cur_obj)->mark_raw()->is_unlocked() || + oop(cur_obj)->mark_raw()->has_bias_pattern(), "these are the only valid states during a mark sweep"); if (space->scanned_block_is_obj(cur_obj) && oop(cur_obj)->is_gc_marked()) { // prefetch beyond cur_obj @@ -335,7 +336,7 @@ // copy object and reinit its mark assert(cur_obj != compaction_top, "everything in this pass should be moving"); Copy::aligned_conjoint_words(cur_obj, 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_obj = cur_obj);