- 05 5月, 2011 2 次提交
-
-
由 tonyp 提交于
7040450: G1: assert((_g1->evacuation_failed()) || (!_g1->obj_in_cs(obj))) failed: shouldn't still be in ... Summary: There is a race in the evac failure handling code that causes the condition the assert checks not to be true. The fix is to replace the too-strong assert with a more targeted one. Reviewed-by: johnc, ysr, jcoomes
-
由 iveresov 提交于
Summary: Expand the old gen in bigger increments Reviewed-by: jmasa
-
- 30 4月, 2011 2 次提交
-
-
由 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
-
由 tonyp 提交于
7034139: G1: assert(Thread::current()->is_ConcurrentGC_thread()) failed: only a conc GC thread can call this. Summary: We were calling STS join and leave during a STW pause and we are not suppoesed to. I now only call those during concurrent phase. I also added stress code in the non-product builds to force an overflows (the condition that ws uncovering the bug) to make sure it does not happen again. Reviewed-by: johnc, brutisso
-
- 27 4月, 2011 1 次提交
-
-
由 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
-
- 22 4月, 2011 1 次提交
-
-
由 jmasa 提交于
Summary: Added counters for jstat Reviewed-by: tonyp, jwilhelm, stefank, ysr, johnc
-
- 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
-
- 20 4月, 2011 1 次提交
-
-
由 tonyp 提交于
Summary: It introduces non-product cmd line parameter G1DummyRegionsPerGC which indicates how many "dummy" regions to allocate at the end of each GC. This allows the G1 heap to grow artificially and makes concurrent marking cycles more frequent irrespective of what the application that is running is doing. The dummy regions will be found totally empty during cleanup so this parameter can also be used to stress the concurrent cleanup operation. Reviewed-by: brutisso, johnc
-
- 16 4月, 2011 1 次提交
-
-
由 johnc 提交于
Summary: Missing parentheses around a casted expression and some missing casts were causing build failures with the jdk6 build tools. Reviewed-by: kvn, brutisso
-
- 15 4月, 2011 1 次提交
-
-
由 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
-
- 08 4月, 2011 2 次提交
-
-
由 jcoomes 提交于
Summary: ignore UseParallel{OldGCDensePrefix,OldGCCompacting,DensePrefixUpdate} Reviewed-by: jwilhelm, brutisso
-
由 johnc 提交于
Summary: A referent object that is only weakly reachable at the start of concurrent marking but is re-attached to the strongly reachable object graph during marking may not be marked as live. This can cause the reference object to be processed prematurely and leave dangling pointers to the referent object. Implement a read barrier for the java.lang.ref.Reference::referent field by intrinsifying the Reference.get() method, and intercepting accesses though JNI, reflection, and Unsafe, so that when a non-null referent object is read it is also logged in an SATB buffer. Reviewed-by: kvn, iveresov, never, tonyp, dholmes
-
- 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
-
- 23 3月, 2011 1 次提交
-
-
由 jcoomes 提交于
Reviewed-by: never, coleenp, ysr, jwilhelm
-
- 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
-
- 15 3月, 2011 1 次提交
-
-
由 ysr 提交于
Summary: Count enable_icms() and disable_icms() events so as to prevent inteference between concurrent calls, which can cause the iCMS thread to be left stranded in icms_wait() with an unserviced request and no young allocations to unwedge it. Reviewed-by: jcoomes, poonam
-
- 11 3月, 2011 1 次提交
-
-
由 jwilhelm 提交于
Summary: Check that -XX:ParGCArrayScanChunk has a value larger than zero. Reviewed-by: johnc, jmasa, ysr
-
- 03 3月, 2011 1 次提交
-
-
由 brutisso 提交于
7023747: G1: too strict assert in RefineRecordRefsIntoCSCardTableEntryClosure::do_card_ptr in g1RemSet.cpp Summary: Made sure that the assert looks at ParallelGCThreads. Reviewed-by: stefank, tonyp, jwilhelm, johnc
-
- 04 3月, 2011 1 次提交
-
-
由 brutisso 提交于
Summary: Introduced buffered loggging to make sure that log lines are logged one line at a time Reviewed-by: stefank, johnc, dsamersoff
-
- 05 3月, 2011 1 次提交
-
-
由 tonyp 提交于
Summary: Some G1 code cleanup. Reviewed-by: johnc, jcoomes, jwilhelm
-
- 02 3月, 2011 1 次提交
-
-
由 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
-
- 01 3月, 2011 1 次提交
-
-
由 johnc 提交于
Summary: Make the G1 specific version of is_in_closed_subset() available in all builds. Reviewed-by: tonyp, jcoomes
-
- 19 2月, 2011 1 次提交
-
-
由 johnc 提交于
Summary: Disable reference discovery and processing during concurrent marking by disabling fix for 6994628. Reviewed-by: tonyp, ysr
-
- 05 4月, 2011 2 次提交
-
-
由 tonyp 提交于
Summary: Repurpose the existing flag G1PrintRegionLivenessInfo to print out the liveness distribution across the regions in the heap at the end of marking. Reviewed-by: iveresov, jwilhelm
-
由 tonyp 提交于
Summary: The epochs on the card cache array are initialized to 0 and our initial epoch also starts at 0. So, until the first GC, it might be possible to successfully "claim" a card which was in fact never initialized. Reviewed-by: johnc, iveresov, ysr
-
- 30 3月, 2011 2 次提交
-
-
由 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
-
由 tonyp 提交于
Summary: What the synopsis says. Reviewed-by: jwilhelm, iveresov, johnc
-
- 29 3月, 2011 1 次提交
-
-
由 johnc 提交于
Summary: Manage allocation/freeing of the card cache counts and epochs arrays directly so that an allocation failure while attempting to expand these arrays does not abort the JVM. Failure to expand these arrays is not fatal. Reviewed-by: iveresov, tonyp
-
- 23 3月, 2011 1 次提交
-
-
由 brutisso 提交于
Summary: Changed default value of WorkStealingYieldsBeforeSleep from 1000 to 5000. Added more information to G1 pause logging. Reviewed-by: jwilhelm, tonyp, jmasa
-
- 09 2月, 2011 1 次提交
-
-
由 kvn 提交于
Summary: Align old gen size down to keep specified heap size. Reviewed-by: ysr
-
- 08 2月, 2011 2 次提交
-
-
由 stefank 提交于
Summary: Removed. Reviewed-by: jcoomes, brutisso
-
由 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
-
- 04 2月, 2011 2 次提交
- 03 2月, 2011 1 次提交
-
-
由 johnc 提交于
7007446: G1: expand the heap with a single step, not one region at a time Summary: Changed G1CollectedHeap::expand() to expand the committed space by calling VirtualSpace::expand_by() once rather than for every region in the expansion amount. This allows the success or failure of the expansion to be determined before creating any heap regions. Introduced a develop flag G1ExitOnExpansionFailure (false by default) that, when true, will exit the VM if the expansion of the committed space fails. Finally G1CollectedHeap::expand() returns a status back to it's caller so that the caller knows whether to attempt the allocation. Reviewed-by: brutisso, tonyp
-
- 02 2月, 2011 1 次提交
-
-
由 ysr 提交于
Summary: Fix calculation of _desired, in free list statistics, which was missing an intended set of parentheses. Reviewed-by: poonam, jmasa
-
- 01 2月, 2011 1 次提交
-
-
由 tonyp 提交于
Summary: There's a potential deadlock between the concurrent cleanup thread and the GC workers that are trying to allocate and waiting for more free regions to be made available. Reviewed-by: iveresov, jcoomes
-
- 28 1月, 2011 1 次提交
-
-
由 coleenp 提交于
Summary: move symbols from permgen into C heap and reference count them Reviewed-by: never, acorn, jmasa, stefank
-
- 26 1月, 2011 2 次提交
-
-
由 tonyp 提交于
Summary: A race between the concurrent cleanup thread and the VM thread while it is processing the "expanded sparse table list" causes both threads to try to free the same sparse table entry and either causes one of the threads to fail or leaves the entry in an inconsistent state. The solution is purge all entries on the expanded list that correspond go regions that are being cleaned up. Reviewed-by: brutisso, johnc
-
由 johnc 提交于
Summary: Implement support for ParallelRefProcEnabled in the reference processing that takes place at the end of G1 concurrent marking. Reviewed-by: tonyp, ysr
-