objArrayKlass::oop_iterate() and friends must use base_raw() instead of base()

XMLWordPrintable

    • Type: Bug
    • Resolution: Fixed
    • Priority: P3
    • 11
    • Affects Version/s: 11
    • Component/s: hotspot
    • None
    • gc
    • 11
    • b07
    • generic
    • generic

      Currently, objArrayKlass::oop_iterate() and related methods use base() to get the actual starting address of the array. However, base() resolves the oop via barriers. oop_iterate() is used solely by GC code, which requires direct access to the array, no matter which copy, and thus needs to use base_raw() instead.

            Assignee:
            Roman Kennke
            Reporter:
            Roman Kennke
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: