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

Missing zero length check before repne scas in check_klass_subtype_slow_path()

    XMLWordPrintable

    Details

    • Type: Enhancement
    • Status: Closed
    • Priority: P4
    • Resolution: Fixed
    • Affects Version/s: hs12
    • Fix Version/s: hs19
    • Component/s: hotspot
    • Labels:
      None
    • Subcomponent:
    • Resolved In Build:
      b06
    • CPU:
      sparc
    • OS:
      solaris_10
    • Verification:
      Not verified

      Backports

        Description

        Z flag value will not be set by 'repne' if RCX == 0 since 'repne' does not change flags.

        Setting Z = 1 before repne_scanl() in check_klass_subtype_slow_path():

             // pointer were to sneak in here. Note that we have already loaded the
             // Klass::super_check_offset from the super_klass in the fast path,
             // so if there is a null in that register, we are already in the afterlife.
        + push(rax);
        + xorq(rax,rax); // Set Z = 1
        + pop(rax);
             repne_scanl();

        will cause next exception:

        % java -Xmx128M -jar GCBasher.jar -time:300
        Exception in thread "main" java.lang.IncompatibleClassChangeError
                at java.lang.StringCoding$StringDecoder.decode(StringCoding.java:153)
                at java.lang.StringCoding.decode(StringCoding.java:193)
                at java.lang.String.<init>(String.java:452)
                at java.util.jar.Attributes.read(Attributes.java:418)
                at java.util.jar.Manifest.read(Manifest.java:199)
                at java.util.jar.Manifest.<init>(Manifest.java:69)
                at java.util.jar.JarFile.getManifestFromReference(JarFile.java:177)
                at java.util.jar.JarFile.getManifest(JarFile.java:163)
        j

          Attachments

            Issue Links

              Activity

                People

                Assignee:
                kvn Vladimir Kozlov
                Reporter:
                kvn Vladimir Kozlov
                Votes:
                0 Vote for this issue
                Watchers:
                0 Start watching this issue

                  Dates

                  Created:
                  Updated:
                  Resolved:
                  Imported:
                  Indexed: