600 Commits

Author SHA1 Message Date
Christian Thalinger
05d1de7727 6810672: Comment typos
I have collected some typos I have found while looking at the code.

Reviewed-by: kvn, never
2009-02-27 13:27:09 -08:00
Antonios Printezis
f883e6fde8 6804746: G1: guarantee(variance() > -1.0,"variance should be >= 0") (due to evacuation failure)
Under certain circumstances (evacuation failure) the pause time is not communicated to the policy and, as a result, the pause time field is not initialized properly.

Reviewed-by: jmasa
2009-02-24 15:50:23 -05:00
Andrey Petrusenko
a7da5440dd 6700941: G1: allocation spec missing for some G1 classes
Reviewed-by: tonyp
2009-02-10 18:39:09 +03:00
Andrey Petrusenko
4be1a50ed3 6802413: G1: G1FixedSurvivorSpaceSize should be converted into regions in calculate_survivors_policy()
Reviewed-by: tonyp, jmasa
2009-02-09 17:33:06 +03:00
Jon Masamitsu
3b5d6a04dd 6690928: Use spinning in combination with yields for workstealing termination
Substitute a spin loop for most calls to yield() to reduce the stress on the system.

Reviewed-by: tonyp
2009-02-08 13:18:01 -08:00
Andrey Petrusenko
61181babf1 6484959: G1: introduce survivor spaces
6797754: G1: combined bugfix

Implemented a policy to control G1 survivor space parameters.

Reviewed-by: tonyp, iveresov
2009-02-06 01:38:50 +03:00
Y. Srinivas Ramakrishna
34b247f068 Merge 2009-01-29 21:25:42 -08:00
Igor Veresov
da292a7197 6783381: NUMA allocator: don't pretouch eden space with UseNUMA
Moved pretouching to MutableSpace. Also MutableSpace now turns on page interleaving for the region it covers.

Reviewed-by: jmasa, jcoomes
2009-01-27 18:13:59 -08:00
Y. Srinivas Ramakrishna
f031c45430 6786503: Overflow list performance can be improved
Avoid overflow list walk in CMS & ParNew when it is unnecessary. Fix a couple of correctness issues, including a C-heap leak, in ParNew at the intersection of promotion failure, work queue overflow and object array chunking. Add stress testing option and related assertion checking.

Reviewed-by: jmasa
2009-01-26 12:47:21 -08:00
Coleen Phillimore
91dd5dcbe4 Merge 2009-01-23 10:41:28 -05:00
Antonios Printezis
5d486c3a66 6484956: G1: improve evacuation pause efficiency
A bunch of performance optimizations to decrease GC pause times in G1.

Reviewed-by: apetrusenko, jmasa, iveresov
2009-01-16 13:02:20 -05:00
Coleen Phillimore
f79090efe7 6793825: Missing include dependancies for GCC without predefined headers
With predefined headers off for gcc, some .inline.hpp files aren't included to make definition visible for inline functions

Reviewed-by: jcoomes, xlu
2009-01-14 20:14:19 -05:00
John Coomes
2ba0d5b055 Merge 2009-01-14 14:12:55 -08:00
Jon Masamitsu
c2ff9781c7 6692899: CMS: many vm.parallel_class_loading tests fail with assert "missing Printezis mark"
The CMS concurrent precleaning and concurrent marking phases should work around classes that are undergoing redefinition.

Reviewed-by: ysr, dcubed
2009-01-11 16:58:24 -08:00
Jon Masamitsu
3474623106 6689653: JMapPerm fails with UseConcMarkSweepIncGC and compressed oops off
Added safe_object_iterate() for use by JMapPerm.

Reviewed-by: tonyp
2009-01-06 07:05:05 -08:00
Erik Trimble
ac1f463988 Merge 2008-12-20 09:58:36 -08:00
Erik Trimble
efd43c045a Merge 2008-12-20 09:57:03 -08:00
Jon Masamitsu
91caa3b23f Merge 2008-12-19 12:15:34 -08:00
John Coomes
f3c34ce9b6 6786188: par compact - "SplitALot" stress mode should fill to_space
Reviewed-by: jmasa, tonyp
2008-12-18 10:54:01 -08:00
John Coomes
f90394b6fb 6784849: par compact - can fail when to_space is non-empty
Reviewed-by: jmasa, tonyp
2008-12-18 10:53:35 -08:00
Xiomara Jayasena
99f0eac1a2 6785258: Update copyright year
Update copyright for files that have been modified starting July 2008 to Dec 2008

Reviewed-by: katleman, ohair, tbell
2008-12-15 16:55:11 -08:00
Swamy Venkataramanappa
06e37c03fb 6653214: MemoryPoolMXBean.setUsageThreshold() does not support large heap sizes
Reviewed-by: ysr, mchung
2008-12-15 13:58:57 -08:00
John Coomes
8fc946854c 6765954: par compact - stress mode for splitting young gen spaces
Reviewed-by: jmasa
2008-12-11 12:05:21 -08:00
John Coomes
7a9585170d 6765745: par compact - allow young gen spaces to be split
Reviewed-by: jmasa
2008-12-11 12:05:14 -08:00
John Coomes
000b184507 6578152: fill_region_with_object has usability and safety issues
Reviewed-by: apetrusenko, ysr
2008-12-11 12:05:08 -08:00
Igor Veresov
af509dd90d 6779436: NUMA allocator: libnuma expects certain size of the buffer in numa_node_to_cpus()
In os::Linux::rebuild_cpu_to_node_map() fix the size of the CPU bitmap. Fixed arithmetic in MutableNUMASpace::adaptive_chunk_size() that could cause overflows and underflows of the chunk_size variable.

Reviewed-by: apetrusenko
2008-12-03 14:18:57 -08:00
Y. Srinivas Ramakrishna
16aa57cb4b 6778647: snap(), snap_policy() should be renamed setup(), setup_policy()
Renamed Reference{Policy,Pocessor} methods from snap{,_policy}() to setup{,_policy}()

Reviewed-by: apetrusenko
2008-12-01 23:25:24 -08:00
Y. Srinivas Ramakrishna
6c53645a84 6774607: SIGSEGV or (!is_null(v),"oop value can never be zero") assertion when running with CMS and COOPs
Use the more permissive set_klass_or_null() and klass_or_null() interfaces in ParNew's workqueue overflow code that manipulates the klass-word.

Reviewed-by: coleenp
2008-11-24 09:53:31 -08:00
Y. Srinivas Ramakrishna
7d7cf3f8af 6684579: SoftReference processing can be made more efficient
For current soft-ref clearing policies, we can decide at marking time if a soft-reference will definitely not be cleared, postponing the decision of whether it will definitely be cleared to the final reference processing phase. This can be especially beneficial in the case of concurrent collectors where the marking is usually concurrent but reference processing is usually not.

Reviewed-by: jmasa
2008-11-20 16:56:09 -08:00
Y. Srinivas Ramakrishna
db6bef2c70 6722113: CMS: Incorrect overflow handling during precleaning of Reference lists
When we encounter marking stack overflow during precleaning of Reference lists, we were using the overflow list mechanism, which can cause problems on account of mutating the mark word of the header because of conflicts with mutator accesses and updates of that field. Instead we should use the usual mechanism for overflow handling in concurrent phases, namely dirtying of the card on which the overflowed object lies. Since precleaning effectively does a form of discovered list processing, albeit with discovery enabled, we needed to adjust some code to be correct in the face of interleaved processing and discovery.

Reviewed-by: apetrusenko, jcoomes
2008-11-20 12:27:41 -08:00
Jon Masamitsu
a2078f04e8 6771742: Remove duplicate files from G1 merge
Remove duplicate files and add includeDB_gc_g1 file in windows Makefile

Reviewed-by: jcoomes, ysr
2008-11-18 14:52:33 -08:00
Igor Veresov
cbf1c89d60 6770608: G1: Mutator thread can flush barrier and satb queues during safepoint
6660573: G1: BigApps Failure : guarantee(satb_mq_set.completed_buffers_num() == 0,"invariant")

When exiting a mutator thread is removed from the thread list before it has a chance to flush its SATB and barrier queues. If GC happens at this moment the objects that are refererred from these queues can be moved, which will case a crash. The fix is simply to flush the buffers before removing a thread from the list.

Reviewed-by: jcoomes, tonyp
2008-11-14 14:23:05 -08:00
John Coomes
401e04572a 6765804: GC "dead ratios" should be unsigned
Reviewed-by: ysr, tonyp
2008-10-29 06:30:02 -07:00
Erik Trimble
4b983d3b39 Merge 2008-10-15 18:51:04 -07:00
Igor Veresov
bc9f364917 6758633: G1: SEGV with GCOld on Linux
Avoid growth of a GrowableArray backend of HeapRegionSeq.

Reviewed-by: tonyp, jcoomes
2008-10-13 21:41:42 -07:00
Erik Trimble
50964694fe Merge 2008-10-07 11:01:35 -07:00
Igor Veresov
d80199b403 6753547: NUMA allocator: Invalid chunk size computation during adaptive resizing
The per-lgrp chuck size can be incorrectly computed (causing an assertion failure) because of the non-associativity of the floating point operations. The fix is to rearrange the operations.

Reviewed-by: ysr
2008-10-06 20:59:16 -07:00
Antonios Printezis
6f5e28aca1 6752248: G1: introduce parallel heap verification
Introduce parallel heap verification in G1.

Reviewed-by: jcoomes, apetrusenko
2008-10-06 13:16:35 -04:00
Xiomara Jayasena
76df5ec473 6754988: Update copyright year
Update for files that have been modified starting July 2008

Reviewed-by: ohair, tbell
2008-10-02 19:58:19 -07:00
John Coomes
e98b7ce059 6729594: par compact - remove unused block table implementation
Reviewed-by: tonyp, jmasa, apetrusenko
2008-09-30 13:15:27 -07:00
John Coomes
f2851186bb 6725697: par compact - rename class ChunkData to RegionData
Reviewed-by: iveresov, tonyp
2008-09-30 12:20:22 -07:00
John Coomes
2e52e9dff2 6716466: par compact - remove VerifyParallelOldWithMarkSweep code
Reviewed-by: jmasa
2008-09-30 11:49:31 -07:00
Igor Veresov
4204f82a1a 6740923: NUMA allocator: Ensure the progress of adaptive chunk resizing
Treat a chuck where the allocation has failed as fully used.

Reviewed-by: ysr
2008-09-27 00:33:13 -07:00
Antonios Printezis
c03ab32ab5 6742641: G1: NullPointerException during GCOld
An update buffer is not processed correctly, which causes roots into the collection set not to be scanned and, hence, for the heap to be corrupted. The cause is that an object is accessed after it has been explicitly deleted, which causes a race.

Reviewed-by: jcoomes, ysr
2008-09-22 09:56:49 -04:00
Y. Srinivas Ramakrishna
d9929c525b Merge 2008-08-27 11:20:46 -07:00
Y. Srinivas Ramakrishna
aa6165d767 6722116: CMS: Incorrect overflow handling when using parallel concurrent marking
Fixed CMSConcMarkingTask::reset() to store the restart address upon a marking stack overflow and to use it as the base, suitably aligned, for restarting the scan in CMSConcMarkingTask::do_scan_and_mark().

Reviewed-by: jcoomes, tonyp
2008-08-26 14:54:48 -07:00
Antonios Printezis
cd9045f4e8 6740930: G1: compilation failure with latest gcc
Include DB fix to resolve a compilation issue with the latest gcc.

Reviewed-by: iveresov, ysr
2008-08-26 00:46:03 -04:00
Igor Veresov
48d3ec1660 6735416: G1: runThese javasoft.sqe.tests.lang.thrd011.thrd01101.thrd01101 fails
6622418: G1: assert(false,"Non-balanced monitor enter/exit!") fails

The mark-sweep compact (which we use for full gc) wrapper did not save the mark words for biased locked objects.  The fix is to trivially call the appropriate methods.

Reviewed-by: tonyp, ysr
2008-08-22 11:48:25 -07:00
Antonios Printezis
70202307c0 Merge 2008-08-21 23:38:19 -04:00
Antonios Printezis
615777b6da Merge 2008-08-21 23:36:31 -04:00