- 12 1月, 2012 1 次提交
-
-
由 johnc 提交于
Summary: Remove the separate counting phase of concurrent marking by tracking the amount of marked bytes and the cards spanned by marked objects in marking task/worker thread local data structures, which are updated as individual objects are marked. Reviewed-by: brutisso, tonyp
-
- 24 1月, 2012 1 次提交
-
-
由 brutisso 提交于
7132311: G1: assert((s == klass->oop_size(this)) || (Universe::heap()->is_gc_active() && ((is_typeArray()... Summary: Move the check for when to call collect() to before we do a humongous object allocation Reviewed-by: stefank, tonyp
-
- 21 1月, 2012 1 次提交
-
-
由 brutisso 提交于
Summary: Create a handle and fake an object to make sure that we don't loose the memory we just allocated Reviewed-by: tonyp, stefank
-
- 19 1月, 2012 1 次提交
-
-
由 tonyp 提交于
Reviewed-by: johnc, brutisso
-
- 18 1月, 2012 2 次提交
-
-
由 johnc 提交于
Summary: During an initial mark pause, signal the Concurrent Mark thread after the pause output from PrintGC/PrintGCDetails is complete. Reviewed-by: tonyp, brutisso
-
由 tonyp 提交于
Summary: Extend the jmap -heap output for G1 to include some more G1-specific information. Reviewed-by: brutisso, johnc, poonam
-
- 17 1月, 2012 1 次提交
-
-
由 brutisso 提交于
Reviewed-by: tonyp, johnc
-
- 16 1月, 2012 1 次提交
-
-
由 brutisso 提交于
Summary: Removed references to CMS in the concurrentMark.cpp/hpp files. Reviewed-by: tonyp, jmasa, johnc
-
- 14 1月, 2012 1 次提交
-
-
由 johnc 提交于
Summary: There is a high number of mispredicted branches associated with calling BitMap::iteratate() from within CMBitMapRO::iterate(). Implement a version of CMBitMapRO::iterate() directly using inline-able routines. Reviewed-by: tonyp, iveresov
-
- 11 1月, 2012 2 次提交
-
-
由 tonyp 提交于
Summary: This change simplifies the interaction between GC and concurrent marking. By disabling survivor spaces during the initial-mark pause we don't need to propagate marks of objects we copy during each GC (since we never need to copy an explicitly marked object). Reviewed-by: johnc, brutisso
-
由 brutisso 提交于
Reviewed-by: tonyp, jmasa
-
- 10 1月, 2012 1 次提交
-
-
由 tonyp 提交于
Reviewed-by: brutisso, johnc
-
- 07 1月, 2012 1 次提交
-
-
由 tonyp 提交于
Summary: Store the "next chunk start index" in the length field of the to-space object, instead of the from-space object, so that we can always reliably read the size of all from-space objects. Reviewed-by: johnc, ysr, jmasa
-
- 29 12月, 2011 1 次提交
-
-
由 stefank 提交于
Summary: Replaced the code with a ShouldNotReachHere Reviewed-by: tonyp, jmasa
-
- 24 12月, 2011 1 次提交
-
-
由 johnc 提交于
Summary: Parallelize the removal of self forwarding pointers etc. by wrapping in a HeapRegion closure, which is then wrapped inside an AbstractGangTask. Reviewed-by: tonyp, iveresov
-
- 05 1月, 2012 1 次提交
-
-
由 tonyp 提交于
Summary: Introduce a flag that is set when a heap expansion attempt during a GC fails so that we do not consantly attempt to expand the heap when it's going to fail anyway. This not only prevents the excessive ergo output (which is generated when a region allocation fails) but also avoids excessive and ultimately unsuccessful expansion attempts. Reviewed-by: jmasa, johnc
-
- 22 12月, 2011 1 次提交
-
-
由 brutisso 提交于
Summary: Use a percentage of -Xms as min and another percentage of -Xmx as max for the young gen size Reviewed-by: tonyp, johnc
-
- 17 12月, 2011 1 次提交
-
-
由 johnc 提交于
Summary: Running G1 with ParallelGCThreads==0 results in various crashes and asserts. Most of these are caused by unguarded references to the worker threads array or an incorrect number of active workers. Reviewed-by: jmasa, tonyp
-
- 16 12月, 2011 1 次提交
-
-
由 tonyp 提交于
Summary: Renamed partially-young GCs as mixed and fully-young GCs as young. Change all external output that includes those terms (GC log and GC ergo log) as well as any comments, fields, methods, etc. The changeset also includes very minor code tidying up (added some curly brackets). Reviewed-by: johnc, brutisso
-
- 15 12月, 2011 2 次提交
-
-
由 johnc 提交于
Summary: Cache workers' calculated starting heap region, used for parallel iteration over the collcection set, for subsequent reuse. Reviewed-by: tonyp, brutisso
-
由 jmasa 提交于
Summary: Change variables representing the number of GC workers to uint from int and size_t. Change the parameter in work(int i) to work(uint worker_id). Reviewed-by: brutisso, tonyp
-
- 21 12月, 2011 2 次提交
-
-
由 tonyp 提交于
Summary: Make sure that the updates to the RS length and inc CSet predicted time are updated in an MT-safe way. Reviewed-by: brutisso, iveresov
-
由 tonyp 提交于
Summary: Serialize the worker threads that are generating output during parallel heap verification to make sure the output is consistent. Reviewed-by: brutisso, johnc, jmasa
-
- 14 12月, 2011 1 次提交
-
-
由 stefank 提交于
Summary: Fixed G1CollectedHeap::is_in, added tests, cleaned up comments and made Space::is_in pure virtual. Reviewed-by: brutisso, tonyp, jcoomes
-
- 08 12月, 2011 1 次提交
-
-
由 tonyp 提交于
Summary: An integer underflow can cause the RSet lengths to be massively overpredicted which forces the eden size to the minimum. Reviewed-by: brutisso, johnc
-
- 03 12月, 2011 1 次提交
-
-
由 johnc 提交于
7114095: G1: assert(obj == oopDesc::load_decode_heap_oop(p)) failed: p should still be pointing to obj Summary: As a result of the changes for 4965777, the G1 reference field scanning closure could be applied to the discovered field of a reference object twice. The failing assert is too strong if the result of the first application of the closure is stolen, and the referenced object, evacuated by another worker thread. Reviewed-by: ysr, tonyp
-
- 18 11月, 2011 1 次提交
-
-
由 johnc 提交于
Summary: Parallelize the serial code that was used to mark objects reachable from survivor objects in the collection set. Some minor improvments in the timers used to track the freeing of the collection set along with some tweaks to PrintGCDetails. Reviewed-by: tonyp, brutisso
-
- 29 11月, 2011 1 次提交
-
-
由 johnc 提交于
Summary: Race between the VM thread reading G1CollectedHeap::_mark_in_progress and it being set by the concurrent mark thread when concurrent marking is aborted by a full GC. Have the concurrent mark thread join the SuspendibleThreadSet before changing the marking state. Reviewed-by: tonyp, brutisso
-
- 08 11月, 2011 2 次提交
- 02 11月, 2011 1 次提交
-
-
由 brutisso 提交于
Summary: _cset_rs_update_cl[] was indexed with values beyond what it is set up to handle. Reviewed-by: ysr, jmasa, johnc
-
- 26 10月, 2011 1 次提交
-
-
由 brutisso 提交于
7102191: G1: assert(_min_desired_young_length <= initial_region_num) failed: Initial young gen size too small Summary: initial_region_num actually not needed. Reviewed-by: tonyp, johnc
-
- 24 10月, 2011 1 次提交
-
-
由 johnc 提交于
7102445: G1: Unnecessary Resource allocations during RSet scanning Summary: Add a new per-worker thread line in the PrintGCDetails output. GC Worker Other is the difference between the elapsed time for the parallel phase of the evacuation pause and the sum of the times of the sub-phases (external root scanning, mark stack scanning, RSet updating, RSet scanning, object copying, and termination) for that worker. During RSet scanning, stack allocate DirtyCardToOopClosure objects; allocating these in a resource area was causing abnormally high GC Worker Other times while the worker thread freed ResourceArea chunks. Reviewed-by: tonyp, jwilhelm, brutisso
-
- 21 10月, 2011 1 次提交
-
-
由 johnc 提交于
Summary: Acquire the pending list lock in the prologue method of G1's concurrent VM_Operation and release the lock in the epilogue() method. The locking/unlocking order of the pending list lock and the Heap_lock should match that in the prologue and epilogue methods of VM_GC_Operation. Reviewed-by: tonyp, ysr
-
- 20 10月, 2011 1 次提交
-
-
由 brutisso 提交于
7097516: G1: assert(0<= from_card && from_card<HeapRegion::CardsPerRegion) failed: Must be in range. Summary: Introduced a version of is_in_reserved() that looks at _orig_end as opposed to _end. Reviewed-by: tonyp, stefank
-
- 18 10月, 2011 1 次提交
-
-
由 johnc 提交于
Summary: Add a new, separate, pointer to the base of the array of discovered reference lists and use this new pointer in places where we iterate over the entire array. Reviewed-by: ysr, brutisso
-
- 14 10月, 2011 2 次提交
- 07 10月, 2011 1 次提交
-
-
由 ysr 提交于
Summary: Removed the code for skipping over NULL regions in _markedRegions, replacing it with an assertion that a NULL region is never encountered; removed dead methods, remove() and remove_region(), and inlined a simplified addRegion() directly into fillCache(). Reviewed-by: brutisso, tonyp
-
- 05 10月, 2011 1 次提交
-
-
由 johnc 提交于
Summary: Declare GrainBytes, GrainWords, and CardsPerRegion as size_t. Reviewed-by: jcoomes, tonyp, jmasa
-