--- old/src/share/vm/ci/ciTypeFlow.hpp 2015-10-30 14:46:19.075964498 +0100 +++ new/src/share/vm/ci/ciTypeFlow.hpp 2015-10-30 14:46:19.003964495 +0100 @@ -529,6 +529,7 @@ GrowableArray* _exceptions; GrowableArray* _exc_klasses; GrowableArray* _successors; + GrowableArray* _predecessors; StateVector* _state; JsrSet* _jsrs; @@ -617,6 +618,11 @@ return _successors; } + GrowableArray* predecessors() { + assert(_predecessors != NULL, "must be filled in"); + return _predecessors; + } + // Get the exceptional successors for this Block. GrowableArray* exceptions() { if (_exceptions == NULL) { @@ -941,6 +947,9 @@ // Perform type inference flow analysis. void do_flow(); + // Determine if bci is dominated by dom_bci + bool is_dominated_by(int bci, int dom_bci); + void print_on(outputStream* st) const PRODUCT_RETURN; void rpo_print_on(outputStream* st) const PRODUCT_RETURN;