src/share/vm/opto/compile.cpp
Index
Unified diffs
Context diffs
Sdiffs
Patch
New
Old
Previous File
Next File
hotspot Cdiff src/share/vm/opto/compile.cpp
src/share/vm/opto/compile.cpp
Print this page
*** 1151,1167 ****
if (failing())
return; // already failing
assert(s == start(), "");
}
StartNode* Compile::start() const {
! assert(!failing(), "");
for (DUIterator_Fast imax, i = root()->fast_outs(imax); i < imax; i++) {
Node* start = root()->fast_out(i);
! if( start->is_Start() )
return start->as_Start();
}
fatal("Did not find Start node!");
return NULL;
}
//-------------------------------immutable_memory-------------------------------------
--- 1151,1173 ----
if (failing())
return; // already failing
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(), 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()) {
return start->as_Start();
}
+ }
fatal("Did not find Start node!");
return NULL;
}
//-------------------------------immutable_memory-------------------------------------
src/share/vm/opto/compile.cpp
Index
Unified diffs
Context diffs
Sdiffs
Patch
New
Old
Previous File
Next File