changeset 22505:575eb1036ea9

fixed all existing -Xlint warnings
author Doug Simon <doug.simon@oracle.com>
date Wed, 02 Sep 2015 14:01:26 +0200
parents 943c2bf064fa
children 363cba9482db
files jvmci/jdk.internal.jvmci.hotspot/src/jdk/internal/jvmci/hotspot/HotSpotConstantPool.java jvmci/jdk.internal.jvmci.hotspot/src/jdk/internal/jvmci/hotspot/HotSpotJVMCIMetaAccessContext.java jvmci/jdk.internal.jvmci.hotspot/src/jdk/internal/jvmci/hotspot/HotSpotResolvedObjectTypeImpl.java jvmci/jdk.internal.jvmci.meta/src/jdk/internal/jvmci/meta/JavaField.java jvmci/jdk.internal.jvmci.meta/src/jdk/internal/jvmci/meta/JavaMethod.java jvmci/jdk.internal.jvmci.runtime.test/src/jdk/internal/jvmci/runtime/test/RedefineClassTest.java jvmci/jdk.internal.jvmci.runtime.test/src/jdk/internal/jvmci/runtime/test/TestResolvedJavaType.java
diffstat 7 files changed, 27 insertions(+), 32 deletions(-) [+]
line wrap: on
line diff
--- 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()) {
--- 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<HotSpotJVMCIMetaAccessContext>[] 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
--- 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
--- 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': {
--- 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;
                     }
--- 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});
                     }
                 }
             }
--- 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++) {