Skip to content

Commit 45916f0

Browse files
committed
Remove top-level lowering methods for CommitAllocationNode et al
It is up to implementers to dispatch to code generation for those nodes
1 parent 670f552 commit 45916f0

File tree

1 file changed

+10
-19
lines changed
  • compiler/src/jdk.graal.compiler/src/jdk/graal/compiler/hightiercodegen

1 file changed

+10
-19
lines changed

compiler/src/jdk.graal.compiler/src/jdk/graal/compiler/hightiercodegen/NodeLowerer.java

Lines changed: 10 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved.
2+
* Copyright (c) 2022, 2024, Oracle and/or its affiliates. All rights reserved.
33
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
44
*
55
* This code is free software; you can redistribute it and/or modify it
@@ -66,6 +66,7 @@
6666
import jdk.graal.compiler.nodes.debug.BlackholeNode;
6767
import jdk.graal.compiler.nodes.extended.BoxNode;
6868
import jdk.graal.compiler.nodes.extended.BytecodeExceptionNode;
69+
import jdk.graal.compiler.nodes.extended.FixedValueAnchorNode;
6970
import jdk.graal.compiler.nodes.extended.ForeignCall;
7071
import jdk.graal.compiler.nodes.extended.GetClassNode;
7172
import jdk.graal.compiler.nodes.extended.JavaReadNode;
@@ -98,9 +99,6 @@
9899
import jdk.graal.compiler.nodes.java.StoreFieldNode;
99100
import jdk.graal.compiler.nodes.java.StoreIndexedNode;
100101
import jdk.graal.compiler.nodes.memory.ReadNode;
101-
import jdk.graal.compiler.nodes.virtual.AllocatedObjectNode;
102-
import jdk.graal.compiler.nodes.virtual.CommitAllocationNode;
103-
import jdk.graal.compiler.nodes.virtual.VirtualObjectNode;
104102
import jdk.graal.compiler.replacements.nodes.ArrayEqualsNode;
105103
import jdk.graal.compiler.replacements.nodes.BasicArrayCopyNode;
106104
import jdk.graal.compiler.replacements.nodes.BinaryMathIntrinsicNode;
@@ -172,21 +170,18 @@ protected void lower(ResolvedVar resolvedVar) {
172170

173171
/**
174172
* Materialize the operation represented by the node without caring about inlining and reuse.
175-
*
173+
* <p>
176174
* The logic for handling inlining and reuse is located in the method
177175
* {@link #lowerValue(ValueNode)}.
178-
*
176+
* <p>
179177
* Lowering of the inputs of the node should call {@link #lowerValue(ValueNode)} instead of this
180178
* method.
179+
* <p>
180+
* Not all possible node types are handled here. Subclasses are supposed to override this method
181+
* and handle any other node types they encounter.
181182
*/
182183
protected void dispatch(Node node) {
183-
if (node instanceof CommitAllocationNode) {
184-
lower((CommitAllocationNode) node);
185-
} else if (node instanceof VirtualObjectNode) {
186-
lower((VirtualObjectNode) node);
187-
} else if (node instanceof AllocatedObjectNode) {
188-
lower((AllocatedObjectNode) node);
189-
} else if (node instanceof NegateNode) {
184+
if (node instanceof NegateNode) {
190185
lower((NegateNode) node);
191186
} else if (node instanceof UnwindNode) {
192187
lower((UnwindNode) node);
@@ -335,6 +330,8 @@ protected void dispatch(Node node) {
335330
lower((ClassIsAssignableFromNode) node);
336331
} else if (node instanceof DynamicNewInstanceNode n) {
337332
lower(n);
333+
} else if (node instanceof FixedValueAnchorNode n) {
334+
lowerValue(n.getOriginalNode());
338335
} else {
339336
if (!isIgnored(node)) {
340337
handleUnknownNodeType(node);
@@ -493,12 +490,6 @@ protected void handleUnknownNodeType(Node node) {
493490

494491
protected abstract void lower(NegateNode node);
495492

496-
protected abstract void lower(VirtualObjectNode node);
497-
498-
protected abstract void lower(CommitAllocationNode node);
499-
500-
protected abstract void lower(AllocatedObjectNode node);
501-
502493
protected abstract void lower(IdentityHashCodeNode node);
503494

504495
protected abstract void lower(ClassIsAssignableFromNode node);

0 commit comments

Comments
 (0)