< prev index next >
src/jdk.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotJVMCIMetaAccessContext.java
Print this page
*** 28,38 ****
import java.util.Arrays;
import java.util.Iterator;
import java.util.Map;
import java.util.WeakHashMap;
- import jdk.vm.ci.meta.JVMCIMetaAccessContext;
import jdk.vm.ci.meta.JavaKind;
import jdk.vm.ci.meta.ResolvedJavaType;
/**
* This class manages the set of metadata roots that must be scanned during garbage collection.
--- 28,37 ----
*** 45,55 ****
* completes the wrapper object is registered here and will be scanned during metadata scanning. The
* weakness of the reference to the wrapper object allows them to be reclaimed when they are no
* longer used.
*
*/
! public class HotSpotJVMCIMetaAccessContext implements JVMCIMetaAccessContext {
/**
* The set of currently live contexts used for tracking of live metadata. Examined from the VM
* during garbage collection.
*/
--- 44,54 ----
* completes the wrapper object is registered here and will be scanned during metadata scanning. The
* weakness of the reference to the wrapper object allows them to be reclaimed when they are no
* longer used.
*
*/
! public class HotSpotJVMCIMetaAccessContext {
/**
* The set of currently live contexts used for tracking of live metadata. Examined from the VM
* during garbage collection.
*/
*** 147,157 ****
}
}
private final Map<Class<?>, WeakReference<ResolvedJavaType>> typeMap = new WeakHashMap<>();
! @Override
public synchronized ResolvedJavaType fromClass(Class<?> javaClass) {
WeakReference<ResolvedJavaType> typeRef = typeMap.get(javaClass);
ResolvedJavaType type = typeRef != null ? typeRef.get() : null;
if (type == null) {
type = createClass(javaClass);
--- 146,160 ----
}
}
private final Map<Class<?>, WeakReference<ResolvedJavaType>> typeMap = new WeakHashMap<>();
! /**
! * Gets the JVMCI mirror for a {@link Class} object.
! *
! * @return the {@link ResolvedJavaType} corresponding to {@code javaClass}
! */
public synchronized ResolvedJavaType fromClass(Class<?> javaClass) {
WeakReference<ResolvedJavaType> typeRef = typeMap.get(javaClass);
ResolvedJavaType type = typeRef != null ? typeRef.get() : null;
if (type == null) {
type = createClass(javaClass);
< prev index next >