- 26 1月, 2012 1 次提交
-
-
由 tonyp 提交于
Summary: Re-enable survivors during the initial-mark pause. Afterwards, the concurrent marking threads have to scan them and mark everything reachable from them. The next GC will have to wait for the survivors to be scanned. Reviewed-by: brutisso, johnc
-
- 12 1月, 2012 1 次提交
-
-
由 johnc 提交于
Summary: Remove the separate counting phase of concurrent marking by tracking the amount of marked bytes and the cards spanned by marked objects in marking task/worker thread local data structures, which are updated as individual objects are marked. Reviewed-by: brutisso, tonyp
-
- 16 1月, 2012 1 次提交
-
-
由 brutisso 提交于
Summary: Removed references to CMS in the concurrentMark.cpp/hpp files. Reviewed-by: tonyp, jmasa, johnc
-
- 14 1月, 2012 1 次提交
-
-
由 johnc 提交于
Summary: There is a high number of mispredicted branches associated with calling BitMap::iteratate() from within CMBitMapRO::iterate(). Implement a version of CMBitMapRO::iterate() directly using inline-able routines. Reviewed-by: tonyp, iveresov
-
- 11 1月, 2012 1 次提交
-
-
由 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
-
- 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
-
- 15 12月, 2011 1 次提交
-
-
由 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
-
- 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
-
- 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
-
- 19 8月, 2011 1 次提交
-
-
由 brutisso 提交于
Summary: Removed the possibility to turn off generational mode for G1. Reviewed-by: johnc, ysr, tonyp
-
- 10 8月, 2011 1 次提交
-
-
由 jmasa 提交于
Summary: Select number of GC threads dynamically based on heap usage and number of Java threads Reviewed-by: johnc, ysr, jcoomes
-
- 21 6月, 2011 1 次提交
-
-
由 tonyp 提交于
Summary: Only cosmetic changes to make the concurrentMark.* more consistent, code-style-wise, with the rest of the codebase. Reviewed-by: johnc, ysr
-
- 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
-
- 14 6月, 2011 1 次提交
-
-
由 tonyp 提交于
Summary: Some optimizations to improve the concurrent marking phase: specialize the main oop closure, make sure a few methods in the fast path are properly inlined, a few more bits and pieces, and some cosmetic fixes. Reviewed-by: stefank, johnc
-
- 17 5月, 2011 1 次提交
-
-
由 johnc 提交于
Summary: During an evacuation pause clear the region fields of any concurrent marking task whose local finger points into the collection set as the values in the region fields will become stale. Clearing these fields causes the concurrent mark task to claim a new region when marking restarts after the pause. Reviewed-by: tonyp, iveresov
-
- 30 4月, 2011 1 次提交
-
-
由 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
-
- 05 4月, 2011 1 次提交
-
-
由 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
-
- 26 1月, 2011 1 次提交
-
-
由 johnc 提交于
Summary: Implement support for ParallelRefProcEnabled in the reference processing that takes place at the end of G1 concurrent marking. Reviewed-by: tonyp, ysr
-
- 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
-
- 18 12月, 2010 1 次提交
-
-
由 johnc 提交于
Summary: Initialize the _is_alive_non_header field of G1's reference processor with an instance of the G1CMIsAliveClosure. This will stop adding reference objects with live referents to the discovered reference lists unnecessarily. Reviewed-by: tonyp, ysr, jwilhelm, brutisso
-
- 24 11月, 2010 1 次提交
-
-
由 stefank 提交于
Summary: Replaced MakeDeps and the includeDB files with more standardized solutions. Reviewed-by: coleenp, kvn, kamg
-
- 29 9月, 2010 1 次提交
-
-
由 johnc 提交于
Summary: Re-enable use of the lock-free versions of region stack push() and pop() by recording aborted regions in a thread-local structure, which are then processed when scanning of the region stack restarts. The previous locking versions of these routines are retained for diagnostic purposes. Reviewed-by: tonyp, ysr
-
- 28 5月, 2010 1 次提交
-
-
由 trims 提交于
Summary: Change all the Sun copyrights to Oracle copyright Reviewed-by: ohair
-
- 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
-
- 06 4月, 2010 1 次提交
-
-
由 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
-
- 31 3月, 2010 1 次提交
-
-
由 tonyp 提交于
Summary: Various fixes to the G1 debugging output. Reviewed-by: johnc, iveresov
-
- 04 3月, 2010 1 次提交
-
-
由 jcoomes 提交于
Summary: Use an explicit stack for object arrays and process them in chunks. Reviewed-by: iveresov, apetrusenko
-
- 07 10月, 2009 1 次提交
-
-
由 tonyp 提交于
Summary: change more guarantees in concurrent marking into asserts. Reviewed-by: apetrusenko, iveresov
-
- 03 10月, 2009 1 次提交
-
-
由 tonyp 提交于
Summary: When G1 is enabled, thread dumps are inconsistent as the info for some of the G1 threads is not formatted properly. Reviewed-by: ysr, johnc
-
- 01 10月, 2009 1 次提交
-
-
由 tonyp 提交于
Summary: Revamp the reachable object dump debugging facility. Reviewed-by: jmasa, apetrusenko
-
- 20 8月, 2009 1 次提交
-
-
由 tonyp 提交于
Summary: Removing the concurrent overhead tracker from G1, along with the GC overhead reporter and the G1AccountConcurrentOverhead (both of which rely on the the concurrent overhead tracker). Reviewed-by: iveresov, johnc
-
- 15 7月, 2009 1 次提交
-
-
由 ysr 提交于
Summary: Modifications to G1 so as to allow the use of compressed oops. Reviewed-by: apetrusenko, coleenp, jmasa, kvn, never, phh, tonyp
-
- 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
-
- 10 2月, 2009 1 次提交
-
-
由 apetrusenko 提交于
Reviewed-by: tonyp
-
- 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
-