- 16 4月, 2015 1 次提交
-
-
由 kbarrett 提交于
Summary: Prevent eager reclaim of objects that might be on mark stack. Reviewed-by: brutisso, tschatzl
-
- 05 9月, 2014 1 次提交
-
-
由 sjohanss 提交于
Summary: Splitting out a g1 allocator class to simply specialized allocators which can associate each allocation with a given context. Reviewed-by: mgerdin, brutisso
-
- 19 8月, 2014 2 次提交
- 26 8月, 2014 1 次提交
-
-
由 tschatzl 提交于
Reviewed-by: jwilhelm, jmasa
-
- 19 12月, 2014 1 次提交
-
-
由 tschatzl 提交于
Summary: Evaluate and improve object copy time by micro-optimizations and splitting out slow and fast paths aggressively. Reviewed-by: kbarrett, mgerdin, jmasa Contributed-by: NTony Printezis <tprintezis@twitter.com>, Thomas Schatzl <thomas.schatzl@oracle.com>
-
- 23 7月, 2014 2 次提交
-
-
由 tschatzl 提交于
Summary: Try to reclaim humongous objects at every young collection after doing a conservative estimate of its liveness. Reviewed-by: brutisso, mgerdin
-
由 tschatzl 提交于
Summary: Try to reclaim humongous objects at every young collection after doing a conservative estimate of its liveness. Reviewed-by: brutisso, mgerdin
-
- 09 4月, 2015 1 次提交
-
-
由 mlarsson 提交于
Reviewed-by: brutisso, jmasa
-
- 23 5月, 2014 1 次提交
-
-
由 drchase 提交于
8043029: Change 8037816 breaks HS build with older GCC versions which don't support diagnostic pragmas 8043164: Format warning in traceStream.hpp Summary: Backport of main fix + two corrections, enables clang compilation, turns on format attributes, corrects/mutes warnings Reviewed-by: kvn, coleenp, iveresov, twisti
-
- 14 3月, 2014 1 次提交
-
-
由 brutisso 提交于
Reviewed-by: tschatzl, pliden
-
- 11 9月, 2014 1 次提交
-
-
由 jcoomes 提交于
Reviewed-by: mikael, jmasa
-
- 21 7月, 2014 2 次提交
- 29 4月, 2014 1 次提交
-
-
由 goetz 提交于
Reviewed-by: dholmes, kvn, stefank, twisti
-
- 25 12月, 2013 1 次提交
-
-
由 mikael 提交于
Summary: Copyright year updated for files modified during 2013 Reviewed-by: twisti, iveresov
-
- 04 4月, 2014 1 次提交
-
-
由 tschatzl 提交于
Summary: Change 8035330: Remove G1ParScanPartialArrayClosure and G1ParScanHeapEvacClosure broke the debug build on AIX. The method do_oop_partial_array() is added in a header, but requires the inline function par_write_ref() through several inlined calls. In some cpp files, like arguments.cpp, par_write_ref() is not defined as the corresponding inline header and is not included. The AIX debug VM does not start because of the missing symbol. This change solves this by cleaning up include dependencies. Reviewed-by: tschatzl, stefank
-
- 08 10月, 2013 1 次提交
-
-
由 mgerdin 提交于
Summary: Add a StoreLoad barrier in the G1 post-barrier to fix a race with concurrent refinement. Also-reviewed-by: martin.doerr@sap.com Reviewed-by: iveresov, tschatzl, brutisso, roland, kvn
-
- 24 9月, 2013 1 次提交
-
-
由 mgerdin 提交于
Summary: Move some G1 specific code from CardTableModRefBS to G1SATBCardTableModRefBS. Reviewed-by: brutisso, tschatzl, ehelin
-
- 28 3月, 2013 1 次提交
-
-
由 mgerdin 提交于
Summary: Keep a counter of how many times we were stalled by the GC locker, add a diagnostic flag which sets the limit. Reviewed-by: brutisso, ehelin, johnc
-
- 29 8月, 2012 1 次提交
-
-
由 johnc 提交于
Summary: Add the flags G1EvacuationFailureALot flag (and supporting flags) to force trigger evacuation failures. The support flags control how often to trigger an evacuation failure and during which types of evacuation pause. This functionality is analogous to that of PromotionFailureALot for the other collectors. Reviewed-by: brutisso
-
- 12 8月, 2011 1 次提交
-
-
由 tonyp 提交于
Summary: Refactor the allocation code during GC to use the G1AllocRegion abstraction. Use separate subclasses of G1AllocRegion for survivor and old regions. Avoid BOT updates and dirty survivor cards incrementally for the former. Reviewed-by: brutisso, johnc, ysr
-
- 11 6月, 2011 1 次提交
-
-
由 tonyp 提交于
7042285: G1: native memory leak during humongous object allocation 6804436: G1: heap region indices should be size_t Summary: A series of fixes and improvements to the HeapRegionSeq class: a) replace the _regions growable array with a standard C array, b) avoid de-allocating / re-allocating HeapRegion instances when the heap shrinks / grows (fix for 7042285), c) introduce fast method to map address to HeapRegion via a "biased" array pointer, d) embed the _hrs object in G1CollectedHeap, instead of pointing to it via an indirection, e) assume that all the regions added to the HeapRegionSeq instance are contiguous, f) replace int's with size_t's for indexes (and expand that to HeapRegion as part of 6804436), g) remove unnecessary / unused methods, h) rename a couple of fields (_alloc_search_start and _seq_bottom), i) fix iterate_from() not to always start from index 0 irrespective of the region passed to it, j) add a verification method to check the HeapRegionSeq assumptions, k) always call the wrappers for _hrs.iterate(), _hrs_length(), and _hrs.at() from G1CollectedHeap, not those methods directly, and l) unify the code that expands the sequence (by either re-using or creating a new HeapRegion) and make it robust wrt to a HeapRegion allocation failing. Reviewed-by: stefank, johnc, brutisso
-
- 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
-
- 20 1月, 2011 1 次提交
-
-
由 tonyp 提交于
Summary: This changeset removes the zero-filling thread from G1 and collapses the two free region lists we had before (the "free" and "unclean" lists) into one. The new free list uses the new heap region sets / lists abstractions that we'll ultimately use it to keep track of all regions in the heap. A heap region set was also introduced for the humongous regions. Finally, this change increases the concurrency between the thread that completes freeing regions (after a cleanup pause) and the rest of the system (before we'd have to wait for said thread to complete before allocating a new region). The changest also includes a lot of refactoring and code simplification. Reviewed-by: jcoomes, johnc
-
- 19 1月, 2011 1 次提交
-
-
由 tonyp 提交于
Summary: This changeset introduces filtering of SATB buffers at the point when they are about to be enqueued. If this filtering clears enough entries on each buffer, the buffer can then be re-used and not enqueued. This cuts down the number of SATB buffers that need to be processed by the concurrent marking threads. Reviewed-by: johnc, ysr
-
- 13 1月, 2011 1 次提交
-
-
由 tonyp 提交于
Summary: First attempt to allocate out the current alloc region using a CAS instead of taking the Heap_lock (first level of G1's slow allocation path). Only if that fails and it's necessary to replace the current alloc region take the Heap_lock (that's the second level of G1's slow allocation path). Reviewed-by: johnc, brutisso, ysr
-
- 08 12月, 2010 1 次提交
-
-
由 tonyp 提交于
Summary: Allow the eden to the expanded up to a point when the GC locker is active. Reviewed-by: jwilhelm, johnc, ysr, jcoomes
-
- 24 11月, 2010 1 次提交
-
-
由 stefank 提交于
Summary: Replaced MakeDeps and the includeDB files with more standardized solutions. Reviewed-by: coleenp, kvn, kamg
-
- 25 8月, 2010 1 次提交
-
-
由 tonyp 提交于
Summary: This change revamps the slow allocation path of G1. Improvements include the following: a) Allocations directly to old regions are now totally banned. G1 now only allows allocations out of young regions (with the only exception being humongous regions). b) The thread that allocates a new region (which is now guaranteed to be young) does not dirty all its cards. Each thread that successfully allocates out of a young region is now responsible for dirtying the cards that corresponding to the "block" that just got allocated. c) allocate_new_tlab() and mem_allocate() are now implemented differently and TLAB allocations are only done by allocate_new_tlab(). d) If a thread schedules an evacuation pause in order to satisfy an allocation request, it will perform the allocation at the end of the safepoint so that the thread that initiated the GC also gets "first pick" of any space made available by the GC. e) If a thread is unable to allocate a humongous object it will schedule an evacuation pause in case it reclaims enough regions so that the humongous allocation can be satisfied aftewards. f) The G1 policy is more careful to set the young list target length to be the survivor number +1. g) Lots of code tidy up, removal, refactoring to make future changes easier. Reviewed-by: johnc, ysr
-
- 18 8月, 2010 1 次提交
-
-
由 tonyp 提交于
Summary: as the title says, sometimes we are allocating humongous objects in young regions and we shouldn't. Reviewed-by: ysr, johnc
-
- 09 8月, 2010 1 次提交
-
-
由 jcoomes 提交于
Reviewed-by: tonyp, ysr
-
- 28 5月, 2010 1 次提交
-
-
由 trims 提交于
Summary: Change all the Sun copyrights to Oracle copyright Reviewed-by: ohair
-
- 06 5月, 2009 1 次提交
-
-
由 johnc 提交于
Summary: The code that calculates the heap region index for an object address incorrectly used signed arithmetic. Reviewed-by: jcoomes, ysr
-
- 10 3月, 2009 1 次提交
-
-
由 xdono 提交于
Summary: Update copyright for files that have been modified in 2009, up to 03/09 Reviewed-by: katleman, tbell, ohair
-
- 17 1月, 2009 1 次提交
-
-
由 tonyp 提交于
Summary: A bunch of performance optimizations to decrease GC pause times in G1. Reviewed-by: apetrusenko, jmasa, iveresov
-
- 06 6月, 2008 1 次提交
-
-
由 ysr 提交于
Summary: First mercurial integration of the code for the Garbage-First garbage collector. Reviewed-by: apetrusenko, iveresov, jmasa, sgoldman, tonyp, ysr
-