--- old/src/hotspot/share/gc/cms/parNewGeneration.cpp 2018-03-25 12:59:15.764987961 +0200 +++ new/src/hotspot/share/gc/cms/parNewGeneration.cpp 2018-03-25 12:59:15.594990261 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2001, 2017, 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 @@ -1133,7 +1133,7 @@ // a forwarding pointer by a parallel thread. So we must save the mark // word in a local and then analyze it. oopDesc dummyOld; - dummyOld.set_mark(m); + dummyOld.set_mark_raw(m); assert(!dummyOld.is_forwarded(), "should not be called with forwarding pointer mark word."); @@ -1181,7 +1181,7 @@ assert(CMSHeap::heap()->is_in_reserved(new_obj), "illegal forwarding pointer value."); forward_ptr = old->forward_to_atomic(new_obj); // Restore the mark word copied above. - new_obj->set_mark(m); + new_obj->set_mark_raw(m); // Increment age if obj still in new generation new_obj->incr_age(); par_scan_state->age_table()->add(new_obj, sz);