Harmony
  1. Harmony
  2. HARMONY-1942

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

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Critical 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.

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

        Issue Links

          Activity

            People

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

              Dates

              • Created:
                Updated:
                Resolved:

                Development