1. 14 4月, 2010 1 次提交
  2. 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
  3. 06 4月, 2010 2 次提交
    • 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
    • T
      6940310: G1: MT-unsafe calls to CM::region_stack_push() / CM::region_stack_pop() · 1bf17034
      tonyp 提交于
      Summary: Calling the methods region_stack_push() and region_stack_pop() concurrent is not MT-safe. The assumption is that we will only call region_stack_push() during a GC pause and region_stack_pop() during marking. Unfortunately, we also call region_stack_push() during marking which seems to be introducing subtle marking failures. This change introduces lock-based methods for pushing / popping to be called during marking.
      Reviewed-by: iveresov, johnc
      1bf17034
  4. 03 4月, 2010 1 次提交
  5. 31 3月, 2010 1 次提交
    • T
      6937160: G1: should observe GCTimeRatio · ba4ccdf3
      tonyp 提交于
      Summary: Remove the G1GCPercent parameter, that specifies the desired GC overhead percentage in G1, and observe the GCTimeRatio parameter instead.
      Reviewed-by: jmasa, johnc
      ba4ccdf3
  6. 19 3月, 2010 2 次提交
    • J
      6935839: excessive marking stack growth during full gcs · 81554d51
      jcoomes 提交于
      Summary: process one item at a time from the objarray stack/queue
      Reviewed-by: apetrusenko, tonyp
      81554d51
    • T
      6935821: G1: threads created during marking do not active their SATB queues · 9677603a
      tonyp 提交于
      Summary: Newly-created threads always had the active field of their SATB queue initialized to false, even if they were created during marking. As a result, updates from threads created during a marking cycle were never enqueued and never processed. The fix includes remaining a method from active() to is_active() for readability and naming consistency.
      Reviewed-by: ysr, johnc
      9677603a
  7. 18 3月, 2010 1 次提交
  8. 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
  9. 04 3月, 2010 2 次提交
  10. 25 2月, 2010 1 次提交
  11. 24 2月, 2010 3 次提交
  12. 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
  13. 09 2月, 2010 1 次提交
    • T
      6802453: G1: hr()->is_in_reserved(from),"Precondition." · 812d794b
      tonyp 提交于
      Summary: The operations of re-using a RSet component and expanding the same RSet component were not mutually exlusive, and this could lead to RSets getting corrupted and entries being dropped.
      Reviewed-by: iveresov, johnc
      812d794b
  14. 03 2月, 2010 1 次提交
  15. 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
  16. 27 1月, 2010 1 次提交
  17. 22 1月, 2010 1 次提交
  18. 14 1月, 2010 2 次提交
    • J
      6915005: G1: Hang in PtrQueueSet::completed_buffers_list_length with gcl001 · b851645d
      johnc 提交于
      Summary: When enqueuing a completed PtrQueue buffer, cache a local pointer to the buffer and clear the field in the PtrQueue prior to unlocking the mutex referenced by the _lock field and pass the cached local value to the enqueuing routine. This will prevent the same completed buffer being enqueued multiple times, which causes the hang.
      Reviewed-by: ysr
      b851645d
    • 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
  19. 08 1月, 2010 1 次提交
  20. 24 12月, 2009 1 次提交
    • Y
      6631166: CMS: better heuristics when combatting fragmentation · c290220e
      ysr 提交于
      Summary: Autonomic per-worker free block cache sizing, tunable coalition policies, fixes to per-size block statistics, retuned gain and bandwidth of some feedback loop filters to allow quicker reactivity to abrupt changes in ambient demand, and other heuristics to reduce fragmentation of the CMS old gen. Also tightened some assertions, including those related to locking.
      Reviewed-by: jmasa
      c290220e
  21. 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
  22. 10 12月, 2009 1 次提交
  23. 04 12月, 2009 1 次提交
  24. 25 11月, 2009 1 次提交
    • J
      6899058: G1: Internal error in ptrQueue.cpp:201 in nightly tests · 6269ed5f
      johnc 提交于
      Summary: Fixes a race on the dirty card queue completed buffer list between worker thread(s) performing a flush of a deferred store barrier (enqueueing a newly completed buffer) and worker thread(s) in the RSet updating code claiming completed buffers. Removed the routine that removes elements from the completed update buffer queue using a CAS.
      Reviewed-by: ysr, tonyp
      6269ed5f
  25. 21 11月, 2009 1 次提交
  26. 20 11月, 2009 2 次提交
    • 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
    • Y
      6902701: G1: protect debugging code related to 6898948 with a debug flag · df890d3a
      ysr 提交于
      Summary: Protected stats dump with a new develop flag; other than for the dump, reconciled product and non-product behaviour in face of the error.
      Reviewed-by: tonyp
      df890d3a
  27. 14 11月, 2009 1 次提交
  28. 11 11月, 2009 1 次提交
  29. 07 11月, 2009 1 次提交
  30. 29 10月, 2009 1 次提交
  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. 22 10月, 2009 1 次提交
  33. 16 10月, 2009 1 次提交
    • Y
      6888898: CMS: ReduceInitialCardMarks unsafe in the presence of cms precleaning · 349bfec0
      ysr 提交于
      6889757: G1: enable card mark elision for initializing writes from compiled code (ReduceInitialCardMarks)
      Summary: Defer the (compiler-elided) card-mark upon a slow-path allocation until after the store  and before the next subsequent safepoint; G1 now answers yes to can_elide_tlab_write_barriers().
      Reviewed-by: jcoomes, kvn, never
      349bfec0