public class AMD64TruffleInvocationPlugins extends Object
| Constructor and Description |
|---|
AMD64TruffleInvocationPlugins() |
| Modifier and Type | Method and Description |
|---|---|
static boolean |
applyIndexOf(GraphBuilderContext b,
boolean findTwoConsecutive,
boolean withMask,
ValueNode array,
ValueNode offset,
ValueNode length,
ValueNode stride,
ValueNode isNative,
ValueNode fromIndex,
ValueNode... values) |
static boolean |
arrayUtilsIndexOf(GraphBuilderContext b,
JavaKind arrayKind,
JavaKind stride,
boolean findTwoConsecutive,
boolean withMask,
ValueNode array,
ValueNode fromIndex,
ValueNode maxIndex,
ValueNode... values) |
static boolean |
constantBooleanParam(ValueNode param) |
static JavaKind |
constantStrideParam(ValueNode param) |
static org.graalvm.word.LocationIdentity |
inferLocationIdentity(ValueNode isNativeA,
ValueNode isNativeB,
boolean nativeToAny)
Infer the location identity of two TruffleString data pointers from boolean parameters
isNativeA and isNativeB. |
static void |
register(Architecture architecture,
InvocationPlugins plugins,
Replacements replacements) |
static ValueNode |
toByteOffset(MetaAccessProvider metaAccess,
GraphBuilderContext graph,
ValueNode offset,
JavaKind stride) |
public static void register(Architecture architecture,
InvocationPlugins plugins,
Replacements replacements)
public static boolean arrayUtilsIndexOf(GraphBuilderContext b, JavaKind arrayKind, JavaKind stride, boolean findTwoConsecutive, boolean withMask, ValueNode array, ValueNode fromIndex, ValueNode maxIndex, ValueNode... values)
public static ValueNode toByteOffset(MetaAccessProvider metaAccess, GraphBuilderContext graph, ValueNode offset, JavaKind stride)
public static JavaKind constantStrideParam(ValueNode param)
public static boolean constantBooleanParam(ValueNode param)
public static org.graalvm.word.LocationIdentity inferLocationIdentity(ValueNode isNativeA, ValueNode isNativeB, boolean nativeToAny)
isNativeA and isNativeB.
If both parameters are constant and true, the resulting locationIdentity is
NamedLocationIdentity.OFF_HEAP_LOCATION, except when nativeToAny is
true: in that case, the result is LocationIdentity.any(). This is used
for methods with an additional java array parameter that is never native.
If both isNativeA and isNativeB are constant and false, the result is
getArrayLocation(JavaKind.Byte).
Otherwise, the result is LocationIdentity.any().