- 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
-
- 12 9月, 2011 1 次提交
-
-
由 never 提交于
Reviewed-by: kvn
-
- 08 9月, 2011 1 次提交
-
-
由 ysr 提交于
Summary: If and when the reference handler thread is able to use the discovered field to link reference objects in its pending list, so will GC. In that case, GC will scan through this field once a reference object has been placed on the pending list, but not scan that field before that stage, as the field is used by the concurrent GC thread to link discovered objects. When ReferenceHandleR thread does not use the discovered field for the purpose of linking the elements in the pending list, as would be the case in older JDKs, the JVM will fall back to the old behaviour of using the next field for that purpose. Reviewed-by: jcoomes, mchung, stefank
-
- 01 9月, 2011 1 次提交
-
-
由 stefank 提交于
Summary: Remove the sentinelRef and let the last Reference in a discovered chain point back to itself. Reviewed-by: ysr, jmasa
-
- 29 8月, 2011 1 次提交
-
-
由 twisti 提交于
Reviewed-by: jrose, never
-
- 17 8月, 2011 1 次提交
-
-
由 kvn 提交于
Summary: on T4 2 BIS instructions should be issued to prefetch 64 bytes Reviewed-by: iveresov, phh, twisti
-
- 16 8月, 2011 1 次提交
-
-
由 twisti 提交于
Reviewed-by: kvn, never, bdelsart
-
- 07 7月, 2011 1 次提交
-
-
由 jcoomes 提交于
Reviewed-by: dholmes, never, jwilhelm, kvn
-
- 17 6月, 2011 1 次提交
-
-
由 tonyp 提交于
Summary: Remove two unused parameters from the mem_allocate() method and update its uses accordingly. Reviewed-by: stefank, johnc
-
- 15 6月, 2011 1 次提交
-
-
由 johnc 提交于
Summary: Perform a heap verification after the first phase of G1's full GC using objects' mark words to determine liveness. The third parameter of the heap verification routines, which was used in G1 to determine which marking bitmap to use in liveness calculations, has been changed from a boolean to an enum with values defined for using the mark word, and the 'prev' and 'next' bitmaps. Reviewed-by: tonyp, ysr
-
- 24 5月, 2011 1 次提交
-
-
由 ysr 提交于
Summary: Do a one-step look-ahead, when sweeping free or garbage blocks, to avoid overstepping sweep limit, which may become a non-block-boundary because of a heap expansion delta coalescing with a previously co-terminal free block. Reviewed-by: brutisso, tonyp
-
- 13 5月, 2011 1 次提交
-
-
由 fparain 提交于
Summary: Add a notification to the GarbageCollectorMXBeans Reviewed-by: acorn, mchung
-
- 12 5月, 2011 1 次提交
-
-
由 ysr 提交于
Summary: Fixed assertion checking code that was attempting to translate addresses past end of space for card-table slot. Also elaborated some assertion checking messages. Reviewed-by: iveresov, jmasa, tonyp
-
- 10 5月, 2011 1 次提交
-
-
由 ysr 提交于
6883834: ParNew: assert(!_g->to()->is_in_reserved(obj),"Scanning field twice?") with LargeObjects tests Summary: Fixed process_chunk_boundaries(), used for parallel card scanning when using ParNew/CMS, so as to prevent double-scanning, or worse, non-scanning of imprecisely marked objects exceeding parallel chunk size. Made some sizing parameters for parallel card scanning diagnostic, disabled ParallelGCRetainPLAB, and elaborated and clarified some comments. Reviewed-by: stefank, johnc
-
- 04 5月, 2011 2 次提交
- 29 4月, 2011 1 次提交
-
-
由 brutisso 提交于
Summary: BlockOffsetArrayUseUnallocatedBlock was intended to be turned off as part of BUG 6948538 but a code line in collectorPolicy.cpp actually kept it turned on. Reviewed-by: jwilhelm, ysr
-
- 30 4月, 2011 1 次提交
-
-
由 tonyp 提交于
7035144: G1: nightly failure: Non-dirty cards in region that should be dirty (failures still exist...) Summary: We should only undirty cards after we decide that they are not on a young region, not before. The fix also includes improvements to the verify_dirty_region() method which print out which cards were not found dirty. Reviewed-by: johnc, brutisso
-
- 27 4月, 2011 2 次提交
-
-
由 zgu 提交于
Summary: Created new "new" operator for CHeapObj that allows malloc to fail without causing fatal error. Also replaced "HeapAllocate" with "os::malloc" in decoder code to allow decoder to handle low memory scenario. Reviewed-by: coleenp, dholmes
-
由 ysr 提交于
Summary: In G1 heap verification, we no longer scan perm to G1-collected heap refs as part of process_strong_roots() but rather in a separate explicit oop iteration over the perm gen. This preserves the original perm card-marks. Added a new assertion in younger_refs_iterate() to catch a simple subcase where the user may have forgotten a prior save_marks() call, as happened in the case of G1's attempt to iterate perm to G1 refs when verifying the heap before exit. The assert was deliberately weakened for ParNew+CMS and will be fixed for that combination in a future CR. Also made some (non-G1) cleanups related to code and comments obsoleted by the migration of Symbols to the native heap. Reviewed-by: iveresov, jmasa, tonyp
-
- 21 4月, 2011 1 次提交
-
-
由 ysr 提交于
Summary: Short-circuited an unnecessary double traversal of dirty card windows when iterating younger refs. Also renamed some cardtable methods for more clarity. Reviewed-by: jmasa, stefank, poonam
-
- 18 4月, 2011 1 次提交
-
-
由 twisti 提交于
Reviewed-by: kvn, jrose
-
- 15 4月, 2011 2 次提交
-
-
由 coleenp 提交于
Summary: Make CDS reorder vtables so that dump time vtables match run time order, so when redefine classes reinitializes them, they aren't in the wrong order. Reviewed-by: dcubed, acorn
-
由 ysr 提交于
Summary: Removed the unused clear argument to various cardtbale methods and unused mod_oop_in_space_iterate method. Unrelated to synopsis, added a pair of clarifying parens in AllocationStats constructor. Reviewed-by: brutisso, jcoomes
-
- 06 4月, 2011 1 次提交
-
-
由 trims 提交于
7010070: Update all 2010 Oracle-changed OpenJDK files to have the proper copyright dates - second pass Summary: Update the copyright to be 2010 on all changed files in OpenJDK Reviewed-by: ohair
-
- 01 4月, 2011 1 次提交
-
-
由 never 提交于
Reviewed-by: kvn, kamg, jcoomes
-
- 23 3月, 2011 1 次提交
-
-
由 jcoomes 提交于
Reviewed-by: never, coleenp, ysr, jwilhelm
-
- 19 3月, 2011 2 次提交
- 18 3月, 2011 1 次提交
-
-
由 ysr 提交于
Summary: Use _max_num_q = max(discovery_degree, processing_degree), and let balance_queues() redistribute from discovery_degree to processing_degree of queues. This should also allow a more dynamic and flexible parallelism policy in the future. Reviewed-by: jmasa, johnc
-
- 17 3月, 2011 1 次提交
-
-
由 ysr 提交于
6627787: CMS: JVM refuses to start up with -Xms16m -Xmx16m 7000125: CMS: Anti-monotone young gen sizing with respect to maximum whole heap size specification 7027529: CMS: retire CMSUseOldDefaults flag Summary: Simplify CMS heap sizing code, relying on ergonomic initial sizing consistent with other collectors for the most part, controlling only young gen sizing to rein in pause times. Make CMS young gen sizing default statically cpu-dependant. Remove inconsistencies wrt generation sizing and policy code, allowing for the fixing for 6627787 and 7000125. For 7027529, retire the flag CMSUseOldDefaults which had been introduced as a bridge from JDK 5 to JDK 6 a number of years ago. Reviewed-by: brutisso, poonam
-
- 10 3月, 2011 1 次提交
-
-
由 kvn 提交于
Summary: Use largest_free_block() instead of unallocated_capacity(). Reviewed-by: iveresov, never, ysr
-
- 02 3月, 2011 2 次提交
-
-
由 kamg 提交于
Summary: Added overflow detection in arena Amalloc methods Reviewed-by: coleenp, phh
-
由 iveresov 提交于
Summary: Bulk zeroing reduction didn't work with G1, because arraycopy would call pre-barriers on uninitialized oops. The solution is to have version of arraycopy stubs that don't have pre-barriers. Also refactored arraycopy stubs generation on SPARC to be more readable and reduced the number of stubs necessary in some cases. Reviewed-by: jrose, kvn, never
-
- 21 2月, 2011 1 次提交
-
-
由 stefank 提交于
Summary: Allocate ordinary object arrays Reviewed-by: ysr, never, mchung
-
- 30 3月, 2011 1 次提交
-
-
由 tonyp 提交于
7023151: G1: refactor the code that operates on _cur_alloc_region to be re-used for allocs by the GC threads 7018286: G1: humongous allocation attempts should take the GC locker into account Summary: First, this change replaces the asymmetric locking scheme in the G1 slow alloc path by a summetric one. Second, it factors out the code that operates on _cur_alloc_region so that it can be re-used for allocations by the GC threads in the future. Reviewed-by: stefank, brutisso, johnc
-
- 25 3月, 2011 1 次提交
-
-
由 ysr 提交于
7029036: Card-table verification hangs with all framework collectors, except G1, even before the first GC Summary: When verifying clean card ranges, use memory-range-bounded iteration over oops of objects overlapping that range, thus avoiding the otherwise quadratic worst-case cost of scanning large object arrays. Reviewed-by: jmasa, jwilhelm, tonyp
-
- 11 2月, 2011 2 次提交
- 08 2月, 2011 1 次提交
-
-
由 ysr 提交于
Summary: Fix block_size_if_printezis_bits() so it does not expect the bits, only uses them when available. Fix block_size_no_stall() so it does not stall when the bits are missing such cases, letting the caller deal with zero size returns. Constant pool cache oops do not need to be unparsable or conc_unsafe after their klass pointer is installed. Some cosmetic clean-ups and some assertion checking for conc-usafety which, in the presence of class file redefinition, has no a-priori time boundedness, so all GCs must be able to safely deal with putatively conc-unsafe objects in a stop-world pause. Reviewed-by: jmasa, johnc
-