United StatesChange Country, Oracle Worldwide Web Sites Communities I am a... I want to...
Bug ID: JDK-7004555 Add new policy for one iteration loops
JDK-7004555 : Add new policy for one iteration loops

Details
Type:
Enhancement
Submit Date:
2010-12-03
Status:
Closed
Updated Date:
2011-09-22
Project Name:
JDK
Resolved Date:
2011-04-24
Component:
hotspot
OS:
solaris_10
Sub-Component:
compiler
CPU:
x86
Priority:
P4
Resolution:
Fixed
Affected Versions:
hs20
Fixed Versions:
hs21 (b09)

Related Reports
Backport:

Sub Tasks

Description
Add new policy for one itration loops to fold exit condition (for example, as we do for empty loops) to avoid going through do_maximally_unroll(), do_peeling() and removing old loop as we do currently for such cases.

                                    

Comments
PUBLIC COMMENTS

Add new policy for one iteration loops (mostly formal pre- loops) to fold exit condition and avoid going through do_maximally_unroll() as we do currently for such cases.
Move exact trip count calculation from policy_maximally_unroll() into separate method. Note, trip_count type is changed to unsigned int and its range is changed to [0, max_juint). Add new flag HasExactTripCount to indicate that loop's limits and trip count are constants.
Check for non overlaping init and limit values to avoid zero trip guard generation in remove_empty_loop.
Rename some CountedLoopNode flags.
Print loop iv range for counted loops dumps:

Loop: N286/N193  predicated counted [0,2),+1
                                     
2011-04-11
EVALUATION

http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/3af54845df98
                                     
2011-04-09



Hardware and Software, Engineered to Work Together