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

[drlvm] Back-branch polling TLS offset is incorrect. Stability and performance fix

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Critical
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: DRLVM
    • Labels:
      None

      Description

      The suspend flag's TLS offset used by JIT agorithms was incorrect after the latest merge of TM.
      As the result every loop iteration BBP algorithm uses slow path.

      This patch
      1) Fixes the problem
      2) Adds new functionality to TM: the UDATA VMCALL hythread_tls_get_offset(hythread_tls_key_t key) method.
      3) Removes jit_private data field from HyThread
      3) Fix JIT to always use allocation algorithm for TLS keys, not hardcoded values.

        Attachments

        1. hy_2.diff
          18 kB
          Mikhail Fursov
        2. hy.diff
          8 kB
          Mikhail Fursov

          Issue Links

            Activity

              People

              • Assignee:
                wjwashburn weldon washburn
                Reporter:
                mfursov Mikhail Fursov
              • Votes:
                0 Vote for this issue
                Watchers:
                0 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: