Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8275565

generate_d2i_wrapper() doesn't save XMM registers if _LP64 is not defined

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: P4
    • Resolution: Won't Fix
    • Affects Version/s: 8
    • Fix Version/s: 18
    • Component/s: hotspot
    • Subcomponent:
    • CPU:
      x86
    • OS:
      generic

      Description

      UseFPUForSpilling may spill GPR registers to XMM registers.

      generate_d2i_wrapper() does call push_FPU_state(), however, the implementation calls fnsave instead of fxsave when _LP64 is not defined. On 32 bit system, it doesn't save XMM0~7. XMM registers may be clobbered in runtime function fcn.

      One example is convD2L_reg_reg in x86_32.ad. The slow path calls StubRoutines::d2l_wrapper().

        Attachments

          Activity

            People

            Assignee:
            xliu Xin Liu
            Reporter:
            xliu Xin Liu
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved: