- 18 8月, 2010 2 次提交
-
-
由 tonyp 提交于
Summary: as the title says, sometimes we are allocating humongous objects in young regions and we shouldn't. Reviewed-by: ysr, johnc
-
由 tonyp 提交于
Summary: There are a few issues in the code that calculates whether to resize the heap and by how much: a) some calculations can overflow 32-bit size_t's, b) min_desired_capacity is not bounded by the max heap size, and c) the assrt that fires is in the wrong place. The fix also includes some tidying up of the related verbose code. Reviewed-by: ysr, jmasa
-
- 17 8月, 2010 1 次提交
-
-
由 ysr 提交于
Summary: GC workers now recognize an intermediate transient state of blocks which are allocated but have not yet completed initialization. blk_start() calls do not attempt to determine the size of a block in the transient state, rather waiting for the block to become initialized so that it is safe to query its size. Audited and ensured the order of initialization of object fields (klass, free bit and size) to respect block state transition protocol. Also included some new assertion checking code enabled in debug mode. Reviewed-by: chrisphi, johnc, poonam
-
- 12 8月, 2010 1 次提交
-
-
由 jcoomes 提交于
Reviewed-by: tonyp
-
- 10 8月, 2010 2 次提交
- 09 8月, 2010 1 次提交
-
-
由 jcoomes 提交于
Reviewed-by: tonyp, ysr
-
- 07 8月, 2010 1 次提交
-
-
由 johnc 提交于
6930581: G1: assert(ParallelGCThreads > 1 || n_yielded() == _hrrs->occupied(),"Should have yielded all the .. Summary: During RSet updating, when ParallelGCThreads is zero, references that point into the collection set are added directly the referenced region's RSet. This can cause the sparse table in the RSet to expand. RSet scanning and the "occupied" routine will then operate on different instances of the sparse table causing the assert to trip. This may also cause some cards added post expansion to be missed during RSet scanning. When ParallelGCThreads is non-zero such references are recorded on the "references to be scanned" queue and the card containing the reference is recorded in a dirty card queue for use in the event of an evacuation failure. Employ the parallel code in the serial case to avoid expanding the RSets of regions in the collection set. Reviewed-by: iveresov, ysr, tonyp
-
- 05 8月, 2010 1 次提交
-
-
由 tonyp 提交于
Summary: As part of 6944166 we disabled the concept of abandoned pauses (i.e., if the collection set is empty, we would still try to do a pause even if it is to update the RSets and scan the roots). This changeset removes the code and structures associated with abandoned pauses. Reviewed-by: iveresov, johnc
-
- 22 7月, 2010 1 次提交
-
-
由 tonyp 提交于
Summary: Remove the breadth-first copying order from ParallelScavenge and use depth-first by default. Reviewed-by: jcoomes, ysr, johnc
-
- 03 8月, 2010 1 次提交
-
-
由 johnc 提交于
Summary: The per-worker _new_refs array is used to hold references that point into the collection set. It is populated during RSet updating and subsequently processed. In the event of an evacuation failure it processed again to recreate the RSets of regions in the collection set. Remove the per-worker _new_refs array by processing the references directly. Use a DirtyCardQueue to hold the cards containing the references so that the RSets of regions in the collection set can be recreated when handling an evacuation failure. Reviewed-by: iveresov, jmasa, tonyp
-
- 31 7月, 2010 1 次提交
-
-
由 kevinw 提交于
Summary: Management code enabled for use by a concurrent collector. Reviewed-by: mchung, ysr
-
- 20 7月, 2010 1 次提交
-
-
由 johnc 提交于
Summary: During concurrent refinment, filter cards in young regions after it has been determined that the region has been allocated from and the young type of the region has been set. Reviewed-by: iveresov, tonyp, jcoomes
-
- 17 7月, 2010 1 次提交
-
-
由 jcoomes 提交于
Reviewed-by: tonyp, ysr
-
- 02 7月, 2010 1 次提交
-
-
由 jcoomes 提交于
Reviewed-by: ysr, jmasa
-
- 29 6月, 2010 1 次提交
-
-
由 tonyp 提交于
Summary: G1 was not handling explicit GCs correctly in many ways. It does now. See the CR for the list of improvements contained in this changeset. Reviewed-by: iveresov, ysr, johnc
-
- 23 6月, 2010 1 次提交
-
-
由 jmasa 提交于
Summary: Shrinking of a generation and the corresponding card table was causing part of the card table to be uncommitted. Reviewed-by: jcoomes
-
- 28 5月, 2010 2 次提交
- 25 5月, 2010 1 次提交
-
-
由 johnc 提交于
Summary: Rather than changing the default value of the G1UseFixedWindowMMUTracker, the flag and associated guarantee have been removed. Reviewed-by: jcoomes, tonyp, ysr
-
- 19 5月, 2010 1 次提交
-
-
由 jcoomes 提交于
Reviewed-by: kamg, ysr, dholmes, johnc
-
- 17 5月, 2010 1 次提交
-
-
由 ysr 提交于
Summary: When using compressed oops, use compressed promoted pointers in b63:b31 of the mark word, so as not to interfere with the CMS "freeness bit" at b7. Updated mark-word layout documentation. Reviewed-by: minqi, poonam, jmasa, coleenp
-
- 15 5月, 2010 1 次提交
-
-
由 apetrusenko 提交于
6921317: (partial) G1: assert(top() == bottom() || zfs == Allocated,"Region must be empty, or we must be setting it to Summary: Extended the failing assertion with the new message format to get more data. Reviewed-by: tonyp
-
- 12 5月, 2010 1 次提交
-
-
由 prr 提交于
6951582: Build problems on win64 Summary: Changes to enable building JDK7 with Microsoft Visual Studio 2010 Reviewed-by: ohair, art, ccheung, dcubed
-
- 11 5月, 2010 1 次提交
-
-
由 ysr 提交于
Summary: Moved PromotionInfo and friends into new files promotionInfo.{h,c}pp from their previous compactibleFreeListSpace.{h,c}pp home. Reviewed-by: apetrusenko
-
- 04 5月, 2010 2 次提交
-
-
由 ysr 提交于
Summary: GC-locker induced concurrent full gc should be asynchronous; policy now controlled by a separate flag, which defaults to false. Reviewed-by: jmasa
-
由 ysr 提交于
Summary: On sun4v/CMT avoid use of memset() in BOT updates so as to prevent concurrent BOT readers from seeing the phantom zeros arising from memset()'s use of BIS. Reviewed-by: jmasa, johnc, minqi, poonam, tonyp
-
- 23 4月, 2010 1 次提交
-
-
由 tonyp 提交于
Summary: Small improvements to G1's PrintGCDetails output. It also includes minor formatting details. Reviewed-by: ysr, johnc
-
- 08 5月, 2010 1 次提交
-
-
由 tonyp 提交于
6949307: G1: raise a vm error, do not core dump, if target pause time and target interval are inconsistent Summary: First, change the guarantee to raising a vm error. Second, set the interval dynamically, and based on the pause time target, if it is not set explicitly. Reviewed-by: ysr, johnc
-
- 23 4月, 2010 1 次提交
-
-
由 johnc 提交于
6871109: G1: remove the concept of the scan only prefix Summary: Removed scan only regions and associated code. The young portion of the collection set is now constructed incrementally - when a young region is retired as the current allocation region it is added to the collection set. Reviewed-by: apetrusenko, iveresov, tonyp
-
- 17 4月, 2010 1 次提交
-
-
由 kevinw 提交于
Summary: ensure_parsability() must be called even if GC_locker prevents GC. Reviewed-by: ysr, chrisphi
-
- 16 4月, 2010 3 次提交
-
-
由 apetrusenko 提交于
Summary: Replaces the G1-specific parameter with the existing ones that are used by the other GCs (YoungPLABSize and OldPLABSize) Reviewed-by: tonyp, johnc
-
由 tonyp 提交于
Summary: The outgoing region map is not maintained properly and it's causing an assert failure. Given that we don't actually use it, I'm removing it. I'm piggy-backing a small change on this which removes a message that it's printed before a Full GC when DisableExplicitGC is set. Reviewed-by: apetrusenko, ysr
-
由 johnc 提交于
Summary: The expression that calculates the live bytes for a heap region can overflow for a suitably large humongous region/object. Cache the object size in a suitably sized local variable so that the expression is converted to a wider type. Reviewed-by: tonyp, jmasa, iveresov, apetrusenko
-
- 08 4月, 2010 1 次提交
-
-
由 johnc 提交于
Summary: Humongous regions may contain multiple objects as a result of being retained as to-space from a previous GC and then re-used as to-space after being tagged as humongous. These changes include a check that causes retained to-space regions that are now tagged as humongous to be disregarded and a new to-space region allocated. Reviewed-by: tonyp, iveresov
-
- 06 4月, 2010 2 次提交
-
-
由 tonyp 提交于
Summary: Make sure that two marking cycles do not overlap, i.e., a new one can only start after the concurrent marking thread finishes all its work. In the fix I piggy-back a couple of minor extra fixes: some general code reformatting for consistency (only around the code I modified), the removal of a field (G1CollectorPolicy::_should_initiate_conc_mark) which doesn't seem to be used at all (it's only set but never read), as well as moving the "is GC locker active" test earlier into the G1 pause / Full GC and using a more appropriate method for it. Reviewed-by: johnc, jmasa, jcoomes, ysr
-
由 tonyp 提交于
Summary: Calling the methods region_stack_push() and region_stack_pop() concurrent is not MT-safe. The assumption is that we will only call region_stack_push() during a GC pause and region_stack_pop() during marking. Unfortunately, we also call region_stack_push() during marking which seems to be introducing subtle marking failures. This change introduces lock-based methods for pushing / popping to be called during marking. Reviewed-by: iveresov, johnc
-
- 03 4月, 2010 1 次提交
-
-
由 tonyp 提交于
Summary: Enable parallel RSet updating and scanning. Reviewed-by: iveresov, jmasa
-
- 31 3月, 2010 1 次提交
-
-
由 tonyp 提交于
Summary: Various fixes to the G1 debugging output. Reviewed-by: johnc, iveresov
-
- 14 4月, 2010 1 次提交
-
-
由 jmasa 提交于
Summary: Ensure a full GC that clears SoftReferences before throwing an out-of-memory Reviewed-by: ysr, jcoomes
-