RFR (XS): 8139524: JVMCI cannot be initialized with CMS or Serial GCs
Vladimir Kozlov
vladimir.kozlov at oracle.com
Wed Oct 14 02:11:48 UTC 2015
Good.
Vladimir
On 10/14/15 2:49 AM, Christian Thalinger wrote:
> 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.javaTue
> Sep 29 17:01:37 2015 +0000
> +++
> b/src/jdk.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotVMConfig.javaTue
> 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;
>
More information about the hotspot-compiler-dev
mailing list