- 06 4月, 2012 1 次提交
-
-
由 tonyp 提交于
Summary: Removed lots of dead code after some recent conc mark changes. Reviewed-by: brutisso, johnc
-
- 16 3月, 2012 1 次提交
-
-
由 brutisso 提交于
Reviewed-by: tonyp, johnc
-
- 14 3月, 2012 1 次提交
-
-
由 johnc 提交于
Summary: Tiered compilation has increased the number of nmethods in the code cache. This has, in turn, significantly increased the number of marked nmethods processed during the StrongRootsScope destructor. Create a specialized version of CodeBlobToOopClosure for G1 which places only those nmethods that contain pointers into the collection set on to the marked nmethods list. Reviewed-by: iveresov, tonyp
-
- 27 3月, 2012 1 次提交
-
-
由 brutisso 提交于
Summary: Some minor cleanups Reviewed-by: tonyp, jwilhelm
-
- 23 3月, 2012 2 次提交
-
-
由 brutisso 提交于
Summary: Make sure that MutableNUMASpace::ensure_parsability() only calls CollectedHeap::fill_with_object() with valid sizes and make sure CollectedHeap::filler_array_max_size() returns a value that can be converted to an int without overflow Reviewed-by: azeemj, jmasa, iveresov
-
由 tonyp 提交于
Summary: Make two G1 cmd line flags available in product builds: G1HeapWastePercent (previously called: G1OldReclaimableThresholdPercent) and G1MixedGCCountTarget (previous called: G1MaxMixedGCNum). Also changed the default of the former from 1% to 5% and the default for G1OldCSetRegionLiveThresholdPercent to 90%. Reviewed-by: azeemj, jwilhelm, johnc
-
- 13 3月, 2012 1 次提交
-
-
由 johnc 提交于
Summary: Attempting to initiate a marking cycle when allocating a humongous object can, if a marking cycle is successfully initiated by another thread, result in the allocating thread spinning until the marking cycle is complete. Eliminate a deadlock between the main ConcurrentMarkThread, the SurrogateLocker thread, the VM thread, and a mutator thread waiting on the SecondaryFreeList_lock (while free regions are going to become available) by not manipulating the pending list lock during the prologue and epilogue of the cleanup pause. Reviewed-by: brutisso, jcoomes, tonyp
-
- 16 3月, 2012 1 次提交
-
-
由 nloodin 提交于
Reviewed-by: jcoomes, brutisso
-
- 14 3月, 2012 1 次提交
-
-
由 brutisso 提交于
Summary: Add destructor to TruncatedSeq and call delete when necessary Reviewed-by: johnc, tonyp
-
- 03 3月, 2012 1 次提交
-
-
由 johnc 提交于
Summary: Update generation and collector counters only if UsePerfData is enabled. Reviewed-by: iveresov, tonyp
-
- 17 2月, 2012 2 次提交
- 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
-
- 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
-
- 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
-
- 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
-