public final class SharedMemorySync extends Object
| Modifier and Type | Method and Description |
|---|---|
static void |
addWaiter(JSContext cx,
JSAgentWaiterList.JSAgentWaiterListEntry wl,
JSAgentWaiterList.WaiterRecord waiterRecord,
boolean isAsync) |
static boolean |
agentCanSuspend(JSContext cx) |
static BigInt |
atomicFetchOrGetBigInt(JSContext cx,
com.oracle.truffle.api.object.DynamicObject target,
int intArrayOffset,
BigInt expected,
BigInt replacement) |
static int |
atomicFetchOrGetByte(JSContext cx,
com.oracle.truffle.api.object.DynamicObject target,
int intArrayOffset,
int expected,
int replacement,
boolean sign) |
static int |
atomicFetchOrGetInt(JSContext cx,
com.oracle.truffle.api.object.DynamicObject target,
int intArrayOffset,
int expected,
int replacement) |
static long |
atomicFetchOrGetLong(JSContext cx,
com.oracle.truffle.api.object.DynamicObject target,
int intArrayOffset,
long expected,
long replacement) |
static int |
atomicFetchOrGetShort(JSContext cx,
com.oracle.truffle.api.object.DynamicObject target,
int intArrayOffset,
int expected,
int replacement,
boolean sign) |
static long |
atomicFetchOrGetUnsigned(JSContext cx,
com.oracle.truffle.api.object.DynamicObject target,
int intArrayOffset,
Object expected,
Object replacement) |
static boolean |
compareAndSwapBigInt(JSContext cx,
com.oracle.truffle.api.object.DynamicObject target,
int intArrayOffset,
BigInt initial,
BigInt result) |
static boolean |
compareAndSwapInt(JSContext cx,
com.oracle.truffle.api.object.DynamicObject target,
int intArrayOffset,
int initial,
int result) |
static int |
doVolatileGet(com.oracle.truffle.api.object.DynamicObject target,
int intArrayOffset) |
static BigInt |
doVolatileGetBigInt(com.oracle.truffle.api.object.DynamicObject target,
int intArrayOffset) |
static void |
doVolatilePut(com.oracle.truffle.api.object.DynamicObject target,
int index,
int value) |
static void |
doVolatilePutBigInt(com.oracle.truffle.api.object.DynamicObject target,
int index,
BigInt value) |
static void |
enterCriticalSection(JSContext cx,
JSAgentWaiterList.JSAgentWaiterListEntry wl) |
static JSAgentWaiterList.JSAgentWaiterListEntry |
getWaiterList(JSContext cx,
com.oracle.truffle.api.object.DynamicObject target,
int indexPos) |
static void |
leaveCriticalSection(JSContext cx,
JSAgentWaiterList.JSAgentWaiterListEntry wl) |
static void |
notifyWaiter(JSContext cx,
JSAgentWaiterList.WaiterRecord waiterRecord) |
static void |
removeWaiter(JSContext cx,
JSAgentWaiterList.JSAgentWaiterListEntry wl,
JSAgentWaiterList.WaiterRecord w) |
static JSAgentWaiterList.WaiterRecord[] |
removeWaiters(JSContext cx,
JSAgentWaiterList.JSAgentWaiterListEntry wl,
int count) |
static boolean |
suspendAgent(JSContext cx,
JSAgentWaiterList.JSAgentWaiterListEntry wl,
JSAgentWaiterList.WaiterRecord waiterRecord) |
public static int doVolatileGet(com.oracle.truffle.api.object.DynamicObject target,
int intArrayOffset)
public static BigInt doVolatileGetBigInt(com.oracle.truffle.api.object.DynamicObject target, int intArrayOffset)
public static void doVolatilePut(com.oracle.truffle.api.object.DynamicObject target,
int index,
int value)
public static void doVolatilePutBigInt(com.oracle.truffle.api.object.DynamicObject target,
int index,
BigInt value)
public static boolean compareAndSwapInt(JSContext cx, com.oracle.truffle.api.object.DynamicObject target, int intArrayOffset, int initial, int result)
public static boolean compareAndSwapBigInt(JSContext cx, com.oracle.truffle.api.object.DynamicObject target, int intArrayOffset, BigInt initial, BigInt result)
public static long atomicFetchOrGetUnsigned(JSContext cx, com.oracle.truffle.api.object.DynamicObject target, int intArrayOffset, Object expected, Object replacement)
public static long atomicFetchOrGetLong(JSContext cx, com.oracle.truffle.api.object.DynamicObject target, int intArrayOffset, long expected, long replacement)
public static int atomicFetchOrGetInt(JSContext cx, com.oracle.truffle.api.object.DynamicObject target, int intArrayOffset, int expected, int replacement)
public static int atomicFetchOrGetShort(JSContext cx, com.oracle.truffle.api.object.DynamicObject target, int intArrayOffset, int expected, int replacement, boolean sign)
public static int atomicFetchOrGetByte(JSContext cx, com.oracle.truffle.api.object.DynamicObject target, int intArrayOffset, int expected, int replacement, boolean sign)
public static BigInt atomicFetchOrGetBigInt(JSContext cx, com.oracle.truffle.api.object.DynamicObject target, int intArrayOffset, BigInt expected, BigInt replacement)
public static JSAgentWaiterList.JSAgentWaiterListEntry getWaiterList(JSContext cx, com.oracle.truffle.api.object.DynamicObject target, int indexPos)
public static void enterCriticalSection(JSContext cx, JSAgentWaiterList.JSAgentWaiterListEntry wl)
public static void leaveCriticalSection(JSContext cx, JSAgentWaiterList.JSAgentWaiterListEntry wl)
public static boolean agentCanSuspend(JSContext cx)
public static void addWaiter(JSContext cx, JSAgentWaiterList.JSAgentWaiterListEntry wl, JSAgentWaiterList.WaiterRecord waiterRecord, boolean isAsync)
public static void removeWaiter(JSContext cx, JSAgentWaiterList.JSAgentWaiterListEntry wl, JSAgentWaiterList.WaiterRecord w)
public static boolean suspendAgent(JSContext cx, JSAgentWaiterList.JSAgentWaiterListEntry wl, JSAgentWaiterList.WaiterRecord waiterRecord)
public static void notifyWaiter(JSContext cx, JSAgentWaiterList.WaiterRecord waiterRecord)
public static JSAgentWaiterList.WaiterRecord[] removeWaiters(JSContext cx, JSAgentWaiterList.JSAgentWaiterListEntry wl, int count)