- 17 2月, 2012 1 次提交
-
-
由 jcoomes 提交于
Reviewed-by: stefank, jmasa
-
- 16 2月, 2012 1 次提交
-
-
由 tonyp 提交于
Summary: Revamp of the mechanism that chooses old regions for inclusion in the CSet. It simplifies the code and introduces min and max bounds on the number of old regions added to the CSet at each mixed GC to avoid pathological cases. It also ensures that when we do a mixed GC we'll always find old regions to add to the CSet (i.e., it eliminates the case where a mixed GC will collect no old regions which can happen today). Reviewed-by: johnc, brutisso
-
- 19 1月, 2012 1 次提交
-
-
由 johnc 提交于
Summary: Replace calls to os::javaTimeMillis() that are used to update the milliseconds since the last GC to an equivalent that uses a monotonically non-decreasing time source. Reviewed-by: ysr, jmasa
-
- 14 2月, 2012 1 次提交
-
-
由 tonyp 提交于
Summary: If we try to schedule an initial-mark GC in order to explicit start a conc mark cycle and it gets pre-empted by antoher GC, we should retry the attempt as long as it's appropriate for the GC cause. Reviewed-by: brutisso, johnc
-
- 11 2月, 2012 1 次提交
-
-
由 iveresov 提交于
Summary: Prunes scavenge roots in code list every young GC, promote objects directly pointed by the code immediately Reviewed-by: johnc, jcoomes
-
- 01 2月, 2012 1 次提交
-
-
由 never 提交于
Reviewed-by: kvn, jrose, kevinw, brutisso, twisti, jmasa
-
- 27 1月, 2012 3 次提交
-
-
由 stefank 提交于
Summary: Temporarily disabled multi-threaded reference discovery when entering a single-threaded remark phase. Reviewed-by: brutisso, tonyp, jmasa, jcoomes
-
由 phh 提交于
Summary: Add CriticalPriority == MaxPriority+1 and enable scheduling class as well as thread priority to change on Solaris. Reviewed-by: dholmes, dcubed
-
由 johnc 提交于
Summary: Some minor profile based optimizations. Reduce the number of branches and branch mispredicts by removing some virtual calls, through closure specalization, and refactoring some conditional statements. Reviewed-by: brutisso, tonyp
-
- 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
-
- 24 1月, 2012 1 次提交
-
-
由 brutisso 提交于
7132311: G1: assert((s == klass->oop_size(this)) || (Universe::heap()->is_gc_active() && ((is_typeArray()... Summary: Move the check for when to call collect() to before we do a humongous object allocation Reviewed-by: stefank, tonyp
-
- 21 1月, 2012 1 次提交
-
-
由 brutisso 提交于
Summary: Create a handle and fake an object to make sure that we don't loose the memory we just allocated Reviewed-by: tonyp, stefank
-
- 19 1月, 2012 1 次提交
-
-
由 tonyp 提交于
Reviewed-by: johnc, brutisso
-
- 18 1月, 2012 2 次提交
-
-
由 johnc 提交于
Summary: During an initial mark pause, signal the Concurrent Mark thread after the pause output from PrintGC/PrintGCDetails is complete. Reviewed-by: tonyp, brutisso
-
由 tonyp 提交于
Summary: Extend the jmap -heap output for G1 to include some more G1-specific information. Reviewed-by: brutisso, johnc, poonam
-
- 17 1月, 2012 1 次提交
-
-
由 brutisso 提交于
Reviewed-by: tonyp, johnc
-
- 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 2 次提交
-
-
由 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
-
由 brutisso 提交于
Reviewed-by: tonyp, jmasa
-
- 10 1月, 2012 1 次提交
-
-
由 tonyp 提交于
Reviewed-by: brutisso, johnc
-
- 07 1月, 2012 1 次提交
-
-
由 tonyp 提交于
Summary: Store the "next chunk start index" in the length field of the to-space object, instead of the from-space object, so that we can always reliably read the size of all from-space objects. Reviewed-by: johnc, ysr, jmasa
-
- 29 12月, 2011 1 次提交
-
-
由 stefank 提交于
Summary: Replaced the code with a ShouldNotReachHere Reviewed-by: tonyp, jmasa
-
- 28 12月, 2011 1 次提交
-
-
由 iveresov 提交于
Summary: In os::free_memory() use mmap with the same attributes as for the heap space Reviewed-by: kvn Contributed-by: NAleksey Ignatenko <aleksey.v.ignatenko@intel.com>
-
- 24 12月, 2011 1 次提交
-
-
由 johnc 提交于
Summary: Parallelize the removal of self forwarding pointers etc. by wrapping in a HeapRegion closure, which is then wrapped inside an AbstractGangTask. Reviewed-by: tonyp, iveresov
-
- 05 1月, 2012 1 次提交
-
-
由 tonyp 提交于
Summary: Introduce a flag that is set when a heap expansion attempt during a GC fails so that we do not consantly attempt to expand the heap when it's going to fail anyway. This not only prevents the excessive ergo output (which is generated when a region allocation fails) but also avoids excessive and ultimately unsuccessful expansion attempts. Reviewed-by: jmasa, johnc
-
- 22 12月, 2011 1 次提交
-
-
由 brutisso 提交于
Summary: Use a percentage of -Xms as min and another percentage of -Xmx as max for the young gen size Reviewed-by: tonyp, johnc
-
- 20 12月, 2011 1 次提交
-
-
由 johnc 提交于
Summary: Replaces calls to os::javaTimeMillis(), which does not (and cannot) guarantee monotonicity, in GC code to an equivalent expression that uses os::javaTimeNanos(). os::javaTimeNanos is guaranteed monotonically non-decreasing if the underlying platform provides a monotonic time source. Changes in OS files are to make use of the newly defined constants in globalDefinitions.hpp. Reviewed-by: dholmes, ysr
-
- 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
-
- 16 12月, 2011 1 次提交
-
-
由 tonyp 提交于
Summary: Renamed partially-young GCs as mixed and fully-young GCs as young. Change all external output that includes those terms (GC log and GC ergo log) as well as any comments, fields, methods, etc. The changeset also includes very minor code tidying up (added some curly brackets). Reviewed-by: johnc, brutisso
-
- 15 12月, 2011 2 次提交
-
-
由 johnc 提交于
Summary: Cache workers' calculated starting heap region, used for parallel iteration over the collcection set, for subsequent reuse. Reviewed-by: tonyp, brutisso
-
由 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
-
- 21 12月, 2011 2 次提交
-
-
由 tonyp 提交于
Summary: Make sure that the updates to the RS length and inc CSet predicted time are updated in an MT-safe way. Reviewed-by: brutisso, iveresov
-
由 tonyp 提交于
Summary: Serialize the worker threads that are generating output during parallel heap verification to make sure the output is consistent. Reviewed-by: brutisso, johnc, jmasa
-
- 14 12月, 2011 1 次提交
-
-
由 stefank 提交于
Summary: Fixed G1CollectedHeap::is_in, added tests, cleaned up comments and made Space::is_in pure virtual. Reviewed-by: brutisso, tonyp, jcoomes
-
- 10 12月, 2011 1 次提交
-
-
由 jmasa 提交于
Summary: Provoke a GC for a metadata allocation failure. Reviewed-by: johnc, iveresov
-
- 08 12月, 2011 1 次提交
-
-
由 tonyp 提交于
Summary: An integer underflow can cause the RSet lengths to be massively overpredicted which forces the eden size to the minimum. Reviewed-by: brutisso, johnc
-
- 28 11月, 2011 1 次提交
-
-
由 stefank 提交于
Summary: Enabled reference processing when work stealing during concurrent marking Reviewed-by: jmasa, brutisso
-
- 03 12月, 2011 1 次提交
-
-
由 johnc 提交于
7114095: G1: assert(obj == oopDesc::load_decode_heap_oop(p)) failed: p should still be pointing to obj Summary: As a result of the changes for 4965777, the G1 reference field scanning closure could be applied to the discovered field of a reference object twice. The failing assert is too strong if the result of the first application of the closure is stolen, and the referenced object, evacuated by another worker thread. Reviewed-by: ysr, tonyp
-