[8] RFR: Fix slowdebug build after JDK-8230853 backport

Aleksey Shipilev shade at redhat.com
Wed Apr 22 09:50:05 UTC 2020


CI reports slowdebug build failure after recent JDK-8230853 backport.

It is 8u-specific, because it has the assert that takes in_collection_set(HeapWord*) that is not
available anymore. The fix is to ditch the assert and get that code in line with what sh/jdk11 and
jdk/jdk are doing:

diff -r b49cd4f04b3c src/share/vm/gc_implementation/shenandoah/shenandoahHeap.cpp
--- a/src/share/vm/gc_implementation/shenandoah/shenandoahHeap.cpp      Mon Apr 06 20:35:43 2020 +0200
+++ b/src/share/vm/gc_implementation/shenandoah/shenandoahHeap.cpp      Wed Apr 22 11:48:28 2020 +0200
@@ -824,13 +824,7 @@
 HeapWord*  ShenandoahHeap::mem_allocate(size_t size,
                                         bool*  gc_overhead_limit_was_exceeded) {
   ShenandoahAllocRequest req = ShenandoahAllocRequest::for_shared(size);
-  HeapWord* result = allocate_memory(req);
-  if (result != NULL) {
-    assert(! in_collection_set(result), "never allocate in targetted region");
-    return result;
-  } else {
-    return NULL;
-  }
+  return allocate_memory(req);
 }

 class ShenandoahConcurrentEvacuateRegionObjectClosure : public ObjectClosure {


Testing: Linux x86_64 {release,fastdebug,slowdebug} builds

-- 
Thanks,
-Aleksey



More information about the shenandoah-dev mailing list