1. 10 12月, 2010 1 次提交
  2. 08 12月, 2010 3 次提交
    • Y
      7001033: assert(gch->gc_cause() == GCCause::_scavenge_alot ||... · 8be7836d
      ysr 提交于
      7001033: assert(gch->gc_cause() == GCCause::_scavenge_alot || !gch->incremental_collection_failed())
      7002546: regression on SpecJbb2005 on 7b118 comparing to 7b117 on small heaps
      Summary: Relaxed assertion checking related to incremental_collection_failed flag to allow for ExplicitGCInvokesConcurrent behaviour where we do not want a failing scavenge to bail to a stop-world collection. Parameterized incremental_collection_will_fail() so we can selectively use, or not use, as appropriate, the statistical prediction at specific use sites. This essentially reverts the scavenge bail-out logic to what it was prior to some recent changes that had inadvertently started using the statistical prediction which can be noisy in the presence of bursty loads. Added some associated verbose non-product debugging messages.
      Reviewed-by: johnc, tonyp
      8be7836d
    • J
      6994628: G1: Test gc/gctests/FinalizeTest05 fails (one live object is finalized) · a669d665
      johnc 提交于
      Summary: The Solaris Studio 12 update 1 C++ compiler was incorrectly re-ordering the reads of an object's mark word in oopDesc::forward_to_atomic(). This opened a small window where one thread could execute the successful CAS path even though another thread had already successfully forwarded the object. This could result in an object being copied twice. The code in oopDesc::forward_to_atomic() was changed to read the mark word once.
      Reviewed-by: ysr, tonyp
      a669d665
    • T
      6994056: G1: when GC locker is active, extend the Eden instead of allocating into the old gen · ca3e35c8
      tonyp 提交于
      Summary: Allow the eden to the expanded up to a point when the GC locker is active.
      Reviewed-by: jwilhelm, johnc, ysr, jcoomes
      ca3e35c8
  3. 03 12月, 2010 1 次提交
  4. 02 12月, 2010 1 次提交
  5. 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
  6. 24 11月, 2010 1 次提交
  7. 23 11月, 2010 1 次提交
  8. 19 11月, 2010 3 次提交
  9. 17 11月, 2010 3 次提交
  10. 13 11月, 2010 1 次提交
  11. 12 11月, 2010 1 次提交
  12. 10 11月, 2010 3 次提交
  13. 07 11月, 2010 2 次提交
  14. 06 11月, 2010 3 次提交
  15. 05 11月, 2010 2 次提交
  16. 03 11月, 2010 3 次提交
  17. 31 10月, 2010 4 次提交
  18. 29 10月, 2010 1 次提交
  19. 28 10月, 2010 2 次提交
  20. 27 10月, 2010 1 次提交
  21. 24 10月, 2010 1 次提交
  22. 23 10月, 2010 1 次提交