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: