public final class ReferenceInternals extends Object
Reference or providing access to them. These are
not injected into Target_java_lang_ref_Reference so that subclasses of Reference
cannot interfere with them.| Modifier and Type | Field and Description |
|---|---|
static String |
REFERENT_FIELD_NAME |
| Modifier and Type | Method and Description |
|---|---|
static void |
clear(Reference<?> instance) |
static <T> org.graalvm.word.Pointer |
getDiscoveredPointer(Reference<T> instance)
Barrier-less read of
Target_java_lang_ref_Reference.discovered as a pointer. |
static <T> Reference<?> |
getNextDiscovered(Reference<T> instance)
|
static long |
getNextDiscoveredFieldOffset() |
static jdk.vm.ci.meta.ResolvedJavaType |
getReferenceType(jdk.vm.ci.meta.MetaAccessProvider metaAccess) |
static <T> T |
getReferent(Reference<T> instance) |
static jdk.vm.ci.meta.ResolvedJavaField |
getReferentField(jdk.vm.ci.meta.MetaAccessProvider metaAccess) |
static <T> org.graalvm.word.Pointer |
getReferentFieldAddress(Reference<T> instance) |
static long |
getReferentFieldOffset() |
static <T> org.graalvm.word.Pointer |
getReferentPointer(Reference<T> instance)
Barrier-less read of
Target_java_lang_ref_Reference.referent as a pointer. |
static long |
getSoftReferenceClock() |
static long |
getSoftReferenceTimestamp(SoftReference<?> instance) |
static boolean |
hasQueue(Reference<?> instance) |
static void |
processPendingReferences() |
static boolean |
refersTo(Reference<?> instance,
Object value) |
static <T> void |
setNextDiscovered(Reference<T> instance,
Reference<?> newNext)
|
static void |
setReferent(Reference<?> instance,
Object value)
|
static void |
updateSoftReferenceClock() |
static void |
waitForPendingReferences() |
static boolean |
waitForReferenceProcessing() |
public static final String REFERENT_FIELD_NAME
public static <T> org.graalvm.word.Pointer getReferentPointer(Reference<T> instance)
Target_java_lang_ref_Reference.referent as a pointer.public static <T> T getReferent(Reference<T> instance)
public static void clear(Reference<?> instance)
public static <T> org.graalvm.word.Pointer getReferentFieldAddress(Reference<T> instance)
public static long getReferentFieldOffset()
public static <T> org.graalvm.word.Pointer getDiscoveredPointer(Reference<T> instance)
Target_java_lang_ref_Reference.discovered as a pointer.public static long getNextDiscoveredFieldOffset()
public static <T> void setNextDiscovered(Reference<T> instance, Reference<?> newNext)
public static boolean hasQueue(Reference<?> instance)
public static void waitForPendingReferences()
throws InterruptedException
InterruptedExceptionpublic static void processPendingReferences()
public static boolean waitForReferenceProcessing()
throws InterruptedException
InterruptedExceptionpublic static long getSoftReferenceClock()
public static void updateSoftReferenceClock()
public static long getSoftReferenceTimestamp(SoftReference<?> instance)
public static jdk.vm.ci.meta.ResolvedJavaType getReferenceType(jdk.vm.ci.meta.MetaAccessProvider metaAccess)
public static jdk.vm.ci.meta.ResolvedJavaField getReferentField(jdk.vm.ci.meta.MetaAccessProvider metaAccess)