public static class ArrayCopySnippets.Templates extends SnippetTemplate.AbstractTemplates
Modifier and Type | Field and Description |
---|---|
private SnippetTemplate.SnippetInfo |
arraycopyExactIntrinsicSnippet |
private SnippetTemplate.SnippetInfo |
arraycopyGenericSnippet |
private SnippetTemplate.SnippetInfo |
arraycopyPredictedExactIntrinsicSnippet |
private SnippetTemplate.SnippetInfo |
arraycopyPredictedObjectWorkSnippet |
private SnippetTemplate.SnippetInfo |
arraycopySlowPathIntrinsicSnippet |
private SnippetTemplate.SnippetInfo |
arraycopyUnrolledIntrinsicSnippet |
private SnippetTemplate.SnippetInfo |
arraycopyUnrolledWorkSnippet |
private SnippetTemplate.SnippetInfo |
arraycopyZeroLengthIntrinsicSnippet |
private SnippetTemplate.SnippetInfo |
checkcastArraycopyWorkSnippet |
private ResolvedJavaMethod |
originalArraycopy |
providers, snippetReflection, target
Constructor and Description |
---|
Templates(HotSpotProviders providers,
TargetDescription target) |
Modifier and Type | Method and Description |
---|---|
private static Kind |
getComponentKind(ResolvedJavaType type) |
private void |
instantiate(SnippetTemplate.Arguments args,
BasicArrayCopyNode arraycopy)
Instantiate the snippet template and fix up the FrameState of any Invokes of
System.arraycopy and propagate the captured bci in the ArrayCopySlowPathNode.
|
void |
lower(ArrayCopyNode arraycopy,
LoweringTool tool) |
void |
lower(ArrayCopySlowPathNode arraycopy,
LoweringTool tool) |
void |
lower(ArrayCopyUnrollNode arraycopy,
LoweringTool tool) |
private ResolvedJavaMethod |
originalArraycopy() |
static Kind |
selectComponentKind(BasicArrayCopyNode arraycopy) |
static Kind |
selectComponentKind(BasicArrayCopyNode arraycopy,
boolean exact) |
private static boolean |
shouldUnroll(ValueNode length) |
protected SnippetTemplate.SnippetInfo |
snippet(String methodName) |
findMethod, snippet, template
private ResolvedJavaMethod originalArraycopy
private final SnippetTemplate.SnippetInfo checkcastArraycopyWorkSnippet
private final SnippetTemplate.SnippetInfo arraycopyGenericSnippet
private final SnippetTemplate.SnippetInfo arraycopySlowPathIntrinsicSnippet
private final SnippetTemplate.SnippetInfo arraycopyUnrolledIntrinsicSnippet
private final SnippetTemplate.SnippetInfo arraycopyExactIntrinsicSnippet
private final SnippetTemplate.SnippetInfo arraycopyZeroLengthIntrinsicSnippet
private final SnippetTemplate.SnippetInfo arraycopyPredictedExactIntrinsicSnippet
private final SnippetTemplate.SnippetInfo arraycopyPredictedObjectWorkSnippet
private final SnippetTemplate.SnippetInfo arraycopyUnrolledWorkSnippet
public Templates(HotSpotProviders providers, TargetDescription target)
private ResolvedJavaMethod originalArraycopy() throws JVMCIError
JVMCIError
protected SnippetTemplate.SnippetInfo snippet(String methodName)
public static Kind selectComponentKind(BasicArrayCopyNode arraycopy)
public static Kind selectComponentKind(BasicArrayCopyNode arraycopy, boolean exact)
private static Kind getComponentKind(ResolvedJavaType type)
private static boolean shouldUnroll(ValueNode length)
public void lower(ArrayCopyNode arraycopy, LoweringTool tool)
public void lower(ArrayCopySlowPathNode arraycopy, LoweringTool tool)
public void lower(ArrayCopyUnrollNode arraycopy, LoweringTool tool)
private void instantiate(SnippetTemplate.Arguments args, BasicArrayCopyNode arraycopy)
args
- arraycopy
-