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

Remove unused code for lost card-marking optimization in BacktraceBuilder

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • P4
    • hs22
    • hs17
    • hotspot
    • None
    • b02
    • generic
    • generic
    • Not verified

    Backports

      Description

        javaClasses.cpp'BacktraceBuilder appears to have infrastructure for
        deferring card-marks until after a sequence of stores into its
        _methods array. However, that optimization appears to have been
        lost when compressed oops were implemented because the relevant raw
        pointer store code was replaced with obj_at_put() which does
        the (pre- and post-) barriers. The latter post-barrier for the
        entire length of the array in the flush() is thus redundant.

        I noticed this when fixing 6904516, as part of which I decided to
        remove the redundant card-marks in the flush() method.

        This CR is being filed to restore the original optimization
        and replace the obj_at_put() with the appropriate raw [narrow]oop
        stores and re-enable the deferred card-mark optimization, if it
        is deemed important for performance on certain applications.

        Lacking any knowledge of specific apps that would gain from
        the optimization, I am filing this a P4. Please re-prioritize
        and file subCR's as appropriate.

        Attachments

          Issue Links

            Activity

              People

                brutisso Bengt Rutisson (Inactive)
                ysr Y. Ramakrishna
                Votes:
                0 Vote for this issue
                Watchers:
                0 Start watching this issue

                Dates

                  Created:
                  Updated:
                  Resolved:
                  Imported:
                  Indexed: