< prev index next >

src/java.base/share/classes/java/lang/System.java

Print this page

        

@@ -54,10 +54,11 @@
 import java.util.ResourceBundle;
 import java.util.function.Supplier;
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.stream.Stream;
 
+import jdk.internal.loader.BootLoader;
 import jdk.internal.module.ModuleBootstrap;
 import jdk.internal.module.ServicesCatalog;
 import jdk.internal.reflect.CallerSensitive;
 import jdk.internal.reflect.Reflection;
 import jdk.internal.HotSpotIntrinsicCandidate;

@@ -2163,8 +2164,21 @@
                 return layer.layers();
             }
             public Stream<ModuleLayer> layers(ClassLoader loader) {
                 return ModuleLayer.layers(loader);
             }
+            public Class<?> loadValueTypeClass(Module module, ClassLoader cl, String name) {
+                try {
+                    // VM support to define DVT
+                    Class<?> c = Class.forName0(name, false, cl, Object.class);
+                    // catch if the given name is not the name of a DVT class
+                    if (!c.isValueClass()) {
+                        throw new InternalError(c.getName() + " not a value type");
+                    }
+                    return c;
+                } catch (ClassNotFoundException e) {
+                    throw new InternalError(e);
+                }
+            }
         });
     }
 }
< prev index next >