Search in sources :

Example 1 with LoadIndexedPointerNode

use of org.graalvm.compiler.hotspot.nodes.LoadIndexedPointerNode in project graal by oracle.

the class HotSpotWordOperationPlugin method createLoadIndexedNode.

@Override
protected LoadIndexedNode createLoadIndexedNode(ValueNode array, ValueNode index) {
    ResolvedJavaType arrayType = StampTool.typeOrNull(array);
    Stamp componentStamp = wordTypes.getWordStamp(arrayType.getComponentType());
    if (componentStamp instanceof MetaspacePointerStamp) {
        return new LoadIndexedPointerNode(componentStamp, array, index);
    } else {
        return super.createLoadIndexedNode(array, index);
    }
}
Also used : MethodPointerStamp(org.graalvm.compiler.hotspot.nodes.type.MethodPointerStamp) MetaspacePointerStamp(org.graalvm.compiler.hotspot.nodes.type.MetaspacePointerStamp) KlassPointerStamp(org.graalvm.compiler.hotspot.nodes.type.KlassPointerStamp) Stamp(org.graalvm.compiler.core.common.type.Stamp) LoadIndexedPointerNode(org.graalvm.compiler.hotspot.nodes.LoadIndexedPointerNode) MetaspacePointerStamp(org.graalvm.compiler.hotspot.nodes.type.MetaspacePointerStamp) ResolvedJavaType(jdk.vm.ci.meta.ResolvedJavaType)

Aggregations

ResolvedJavaType (jdk.vm.ci.meta.ResolvedJavaType)1 Stamp (org.graalvm.compiler.core.common.type.Stamp)1 LoadIndexedPointerNode (org.graalvm.compiler.hotspot.nodes.LoadIndexedPointerNode)1 KlassPointerStamp (org.graalvm.compiler.hotspot.nodes.type.KlassPointerStamp)1 MetaspacePointerStamp (org.graalvm.compiler.hotspot.nodes.type.MetaspacePointerStamp)1 MethodPointerStamp (org.graalvm.compiler.hotspot.nodes.type.MethodPointerStamp)1