Search in sources :

Example 1 with BytecodeSensitiveAnalysisPolicy

use of com.oracle.graal.pointsto.BytecodeSensitiveAnalysisPolicy 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