22 * or visit www.oracle.com if you need additional information or have any
23 * questions.
24 */
25 package java.lang;
26
27 import java.io.BufferedInputStream;
28 import java.io.BufferedOutputStream;
29 import java.io.Console;
30 import java.io.FileDescriptor;
31 import java.io.FileInputStream;
32 import java.io.FileOutputStream;
33 import java.io.IOException;
34 import java.io.InputStream;
35 import java.io.OutputStream;
36 import java.io.PrintStream;
37 import java.lang.annotation.Annotation;
38 import java.lang.foreign.MemorySegment;
39 import java.lang.invoke.MethodHandle;
40 import java.lang.invoke.MethodType;
41 import java.lang.module.ModuleDescriptor;
42 import java.lang.reflect.Executable;
43 import java.lang.reflect.Method;
44 import java.net.URI;
45 import java.nio.channels.Channel;
46 import java.nio.channels.spi.SelectorProvider;
47 import java.nio.charset.CharacterCodingException;
48 import java.nio.charset.Charset;
49 import java.security.ProtectionDomain;
50 import java.util.List;
51 import java.util.Locale;
52 import java.util.Map;
53 import java.util.Objects;
54 import java.util.Properties;
55 import java.util.ResourceBundle;
56 import java.util.Set;
57 import java.util.concurrent.Executor;
58 import java.util.concurrent.ScheduledExecutorService;
59 import java.util.function.Supplier;
60 import java.util.concurrent.ConcurrentHashMap;
61 import java.util.stream.Stream;
2279 }
2280
2281 public void unparkVirtualThread(Thread thread) {
2282 if (thread instanceof BaseVirtualThread vthread) {
2283 vthread.unpark();
2284 } else {
2285 throw new WrongThreadException();
2286 }
2287 }
2288
2289 public Executor virtualThreadDefaultScheduler() {
2290 return VirtualThread.defaultScheduler();
2291 }
2292
2293 public StackWalker newStackWalkerInstance(Set<StackWalker.Option> options,
2294 ContinuationScope contScope,
2295 Continuation continuation) {
2296 return StackWalker.newInstance(options, null, contScope, continuation);
2297 }
2298
2299 public String getLoaderNameID(ClassLoader loader) {
2300 return loader != null ? loader.nameAndId() : "null";
2301 }
2302
2303 @Override
2304 public void copyToSegmentRaw(String string, MemorySegment segment, long offset) {
2305 string.copyToSegmentRaw(segment, offset);
2306 }
2307
2308 @Override
2309 public boolean bytesCompatible(String string, Charset charset) {
2310 return string.bytesCompatible(charset);
2311 }
2312 });
2313 }
2314 }
|
22 * or visit www.oracle.com if you need additional information or have any
23 * questions.
24 */
25 package java.lang;
26
27 import java.io.BufferedInputStream;
28 import java.io.BufferedOutputStream;
29 import java.io.Console;
30 import java.io.FileDescriptor;
31 import java.io.FileInputStream;
32 import java.io.FileOutputStream;
33 import java.io.IOException;
34 import java.io.InputStream;
35 import java.io.OutputStream;
36 import java.io.PrintStream;
37 import java.lang.annotation.Annotation;
38 import java.lang.foreign.MemorySegment;
39 import java.lang.invoke.MethodHandle;
40 import java.lang.invoke.MethodType;
41 import java.lang.module.ModuleDescriptor;
42 import java.lang.reflect.ClassFileFormatVersion;
43 import java.lang.reflect.Executable;
44 import java.lang.reflect.Method;
45 import java.net.URI;
46 import java.nio.channels.Channel;
47 import java.nio.channels.spi.SelectorProvider;
48 import java.nio.charset.CharacterCodingException;
49 import java.nio.charset.Charset;
50 import java.security.ProtectionDomain;
51 import java.util.List;
52 import java.util.Locale;
53 import java.util.Map;
54 import java.util.Objects;
55 import java.util.Properties;
56 import java.util.ResourceBundle;
57 import java.util.Set;
58 import java.util.concurrent.Executor;
59 import java.util.concurrent.ScheduledExecutorService;
60 import java.util.function.Supplier;
61 import java.util.concurrent.ConcurrentHashMap;
62 import java.util.stream.Stream;
2280 }
2281
2282 public void unparkVirtualThread(Thread thread) {
2283 if (thread instanceof BaseVirtualThread vthread) {
2284 vthread.unpark();
2285 } else {
2286 throw new WrongThreadException();
2287 }
2288 }
2289
2290 public Executor virtualThreadDefaultScheduler() {
2291 return VirtualThread.defaultScheduler();
2292 }
2293
2294 public StackWalker newStackWalkerInstance(Set<StackWalker.Option> options,
2295 ContinuationScope contScope,
2296 Continuation continuation) {
2297 return StackWalker.newInstance(options, null, contScope, continuation);
2298 }
2299
2300 public int classFileFormatVersion(Class<?> clazz) {
2301 return clazz.getClassFileVersion();
2302 }
2303
2304 public String getLoaderNameID(ClassLoader loader) {
2305 return loader != null ? loader.nameAndId() : "null";
2306 }
2307
2308 @Override
2309 public void copyToSegmentRaw(String string, MemorySegment segment, long offset) {
2310 string.copyToSegmentRaw(segment, offset);
2311 }
2312
2313 @Override
2314 public boolean bytesCompatible(String string, Charset charset) {
2315 return string.bytesCompatible(charset);
2316 }
2317 });
2318 }
2319 }
|