Skip to content

Commit 49329cc

Browse files
author
Michael Haas
committed
Support for igv.
1 parent aa63200 commit 49329cc

File tree

1 file changed

+37
-2
lines changed

1 file changed

+37
-2
lines changed

compiler/src/jdk.graal.compiler/src/jdk/graal/compiler/hotspot/nodes/InvokeJavaMethodNode.java

Lines changed: 37 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@
55
import static jdk.graal.compiler.nodes.Invoke.CYCLES_UNKNOWN_RATIONALE;
66
import static jdk.graal.compiler.nodes.Invoke.SIZE_UNKNOWN_RATIONALE;
77

8+
import java.util.Map;
9+
810
import jdk.graal.compiler.core.common.type.Stamp;
911
import jdk.graal.compiler.core.common.type.StampFactory;
1012
import jdk.graal.compiler.core.common.type.StampPair;
@@ -14,6 +16,7 @@
1416
import jdk.graal.compiler.graph.NodeClass;
1517
import jdk.graal.compiler.graph.NodeInputList;
1618
import jdk.graal.compiler.nodeinfo.NodeInfo;
19+
import jdk.graal.compiler.nodeinfo.Verbosity;
1720
import jdk.graal.compiler.nodes.CallTargetNode;
1821
import jdk.graal.compiler.nodes.DeoptimizingFixedWithNextNode;
1922
import jdk.graal.compiler.nodes.InliningLog;
@@ -65,14 +68,23 @@ public class InvokeJavaMethodNode extends DeoptimizingFixedWithNextNode implemen
6568
* {@code HotSpotTruffleSafepointLoweringSnippet#pollSnippet} for usage details.
6669
*/
6770
public static final class MethodWrapper {
68-
ResolvedJavaMethod targetMethod;
71+
private final String name;
72+
private ResolvedJavaMethod targetMethod;
73+
74+
public MethodWrapper(String name) {
75+
this.name = name;
76+
}
6977

7078
public void setTargetMethod(ResolvedJavaMethod targetMethod) {
7179
this.targetMethod = targetMethod;
7280
}
81+
82+
public String getName() {
83+
return name;
84+
}
7385
}
7486

75-
public static final MethodWrapper TRUFFLE_SAFEPOINT = new MethodWrapper();
87+
public static final MethodWrapper TRUFFLE_SAFEPOINT = new MethodWrapper("HotSpotThreadLocalHandshake.doHandshake");
7688

7789
@Input protected NodeInputList<ValueNode> arguments;
7890

@@ -167,6 +179,29 @@ public StampPair getReturnStamp() {
167179
return returnStamp;
168180
}
169181

182+
@Override
183+
public String toString(Verbosity verbosity) {
184+
if (verbosity == Verbosity.Name) {
185+
StringBuilder sb = new StringBuilder();
186+
sb.append(super.toString(verbosity));
187+
sb.append("#");
188+
if (targetMethod == null) {
189+
sb.append(methodWrapper.getName());
190+
} else {
191+
sb.append(targetMethod.format("%h.%n"));
192+
}
193+
return sb.toString();
194+
}
195+
return super.toString(verbosity);
196+
}
197+
198+
@Override
199+
public Map<Object, Object> getDebugProperties(Map<Object, Object> map) {
200+
Map<Object, Object> debugProperties = super.getDebugProperties(map);
201+
debugProperties.put("targetMethod", targetMethod == null ? methodWrapper.getName() : targetMethod.format("%h.%n"));
202+
return debugProperties;
203+
}
204+
170205
public static boolean intrinsify(GraphBuilderContext b, @InjectedNodeParameter Stamp returnStamp, MethodWrapper method, ValueNode... args) {
171206
GraphBuilderContext nonIntrinsicAncestor = b.getNonIntrinsicAncestor();
172207
int bci = nonIntrinsicAncestor == null ? BytecodeFrame.UNKNOWN_BCI : b.bci();

0 commit comments

Comments
 (0)