Mercurial > hg > truffle
comparison src/share/vm/opto/graphKit.hpp @ 2383:9dc311b8473e
7008866: Missing loop predicate for loop with multiple entries
Summary: Add predicates when loop head bytecode is parsed instead of when back branch bytecode is parsed.
Reviewed-by: never
author | kvn |
---|---|
date | Mon, 21 Mar 2011 11:28:14 -0700 |
parents | f95d63e2154a |
children | 1d1603768966 07acc51c1d2a e1162778c1c8 |
comparison
equal
deleted
inserted
replaced
2382:3ef1a1866a60 | 2383:9dc311b8473e |
---|---|
791 _gvn.transform(iff); // Value may be known at parse-time | 791 _gvn.transform(iff); // Value may be known at parse-time |
792 // Place 'if' on worklist if it will be in graph | 792 // Place 'if' on worklist if it will be in graph |
793 if (!tst->is_Con()) record_for_igvn(iff); // Range-check and Null-check removal is later | 793 if (!tst->is_Con()) record_for_igvn(iff); // Range-check and Null-check removal is later |
794 return iff; | 794 return iff; |
795 } | 795 } |
796 | |
797 // Insert a loop predicate into the graph | |
798 void add_predicate(int nargs = 0); | |
799 void add_predicate_impl(Deoptimization::DeoptReason reason, int nargs); | |
796 }; | 800 }; |
797 | 801 |
798 // Helper class to support building of control flow branches. Upon | 802 // Helper class to support building of control flow branches. Upon |
799 // creation the map and sp at bci are cloned and restored upon de- | 803 // creation the map and sp at bci are cloned and restored upon de- |
800 // struction. Typical use: | 804 // struction. Typical use: |