--- old/src/hotspot/share/gc/g1/g1CollectedHeap.cpp 2018-10-30 10:40:57.463702993 +0100 +++ new/src/hotspot/share/gc/g1/g1CollectedHeap.cpp 2018-10-30 10:40:57.039689958 +0100 @@ -4400,12 +4400,12 @@ bool do_heap_region(HeapRegion* r) { if (r->is_empty()) { + assert(r->rem_set()->is_empty(), "Empty regions should have empty remembered sets."); // Add free regions to the free list r->set_free(); _hrm->insert_into_free_list(r); } else if (!_free_list_only) { - // Only if we rebuild everything, clear remembered sets. - r->rem_set()->clear(true); + assert(r->rem_set()->is_empty(), "At this point remembered sets must have been cleared."); if (r->is_archive() || r->is_humongous()) { // We ignore archive and humongous regions. We left these sets unchanged. --- old/test/hotspot/jtreg/gc/g1/humongousObjects/objectGraphTest/TestObjectGraphAfterGC.java 2018-10-30 10:40:59.130754242 +0100 +++ new/test/hotspot/jtreg/gc/g1/humongousObjects/objectGraphTest/TestObjectGraphAfterGC.java 2018-10-30 10:40:58.689740684 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2016, 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