public class NodeIntrinsificationPlugin extends Object implements NodePlugin
Modifier and Type | Field and Description |
---|---|
private static MethodFilter[] |
MethodsElidedInSnippets
Calls in replacements to methods matching one of these filters are elided.
|
private boolean |
mustIntrinsify |
protected NodeIntrinsificationPhase |
nodeIntrinsification |
private ResolvedJavaType |
structuralInputType |
private com.oracle.graal.word.WordTypes |
wordTypes |
Constructor and Description |
---|
NodeIntrinsificationPlugin(MetaAccessProvider metaAccess,
NodeIntrinsificationPhase nodeIntrinsification,
com.oracle.graal.word.WordTypes wordTypes,
boolean mustIntrinsify) |
Modifier and Type | Method and Description |
---|---|
private ValueNode |
createNodeIntrinsic(GraphBuilderContext b,
ResolvedJavaMethod method,
Node.NodeIntrinsic intrinsic,
List<ValueNode> args,
Stamp stamp) |
private InputType |
getInputType(ResolvedJavaType type) |
private static MethodFilter[] |
getMethodsElidedInSnippets() |
boolean |
handleInvoke(GraphBuilderContext b,
ResolvedJavaMethod method,
ValueNode[] args) |
private boolean |
processNodeIntrinsic(GraphBuilderContext b,
ResolvedJavaMethod method,
Node.NodeIntrinsic intrinsic,
List<ValueNode> args,
Kind returnKind,
Stamp stamp) |
private static boolean |
reportIntrinsificationFailure(GraphBuilderContext b,
ResolvedJavaMethod method,
ValueNode[] args) |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
canChangeStackKind, handleCheckCast, handleInstanceOf, handleLoadField, handleLoadIndexed, handleLoadStaticField, handleStoreField, handleStoreIndexed, handleStoreStaticField
protected final NodeIntrinsificationPhase nodeIntrinsification
private final com.oracle.graal.word.WordTypes wordTypes
private final ResolvedJavaType structuralInputType
private final boolean mustIntrinsify
private static final MethodFilter[] MethodsElidedInSnippets
public NodeIntrinsificationPlugin(MetaAccessProvider metaAccess, NodeIntrinsificationPhase nodeIntrinsification, com.oracle.graal.word.WordTypes wordTypes, boolean mustIntrinsify)
private static MethodFilter[] getMethodsElidedInSnippets()
public boolean handleInvoke(GraphBuilderContext b, ResolvedJavaMethod method, ValueNode[] args)
handleInvoke
in interface NodePlugin
private static boolean reportIntrinsificationFailure(GraphBuilderContext b, ResolvedJavaMethod method, ValueNode[] args)
private InputType getInputType(ResolvedJavaType type)
private boolean processNodeIntrinsic(GraphBuilderContext b, ResolvedJavaMethod method, Node.NodeIntrinsic intrinsic, List<ValueNode> args, Kind returnKind, Stamp stamp)
private ValueNode createNodeIntrinsic(GraphBuilderContext b, ResolvedJavaMethod method, Node.NodeIntrinsic intrinsic, List<ValueNode> args, Stamp stamp)