RFR (XS): 8139524: JVMCI cannot be initialized with CMS or Serial GCs

Christian Thalinger christian.thalinger at oracle.com
Tue Oct 13 18:49:39 UTC 2015


https://bugs.openjdk.java.net/browse/JDK-8139524

The fix is to handle the BarrierSet kind correctly.

diff -r 0ca52fb7d980 src/jdk.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotVMConfig.java
--- a/src/jdk.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotVMConfig.java	Tue Sep 29 17:01:37 2015 +0000
+++ b/src/jdk.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotVMConfig.java	Tue Oct 13 08:47:05 2015 -1000
@@ -86,13 +86,11 @@ public class HotSpotVMConfig {
 
         final long barrierSetAddress = UNSAFE.getAddress(universeCollectedHeap + collectedHeapBarrierSetOffset);
         final int kind = UNSAFE.getInt(barrierSetAddress + barrierSetFakeRttiOffset + fakeRttiConcreteTagOffset);
-        if ((kind == barrierSetCardTableModRef) || (kind == barrierSetCardTableExtension) || (kind == barrierSetG1SATBCT) || (kind == barrierSetG1SATBCTLogging)) {
+        if ((kind == barrierSetCardTableModRef) || (kind == barrierSetCardTableForRS) || (kind == barrierSetCardTableExtension) || (kind == barrierSetG1SATBCT) || (kind == barrierSetG1SATBCTLogging)) {
             final long base = UNSAFE.getAddress(barrierSetAddress + cardTableModRefBSByteMapBaseOffset);
             assert base != 0 : "unexpected byte_map_base: " + base;
             cardtableStartAddress = base;
             cardtableShift = cardTableModRefBSCardShift;
-        } else if (kind == barrierSetCardTableForRS) {
-            throw JVMCIError.unimplemented();
         } else if (kind == barrierSetModRef) {
             // No post barriers
             cardtableStartAddress = 0;

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/attachments/20151013/d52d6fb8/attachment.html>


More information about the hotspot-compiler-dev mailing list