use of com.oracle.svm.core.graal.llvm.lowering.SubstrateLLVMLoweringProvider in project graal by oracle.
the class LLVMFeature method afterRegistration.
@Override
public void afterRegistration(AfterRegistrationAccess access) {
ImageSingletons.add(SubstrateBackendFactory.class, new SubstrateBackendFactory() {
@Override
public SubstrateBackend newBackend(Providers newProviders) {
return new SubstrateLLVMBackend(newProviders);
}
});
ImageSingletons.add(SubstrateLoweringProviderFactory.class, SubstrateLLVMLoweringProvider::new);
ImageSingletons.add(NativeImageCodeCacheFactory.class, new NativeImageCodeCacheFactory() {
@Override
public NativeImageCodeCache newCodeCache(CompileQueue compileQueue, NativeImageHeap heap, Platform platform, Path tempDir) {
return new LLVMNativeImageCodeCache(compileQueue.getCompilations(), heap, platform, tempDir);
}
});
ImageSingletons.add(ExceptionUnwind.class, LLVMExceptionUnwind.createRaiseExceptionHandler());
ImageSingletons.add(TargetGraphBuilderPlugins.class, new LLVMGraphBuilderPlugins());
ImageSingletons.add(SubstrateSuitesCreatorProvider.class, new SubstrateSuitesCreatorProvider());
}
Aggregations