< prev index next >

src/share/vm/ci/ciTypeFlow.cpp

Print this page
rev 7614 : [mq]: shark-build-hotspot.patch

*** 33,44 **** --- 33,46 ---- #include "ci/ciTypeFlow.hpp" #include "compiler/compileLog.hpp" #include "interpreter/bytecode.hpp" #include "interpreter/bytecodes.hpp" #include "memory/allocation.inline.hpp" + #ifdef COMPILER2 #include "opto/compile.hpp" #include "opto/node.hpp" + #endif // COMPILER2 #include "runtime/deoptimization.hpp" #include "utilities/growableArray.hpp" // ciTypeFlow::JsrSet //
*** 2645,2664 **** Block* blk = stk.top(); // Leave node on stack if (!blk->is_visited()) { // forward arc in graph assert (!blk->has_pre_order(), ""); blk->set_next_pre_order(); ! 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. record_failure("too many basic blocks"); return; } if (do_flow) { flow_block(blk, temp_vector, temp_set); if (failing()) return; // Watch for bailouts. } } else if (!blk->is_post_visited()) { --- 2647,2667 ---- Block* blk = stk.top(); // Leave node on stack if (!blk->is_visited()) { // forward arc in graph assert (!blk->has_pre_order(), ""); blk->set_next_pre_order(); ! #ifdef COMPILER2 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. record_failure("too many basic blocks"); return; } + #endif if (do_flow) { flow_block(blk, temp_vector, temp_set); if (failing()) return; // Watch for bailouts. } } else if (!blk->is_post_visited()) {
< prev index next >