< 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 >