1. 19 4月, 2012 1 次提交
    • T
      7145441: G1: collection set chooser-related cleanup · c635ac45
      tonyp 提交于
      Summary: Cleanup of the CSet chooser class: standardize on uints for region num and indexes (instead of int, jint, etc.), make the method / field naming style more consistent, remove a lot of dead code.
      Reviewed-by: johnc, brutisso
      c635ac45
  2. 13 4月, 2012 1 次提交
    • B
      7160728: Introduce an extra logging level for G1 logging · 70fc433a
      brutisso 提交于
      Summary: Added log levels "fine", "finer" and "finest". Let PrintGC map to "fine" and PrintGCDetails map to "finer". Separated out the per worker information in the G1 logging to the "finest" level.
      Reviewed-by: stefank, jwilhelm, tonyp, johnc
      70fc433a
  3. 06 4月, 2012 1 次提交
  4. 23 3月, 2012 1 次提交
  5. 16 2月, 2012 1 次提交
    • T
      7132029: G1: mixed GC phase lasts for longer than it should · 38f2f704
      tonyp 提交于
      Summary: Revamp of the mechanism that chooses old regions for inclusion in the CSet. It simplifies the code and introduces min and max bounds on the number of old regions added to the CSet at each mixed GC to avoid pathological cases. It also ensures that when we do a mixed GC we'll always find old regions to add to the CSet (i.e., it eliminates the case where a mixed GC will collect no old regions which can happen today).
      Reviewed-by: johnc, brutisso
      38f2f704
  6. 11 1月, 2012 1 次提交
  7. 22 12月, 2011 1 次提交
  8. 28 9月, 2011 1 次提交
  9. 09 9月, 2011 1 次提交
  10. 08 9月, 2011 1 次提交
    • T
      7084509: G1: fix inconsistencies and mistakes in the young list target length calculations · 0f3d13b3
      tonyp 提交于
      Summary: Fixed inconsistencies and mistakes in the young list target length calculations so that a) the calculated target length is optimal (before, it was not), b) other parameters like max survivor size and max gc locker eden expansion are always consistent with the calculated target length (before, they were not always), and c) the resulting target length was always bound by desired min and max values (before, it was not).
      Reviewed-by: brutisso, johnc
      0f3d13b3
  11. 01 9月, 2011 1 次提交
  12. 22 8月, 2011 1 次提交
  13. 19 8月, 2011 1 次提交
  14. 19 11月, 2011 1 次提交
  15. 30 4月, 2011 1 次提交
    • T
      7034139: G1: assert(Thread::current()->is_ConcurrentGC_thread()) failed: only... · 7d82f540
      tonyp 提交于
      7034139: G1: assert(Thread::current()->is_ConcurrentGC_thread()) failed: only a conc GC thread can call this.
      Summary: We were calling STS join and leave during a STW pause and we are not suppoesed to. I now only call those during  concurrent phase. I also added stress code in the non-product builds to force an overflows (the condition that ws uncovering the bug) to make sure it does not happen again.
      Reviewed-by: johnc, brutisso
      7d82f540
  16. 20 4月, 2011 1 次提交
    • T
      7011855: G1: non-product flag to artificially grow the heap · 71990acc
      tonyp 提交于
      Summary: It introduces non-product cmd line parameter G1DummyRegionsPerGC which indicates how many "dummy" regions to allocate at the end of each GC. This allows the G1 heap to grow artificially and makes concurrent marking cycles more frequent irrespective of what the application that is running is doing. The dummy regions will be found totally empty during cleanup so this parameter can also be used to stress the concurrent cleanup operation.
      Reviewed-by: brutisso, johnc
      71990acc
  17. 08 4月, 2011 1 次提交
    • J
      7009266: G1: assert(obj->is_oop_or_null(true )) failed: Error · 2d8ecef4
      johnc 提交于
      Summary: A referent object that is only weakly reachable at the start of concurrent marking but is re-attached to the strongly reachable object graph during marking may not be marked as live. This can cause the reference object to be processed prematurely and leave dangling pointers to the referent object. Implement a read barrier for the java.lang.ref.Reference::referent field by intrinsifying the Reference.get() method, and intercepting accesses though JNI, reflection, and Unsafe, so that when a non-null referent object is read it is also logged in an SATB buffer.
      Reviewed-by: kvn, iveresov, never, tonyp, dholmes
      2d8ecef4
  18. 19 2月, 2011 1 次提交
  19. 05 4月, 2011 1 次提交
  20. 29 3月, 2011 1 次提交
    • J
      7026932: G1: No need to abort VM when card count cache expansion fails · 8292a4cf
      johnc 提交于
      Summary: Manage allocation/freeing of the card cache counts and epochs arrays directly so that an allocation failure while attempting to expand these arrays does not abort the JVM. Failure to expand these arrays is not fatal.
      Reviewed-by: iveresov, tonyp
      8292a4cf
  21. 03 2月, 2011 1 次提交
    • J
      6923430: G1: assert(res != 0,"This should have worked.") · 3d6f44f3
      johnc 提交于
      7007446: G1: expand the heap with a single step, not one region at a time
      Summary: Changed G1CollectedHeap::expand() to expand the committed space by calling VirtualSpace::expand_by() once rather than for every region in the expansion amount. This allows the success or failure of the expansion to be determined before creating any heap regions. Introduced a develop flag G1ExitOnExpansionFailure (false by default) that, when true, will exit the VM if the expansion of the committed space fails. Finally G1CollectedHeap::expand() returns a status back to it's caller so that the caller knows whether to attempt the allocation.
      Reviewed-by: brutisso, tonyp
      3d6f44f3
  22. 26 1月, 2011 1 次提交
  23. 20 1月, 2011 1 次提交
    • T
      6977804: G1: remove the zero-filling thread · 925951fa
      tonyp 提交于
      Summary: This changeset removes the zero-filling thread from G1 and collapses the two free region lists we had before (the "free" and "unclean" lists) into one. The new free list uses the new heap region sets / lists abstractions that we'll ultimately use it to keep track of all regions in the heap. A heap region set was also introduced for the humongous regions. Finally, this change increases the concurrency between the thread that completes freeing regions (after a cleanup pause) and the rest of the system (before we'd have to wait for said thread to complete before allocating a new region). The changest also includes a lot of refactoring and code simplification.
      Reviewed-by: jcoomes, johnc
      925951fa
  24. 19 1月, 2011 1 次提交
    • T
      7011379: G1: overly long concurrent marking cycles · 652db62e
      tonyp 提交于
      Summary: This changeset introduces filtering of SATB buffers at the point when they are about to be enqueued. If this filtering clears enough entries on each buffer, the buffer can then be re-used and not enqueued. This cuts down the number of SATB buffers that need to be processed by the concurrent marking threads.
      Reviewed-by: johnc, ysr
      652db62e
  25. 24 11月, 2010 1 次提交
  26. 13 10月, 2010 1 次提交
  27. 28 5月, 2010 1 次提交
  28. 25 5月, 2010 1 次提交
  29. 23 4月, 2010 1 次提交
  30. 16 4月, 2010 1 次提交
  31. 03 4月, 2010 1 次提交
  32. 31 3月, 2010 1 次提交
    • T
      6937160: G1: should observe GCTimeRatio · 30741ae3
      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
      30741ae3
  33. 25 2月, 2010 1 次提交
  34. 24 2月, 2010 3 次提交
  35. 12 2月, 2010 1 次提交
    • I
      6923991: G1: improve scalability of RSet scanning · f237dfd2
      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
      f237dfd2
  36. 27 1月, 2010 1 次提交
  37. 17 12月, 2009 1 次提交
    • I
      6862387: tune concurrent refinement further · 0ce64a67
      iveresov 提交于
      Summary: Reworked the concurrent refinement: threads activation, feedback-based threshold adjustment, other miscellaneous fixes.
      Reviewed-by: apetrusenko, tonyp
      0ce64a67
  38. 20 11月, 2009 1 次提交
    • Y
      6902303: G1: ScavengeALot should cause an incremental, rather than a full, collection · 14cf09a1
      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
      14cf09a1