diff options
author | kvn <none@none> | 2012-10-02 14:49:21 -0700 |
---|---|---|
committer | kvn <none@none> | 2012-10-02 14:49:21 -0700 |
commit | 8b73fd18f64448470d4bf4cf9c8a864aad0dba16 (patch) | |
tree | 01ad897a2356a7b4195487b6bdda6a370249f6ec /src/share/vm/opto | |
parent | 0f5c5748d760cb1c4945a5b51029f0c8d43567f8 (diff) |
7199742: A lot of C2 OSR compilations of the same method's bci
Summary: Don't clone head of OSR loop.
Reviewed-by: jrose, twisti
Diffstat (limited to 'src/share/vm/opto')
-rw-r--r-- | src/share/vm/opto/parse1.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/share/vm/opto/parse1.cpp b/src/share/vm/opto/parse1.cpp index cdd1cff68..c3daeecc8 100644 --- a/src/share/vm/opto/parse1.cpp +++ b/src/share/vm/opto/parse1.cpp @@ -372,7 +372,8 @@ void Parse::load_interpreter_state(Node* osr_buf) { // in the CFG, which typeflow had previously ignored. // E.g., Object x = coldAtFirst() && notReached()? "str": new Integer(123). // This x will be typed as Integer if notReached is not yet linked. - uncommon_trap(Deoptimization::Reason_unreached, + // It could also happen due to a problem in ciTypeFlow analysis. + uncommon_trap(Deoptimization::Reason_constraint, Deoptimization::Action_reinterpret); set_map(types_are_good); } |