public abstract static class SnippetTemplate.AbstractTemplates extends Object implements SnippetTemplateCache
SnippetTemplates.| Modifier and Type | Field and Description |
|---|---|
protected MetaAccessProvider |
metaAccess |
protected OptionValues |
options |
protected Providers |
providers |
protected Replacements |
replacements |
| Modifier | Constructor and Description |
|---|---|
protected |
AbstractTemplates(OptionValues options,
Providers providers) |
| Modifier and Type | Method and Description |
|---|---|
protected PhaseSuite<Providers> |
createMidTierPhases()
Additional mid-tier optimization phases to run on the snippet graph during
SnippetTemplate.AbstractTemplates.template(org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.replacements.SnippetTemplate.Arguments) creation. |
static Method |
findMethod(Class<?> declaringClass,
String methodName,
Method except) |
static ResolvedJavaMethod |
findMethod(MetaAccessProvider metaAccess,
Class<?> declaringClass,
String methodName) |
MetaAccessProvider |
getMetaAccess() |
protected SnippetTemplate.SnippetInfo |
snippet(Class<? extends Snippets> declaringClass,
String methodName,
org.graalvm.word.LocationIdentity... initialPrivateLocations) |
protected SnippetTemplate.SnippetInfo |
snippet(Class<? extends Snippets> declaringClass,
String methodName,
ResolvedJavaMethod original,
Object receiver,
org.graalvm.word.LocationIdentity... initialPrivateLocations)
Finds the unique method in
declaringClass named methodName annotated by
Snippet and returns a SnippetTemplate.SnippetInfo value describing it. |
SnippetTemplate |
template(ValueNode replacee,
SnippetTemplate.Arguments args)
Gets a template for a given key, creating it first if necessary.
|
protected final OptionValues options
protected final Replacements replacements
protected final Providers providers
protected final MetaAccessProvider metaAccess
protected AbstractTemplates(OptionValues options, Providers providers)
public MetaAccessProvider getMetaAccess()
public static Method findMethod(Class<?> declaringClass, String methodName, Method except)
public static ResolvedJavaMethod findMethod(MetaAccessProvider metaAccess,
Class<?> declaringClass,
String methodName)
protected SnippetTemplate.SnippetInfo snippet(Class<? extends Snippets> declaringClass, String methodName, org.graalvm.word.LocationIdentity... initialPrivateLocations)
protected SnippetTemplate.SnippetInfo snippet(Class<? extends Snippets> declaringClass, String methodName, ResolvedJavaMethod original, Object receiver, org.graalvm.word.LocationIdentity... initialPrivateLocations)
declaringClass named methodName annotated by
Snippet and returns a SnippetTemplate.SnippetInfo value describing it. There must be
exactly one snippet method in declaringClass with a given name.public SnippetTemplate template(ValueNode replacee, SnippetTemplate.Arguments args)
protected PhaseSuite<Providers> createMidTierPhases()
SnippetTemplate.AbstractTemplates.template(org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.replacements.SnippetTemplate.Arguments) creation. These phases are only run for snippets lowered in the
low-tier lowering.