public final class PosixVMThreads extends VMThreads
VMThreads.OSThreadHandle, VMThreads.OSThreadId, VMThreads.StatusSupportIsolateTL, OSThreadHandleTL, THREAD_LIST_CONDITION, THREAD_MUTEX| Constructor and Description |
|---|
PosixVMThreads() |
| 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()
Invoked exactly once early during the startup of an isolate.
|
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, tearDownprotected VMThreads.OSThreadHandle getCurrentOSThreadHandle()
VMThreadsVMThreads.attachThread(IsolateThread), when
VMThreads.OSThreadHandleTL is not set yet.getCurrentOSThreadHandle in class VMThreadsprotected VMThreads.OSThreadId getCurrentOSThreadId()
VMThreadsgetCurrentOSThreadId in class VMThreadsprotected void joinNoTransition(VMThreads.OSThreadHandle osThreadHandle)
VMThreadsjoinNoTransition in class VMThreadsprotected boolean initializeOnce()
VMThreadsinitializeOnce in class VMThreadspublic org.graalvm.nativeimage.IsolateThread allocateIsolateThread(int isolateThreadSize)
VMThreadsIsolateThread. The returned memory must be initialized
to 0.allocateIsolateThread in class VMThreadspublic void freeIsolateThread(org.graalvm.nativeimage.IsolateThread thread)
VMThreadsVMThreads.allocateIsolateThread(int).freeIsolateThread in class VMThreadspublic void failFatally(int code,
org.graalvm.nativeimage.c.type.CCharPointer message)
VMThreadsfailFatally in class VMThreads