1. 08 12月, 2010 1 次提交
  2. 25 8月, 2010 1 次提交
    • T
      6974966: G1: unnecessary direct-to-old allocations · 41dac17c
      tonyp 提交于
      Summary: This change revamps the slow allocation path of G1. Improvements include the following: a) Allocations directly to old regions are now totally banned. G1 now only allows allocations out of young regions (with the only exception being humongous regions). b) The thread that allocates a new region (which is now guaranteed to be young) does not dirty all its cards. Each thread that successfully allocates out of a young region is now responsible for dirtying the cards that corresponding to the "block" that just got allocated. c) allocate_new_tlab() and mem_allocate() are now implemented differently and TLAB allocations are only done by allocate_new_tlab(). d) If a thread schedules an evacuation pause in order to satisfy an allocation request, it will perform the allocation at the end of the safepoint so that the thread that initiated the GC also gets "first pick" of any space made available by the GC. e) If a thread is unable to allocate a humongous object it will schedule an evacuation pause in case it reclaims enough regions so that the humongous allocation can be satisfied aftewards. f) The G1 policy is more careful to set the young list target length to be the survivor number +1. g) Lots of code tidy up, removal, refactoring to make future changes easier.
      Reviewed-by: johnc, ysr
      41dac17c
  3. 24 11月, 2010 1 次提交
  4. 14 9月, 2010 1 次提交
    • J
      6981746: G1: SEGV with -XX:+TraceGen0Time · a5cebdbe
      johnc 提交于
      Summary: Pass correct value for length to NumberSeq constructor. Guard dereferences of "body_summary" pointer with a NULL check.
      Reviewed-by: tonyp, ysr
      a5cebdbe
  5. 21 9月, 2010 1 次提交
  6. 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
  7. 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
  8. 29 6月, 2010 1 次提交
  9. 28 5月, 2010 2 次提交
  10. 23 4月, 2010 1 次提交
  11. 08 5月, 2010 1 次提交
    • T
      6949307: G1: raise a vm error, do not core dump, if target pause time and... · 7a0c8373
      tonyp 提交于
      6949307: G1: raise a vm error, do not core dump, if target pause time and target interval are inconsistent
      Summary: First, change the guarantee to raising a vm error. Second, set the interval dynamically, and based on the pause time target, if it is not set explicitly.
      Reviewed-by: ysr, johnc
      7a0c8373
  12. 23 4月, 2010 1 次提交
  13. 16 4月, 2010 1 次提交
  14. 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
  15. 31 3月, 2010 2 次提交
  16. 25 2月, 2010 1 次提交
  17. 24 2月, 2010 2 次提交
  18. 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
  19. 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
  20. 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
  21. 14 11月, 2009 1 次提交
  22. 24 10月, 2009 1 次提交
  23. 05 8月, 2009 1 次提交
    • J
      6819077: G1: first GC thread coming late into the GC. · c046dd73
      johnc 提交于
      Summary: The first worker thread is delayed when entering the GC because it clears the card count table that is used in identifying hot cards. Replace the card count table with a dynamically sized evicting hash table that includes an epoch based counter.
      Reviewed-by: iveresov, tonyp
      c046dd73
  24. 31 7月, 2009 1 次提交
  25. 20 8月, 2009 1 次提交
    • T
      6871111: G1: remove the concurrent overhead tracker · 228aaca7
      tonyp 提交于
      Summary: Removing the concurrent overhead tracker from G1, along with the GC overhead reporter and the G1AccountConcurrentOverhead (both of which rely on the the concurrent overhead tracker).
      Reviewed-by: iveresov, johnc
      228aaca7
  26. 15 7月, 2009 1 次提交
  27. 12 5月, 2009 1 次提交
    • I
      6484957: G1: parallel concurrent refinement · 2c49aee0
      iveresov 提交于
      6826318: G1: remove traversal-based refinement code
      Summary: Removed traversal-based refinement code as it's no longer used. Made the concurrent refinement (queue-based) parallel.
      Reviewed-by: tonyp
      2c49aee0
  28. 01 5月, 2009 1 次提交
  29. 26 3月, 2009 1 次提交
  30. 22 3月, 2009 1 次提交
  31. 16 3月, 2009 1 次提交
    • T
      6604422: G1: re-use half-promoted regions · 98b19c84
      tonyp 提交于
      6728271: G1: Cleanup G1CollectedHeap::get_gc_alloc_regions()
      Summary: It allows the last half-full region to be allocated to during a GC to be reused during the next GC.
      Reviewed-by: apetrusenko, jcoomes
      98b19c84
  32. 10 3月, 2009 1 次提交
    • X
      6814575: Update copyright year · 58e87f34
      xdono 提交于
      Summary: Update copyright for files that have been modified in 2009, up to 03/09
      Reviewed-by: katleman, tbell, ohair
      58e87f34
  33. 25 2月, 2009 1 次提交
  34. 09 2月, 2009 1 次提交
  35. 06 2月, 2009 1 次提交
  36. 17 1月, 2009 1 次提交