< 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 >