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

G1: TemplateInterpreter do_oop_store passes a compressed oop to g1_write_barrier_post

    Details

    • Subcomponent:
      gc
    • Resolved In Build:
      b29

      Backports

        Description

        SAP found a G1 bug in the template interpreter on x86_64 and sparc with compressed Oops.
        “do_oop_store” performs a “store_heap_oop” which compresses the input register.
        This compressed Oop is passed to the succeeding g1_write_barrier_post, which is wrong.
        Correctly, g1_write_barrier_post needs the uncompressed Oop for the heap region crossing check.

        This fix preserves the uncompressed Oop in a register which gets passed to the g1_write_barrier_post:
        http://cr.openjdk.java.net/~goetz/webrevs/g1-cOops_bug/

          Attachments

            Issue Links

              Activity

                People

                • Assignee:
                  johnc John Cuthbertson
                  Reporter:
                  mgerdin Mikael Gerdin (Inactive)
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  3 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved: