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

Remove unused code for lost card-marking optimization in BacktraceBuilder

XMLWordPrintable

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

        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.

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

                Created:
                Updated:
                Resolved:
                Imported:
                Indexed: