Details

    • Sub-task
    • Resolution: Fixed
    • P2
    • 9
    • 9
    • hotspot
    • gc
    • b139
    • generic
    • generic

    Backports

      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

          Issue Links

            Activity

              People

                kbarrett Kim Barrett
                kbarrett Kim Barrett
                Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                  Created:
                  Updated:
                  Resolved: