Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-6362260

policy_maximally_unroll ignores the current compilation size and can blow out the node counts.

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: P4 P4
    • 6
    • 1.4.2_12, 5.0u6
    • hotspot
    • b73
    • generic
    • generic

        policy_maximally_unroll ignores the current compilation size and can blow out the node counts. The following suggested fix added the cutout from policy_peel into it.



        ==== //java/main-dev/java/hotspot/src/share/vm/opto/loopTransform.cpp#15 - /home/cliffc/HotSpot/cliffc-main/hotspot/src/share/vm/opto/loopTransform.cpp ====
        @@ -216,7 +216,8 @@
           uint unroll_limit = (uint)LoopUnrollLimit * 4;
           assert( (intx)unroll_limit == LoopUnrollLimit * 4, "LoopUnrollLimit must fit in 32bits");
           if( trip_count <= unroll_limit && body_size <= unroll_limit &&
        - (body_size * trip_count <= unroll_limit) ) {
        + (body_size * trip_count <= unroll_limit) &&
        + body_size*body_size+phase->C->unique() < 65000 ) {
             return trip_count; // maximally unroll
           }

              rknippelsunw Ross Knippel (Inactive)
              mmma Marvin Ma (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated:
                Resolved:
                Imported:
                Indexed: