11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
12 * version 2 for more details (a copy is included in the LICENSE file that
13 * accompanied this code).
14 *
15 * You should have received a copy of the GNU General Public License version
16 * 2 along with this work; if not, write to the Free Software Foundation,
17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
18 *
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20 * or visit www.oracle.com if you need additional information or have any
21 * questions.
22 */
23 package org.graalvm.compiler.hotspot.nodes.aot;
24
25 import static org.graalvm.compiler.nodeinfo.NodeCycles.CYCLES_4;
26 import static org.graalvm.compiler.nodeinfo.NodeSize.SIZE_16;
27
28 import org.graalvm.word.LocationIdentity;
29 import org.graalvm.compiler.core.common.type.Stamp;
30 import org.graalvm.compiler.graph.NodeClass;
31 import org.graalvm.compiler.nodeinfo.NodeInfo;
32 import org.graalvm.compiler.nodes.DeoptimizingFixedWithNextNode;
33 import org.graalvm.compiler.nodes.ValueNode;
34 import org.graalvm.compiler.nodes.memory.MemoryCheckpoint;
35 import org.graalvm.compiler.nodes.spi.Lowerable;
36 import org.graalvm.compiler.nodes.spi.LoweringTool;
37
38 @NodeInfo(cycles = CYCLES_4, size = SIZE_16)
39 public class ResolveDynamicConstantNode extends DeoptimizingFixedWithNextNode implements Lowerable, MemoryCheckpoint.Single {
40 public static final NodeClass<ResolveDynamicConstantNode> TYPE = NodeClass.create(ResolveDynamicConstantNode.class);
41
42 @Input ValueNode value;
43
44 public ResolveDynamicConstantNode(Stamp valueStamp, ValueNode value) {
45 super(TYPE, valueStamp);
46 this.value = value;
47 }
48
49 public ValueNode value() {
50 return value;
51 }
52
53 @Override
54 public void lower(LoweringTool tool) {
55 tool.getLowerer().lower(this, tool);
56 }
57
58 @Override
|
11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
12 * version 2 for more details (a copy is included in the LICENSE file that
13 * accompanied this code).
14 *
15 * You should have received a copy of the GNU General Public License version
16 * 2 along with this work; if not, write to the Free Software Foundation,
17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
18 *
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20 * or visit www.oracle.com if you need additional information or have any
21 * questions.
22 */
23 package org.graalvm.compiler.hotspot.nodes.aot;
24
25 import static org.graalvm.compiler.nodeinfo.NodeCycles.CYCLES_4;
26 import static org.graalvm.compiler.nodeinfo.NodeSize.SIZE_16;
27
28 import org.graalvm.word.LocationIdentity;
29 import org.graalvm.compiler.core.common.type.Stamp;
30 import org.graalvm.compiler.graph.NodeClass;
31 import org.graalvm.compiler.nodeinfo.InputType;
32 import org.graalvm.compiler.nodeinfo.NodeInfo;
33 import org.graalvm.compiler.nodes.DeoptimizingFixedWithNextNode;
34 import org.graalvm.compiler.nodes.ValueNode;
35 import org.graalvm.compiler.nodes.memory.MemoryCheckpoint;
36 import org.graalvm.compiler.nodes.spi.Lowerable;
37 import org.graalvm.compiler.nodes.spi.LoweringTool;
38
39 @NodeInfo(cycles = CYCLES_4, size = SIZE_16, allowedUsageTypes = {InputType.Memory})
40 public class ResolveDynamicConstantNode extends DeoptimizingFixedWithNextNode implements Lowerable, MemoryCheckpoint.Single {
41 public static final NodeClass<ResolveDynamicConstantNode> TYPE = NodeClass.create(ResolveDynamicConstantNode.class);
42
43 @Input ValueNode value;
44
45 public ResolveDynamicConstantNode(Stamp valueStamp, ValueNode value) {
46 super(TYPE, valueStamp);
47 this.value = value;
48 }
49
50 public ValueNode value() {
51 return value;
52 }
53
54 @Override
55 public void lower(LoweringTool tool) {
56 tool.getLowerer().lower(this, tool);
57 }
58
59 @Override
|