Details

    • Type: Sub-task
    • Status: Resolved
    • Priority: P2
    • Resolution: Fixed
    • Affects Version/s: 9
    • Fix Version/s: 9
    • Component/s: hotspot
    • Labels:
    • Subcomponent:
      gc
    • Resolved In Build:
      b139
    • CPU:
      generic
    • OS:
      generic

      Description

      Part of addressing JDK-8160369 involves examining and possibly fixing all uses of Klass::klass_or_null(). ParNew uses klass_or_null() in a few places. However, all of these uses of klass_or_null() are semantically incorrect.

      ParNew sometimes collects a list of some from-space objects, using the klass "field" as the next link in the list. JDK-6964458 introduced set_klass_to_list_ptr() and list_ptr_from_klass() to package up this usage. These were used to replace the direct uses of set_klass() and klass() respectively. However, uses of klass_or_null() were not updated, even though in the places where it is being used (by ParNew) the object it is being applied to is in that linked-through-klass list, so the result is never a Klass, but instead is the next element in the list, a special list marker (BUSY), or NULL.

        Attachments

          Activity

            People

            • Assignee:
              kbarrett Kim Barrett
              Reporter:
              kbarrett Kim Barrett
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: