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

[TESTBUG] java/util/Map/Collisions.java timeouts with -client -Xcomp -XX:+DeoptimizeALot

XMLWordPrintable

      time java -showversion -cp classes/java/util/Map -Xcomp -XX:+DeoptimizeALot -client Collisions
      java version "1.8.0_60-ea-fastdebug"
      Java(TM) SE Runtime Environment (build 1.8.0_60-ea-fastdebug-b12)
      Java HotSpot(TM) Server VM (build 25.60-b12-fastdebug, mixed mode)
      real 13m44.424s
      user 12m16.834s
      sys 1m35.533s

      time java -showversion -cp classes/java/util/Map -Xcomp -XX:+DeoptimizeALot -server Collisions
      real 2m5.833s
      user 2m5.802s
      sys 0m10.932s

      Profilers show a lot of String.format calls. Looks like
              for (int i = 0; i < keys.length; i++) {
                  check(String.format("insertion: map expected size m%d != i%d", map.size(), i),
                          map.size() == i);
                  check(String.format("insertion: put(%s[%d])", keys_desc, i), null == map.put(keys[i], keys[i]));
                  check(String.format("insertion: containsKey(%s[%d])", keys_desc, i), map.containsKey(keys[i]));
                  check(String.format("insertion: containsValue(%s[%d])", keys_desc, i), map.containsValue(keys[i]));
              }

      check() needs to be rewritten to use lazy message formatting.

            smarks Stuart Marks
            azakharov Andrey Zakharov (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: