r18_tls should not be modified on Windows AArch64

XMLWordPrintable

    • aarch64
    • windows

      On Windows, r18_tls is used to store the pointer to the current thread's TEB. Therefore, this register should never be modified (see details in register_aarch64.hpp). However, C1's restore_live_registers can modify r18_tls when it pops saved registers off the stack if it is executed on a different thread than the one that saved the registers. This causes hangs and occasional crashes in the virtual threads jtreg tests on Windows AArch64 after https://github.com/openjdk/jdk/commit/78b80150e009745b8f28d36c3836f18ad0ca921f.

            Assignee:
            Saint Wesonga
            Reporter:
            Saint Wesonga
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated: