public final class WindowsVMThreads extends VMThreads
VMThreads.OSThreadHandle, VMThreads.OSThreadId, VMThreads.StatusSupport
IsolateTL, OSThreadHandleTL, THREAD_LIST_CONDITION, THREAD_MUTEX
Constructor and Description |
---|
WindowsVMThreads() |
Modifier and Type | Method and Description |
---|---|
org.graalvm.nativeimage.IsolateThread |
allocateIsolateThread(int isolateThreadSize)
Allocate native memory for a
IsolateThread . |
void |
failFatally(int code,
org.graalvm.nativeimage.c.type.CCharPointer message)
Report a fatal error to the user and exit.
|
void |
freeIsolateThread(org.graalvm.nativeimage.IsolateThread thread)
Free the native memory allocated by
VMThreads.allocateIsolateThread(int) . |
protected VMThreads.OSThreadHandle |
getCurrentOSThreadHandle()
Returns a platform-specific handle to the current thread.
|
protected VMThreads.OSThreadId |
getCurrentOSThreadId()
Returns a unique identifier for the current thread.
|
protected boolean |
initializeOnce()
Make sure the runtime is initialized for threading.
|
protected void |
joinNoTransition(VMThreads.OSThreadHandle osThreadHandle)
Executes a non-multithreading-safe low-level (i.e., non-Java-level) join operation on the
given native thread.
|
attachThread, cleanupExitedOsThreads, detachThread, detachThreads, ensureInitialized, findIsolateThreadforCurrentOSThread, firstThread, firstThreadUnsafe, guaranteeOwnsThreadMutex, isInitialized, isTearingDown, nextThread, setTearingDown, singleton, tearDown
protected VMThreads.OSThreadHandle getCurrentOSThreadHandle()
VMThreads
VMThreads.attachThread(IsolateThread)
, when
VMThreads.OSThreadHandleTL
is not set yet.getCurrentOSThreadHandle
in class VMThreads
protected VMThreads.OSThreadId getCurrentOSThreadId()
VMThreads
getCurrentOSThreadId
in class VMThreads
protected void joinNoTransition(VMThreads.OSThreadHandle osThreadHandle)
VMThreads
joinNoTransition
in class VMThreads
protected boolean initializeOnce()
initializeOnce
in class VMThreads
public org.graalvm.nativeimage.IsolateThread allocateIsolateThread(int isolateThreadSize)
VMThreads
IsolateThread
. The returned memory must be initialized
to 0.allocateIsolateThread
in class VMThreads
public void freeIsolateThread(org.graalvm.nativeimage.IsolateThread thread)
VMThreads
VMThreads.allocateIsolateThread(int)
.freeIsolateThread
in class VMThreads
public void failFatally(int code, org.graalvm.nativeimage.c.type.CCharPointer message)
VMThreads
failFatally
in class VMThreads