3131import com .oracle .graal .pointsto .meta .AnalysisType ;
3232import com .oracle .svm .core .hub .DynamicHub ;
3333import com .oracle .svm .graal .meta .SubstrateType ;
34- import com .oracle .svm .truffle .TruffleFeature ;
3534import com .oracle .svm .util .OriginalClassProvider ;
3635import org .graalvm .nativeimage .ImageSingletons ;
3736import org .graalvm .nativeimage .Platform ;
@@ -62,16 +61,14 @@ public final class SubstrateTruffleUniverseFactory extends SubstrateUniverseFact
6261 private final SubstrateTruffleRuntime truffleRuntime ;
6362 private final ConcurrentMap <PartialEvaluationMethodInfo , PartialEvaluationMethodInfo > canonicalMethodInfos = new ConcurrentHashMap <>();
6463 private final ConcurrentMap <ConstantFieldInfo , ConstantFieldInfo > canonicalFieldInfos = new ConcurrentHashMap <>();
65- private final TruffleFeature truffleFeature ;
6664
67- public SubstrateTruffleUniverseFactory (SubstrateTruffleRuntime truffleRuntime , TruffleFeature truffleFeature ) {
65+ public SubstrateTruffleUniverseFactory (SubstrateTruffleRuntime truffleRuntime ) {
6866 this .truffleRuntime = truffleRuntime ;
69- this .truffleFeature = truffleFeature ;
7067 }
7168
7269 @ Override
7370 public SubstrateMethod createMethod (AnalysisMethod aMethod , ImageCodeInfo imageCodeInfo , HostedStringDeduplication stringTable ) {
74- PartialEvaluationMethodInfo peInfo = createPartialEvaluationMethodInfo (truffleRuntime , aMethod , truffleFeature . getTypes ( ));
71+ PartialEvaluationMethodInfo peInfo = createPartialEvaluationMethodInfo (truffleRuntime , aMethod , ImageSingletons . lookup ( KnownTruffleTypes . class ));
7572 PartialEvaluationMethodInfo canonicalPeInfo = canonicalMethodInfos .computeIfAbsent (peInfo , k -> k );
7673 /*
7774 * A collection of all the flags that Truffle needs for partial evaluation. Most of this
@@ -86,7 +83,7 @@ public SubstrateMethod createMethod(AnalysisMethod aMethod, ImageCodeInfo imageC
8683 public SubstrateField createField (AnalysisField aField , HostedStringDeduplication stringTable ) {
8784 SubstrateAnnotationExtractor extractor = (SubstrateAnnotationExtractor ) ImageSingletons .lookup (AnnotationExtractor .class );
8885 Map <ResolvedJavaType , AnnotationValue > annotations = extractor .getDeclaredAnnotationValues (aField );
89- ConstantFieldInfo fieldInfo = PartialEvaluator .computeConstantFieldInfo (aField , annotations , truffleFeature . getTypes ( ), OriginalClassProvider ::getOriginalType );
86+ ConstantFieldInfo fieldInfo = PartialEvaluator .computeConstantFieldInfo (aField , annotations , ImageSingletons . lookup ( KnownTruffleTypes . class ), OriginalClassProvider ::getOriginalType );
9087 ConstantFieldInfo canonicalFieldInfo = fieldInfo == null ? null : canonicalFieldInfos .computeIfAbsent (fieldInfo , k -> k );
9188 return new SubstrateTruffleField (aField , stringTable , canonicalFieldInfo );
9289 }
@@ -95,7 +92,7 @@ public SubstrateField createField(AnalysisField aField, HostedStringDeduplicatio
9592 public SubstrateType createType (AnalysisType analysisType , DynamicHub hub ) {
9693 SubstrateAnnotationExtractor extractor = (SubstrateAnnotationExtractor ) ImageSingletons .lookup (AnnotationExtractor .class );
9794 Map <ResolvedJavaType , AnnotationValue > annotations = extractor .getDeclaredAnnotationValues (analysisType );
98- boolean valueType = annotations .containsKey (OriginalClassProvider .getOriginalType (truffleFeature . getTypes ( ).CompilerDirectives_ValueType ));
95+ boolean valueType = annotations .containsKey (OriginalClassProvider .getOriginalType (ImageSingletons . lookup ( KnownTruffleTypes . class ).CompilerDirectives_ValueType ));
9996 return new SubstrateTruffleType (analysisType .getJavaKind (), hub , valueType );
10097 }
10198
0 commit comments