< prev index next >

src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.processor/src/org/graalvm/compiler/replacements/processor/InjectedDependencies.java

Print this page




  65         }
  66     }
  67 
  68     private static final class InjectedStampDependency extends Dependency {
  69 
  70         private InjectedStampDependency() {
  71             super("stamp", "org.graalvm.compiler.core.common.type.Stamp");
  72         }
  73 
  74         @Override
  75         public String inject(AbstractProcessor processor, ExecutableElement inject) {
  76             AnnotationMirror nodeIntrinsic = processor.getAnnotation(inject, processor.getType(NODE_INTRINSIC_CLASS_NAME));
  77             boolean nonNull = nodeIntrinsic != null && getAnnotationValue(nodeIntrinsic, "injectedStampIsNonNull", Boolean.class);
  78             return String.format("injection.getInjectedStamp(%s.class, %s)", GeneratedPlugin.getErasedType(inject.getReturnType()), nonNull);
  79         }
  80     }
  81 
  82     public enum WellKnownDependency {
  83         CONSTANT_REFLECTION("b.getConstantReflection()", "jdk.vm.ci.meta.ConstantReflectionProvider"),
  84         META_ACCESS("b.getMetaAccess()", "jdk.vm.ci.meta.MetaAccessProvider"),


  85         INJECTED_STAMP(new InjectedStampDependency()),
  86         SNIPPET_REFLECTION(new InjectedDependency("snippetReflection", "org.graalvm.compiler.api.replacements.SnippetReflectionProvider")),
  87         STAMP_PROVIDER("b.getStampProvider()", "org.graalvm.compiler.nodes.spi.StampProvider"),

  88         STRUCTURED_GRAPH("b.getGraph()", "org.graalvm.compiler.nodes.StructuredGraph");
  89 
  90         private final String expr;
  91         private final String type;
  92         private final Dependency generateMember;
  93 
  94         WellKnownDependency(String expr, String type) {
  95             this.expr = expr;
  96             this.type = type;
  97             this.generateMember = null;
  98         }
  99 
 100         WellKnownDependency(Dependency generateMember) {
 101             this.expr = generateMember.name;
 102             this.type = generateMember.type;
 103             this.generateMember = generateMember;
 104         }
 105 
 106         private TypeMirror getType(AbstractProcessor processor) {
 107             return processor.getType(type);




  65         }
  66     }
  67 
  68     private static final class InjectedStampDependency extends Dependency {
  69 
  70         private InjectedStampDependency() {
  71             super("stamp", "org.graalvm.compiler.core.common.type.Stamp");
  72         }
  73 
  74         @Override
  75         public String inject(AbstractProcessor processor, ExecutableElement inject) {
  76             AnnotationMirror nodeIntrinsic = processor.getAnnotation(inject, processor.getType(NODE_INTRINSIC_CLASS_NAME));
  77             boolean nonNull = nodeIntrinsic != null && getAnnotationValue(nodeIntrinsic, "injectedStampIsNonNull", Boolean.class);
  78             return String.format("injection.getInjectedStamp(%s.class, %s)", GeneratedPlugin.getErasedType(inject.getReturnType()), nonNull);
  79         }
  80     }
  81 
  82     public enum WellKnownDependency {
  83         CONSTANT_REFLECTION("b.getConstantReflection()", "jdk.vm.ci.meta.ConstantReflectionProvider"),
  84         META_ACCESS("b.getMetaAccess()", "jdk.vm.ci.meta.MetaAccessProvider"),
  85         ASSUMPTIONS("b.getAssumptions()", "jdk.vm.ci.meta.Assumptions"),
  86         OPTIONVALUES("b.getOptions()", "org.graalvm.compiler.options.OptionValues"),
  87         INJECTED_STAMP(new InjectedStampDependency()),
  88         SNIPPET_REFLECTION(new InjectedDependency("snippetReflection", "org.graalvm.compiler.api.replacements.SnippetReflectionProvider")),
  89         STAMP_PROVIDER("b.getStampProvider()", "org.graalvm.compiler.nodes.spi.StampProvider"),
  90         INTRINSIC_CONTEXT("b.getIntrinsic()", "org.graalvm.compiler.nodes.graphbuilderconf.IntrinsicContext"),
  91         STRUCTURED_GRAPH("b.getGraph()", "org.graalvm.compiler.nodes.StructuredGraph");
  92 
  93         private final String expr;
  94         private final String type;
  95         private final Dependency generateMember;
  96 
  97         WellKnownDependency(String expr, String type) {
  98             this.expr = expr;
  99             this.type = type;
 100             this.generateMember = null;
 101         }
 102 
 103         WellKnownDependency(Dependency generateMember) {
 104             this.expr = generateMember.name;
 105             this.type = generateMember.type;
 106             this.generateMember = generateMember;
 107         }
 108 
 109         private TypeMirror getType(AbstractProcessor processor) {
 110             return processor.getType(type);


< prev index next >