370 Commits

Author SHA1 Message Date
Vladimir Kozlov
69f9ddee90 6791178: Specialize for zero as the compressed oop vm heap base
Use zero based compressed oops if java heap is below 32gb and unscaled compressed oops if java heap is below 4gb.

Reviewed-by: never, twisti, jcoomes, coleenp
2009-03-12 10:37:46 -07:00
Y. Srinivas Ramakrishna
ce3f3161da 6824570: ParNew: Fix memory leak introduced in 6819891
Allocate worker-local overflow stacks, introduced in 6819891, along with ParNewGeneration, rather than with the per-scavenge ParScanThreadState.

Reviewed-by: jmasa
2009-04-02 15:57:41 -07:00
Y. Srinivas Ramakrishna
72bfacbd95 6797870: Add -XX:+{HeapDump,PrintClassHistogram}{Before,After}FullGC
Call newly created CollectedHeap::dump_{pre,post}_full_gc before and after every stop-world full collection cycle on GenCollectedHeap and ParallelScavengeHeap. (Support for G1CollectedHeap forthcoming under CR 6810861.) Small modifications to existing heap dumping and class histogram implementation, especially to allow multiple on-the-fly histos/dumps by the VM thread during a single safepoint.

Reviewed-by: jmasa, alanb, mchung
2009-03-02 16:37:04 -08:00
Vladimir Kozlov
681eb89b31 Merge 2009-02-17 14:30:24 -08: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
Vladimir Kozlov
72b75d1adf 6788376: allow to ignore unrecognized VM options
Add new product flag -XX:+IgnoreUnrecognizedVMOptions

Reviewed-by: ysr, xlu
2009-02-05 13:38:52 -08:00
Y. Srinivas Ramakrishna
d981bd442b 6787254: Work queue capacity can be increased substantially on some platforms
Increased the default and maximum size of the CMS marking stack and the size of the parallel workers' work queues in 64-bit mode. The latter was accomplished by an increase in the width of the Taskqueue's Age struct and its Tag field in 64-bit mode.

Reviewed-by: jmasa, tonyp
2009-01-30 14:17:52 -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
Karen Kinnear
315de68fc0 4670071: loadClassInternal is too restrictive
VM support for deadlock fix. Library fix in 4735126. See API proposal.

Reviewed-by: dholmes, blacklion
2009-01-05 13:44:03 -05:00
Jon Masamitsu
31308ae8e4 Merge 2008-12-12 15:37:46 -08:00
Vladimir Kozlov
6483f9c7f8 Merge 2008-12-11 17:20:10 -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
000b184507 6578152: fill_region_with_object has usability and safety issues
Reviewed-by: apetrusenko, ysr
2008-12-11 12:05:08 -08:00
John R Rose
e50f766540 6779339: turn off LinkWellKnownClasses by default pending further testing
Temporarily turn off LinkWellKnownClasses optimization

Reviewed-by: never, kvn
2008-12-08 17:15:02 -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
Igor Veresov
ed99040266 Merge 2008-11-26 09:24:57 -08:00
Xiaobin Lu
85138023c1 6554406: Change switch UseVMInterruptibleIO default to false (sol)
The default value of UseVMInterruptibleIO is changed to false for JDK 7, but the default isn't changed for JDK 6 and earlier.

Reviewed-by: never, acorn, dholmes, kamg, alanb
2008-11-22 00:16: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
Igor Veresov
28b2c4aeaf Merge 2008-11-19 14:20:51 -08:00
Vladimir Kozlov
f2c8d25c73 6772413: code cleanup
Removed lines in adm64.make with interpret.o and moved few constant strings from header files.

Reviewed-by: never
2008-11-18 12:31:53 -08:00
John R Rose
849e0ffb04 6653858: dynamic languages need to be able to load anonymous classes
Low-level privileged sun.misc.Unsafe.defineAnonymousClass

Reviewed-by: kvn
2008-11-12 22:33:26 -08:00
John Coomes
401e04572a 6765804: GC "dead ratios" should be unsigned
Reviewed-by: ysr, tonyp
2008-10-29 06:30:02 -07:00
Tom Rodriguez
bc7e37f4df Merge 2008-10-21 11:21:45 -07:00
Vladimir Kozlov
55925534ec 6532536: Optimize arraycopy stubs for Intel cpus
Use SSE2 movdqu in arraycopy stubs on newest Intel's cpus

Reviewed-by: rasbold
2008-10-14 15:10:26 -07:00
Tom Rodriguez
7633aaa177 Merge 2008-10-06 13:11:32 -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
Jon Masamitsu
6c19542a36 6660681: Incrementally reserve pages on win server 2003 for better large page affinity
For windows server 2003 added option to reserve large pages individually.

Reviewed-by: alanb, jcoomes, tonyp, apetrusenko
2008-10-02 12:01:08 -07:00
Vladimir Kozlov
adce6fc49a 6667595: Set probability FAIR for pre-, post- loops and ALWAYS for main loop
Fix loop's probability. Add optimizations to avoid spilling. Change InlineSmallCode to product flag.

Reviewed-by: never
2008-10-02 08:37:44 -07:00
Antonios Printezis
c8006a68d5 Merge 2008-10-01 15:05:06 -04:00
Chuck Rasbold
453d1a42b0 Merge 2008-09-30 15:53:55 -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
Volker Simonis
ac161a1e17 6744783: HotSpot segfaults if given -XX options with an empty string argument
Reviewed-by: kamg, kvn
2008-09-25 12:50:51 -07:00
Andrey Petrusenko
1d67e1d25c Merge 2008-09-17 19:59:35 +04:00
Coleen Phillimore
83e7d32161 6741004: UseLargePages + UseCompressedOops breaks implicit null checking guard page
Turn off c2 implicit null checking on windows and large pages specified.

Reviewed-by: jrose, xlu
2008-09-02 15:18:26 -04: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
Y. Srinivas Ramakrishna
6804a4e8ef 6739357: CMS: Switch off CMSPrecleanRefLists1 until 6722113 can be fixed
Temporarily switch off the precleaning of Reference lists completely until related issues are fixed in 6722113.

Reviewed-by: jmasa, poonam, tonyp
2008-08-20 15:41:36 -07:00
Jon Masamitsu
b8633a3b01 Merge 2008-07-28 15:30:23 -07:00
Erik Trimble
2d6f42d18c Merge 2008-07-11 01:14:44 -07:00
Jon Masamitsu
18dbebd143 6672698: mangle_unused_area() should not remangle the entire heap at each collection
Maintain a high water mark for the allocations in a space and mangle only up to that high water mark.

Reviewed-by: ysr, apetrusenko
2008-07-09 15:08:55 -07:00
Xiomara Jayasena
c96a95c4b8 6719955: Update copyright year
Update copyright year for files that have been modified in 2008

Reviewed-by: ohair, tbell
2008-07-02 12:55:16 -07:00
Y. Srinivas Ramakrishna
74ee57a572 Merge 2008-07-01 11:59:44 -07:00
Y. Srinivas Ramakrishna
d44be8e3a0 6618726: Introduce -XX:+UnlockExperimentalVMOptions flag
Experimental() flags will protect features of an experimental nature that are not supported in the regular product build. Made UseG1GC an experimental flag.

Reviewed-by: jmasa, kamg, coleenp
2008-06-30 17:04:59 -07:00
Y. Srinivas Ramakrishna
f521ab4f1a Merge 2008-06-24 13:20:34 -07:00
Shrinivas Joshi
5106cf17a3 6708714: Optimize long LShift on 32-bits x86
For small (1-3 bits) left long shifts in 32-bits VM use sets of add+addc instructions instead of shld+shl on new AMD cpus.

Reviewed-by: never
2008-06-23 14:11:12 -07:00
Vladimir Kozlov
afbdf29629 6714404: Add UseStringCache switch to enable String caching under AggressiveOpts
Poke String.stringCacheEnabled during vm initialization

Reviewed-by: never
2008-06-13 14:49:07 -07:00
Y. Srinivas Ramakrishna
ac061d0424 Merge 2008-06-12 13:50:55 -07:00
Y. Srinivas Ramakrishna
18f3386a98 6711316: Open source the Garbage-First garbage collector
First mercurial integration of the code for the Garbage-First garbage collector.

Reviewed-by: apetrusenko, iveresov, jmasa, sgoldman, tonyp, ysr
2008-06-05 15:57:56 -07:00