src/share/vm/ci/ciTypeFlow.hpp
Index
Unified diffs
Context diffs
Sdiffs
Wdiffs
Patch
New
Old
Previous File
Next File
*** old/src/share/vm/ci/ciTypeFlow.hpp Fri Aug 28 13:01:20 2009
--- new/src/share/vm/ci/ciTypeFlow.hpp Fri Aug 28 13:01:19 2009
*** 120,129 ****
--- 120,134 ----
// Apply the effect of a single bytecode to the JsrSet.
void apply_control(ciTypeFlow* analyzer,
ciBytecodeStream* str,
StateVector* state);
+ // Bring this JsrSet into agreement with this state by removing
+ // any JsrRecords that refer to addresses no longer mentioned in
+ // the state.
+ void apply_state(StateVector* state);
+
// What is the cardinality of this set?
int size() const { return _set->length(); }
void print_on(outputStream* st) const PRODUCT_RETURN;
};
*** 628,637 ****
--- 633,646 ----
// Copy the value of our JsrSet into another
void copy_jsrs_into(JsrSet* copy) const {
_jsrs->copy_into(copy);
}
+ // Remove dead address from the state and also from the JsrSet.
+ // The reduces useless cloning for complex jsr/ret constructs.
+ bool delete_dead_addresses();
+
// Meets the start state of this block with another state, destructively
// modifying this one. Returns true if any modification takes place.
bool meet(const StateVector* incoming) {
return state()->meet(incoming);
}
src/share/vm/ci/ciTypeFlow.hpp
Index
Unified diffs
Context diffs
Sdiffs
Wdiffs
Patch
New
Old
Previous File
Next File