src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/replacements/KlassLayoutHelperNode.java
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File hotspot Cdiff src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/replacements/KlassLayoutHelperNode.java

src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/replacements/KlassLayoutHelperNode.java

Print this page

        

*** 33,45 **** import org.graalvm.compiler.graph.spi.Canonicalizable; import org.graalvm.compiler.graph.spi.CanonicalizerTool; import org.graalvm.compiler.hotspot.GraalHotSpotVMConfig; import org.graalvm.compiler.nodeinfo.NodeInfo; import org.graalvm.compiler.nodes.ConstantNode; - import org.graalvm.compiler.nodes.FloatingGuardedNode; import org.graalvm.compiler.nodes.ValueNode; ! import org.graalvm.compiler.nodes.extended.GuardingNode; import org.graalvm.compiler.nodes.extended.LoadHubNode; import org.graalvm.compiler.nodes.spi.Lowerable; import org.graalvm.compiler.nodes.spi.LoweringTool; import jdk.vm.ci.hotspot.HotSpotResolvedObjectType; --- 33,44 ---- import org.graalvm.compiler.graph.spi.Canonicalizable; import org.graalvm.compiler.graph.spi.CanonicalizerTool; import org.graalvm.compiler.hotspot.GraalHotSpotVMConfig; import org.graalvm.compiler.nodeinfo.NodeInfo; import org.graalvm.compiler.nodes.ConstantNode; import org.graalvm.compiler.nodes.ValueNode; ! import org.graalvm.compiler.nodes.calc.FloatingNode; import org.graalvm.compiler.nodes.extended.LoadHubNode; import org.graalvm.compiler.nodes.spi.Lowerable; import org.graalvm.compiler.nodes.spi.LoweringTool; import jdk.vm.ci.hotspot.HotSpotResolvedObjectType;
*** 50,73 **** /** * Read {@code Klass::_layout_helper} and incorporate any useful stamp information based on any type * information in {@code klass}. */ @NodeInfo(cycles = CYCLES_4, size = SIZE_1) ! public final class KlassLayoutHelperNode extends FloatingGuardedNode implements Canonicalizable, Lowerable { public static final NodeClass<KlassLayoutHelperNode> TYPE = NodeClass.create(KlassLayoutHelperNode.class); @Input protected ValueNode klass; protected final GraalHotSpotVMConfig config; public KlassLayoutHelperNode(@InjectedNodeParameter GraalHotSpotVMConfig config, ValueNode klass) { ! this(config, klass, null); ! } ! ! public KlassLayoutHelperNode(@InjectedNodeParameter GraalHotSpotVMConfig config, ValueNode klass, ValueNode guard) { ! super(TYPE, StampFactory.forKind(JavaKind.Int), (GuardingNode) guard); ! this.klass = klass; this.config = config; } @Override public boolean inferStamp() { if (klass instanceof LoadHubNode) { --- 49,68 ---- /** * Read {@code Klass::_layout_helper} and incorporate any useful stamp information based on any type * information in {@code klass}. */ @NodeInfo(cycles = CYCLES_4, size = SIZE_1) ! public final class KlassLayoutHelperNode extends FloatingNode implements Canonicalizable, Lowerable { public static final NodeClass<KlassLayoutHelperNode> TYPE = NodeClass.create(KlassLayoutHelperNode.class); @Input protected ValueNode klass; protected final GraalHotSpotVMConfig config; public KlassLayoutHelperNode(@InjectedNodeParameter GraalHotSpotVMConfig config, ValueNode klass) { ! super(TYPE, StampFactory.forKind(JavaKind.Int)); this.config = config; + this.klass = klass; } @Override public boolean inferStamp() { if (klass instanceof LoadHubNode) {
src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/replacements/KlassLayoutHelperNode.java
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File