hotspot/src/share/vm/opto/compile.cpp
changeset 27016 58e6c6d54017
parent 26919 361b4b4c92c0
child 27147 ed83dc5777e6
--- a/hotspot/src/share/vm/opto/compile.cpp	Mon Oct 06 07:58:50 2014 +0200
+++ b/hotspot/src/share/vm/opto/compile.cpp	Mon Oct 06 06:51:37 2014 -0700
@@ -1153,12 +1153,18 @@
   assert(s == start(), "");
 }
 
+/**
+ * Return the 'StartNode'. We must not have a pending failure, since the ideal graph
+ * can be in an inconsistent state, i.e., we can get segmentation faults when traversing
+ * the ideal graph.
+ */
 StartNode* Compile::start() const {
-  assert(!failing(), "");
+  assert (!failing(), err_msg_res("Must not have pending failure. Reason is: %s", failure_reason()));
   for (DUIterator_Fast imax, i = root()->fast_outs(imax); i < imax; i++) {
     Node* start = root()->fast_out(i);
-    if( start->is_Start() )
+    if (start->is_Start()) {
       return start->as_Start();
+    }
   }
   fatal("Did not find Start node!");
   return NULL;