1. 01 8月, 2013 1 次提交
  2. 05 6月, 2013 1 次提交
  3. 10 5月, 2013 1 次提交
    • J
      7176479: G1: JVM crashes on T5-8 system with 1.5 TB heap · cdde158c
      johnc 提交于
      Summary: Refactor G1's hot card cache and card counts table into their own files. Simplify the card counts table, including removing the encoding of the card index in each entry. The card counts table now has a 1:1 correspondence with the cards spanned by heap. Space for the card counts table is reserved from virtual memory (rather than C heap) during JVM startup and is committed/expanded when the heap is expanded. Changes were also reviewed-by Vitaly Davidovich.
      Reviewed-by: tschatzl, jmasa
      cdde158c
  4. 22 2月, 2013 1 次提交
  5. 07 2月, 2013 1 次提交
  6. 16 1月, 2013 1 次提交
  7. 22 12月, 2012 1 次提交
    • J
      8001424: G1: Rename certain G1-specific flags · 714c755a
      johnc 提交于
      Summary: Rename G1DefaultMinNewGenPercent, G1DefaultMaxNewGenPercent, and G1OldCSetRegionLiveThresholdPercent to G1NewSizePercent, G1MaxNewSizePercent, and G1MixedGCLiveThresholdPercent respectively. The previous names are no longer accepted.
      Reviewed-by: brutisso, ysr
      714c755a
  8. 29 8月, 2012 1 次提交
    • J
      7041879: G1: introduce stress testing parameter to cause frequent evacuation failures · c788a48d
      johnc 提交于
      Summary: Add the flags G1EvacuationFailureALot flag (and supporting flags) to force trigger evacuation failures. The support flags control how often to trigger an evacuation failure and during which types of evacuation pause. This functionality is analogous to that of PromotionFailureALot for the other collectors.
      Reviewed-by: brutisso
      c788a48d
  9. 23 8月, 2012 1 次提交
  10. 26 6月, 2012 1 次提交
  11. 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
  12. 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
  13. 06 4月, 2012 1 次提交
  14. 23 3月, 2012 1 次提交
  15. 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
  16. 11 1月, 2012 1 次提交
  17. 22 12月, 2011 1 次提交
  18. 28 9月, 2011 1 次提交
  19. 09 9月, 2011 1 次提交
  20. 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
  21. 01 9月, 2011 1 次提交
  22. 22 8月, 2011 1 次提交
  23. 19 8月, 2011 1 次提交
  24. 19 11月, 2011 1 次提交
  25. 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
  26. 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
  27. 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
  28. 19 2月, 2011 1 次提交
  29. 05 4月, 2011 1 次提交
  30. 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
  31. 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
  32. 26 1月, 2011 1 次提交
  33. 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
  34. 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
  35. 24 11月, 2010 1 次提交
  36. 13 10月, 2010 1 次提交
  37. 28 5月, 2010 1 次提交
  38. 25 5月, 2010 1 次提交
  39. 23 4月, 2010 1 次提交
  40. 16 4月, 2010 1 次提交