- 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
-
- 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
-
- 29 12月, 2011 1 次提交
-
-
由 stefank 提交于
Summary: Replaced the code with a ShouldNotReachHere Reviewed-by: tonyp, jmasa
-
- 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
-
- 28 9月, 2011 1 次提交
-
-
由 brutisso 提交于
Summary: Remove the extra guard to allow G1 to use ReduceInitialCardMarks Reviewed-by: jmasa, tonyp, johnc, ysr
-
- 26 9月, 2011 1 次提交
-
-
由 never 提交于
Reviewed-by: kvn, twisti, jrose Contributed-by: NKurt Miller <kurt@intricatesoftware.com>, Greg Lewis <glewis@eyesbeyond.com>, Jung-uk Kim <jkim@freebsd.org>, Christos Zoulas <christos@zoulas.com>, Landon Fuller <landonf@plausible.coop>, The FreeBSD Foundation <board@freebsdfoundation.org>, Michael Franz <mvfranz@gmail.com>, Roger Hoover <rhoover@apple.com>, Alexander Strange <astrange@apple.com>
-
- 14 9月, 2011 1 次提交
-
-
由 tonyp 提交于
Summary: When refactoring the code for a previous fix, a condition was not correctly negated which prevents the G1 policy from adding the correct number of old regions to the CSet when the young gen size is fixed. The changeset also fixes a small syntactical issue in g1ErgoVerbose.hpp which is causing compiler warnings. Reviewed-by: brutisso, ysr
-
- 04 10月, 2011 2 次提交
-
-
由 tonyp 提交于
Reviewed-by: brutisso, johnc
-
由 johnc 提交于
7097053: G1: assert(da ? referent->is_oop() : referent->is_oop_or_null()) failed: referenceProcessor.cpp:1054 Summary: During remembered set scanning, the reference processor could discover a reference object whose referent was in the process of being copied and so may not be completely initialized. Do not perform reference discovery during remembered set scanning. Reviewed-by: tonyp, ysr
-
- 29 9月, 2011 1 次提交
-
-
由 johnc 提交于
7086533: G1: assert(!_g1->is_obj_dead(obj)): We should not be preserving dead objs: g1CollectedHeap.cpp:3835 Summary: Some objects may not be marked in the event of an evacuation failure in a partially young GC, during a marking cycle. Avoid this situation by not allowing partially young GCs during a marking cycle. Reviewed-by: tonyp, ysr, brutisso
-
- 24 9月, 2011 1 次提交
-
-
由 tonyp 提交于
Summary: Fixed a few inconsistencies in the monitoring data, in particular when reported from jstat. Reviewed-by: jmasa, brutisso, johnc
-
- 23 9月, 2011 1 次提交
-
-
由 johnc 提交于
Summary: G1 now uses two reference processors - one is used by concurrent marking and the other is used by STW GCs (both full and incremental evacuation pauses). In an evacuation pause, the reference processor is embedded into the closures used to scan objects. Doing so causes causes reference objects to be 'discovered' by the reference processor. At the end of the evacuation pause, these discovered reference objects are processed - preserving (and copying) referent objects (and their reachable graphs) as appropriate. Reviewed-by: ysr, jwilhelm, brutisso, stefank, tonyp
-
- 22 9月, 2011 1 次提交
-
-
由 tonyp 提交于
Reviewed-by: jcoomes, johnc
-