1. 17 11月, 2010 1 次提交
    • J
      6978187: G1: assert(ParallelGCThreads> 1 || n_yielded() == _hrrs->occupied()) strikes again · 8d02802f
      johnc 提交于
      Summary: An evacuation failure while copying the roots caused an object, A, to be forwarded to itself. During the subsequent RSet updating a reference to A was processed causing the reference to be added to the RSet of A's heap region. As a result of adding to the remembered set we ran into the issue described in 6930581 - the sparse table expanded and the RSet scanning code walked the cards in one instance of RHashTable (_cur) while the occupied() counts the cards in the expanded table (_next).
      Reviewed-by: tonyp, iveresov
      8d02802f
  2. 14 10月, 2010 1 次提交
  3. 13 10月, 2010 2 次提交
  4. 02 10月, 2010 1 次提交
    • J
      6983311: G1: LoopTest hangs when run with -XX:+ExplicitInvokesConcurrent · 52b8d7bd
      johnc 提交于
      Summary: Clear the concurrent marking "in progress" flag while the FullGCCount_lock is held. This avoids a race that can cause back to back System.gc() calls, when ExplicitGCInvokesConcurrent is enabled, to fail to initiate a marking cycle causing the requesting thread to hang.
      Reviewed-by: tonyp, ysr
      52b8d7bd
  5. 21 9月, 2010 1 次提交
  6. 26 8月, 2010 1 次提交
  7. 18 8月, 2010 3 次提交
  8. 09 8月, 2010 1 次提交
  9. 05 8月, 2010 1 次提交
    • T
      6963209: G1: remove the concept of abandoned pauses · e49283a2
      tonyp 提交于
      Summary: As part of 6944166 we disabled the concept of abandoned pauses (i.e., if the collection set is empty, we would still try to do a pause even if it is to update the RSets and scan the roots). This changeset removes the code and structures associated with abandoned pauses.
      Reviewed-by: iveresov, johnc
      e49283a2
  10. 03 8月, 2010 1 次提交
    • J
      6814437: G1: remove the _new_refs array · 64711cc9
      johnc 提交于
      Summary: The per-worker _new_refs array is used to hold references that point into the collection set. It is populated during RSet updating and subsequently processed. In the event of an evacuation failure it processed again to recreate the RSets of regions in the collection set. Remove the per-worker _new_refs array by processing the references directly. Use a DirtyCardQueue to hold the cards containing the references so that the RSets of regions in the collection set can be recreated when handling an evacuation failure.
      Reviewed-by: iveresov, jmasa, tonyp
      64711cc9
  11. 20 7月, 2010 1 次提交
  12. 29 6月, 2010 1 次提交
  13. 28 5月, 2010 2 次提交
  14. 19 5月, 2010 1 次提交
  15. 15 5月, 2010 1 次提交
  16. 23 4月, 2010 2 次提交
  17. 16 4月, 2010 3 次提交
  18. 08 4月, 2010 1 次提交
    • J
      6940894: G1: assert(new_obj != 0 || ... "should be forwarded") for compaction tests · bc7497dc
      johnc 提交于
      Summary: Humongous regions may contain multiple objects as a result of being retained as to-space from a previous GC and then re-used as to-space after being tagged as humongous. These changes include a check that causes retained to-space regions that are now tagged as humongous to be disregarded and a new to-space region allocated.
      Reviewed-by: tonyp, iveresov
      bc7497dc
  19. 06 4月, 2010 1 次提交
    • T
      6909756: G1: guarantee(G1CollectedHeap::heap()->mark_in_progress(),"Precondition.") · 524b2dd2
      tonyp 提交于
      Summary: Make sure that two marking cycles do not overlap, i.e., a new one can only start after the concurrent marking thread finishes all its work. In the fix I piggy-back a couple of minor extra fixes: some general code reformatting for consistency (only around the code I modified), the removal of a field (G1CollectorPolicy::_should_initiate_conc_mark) which doesn't seem to be used at all (it's only set but never read), as well as moving the "is GC locker active" test earlier into the G1 pause / Full GC and using a more appropriate method for it.
      Reviewed-by: johnc, jmasa, jcoomes, ysr
      524b2dd2
  20. 31 3月, 2010 1 次提交
  21. 14 4月, 2010 1 次提交
  22. 12 3月, 2010 1 次提交
    • J
      6755988: G1: assert(new_obj != 0 || ... "should be forwarded") · 195509ea
      johnc 提交于
      Summary: A TLAB became large enough to be considered a humongous object allowing multiple objects to be allocated in a humongous region, which violates a basic assumption about humongous regions. The changes ensure that TLABs cannot be regarded as humongous.
      Reviewed-by: iveresov, tonyp
      195509ea
  23. 24 2月, 2010 1 次提交
  24. 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
  25. 02 2月, 2010 1 次提交
    • Y
      6904516: More object array barrier fixes, following up on 6906727 · 59ae9b34
      ysr 提交于
      Summary: Fixed missing pre-barrier calls for G1, modified C1 to call pre- and correct post-barrier interfaces, deleted obsolete interface, (temporarily) disabled redundant deferred barrier in BacktraceBuilder.
      Reviewed-by: coleenp, jmasa, kvn, never
      59ae9b34
  26. 14 1月, 2010 1 次提交
    • Y
      6896647: card marks can be deferred too long · 651edb8d
      ysr 提交于
      Summary: Deferred card marks are now flushed during the gc prologue. Parallel[Scavege,OldGC] and SerialGC no longer defer card marks generated by COMPILER2 as a result of ReduceInitialCardMarks. For these cases, introduced a diagnostic option to defer the card marks, only for the purposes of testing and diagnostics. CMS and G1 continue to defer card marks. Potential performance concern related to single-threaded flushing of deferred card marks in the gc prologue will be addressed in the future.
      Reviewed-by: never, johnc
      651edb8d
  27. 17 12月, 2009 1 次提交
    • I
      6862387: tune concurrent refinement further · 7f92f7a2
      iveresov 提交于
      Summary: Reworked the concurrent refinement: threads activation, feedback-based threshold adjustment, other miscellaneous fixes.
      Reviewed-by: apetrusenko, tonyp
      7f92f7a2
  28. 04 12月, 2009 1 次提交
  29. 21 11月, 2009 1 次提交
  30. 20 11月, 2009 1 次提交
    • Y
      6902303: G1: ScavengeALot should cause an incremental, rather than a full, collection · bef9ec13
      ysr 提交于
      Summary: ScavengeALot now causes an incremental (but possibly partially young, in the G1 sense) collection. Some such collections may be abandoned on account of MMU specs. Band-aided a native leak associated with abandoned pauses, as well as an MMU tracker overflow related to frequent scavenge events in the face of a large MMU denominator interval; the latter is protected by a product flag that defaults to false.
      Reviewed-by: tonyp
      bef9ec13
  31. 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
  32. 12 10月, 2009 1 次提交
  33. 03 10月, 2009 1 次提交
    • T
      6882730: G1: parallel heap verification messes up region dump · 7a16a15c
      tonyp 提交于
      Summary: It tidies up the G1 heap verification a bit. In particular, when the verification is done in parallel and there is a failure, this is propagated to the top level and the heap is dumped at the end, not by every thread that encounters a failure.
      Reviewed-by: johnc, jmasa
      7a16a15c