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

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

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Open
    • Priority: Major
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: DRLVM
    • Labels:
      None
    • Environment:
      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

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

                Dates

                • Created:
                  Updated: