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

Matcher can cause oop field/array element to be reloaded

    Details

    • Subcomponent:
    • Resolved In Build:
      b24

      Backports

        Description

        With Shenandoah, we have a prototype where, rather than using an extra header field for the forwarding pointer, we use the mark word. When the shenandoah barrier is applied to an oop, the oop is first checked to be in cset which is done by converting the oop to an integer and extracting some of the bits of the address and then, if that test fails, the forwarding pointer is loaded by masking off some bits in the mark word. We're seeing a case where, in compiled code, the in cset test and the mark word load for the same oop use 2 different loads, i.e. the load of the field/array element is duplicated, it is reloaded between the in cset test and loading of the forwarding pointer.

          Attachments

            Issue Links

              Activity

                People

                • Assignee:
                  roland Roland Westrelin
                  Reporter:
                  roland Roland Westrelin
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  5 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved: