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

Parallel: More precise boundary in ObjectStartArray::object_starts_in_range

XMLWordPrintable

    • Icon: Enhancement Enhancement
    • Resolution: Fixed
    • Icon: P4 P4
    • 19
    • 19
    • hotspot
    • gc
    • b06

      In `object_starts_in_range`:

      ```
        jbyte* start_block = block_for_addr(start_addr);
        jbyte* end_block = block_for_addr(end_addr);

        for (jbyte* block = start_block; block <= end_block; block++)
      ```

      Note the for-loop is inclusive; IOW, this method returns true iff an obj starts in `[start_addr, end_addr]`.

      However, both of its two callers `PSCardTable::scavenge_contents_parallel` and `PSOldGen::object_iterate_block` actually interest in whether an obj starts in `[start_addr, end_addr)`.

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

              Created:
              Updated:
              Resolved: