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

NMT: VMATree reserve_mapping and commit_mapping APIs need MEMFLAGS while un/-committing API has no MEMFLAGS arg

XMLWordPrintable

    • Icon: Enhancement Enhancement
    • Resolution: Fixed
    • Icon: P4 P4
    • 24
    • None
    • hotspot
    • b20
    • generic
    • generic

      The uncommit operation has no MEMFLAGS parameter. If we use VMATree::reserve_mapping(from, size, RegionData) a flag should be provided to the API. Since the uncommit API from VirtualMemoryTracker/MemTracker has no flag, the mtNone (or F_X) is to be passed instead. Then, VMATree accounts the 'size' as reserved for flag mtNone (or F_X) which is not correct.
      reserve_mapping(100,50, F_1);
      commit_mapping(120,20);
      reserve_mapping(120,10, F_X); // uncommitting 10, F_X != F_1
      // results in SummaryDiff[F_X].reserve == +10;

            azafari Afshin Zafari
            azafari Afshin Zafari
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated:
              Resolved: