Mercurial > hg > graal-jvmci-8
comparison src/share/vm/ci/ciTypeFlow.cpp @ 20671:9e69e8d1c900
8058148: MaxNodeLimit and LiveNodeCountInliningCutoff
Reviewed-by: kvn, roland
author | vlivanov |
---|---|
date | Mon, 24 Nov 2014 07:29:03 -0800 |
parents | 9dc314de223d |
children | 7848fc12602b 4181e5e64dd0 |
comparison
equal
deleted
inserted
replaced
20670:6a528388c7da | 20671:9e69e8d1c900 |
---|---|
33 #include "ci/ciTypeFlow.hpp" | 33 #include "ci/ciTypeFlow.hpp" |
34 #include "compiler/compileLog.hpp" | 34 #include "compiler/compileLog.hpp" |
35 #include "interpreter/bytecode.hpp" | 35 #include "interpreter/bytecode.hpp" |
36 #include "interpreter/bytecodes.hpp" | 36 #include "interpreter/bytecodes.hpp" |
37 #include "memory/allocation.inline.hpp" | 37 #include "memory/allocation.inline.hpp" |
38 #include "opto/compile.hpp" | |
38 #include "runtime/deoptimization.hpp" | 39 #include "runtime/deoptimization.hpp" |
39 #include "utilities/growableArray.hpp" | 40 #include "utilities/growableArray.hpp" |
40 | 41 |
41 // ciTypeFlow::JsrSet | 42 // ciTypeFlow::JsrSet |
42 // | 43 // |
2644 if (!blk->is_visited()) { | 2645 if (!blk->is_visited()) { |
2645 // forward arc in graph | 2646 // forward arc in graph |
2646 assert (!blk->has_pre_order(), ""); | 2647 assert (!blk->has_pre_order(), ""); |
2647 blk->set_next_pre_order(); | 2648 blk->set_next_pre_order(); |
2648 | 2649 |
2649 if (_next_pre_order >= MaxNodeLimit / 2) { | 2650 if (_next_pre_order >= (int)Compile::current()->max_node_limit() / 2) { |
2650 // Too many basic blocks. Bail out. | 2651 // Too many basic blocks. Bail out. |
2651 // This can happen when try/finally constructs are nested to depth N, | 2652 // This can happen when try/finally constructs are nested to depth N, |
2652 // and there is O(2**N) cloning of jsr bodies. See bug 4697245! | 2653 // and there is O(2**N) cloning of jsr bodies. See bug 4697245! |
2653 // "MaxNodeLimit / 2" is used because probably the parser will | 2654 // "MaxNodeLimit / 2" is used because probably the parser will |
2654 // generate at least twice that many nodes and bail out. | 2655 // generate at least twice that many nodes and bail out. |