< prev index next >

jdk/src/java.base/share/classes/java/lang/Class.java

Print this page

        

@@ -466,13 +466,12 @@
         Class<?> c = this;
         while (c.isArray()) {
             c = c.getComponentType();
         }
 
-        // Check ACC_VALUE for now to workaround the issue in C2 intrinsic
-        // for isAssignableFrom that does not work with value type
-        return (c.getModifiers() & ACC_VALUE) != 0 && c != __Value.class;
+        // For now, check if it is a subtype of __Value
+        return __Value.class.isAssignableFrom(c) && c != __Value.class;
     }
 
     private void ensureNotValueClass() {
         // temporary workaround until compiler/valhalla/valuetypes/ValueTypeBenchTest.java
         // is updated to do reflection on VCC instead of VVT declared with __ByValue
< prev index next >