# HG changeset patch # User Doug Simon # Date 1441195286 -7200 # Node ID 575eb1036ea9cd32347cee82b5f16a257d12ad03 # Parent 943c2bf064fa3bb15f73a77fb0d8d746db9020d7 fixed all existing -Xlint warnings diff -r 943c2bf064fa -r 575eb1036ea9 jvmci/jdk.internal.jvmci.hotspot/src/jdk/internal/jvmci/hotspot/HotSpotConstantPool.java --- a/jvmci/jdk.internal.jvmci.hotspot/src/jdk/internal/jvmci/hotspot/HotSpotConstantPool.java Wed Sep 02 12:02:17 2015 +0200 +++ b/jvmci/jdk.internal.jvmci.hotspot/src/jdk/internal/jvmci/hotspot/HotSpotConstantPool.java Wed Sep 02 14:01:26 2015 +0200 @@ -427,11 +427,22 @@ * @param index constant pool index * @return klass reference index */ - private int getUncachedKlassRefIndexAt(int index) { - assertTagIsFieldOrMethod(index); - final int refIndex = unsafe.getInt(getMetaspaceConstantPool() + runtime().getConfig().constantPoolSize + index * runtime().getHostJVMCIBackend().getTarget().wordSize); - // klass ref index is in the low 16-bits. - return refIndex & 0xFFFF; + private int getUncachedKlassRefIndexAt(int index, JVM_CONSTANT tag) { + int resultIndex; + if (tag == JVM_CONSTANT.MethodRef || tag == JVM_CONSTANT.Fieldref || tag == JVM_CONSTANT.InterfaceMethodref) { + assertTagIsFieldOrMethod(index); + final int refIndex = unsafe.getInt(getMetaspaceConstantPool() + runtime().getConfig().constantPoolSize + index * runtime().getHostJVMCIBackend().getTarget().wordSize); + // klass ref index is in the low 16-bits. + resultIndex = refIndex & 0xFFFF; + } else { + resultIndex = index; + } + + // Read the tag only once because it could change between multiple reads. + final JVM_CONSTANT klassTag = getTagAt(resultIndex); + assert klassTag == JVM_CONSTANT.Class || klassTag == JVM_CONSTANT.UnresolvedClass || klassTag == JVM_CONSTANT.UnresolvedClassInError : klassTag; + + return resultIndex; } /** @@ -661,14 +672,10 @@ case MethodRef: case Fieldref: case InterfaceMethodref: - index = getUncachedKlassRefIndexAt(index); - // Read the tag only once because it could change between multiple reads. - final JVM_CONSTANT klassTag = getTagAt(index); - assert klassTag == JVM_CONSTANT.Class || klassTag == JVM_CONSTANT.UnresolvedClass || klassTag == JVM_CONSTANT.UnresolvedClassInError : klassTag; - // fall through case Class: case UnresolvedClass: case UnresolvedClassInError: + index = getUncachedKlassRefIndexAt(index, tag); final HotSpotResolvedObjectTypeImpl type = runtime().getCompilerToVM().resolveTypeInPool(this, index); Class klass = type.mirror(); if (!klass.isPrimitive() && !klass.isArray()) { diff -r 943c2bf064fa -r 575eb1036ea9 jvmci/jdk.internal.jvmci.hotspot/src/jdk/internal/jvmci/hotspot/HotSpotJVMCIMetaAccessContext.java --- a/jvmci/jdk.internal.jvmci.hotspot/src/jdk/internal/jvmci/hotspot/HotSpotJVMCIMetaAccessContext.java Wed Sep 02 12:02:17 2015 +0200 +++ b/jvmci/jdk.internal.jvmci.hotspot/src/jdk/internal/jvmci/hotspot/HotSpotJVMCIMetaAccessContext.java Wed Sep 02 14:01:26 2015 +0200 @@ -46,7 +46,7 @@ * The set of currently live contexts used for tracking of live metadata. Examined from the VM * during garbage collection. */ - @SuppressWarnings("unchecked") private static WeakReference[] allContexts = new WeakReference[0]; + private static WeakReference[] allContexts = new WeakReference[0]; /** * This is a chunked list of metadata roots. It can be read from VM native code so it's been diff -r 943c2bf064fa -r 575eb1036ea9 jvmci/jdk.internal.jvmci.hotspot/src/jdk/internal/jvmci/hotspot/HotSpotResolvedObjectTypeImpl.java --- a/jvmci/jdk.internal.jvmci.hotspot/src/jdk/internal/jvmci/hotspot/HotSpotResolvedObjectTypeImpl.java Wed Sep 02 12:02:17 2015 +0200 +++ b/jvmci/jdk.internal.jvmci.hotspot/src/jdk/internal/jvmci/hotspot/HotSpotResolvedObjectTypeImpl.java Wed Sep 02 14:01:26 2015 +0200 @@ -221,7 +221,7 @@ @Override public HotSpotResolvedObjectTypeImpl getSuperclass() { Class javaSuperclass = mirror().getSuperclass(); - return javaSuperclass == null ? null : (HotSpotResolvedObjectTypeImpl) fromObjectClass(javaSuperclass); + return javaSuperclass == null ? null : fromObjectClass(javaSuperclass); } @Override diff -r 943c2bf064fa -r 575eb1036ea9 jvmci/jdk.internal.jvmci.meta/src/jdk/internal/jvmci/meta/JavaField.java --- a/jvmci/jdk.internal.jvmci.meta/src/jdk/internal/jvmci/meta/JavaField.java Wed Sep 02 12:02:17 2015 +0200 +++ b/jvmci/jdk.internal.jvmci.meta/src/jdk/internal/jvmci/meta/JavaField.java Wed Sep 02 14:01:26 2015 +0200 @@ -88,20 +88,15 @@ throw new UnknownFormatConversionException("An unquoted '%' character cannot terminate a field format specification"); } char specifier = format.charAt(index++); - boolean qualified = false; switch (specifier) { case 'T': - qualified = true; - // fall through case 't': { - sb.append(type.toJavaName(qualified)); + sb.append(type.toJavaName(specifier == 'T')); break; } case 'H': - qualified = true; - // fall through case 'h': { - sb.append(getDeclaringClass().toJavaName(qualified)); + sb.append(getDeclaringClass().toJavaName(specifier == 'H')); break; } case 'n': { diff -r 943c2bf064fa -r 575eb1036ea9 jvmci/jdk.internal.jvmci.meta/src/jdk/internal/jvmci/meta/JavaMethod.java --- a/jvmci/jdk.internal.jvmci.meta/src/jdk/internal/jvmci/meta/JavaMethod.java Wed Sep 02 12:02:17 2015 +0200 +++ b/jvmci/jdk.internal.jvmci.meta/src/jdk/internal/jvmci/meta/JavaMethod.java Wed Sep 02 14:01:26 2015 +0200 @@ -82,23 +82,18 @@ throw new UnknownFormatConversionException("An unquoted '%' character cannot terminate a method format specification"); } char specifier = format.charAt(index++); - boolean qualified = false; switch (specifier) { case 'R': - qualified = true; - // fall through case 'r': { if (sig == null) { sig = getSignature(); } - sb.append(sig.getReturnType(null).toJavaName(qualified)); + sb.append(sig.getReturnType(null).toJavaName(specifier == 'R')); break; } case 'H': - qualified = true; - // fall through case 'h': { - sb.append(getDeclaringClass().toJavaName(qualified)); + sb.append(getDeclaringClass().toJavaName(specifier == 'H')); break; } case 'n': { @@ -106,8 +101,6 @@ break; } case 'P': - qualified = true; - // fall through case 'p': { if (sig == null) { sig = getSignature(); @@ -116,7 +109,7 @@ if (i != 0) { sb.append(", "); } - sb.append(sig.getParameterType(i, null).toJavaName(qualified)); + sb.append(sig.getParameterType(i, null).toJavaName(specifier == 'P')); } break; } diff -r 943c2bf064fa -r 575eb1036ea9 jvmci/jdk.internal.jvmci.runtime.test/src/jdk/internal/jvmci/runtime/test/RedefineClassTest.java --- a/jvmci/jdk.internal.jvmci.runtime.test/src/jdk/internal/jvmci/runtime/test/RedefineClassTest.java Wed Sep 02 12:02:17 2015 +0200 +++ b/jvmci/jdk.internal.jvmci.runtime.test/src/jdk/internal/jvmci/runtime/test/RedefineClassTest.java Wed Sep 02 14:01:26 2015 +0200 @@ -138,7 +138,7 @@ for (int i = 0; i < allClasses.length; i++) { Class c = allClasses[i]; if (c == Foo.class) { - inst.retransformClasses(new Class[]{c}); + inst.retransformClasses(new Class[]{c}); } } } diff -r 943c2bf064fa -r 575eb1036ea9 jvmci/jdk.internal.jvmci.runtime.test/src/jdk/internal/jvmci/runtime/test/TestResolvedJavaType.java --- a/jvmci/jdk.internal.jvmci.runtime.test/src/jdk/internal/jvmci/runtime/test/TestResolvedJavaType.java Wed Sep 02 12:02:17 2015 +0200 +++ b/jvmci/jdk.internal.jvmci.runtime.test/src/jdk/internal/jvmci/runtime/test/TestResolvedJavaType.java Wed Sep 02 14:01:26 2015 +0200 @@ -114,7 +114,7 @@ @Test public void isAssignableFromTest() { - Class[] all = classes.toArray(new Class[classes.size()]); + Class[] all = classes.toArray(new Class[classes.size()]); for (int i = 0; i < all.length; i++) { Class c1 = all[i]; for (int j = i; j < all.length; j++) { @@ -240,7 +240,7 @@ @Test public void findLeastCommonAncestorTest() { - Class[] all = classes.toArray(new Class[classes.size()]); + Class[] all = classes.toArray(new Class[classes.size()]); for (int i = 0; i < all.length; i++) { Class c1 = all[i]; for (int j = i; j < all.length; j++) {