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

RISC-V: Fix MachNode size mismatch for MacroAssembler::_verify_oops*

    XMLWordPrintable

Details

    • 21
    • b04
    • riscv
    • linux

    Backports

      Description

        Nearly the same as JDK-8285437. MachNode size should match in scratch emission and real emission phases. The address of the local char buffer is a random value, but when RVC is enabled, the `movptr`, containing `lui+addi+slli+addi+slli`, with another dangling `addi` at last to load the immediate address of the special local char buffer may get compressed depending on the char buffer's different addresses. So the size may at last mismatch. Due to this part containing implicit fixed-length semantics, it shall be a reasonable fix to add an ImcompressibleRegion for this special position.

        `test/hotspot/jtreg/testlibrary_tests/ir_framework/tests/TestDFlags.java` in hotspot tier4 can reflect this issue. It contains a `vm.flagless` so it didn't run in my local environment until recently.

        Attachments

          Issue Links

            Activity

              People

                xlinzheng Xiaolin Zheng
                xlinzheng Xiaolin Zheng
                Votes:
                0 Vote for this issue
                Watchers:
                4 Start watching this issue

                Dates

                  Created:
                  Updated:
                  Resolved: