use of jdk.vm.ci.hotspot.HotSpotSpeculationLog in project graal by oracle.
the class HotSpotTruffleRuntimeServices method getCompilationSpeculationLog.
/**
* Gets a speculation log to be used for compiling {@code callTarget}.
*/
public static SpeculationLog getCompilationSpeculationLog(OptimizedCallTarget callTarget) {
if (sharedHotSpotSpeculationLogConstructor != null) {
HotSpotSpeculationLog log = (HotSpotSpeculationLog) callTarget.getSpeculationLog();
try {
SpeculationLog compilationSpeculationLog = sharedHotSpotSpeculationLogConstructor.newInstance(log);
compilationSpeculationLog.collectFailedSpeculations();
return compilationSpeculationLog;
} catch (InstantiationException | IllegalAccessException | InvocationTargetException e) {
throw new InternalError(e);
}
}
SpeculationLog log = callTarget.getSpeculationLog();
if (log != null) {
log.collectFailedSpeculations();
}
return log;
}
use of jdk.vm.ci.hotspot.HotSpotSpeculationLog in project graal by oracle.
the class TruffleFromLibGraalEntryPoints method getFailedSpeculationsAddress.
@TruffleFromLibGraal(GetFailedSpeculationsAddress)
static long getFailedSpeculationsAddress(Object compilable) {
OptimizedCallTarget callTarget = (OptimizedCallTarget) compilable;
HotSpotSpeculationLog log = (HotSpotSpeculationLog) callTarget.getSpeculationLog();
return LibGraal.getFailedSpeculationsAddress(log);
}
Aggregations