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.

To download the current JDK release, click here.
JDK 7 Other
7Fixed hs21Fixed
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
11-04-2011

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