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

G1: interpreter post-barrier x86 code asserts index size of wrong buffer

XMLWordPrintable

    • gc
    • b18
    • x86, x86_64

      The following assertion within G1BarrierSetAssembler::g1_write_barrier_post() in src/hotspot/cpu/x86/gc/g1/g1BarrierSetAssembler_x86.cpp:

      // Generated code assumes that buffer index is pointer sized.
        STATIC_ASSERT(in_bytes(SATBMarkQueue::byte_width_of_index()) == sizeof(intptr_t));

      refers to the size of the index of the SATBMarkQueue buffer, which is unused in the post-barrier. It should probably refer instead to G1DirtyCardQueue::byte_width_of_index().

      This issue was found by [~kbarrett].

            rcastanedalo Roberto Castaneda Lozano
            rcastanedalo Roberto Castaneda Lozano
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: