< prev index next >
src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/virtual/CommitAllocationNode.java
Print this page
rev 52509 : [mq]: graal
@@ -245,11 +245,15 @@
@Override
public NodeCycles estimatedNodeCycles() {
List<VirtualObjectNode> v = getVirtualObjects();
int fieldWriteCount = 0;
for (int i = 0; i < v.size(); i++) {
- fieldWriteCount += v.get(i).entryCount();
+ VirtualObjectNode node = v.get(i);
+ if (node == null) {
+ return CYCLES_UNKNOWN;
+ }
+ fieldWriteCount += node.entryCount();
}
int rawValueWrites = NodeCycles.compute(WriteNode.TYPE.cycles(), fieldWriteCount).value;
int rawValuesTlabBumps = AbstractNewObjectNode.TYPE.cycles().value;
return NodeCycles.compute(rawValueWrites + rawValuesTlabBumps);
}
@@ -257,11 +261,15 @@
@Override
public NodeSize estimatedNodeSize() {
List<VirtualObjectNode> v = getVirtualObjects();
int fieldWriteCount = 0;
for (int i = 0; i < v.size(); i++) {
- fieldWriteCount += v.get(i).entryCount();
+ VirtualObjectNode node = v.get(i);
+ if (node == null) {
+ return SIZE_UNKNOWN;
+ }
+ fieldWriteCount += node.entryCount();
}
int rawValueWrites = NodeSize.compute(WriteNode.TYPE.size(), fieldWriteCount).value;
int rawValuesTlabBumps = AbstractNewObjectNode.TYPE.size().value;
return NodeSize.compute(rawValueWrites + rawValuesTlabBumps);
}
< prev index next >