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

G1: Initialize the BOT threshold to be region bottom

XMLWordPrintable

    • Icon: Enhancement Enhancement
    • Resolution: Fixed
    • Icon: P4 P4
    • 19
    • 18
    • hotspot
    • gc
    • b04

      The threshold is initialized to be the start of *second* card. The rational here is that objects are allocated from the region-start (except for humongous-continue regions), so the entry for the first card will always be zero.

      ```
      void G1BlockOffsetTablePart::initialize_threshold() {
        _next_offset_threshold = _hr->bottom() + BOTConstants::card_size_in_words();
      }
      ```

      Instead, one can use `bottom()` as the initial value; then entries for offset cards (cards holding the offset value, in constrast to cards holding backskip values) will be strictly less than card size.

            ayang Albert Yang
            ayang Albert Yang
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: