Search in sources :

Example 1 with PointsToAnalysisFactory

use of com.oracle.graal.pointsto.meta.PointsToAnalysisFactory in project graal by oracle.

the class NativeImageGenerator method createAnalysisUniverse.

public static AnalysisUniverse createAnalysisUniverse(OptionValues options, TargetDescription target, ImageClassLoader loader, MetaAccessProvider originalMetaAccess, SnippetReflectionProvider originalSnippetReflection, AnnotationSubstitutionProcessor annotationSubstitutions, SubstitutionProcessor cEnumProcessor, ClassInitializationSupport classInitializationSupport, List<SubstitutionProcessor> additionalSubstitutions) {
    UnsafeAutomaticSubstitutionProcessor automaticSubstitutions = createAutomaticUnsafeSubstitutions(originalSnippetReflection, annotationSubstitutions);
    SubstitutionProcessor aSubstitutions = createAnalysisSubstitutionProcessor(originalMetaAccess, originalSnippetReflection, cEnumProcessor, automaticSubstitutions, annotationSubstitutions, additionalSubstitutions);
    SVMHost hostVM = HostedConfiguration.instance().createHostVM(options, loader.getClassLoader(), classInitializationSupport, automaticSubstitutions, loader.platform, originalSnippetReflection);
    automaticSubstitutions.init(loader, originalMetaAccess);
    AnalysisPolicy analysisPolicy = PointstoOptions.AllocationSiteSensitiveHeap.getValue(options) ? new BytecodeSensitiveAnalysisPolicy(options) : new DefaultAnalysisPolicy(options);
    return new AnalysisUniverse(hostVM, target.wordJavaKind, analysisPolicy, aSubstitutions, originalMetaAccess, originalSnippetReflection, new SubstrateSnippetReflectionProvider(new SubstrateWordTypes(originalMetaAccess, FrameAccess.getWordKind())), new PointsToAnalysisFactory());
}
Also used : UnsafeAutomaticSubstitutionProcessor(com.oracle.svm.hosted.substitute.UnsafeAutomaticSubstitutionProcessor) BytecodeSensitiveAnalysisPolicy(com.oracle.graal.pointsto.BytecodeSensitiveAnalysisPolicy) SubstrateSnippetReflectionProvider(com.oracle.svm.core.graal.meta.SubstrateSnippetReflectionProvider) AnalysisPolicy(com.oracle.graal.pointsto.AnalysisPolicy) BytecodeSensitiveAnalysisPolicy(com.oracle.graal.pointsto.BytecodeSensitiveAnalysisPolicy) DefaultAnalysisPolicy(com.oracle.graal.pointsto.DefaultAnalysisPolicy) PointsToAnalysisFactory(com.oracle.graal.pointsto.meta.PointsToAnalysisFactory) DefaultAnalysisPolicy(com.oracle.graal.pointsto.DefaultAnalysisPolicy) AnnotationSubstitutionProcessor(com.oracle.svm.hosted.substitute.AnnotationSubstitutionProcessor) NativeMethodSubstitutionProcessor(com.oracle.svm.hosted.code.NativeMethodSubstitutionProcessor) SubstitutionProcessor(com.oracle.graal.pointsto.infrastructure.SubstitutionProcessor) UnsafeAutomaticSubstitutionProcessor(com.oracle.svm.hosted.substitute.UnsafeAutomaticSubstitutionProcessor) CEnumCallWrapperSubstitutionProcessor(com.oracle.svm.hosted.cenum.CEnumCallWrapperSubstitutionProcessor) CFunctionSubstitutionProcessor(com.oracle.svm.hosted.code.CFunctionSubstitutionProcessor) SubstrateWordTypes(com.oracle.svm.core.graal.word.SubstrateWordTypes) AnalysisUniverse(com.oracle.graal.pointsto.meta.AnalysisUniverse)

Aggregations

AnalysisPolicy (com.oracle.graal.pointsto.AnalysisPolicy)1 BytecodeSensitiveAnalysisPolicy (com.oracle.graal.pointsto.BytecodeSensitiveAnalysisPolicy)1 DefaultAnalysisPolicy (com.oracle.graal.pointsto.DefaultAnalysisPolicy)1 SubstitutionProcessor (com.oracle.graal.pointsto.infrastructure.SubstitutionProcessor)1 AnalysisUniverse (com.oracle.graal.pointsto.meta.AnalysisUniverse)1 PointsToAnalysisFactory (com.oracle.graal.pointsto.meta.PointsToAnalysisFactory)1 SubstrateSnippetReflectionProvider (com.oracle.svm.core.graal.meta.SubstrateSnippetReflectionProvider)1 SubstrateWordTypes (com.oracle.svm.core.graal.word.SubstrateWordTypes)1 CEnumCallWrapperSubstitutionProcessor (com.oracle.svm.hosted.cenum.CEnumCallWrapperSubstitutionProcessor)1 CFunctionSubstitutionProcessor (com.oracle.svm.hosted.code.CFunctionSubstitutionProcessor)1 NativeMethodSubstitutionProcessor (com.oracle.svm.hosted.code.NativeMethodSubstitutionProcessor)1 AnnotationSubstitutionProcessor (com.oracle.svm.hosted.substitute.AnnotationSubstitutionProcessor)1 UnsafeAutomaticSubstitutionProcessor (com.oracle.svm.hosted.substitute.UnsafeAutomaticSubstitutionProcessor)1