src/share/vm/ci/ciTypeFlow.cpp
Index
Unified diffs
Context diffs
Sdiffs
Patch
New
Old
Previous File
Next File
*** old/src/share/vm/ci/ciTypeFlow.cpp Wed Nov 19 23:23:47 2014
--- new/src/share/vm/ci/ciTypeFlow.cpp Wed Nov 19 23:23:47 2014
*** 33,42 ****
--- 33,43 ----
#include "ci/ciTypeFlow.hpp"
#include "compiler/compileLog.hpp"
#include "interpreter/bytecode.hpp"
#include "interpreter/bytecodes.hpp"
#include "memory/allocation.inline.hpp"
+ #include "opto/compile.hpp"
#include "runtime/deoptimization.hpp"
#include "utilities/growableArray.hpp"
// ciTypeFlow::JsrSet
//
*** 2644,2654 ****
--- 2645,2655 ----
if (!blk->is_visited()) {
// forward arc in graph
assert (!blk->has_pre_order(), "");
blk->set_next_pre_order();
! if (_next_pre_order >= MaxNodeLimit / 2) {
! if (_next_pre_order >= (int)Compile::current()->max_node_limit() / 2) {
// Too many basic blocks. Bail out.
// This can happen when try/finally constructs are nested to depth N,
// and there is O(2**N) cloning of jsr bodies. See bug 4697245!
// "MaxNodeLimit / 2" is used because probably the parser will
// generate at least twice that many nodes and bail out.
src/share/vm/ci/ciTypeFlow.cpp
Index
Unified diffs
Context diffs
Sdiffs
Patch
New
Old
Previous File
Next File