JDK-7004555 : Add new policy for one iteration loops
Type:Enhancement
Component:hotspot
Sub-Component:compiler
Affected Version:hs20
Priority:P4
Status:Closed
Resolution:Fixed
OS:solaris_10
CPU:x86
Submitted:2010-12-03
Updated:2011-09-22
Resolved:2011-04-24
The Version table provides details related to the release that this issue/RFE will be addressed.
Unresolved : Release in which this issue/RFE will be addressed. Resolved: Release in which this issue/RFE has been resolved. Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.
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