< prev index next >
src/share/vm/ci/ciTypeFlow.hpp
Print this page
*** 527,536 ****
--- 527,537 ----
private:
ciBlock* _ciblock;
GrowableArray<Block*>* _exceptions;
GrowableArray<ciInstanceKlass*>* _exc_klasses;
GrowableArray<Block*>* _successors;
+ GrowableArray<Block*>* _predecessors;
StateVector* _state;
JsrSet* _jsrs;
int _trap_bci;
int _trap_index;
*** 615,624 ****
--- 616,630 ----
GrowableArray<Block*>* successors() {
assert(_successors != NULL, "must be filled in");
return _successors;
}
+ GrowableArray<Block*>* predecessors() {
+ assert(_predecessors != NULL, "must be filled in");
+ return _predecessors;
+ }
+
// Get the exceptional successors for this Block.
GrowableArray<Block*>* exceptions() {
if (_exceptions == NULL) {
compute_exceptions();
}
*** 939,948 ****
--- 945,957 ----
public:
// 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;
};
< prev index next >