1. 21 7月, 2014 1 次提交
  2. 25 12月, 2013 1 次提交
  3. 19 4月, 2013 1 次提交
  4. 29 6月, 2012 1 次提交
    • Z
      6995781: Native Memory Tracking (Phase 1) · bdfb3cf5
      zgu 提交于
      7151532: DCmd for hotspot native memory tracking
      Summary: Implementation of native memory tracking phase 1, which tracks VM native memory usage, and related DCmd
      Reviewed-by: acorn, coleenp, fparain
      bdfb3cf5
  5. 18 4月, 2012 1 次提交
  6. 11 6月, 2011 1 次提交
    • T
      7045330: G1: Simplify/fix the HeapRegionSeq class · f122f55f
      tonyp 提交于
      7042285: G1: native memory leak during humongous object allocation
      6804436: G1: heap region indices should be size_t
      Summary: A series of fixes and improvements to the HeapRegionSeq class: a) replace the _regions growable array with a standard C array, b) avoid de-allocating / re-allocating HeapRegion instances when the heap shrinks / grows (fix for 7042285), c) introduce fast method to map address to HeapRegion via a "biased" array pointer, d) embed the _hrs object in G1CollectedHeap, instead of pointing to it via an indirection, e) assume that all the regions added to the HeapRegionSeq instance are contiguous, f) replace int's with size_t's for indexes (and expand that to HeapRegion as part of 6804436), g) remove unnecessary / unused methods, h) rename a couple of fields (_alloc_search_start and _seq_bottom), i) fix iterate_from() not to always start from index 0 irrespective of the region passed to it, j) add a verification method to check the HeapRegionSeq assumptions, k) always call the wrappers for _hrs.iterate(), _hrs_length(), and _hrs.at() from G1CollectedHeap, not those methods directly, and l) unify the code that expands the sequence (by either re-using or creating a new HeapRegion) and make it robust wrt to a HeapRegion allocation failing.
      Reviewed-by: stefank, johnc, brutisso
      f122f55f
  7. 26 1月, 2011 1 次提交
    • T
      7014261: G1: RSet-related failures · 1498a56a
      tonyp 提交于
      Summary: A race between the concurrent cleanup thread and the VM thread while it is processing the "expanded sparse table list" causes both threads to try to free the same sparse table entry and either causes one of the threads to fail or leaves the entry in an inconsistent state. The solution is purge all entries on the expanded list that correspond go regions that are being cleaned up.
      Reviewed-by: brutisso, johnc
      1498a56a
  8. 24 11月, 2010 1 次提交
  9. 17 10月, 2010 1 次提交
    • T
      6991377: G1: race between concurrent refinement and humongous object allocation · a9a0cccb
      tonyp 提交于
      Summary: There is a race between the concurrent refinement threads and the humongous object allocation that can cause the concurrent refinement threads to corrupt the part of the BOT that it is being initialized by the humongous object allocation operation. The solution is to do the humongous object allocation in careful steps to ensure that the concurrent refinement threads always have a consistent view over the BOT, region contents, and top. The fix includes some very minor tidying up in sparsePRT.
      Reviewed-by: jcoomes, johnc, ysr
      a9a0cccb
  10. 16 10月, 2010 1 次提交
  11. 07 8月, 2010 1 次提交
    • J
      6930581: G1: assert(ParallelGCThreads > 1 || n_yielded() ==... · d0aa394b
      johnc 提交于
      6930581: G1: assert(ParallelGCThreads > 1 || n_yielded() == _hrrs->occupied(),"Should have yielded all the ..
      Summary: During RSet updating, when ParallelGCThreads is zero, references that point into the collection set are added directly the referenced region's RSet. This can cause the sparse table in the RSet to expand. RSet scanning and the "occupied" routine will then operate on different instances of the sparse table causing the assert to trip. This may also cause some cards added post expansion to be missed during RSet scanning. When ParallelGCThreads is non-zero such references are recorded on the "references to be scanned" queue and the card containing the reference is recorded in a dirty card queue for use in the event of an evacuation failure. Employ the parallel code in the serial case to avoid expanding the RSets of regions in the collection set.
      Reviewed-by: iveresov, ysr, tonyp
      d0aa394b
  12. 28 5月, 2010 1 次提交
  13. 12 2月, 2010 1 次提交
    • I
      6923991: G1: improve scalability of RSet scanning · 88955d77
      iveresov 提交于
      Summary: Implemented block-based work stealing. Moved copying during the rset scanning phase to the main copying phase. Made the size of rset table depend on the region size.
      Reviewed-by: apetrusenko, tonyp
      88955d77
  14. 27 10月, 2009 1 次提交
    • A
      6870843: G1: G1 GC memory leak · 3fddbba6
      apetrusenko 提交于
      Summary: The fix addresses two memory leaks in G1 code: (1) _evac_failure_scan_stack - a resource object allocated on the C heap was not freed; (2) RSHashTable were linked into deleted list which was only cleared at full GC.
      Reviewed-by: tonyp, iveresov
      3fddbba6
  15. 31 7月, 2009 1 次提交
  16. 29 7月, 2009 1 次提交
    • X
      6862919: Update copyright year · 84c0f327
      xdono 提交于
      Summary: Update copyright for files that have been modified in 2009, up to 07/09
      Reviewed-by: tbell, ohair
      84c0f327
  17. 12 6月, 2009 1 次提交
  18. 08 3月, 2009 1 次提交
    • T
      6810698: G1: two small bugs in the sparse remembered sets · 91454ec9
      tonyp 提交于
      Summary: The _expanded flag of the sparse RSets is not reset and this can leave a RSet in an inconsistent state if it is expanded more than once. Also, we should be iterating over the _cur, instead of the _next, sparse table
      Reviewed-by: apetrusenko, iveresov
      91454ec9
  19. 06 6月, 2008 1 次提交