United StatesChange Country, Oracle Worldwide Web Sites Communities I am a... I want to...
Bug ID: JDK-7004547 regular loop unroll should not unroll more than max unrolling
JDK-7004547 : regular loop unroll should not unroll more than max unrolling

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:
Relates:

Sub Tasks

Description
Max unroll policy when calculating new loop body size does not take into account that after one unroll loop's head and tail will fold. As result there are cases when max unroll was not done but regular unroll will do more unrolling for main loop than needed so it is skipped (only pre- and post- loops are executed).

                                    

Comments
EVALUATION

http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/d7a3fed1c1c9
                                     
2011-04-05
PUBLIC COMMENTS

Max unroll policy when calculating new loop body size does not take into account that after unroll conjoined loop's head and tail will fold. As result there are cases when max unroll was not done but regular unroll will do full unrolling for main loop.
Use long arithmetic to calculate exact trip count.
Add missing nodes limit check for loop split (pre-main-post).
                                     
2011-04-05



Hardware and Software, Engineered to Work Together