Parallel: Investigate removal of specialized objArray iteration code

XMLWordPrintable

    • Type: Enhancement
    • Resolution: Unresolved
    • Priority: P4
    • tbd
    • Affects Version/s: None
    • Component/s: hotspot
    • gc

      Parallel GC, for some reason implements specialized local methods to iterate over array slices (PSPromotionManager::process_array_chunk_work):

      template <class T>
      void PSPromotionManager::process_array_chunk_work(oop obj, int start, int end) {
        assert(start <= end, "invariant");
        T* const base = (T*)objArrayOop(obj)->base();
        T* p = base + start;
        T* const chunk_end = base + end;
        while (p < chunk_end) {
          claim_or_forward_depth(p);
          ++p;
        }
      }

      Investigate and potentially remove this code duplication.

            Assignee:
            Unassigned
            Reporter:
            Thomas Schatzl
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated: