Mercurial > hg > truffle
diff src/share/vm/ci/ciTypeFlow.hpp @ 4777:e9a5e0a812c8
7125896: Eliminate nested locks
Summary: Nested locks elimination done before lock nodes expansion by looking for outer locks of the same object.
Reviewed-by: never, twisti
author | kvn |
---|---|
date | Sat, 07 Jan 2012 13:26:43 -0800 |
parents | e863062e521d |
children | b9a9ed0f8eeb |
line wrap: on
line diff
--- a/src/share/vm/ci/ciTypeFlow.hpp Sat Jan 07 10:39:23 2012 -0800 +++ b/src/share/vm/ci/ciTypeFlow.hpp Sat Jan 07 13:26:43 2012 -0800 @@ -544,15 +544,19 @@ // Has this block been cloned for a loop backedge? bool _backedge_copy; + // This block is entry to irreducible loop. + bool _irreducible_entry; + + // This block has monitor entry point. + bool _has_monitorenter; + // A pointer used for our internal work list + bool _on_work_list; // on the work list Block* _next; - bool _on_work_list; // on the work list Block* _rpo_next; // Reverse post order list // Loop info Loop* _loop; // nearest loop - bool _irreducible_entry; // entry to irreducible loop - bool _exception_entry; // entry to exception handler ciBlock* ciblock() const { return _ciblock; } StateVector* state() const { return _state; } @@ -689,6 +693,8 @@ bool is_loop_head() const { return _loop && _loop->head() == this; } void set_irreducible_entry(bool c) { _irreducible_entry = c; } bool is_irreducible_entry() const { return _irreducible_entry; } + void set_has_monitorenter() { _has_monitorenter = true; } + bool has_monitorenter() const { return _has_monitorenter; } bool is_visited() const { return has_pre_order(); } bool is_post_visited() const { return has_post_order(); } bool is_clonable_exit(Loop* lp);