public final class RuntimeCodeCacheCleaner extends Object implements RuntimeCodeCache.CodeInfoVisitor
CodeInfo objects.
Furthermore, it also actively invalidates and frees code that has references to otherwise no
longer reachable Java heap objects.| Modifier and Type | Field and Description |
|---|---|
static Class<?>[] |
CLASSES_ASSUMED_REACHABLE
To avoid unnecessary deoptimizations, we need to assume that objects of the following classes
are reachable, even if they don't have any strong references:
SpeculationLog.SpeculationReason objects are embedded in the code and only needed when a
deoptimization is triggered.
SharedRuntimeMethod objects are sometimes used as artifical methods (e.g., for
adapter code) and are located in the frame info object constants.
|
| Constructor and Description |
|---|
RuntimeCodeCacheCleaner() |
| Modifier and Type | Method and Description |
|---|---|
<T extends CodeInfo> |
visitCode(T codeInfo)
Visit compiled code, using the provided access methods.
|
public static final Class<?>[] CLASSES_ASSUMED_REACHABLE
SpeculationLog.SpeculationReason objects are embedded in the code and only needed when a
deoptimization is triggered.SharedRuntimeMethod objects are sometimes used as artifical methods (e.g., for
adapter code) and are located in the frame info object constants.public <T extends CodeInfo> boolean visitCode(T codeInfo)
RuntimeCodeCache.CodeInfoVisitorvisitCode in interface RuntimeCodeCache.CodeInfoVisitor