Mercurial > hg > truffle
comparison src/share/vm/c1/c1_Canonicalizer.cpp @ 1791:3a294e483abc
6919069: client compiler needs to capture more profile information for tiered work
Summary: Added profiling of instanceof and aastore.
Reviewed-by: kvn, jrose, never
author | iveresov |
---|---|
date | Mon, 13 Sep 2010 12:10:49 -0700 |
parents | d5d065957597 |
children | f02a8bbe6ed4 |
comparison
equal
deleted
inserted
replaced
1790:7f9553bedfd5 | 1791:3a294e483abc |
---|---|
671 } | 671 } |
672 } | 672 } |
673 } else if (l->as_InstanceOf() != NULL) { | 673 } else if (l->as_InstanceOf() != NULL) { |
674 // NOTE: Code permanently disabled for now since it leaves the old InstanceOf | 674 // NOTE: Code permanently disabled for now since it leaves the old InstanceOf |
675 // instruction in the graph (it is pinned). Need to fix this at some point. | 675 // instruction in the graph (it is pinned). Need to fix this at some point. |
676 // It should also be left in the graph when generating a profiled method version or Goto | |
677 // has to know that it was an InstanceOf. | |
676 return; | 678 return; |
677 // pattern: If ((obj instanceof klass) cond rc) => simplify to: IfInstanceOf or: Goto | 679 // pattern: If ((obj instanceof klass) cond rc) => simplify to: IfInstanceOf or: Goto |
678 InstanceOf* inst = l->as_InstanceOf(); | 680 InstanceOf* inst = l->as_InstanceOf(); |
679 BlockBegin* is_inst_sux = x->sux_for(is_true(1, x->cond(), rc)); // successor for instanceof == 1 | 681 BlockBegin* is_inst_sux = x->sux_for(is_true(1, x->cond(), rc)); // successor for instanceof == 1 |
680 BlockBegin* no_inst_sux = x->sux_for(is_true(0, x->cond(), rc)); // successor for instanceof == 0 | 682 BlockBegin* no_inst_sux = x->sux_for(is_true(0, x->cond(), rc)); // successor for instanceof == 0 |