Uploaded image for project: 'Harmony'
  1. Harmony
  2. HARMONY-6027

[drlvm][jit] An incorrect register assignment in graph coloring register allocation

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Open
    • Major
    • Resolution: Unresolved
    • None
    • None
    • DRLVM
    • None
    • IA32 Windows

    Description

      When running crypto.rsa with early_prop bypassed, a run-time bug happens because of the following code for spec/benchmarks/crypto/rsa/Main.runMultiEncryptDecrypt().

      with early_prop
      0230D094 I140: MOVSX t166(ESI):I_32,s164(EBX):I_32

      without early_prop
      0230D0B4 I663: MOV t165(DH):I_8,s164(EBX):I_32
      0230D0B6 I140: MOVSX t166(ESI):I_32,t165(DH):I_8

      After checking all the code in runMultiEncryptDecrypt(), I find EDX is defined and used several time in this method. With the control flow graph, I think the bug comes from that EDX is changed uncarefully for the above modification on DH.

      This bug is similar to H6016 from the view of early_prop. (https://issues.apache.org/jira/browse/HARMONY-6016) But they trig different bugs.

      Attachments

        1. H6027-V1.patch
          6 kB
          Xiaoming Gu

        Issue Links

          Activity

            People

              chunrong lai Chunrong Lai
              xiaoming Xiaoming Gu
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

                Created:
                Updated: