353 Commits

Author SHA1 Message Date
Y. Srinivas Ramakrishna
331512606a 6896647: card marks can be deferred too long
Deferred card marks are now flushed during the gc prologue. Parallel[Scavege,OldGC] and SerialGC no longer defer card marks generated by COMPILER2 as a result of ReduceInitialCardMarks. For these cases, introduced a diagnostic option to defer the card marks, only for the purposes of testing and diagnostics. CMS and G1 continue to defer card marks. Potential performance concern related to single-threaded flushing of deferred card marks in the gc prologue will be addressed in the future.

Reviewed-by: never, johnc
2010-01-13 15:26:39 -08:00
Igor Veresov
ba4994e447 Merge 2010-01-12 13:54:40 -08:00
John R Rose
6fbdf208fc 6912063: inlining parameters need to be adjusted for some uses of the JVM
Put all inline-related switches into product mode, to allow tuning by dynamic language implementors.

Reviewed-by: twisti, kvn
2010-01-08 13:58:49 -08:00
Gary Benson
5d66f5aca8 6914622: Print values of all flags for product VM
Change the flag -XX:+PrintFlagsFinal to product and add new product flag -XX:+PrintFlagsInitial.

Reviewed-by: phh, ysr
2010-01-07 16:24:17 -08:00
Jon Masamitsu
1335d16d6e Merge 2010-01-04 07:58:42 -08:00
Y. Srinivas Ramakrishna
272a6d47bb 6631166: CMS: better heuristics when combatting fragmentation
Autonomic per-worker free block cache sizing, tunable coalition policies, fixes to per-size block statistics, retuned gain and bandwidth of some feedback loop filters to allow quicker reactivity to abrupt changes in ambient demand, and other heuristics to reduce fragmentation of the CMS old gen. Also tightened some assertions, including those related to locking.

Reviewed-by: jmasa
2009-12-23 09:23:54 -08:00
Yumin Qi
4f656a451e 6361589: Print out stack trace for target thread of GC crash
If GC crashed with java thread involved, print out the java stack trace in error report

Reviewed-by: never, ysr, coleenp, dholmes
2009-12-11 11:09:49 -08:00
Paul Hohensee
2f7d60fa36 6887571: Increase default heap config sizes
Apply modification of existing server heap size ergo to all collectors except CMS.

Reviewed-by: jmasa, ysr, xlu
2009-10-28 16:25:51 -04:00
Gary Benson
5473f394c6 6890308: integrate zero assembler hotspot changes
Reviewed-by: never
2009-10-13 12:04:21 -07:00
John R Rose
40d52710f6 Merge 2009-09-23 23:56:15 -07:00
John R Rose
e261aecad8 6863023: need non-perm oops in code cache for JSR 292
Make a special root-list for those few nmethods which might contain non-perm oops.

Reviewed-by: twisti, kvn, never, jmasa, ysr
2009-09-15 21:53:47 -07:00
John Coomes
1a11be46ca 6867645: java -Xshare:dump failed - read only space too small
Reviewed-by: iveresov, tonyp, ysr
2009-08-12 14:27:54 -07:00
John Coomes
1a7648b1c2 6866585: debug code in ciObjectFactory too slow for large objects
Reviewed-by: ysr, never, kvn
2009-08-11 23:24:41 -07:00
John R Rose
383f39ffa1 6868487: EnableInvokeDynamic and EnableMethodHandles should not be visible flags in JDK6 or JDK7
Switch them from product to experimental; 6817525 will toggle them and switch to diagnostic

Reviewed-by: kvn
2009-08-06 14:28:54 -07:00
Y. Srinivas Ramakrishna
968de64586 Merge 2009-07-31 10:41:29 -07:00
Y. Srinivas Ramakrishna
c6763b5bad 4957990: Perm heap bloat in JVM
Treat ProfileData in MDO's as a source of weak, not strong, roots. Fixes the bug for stop-world collection -- the case of concurrent collection will be fixed separately.

Reviewed-by: jcoomes, jmasa, kvn, never
2009-09-02 00:04:29 -07:00
Antonios Printezis
5f7ed79e3c 6864886: G1: rename -XX parameters related to update buffers
Renaming a couple of update buffer-related parameters to make them more understandable and consistent.

Reviewed-by: iveresov, ysr
2009-07-29 11:01:26 -04:00
Daniel D. Daugherty
10e13deca1 Merge 2009-07-28 13:50:07 -06:00
Daniel D. Daugherty
40de9c5fcc 6862295: JDWP threadid changes during debugging session (leading to ingored breakpoints)
Correctly count full GC operations for framework collectors. Add ForceFullGCJVMTIEpilogues as a future work around if needed.

Reviewed-by: jcoomes, alanb, ysr
2009-07-28 13:35:00 -06:00
Antonios Printezis
1215bc6717 6855834: G1: minimize the output when -XX:+PrintHeapAtGC is set
Changing the behavior of -XX:+PrintHeapAtGC for G1 from printing lengthy, per-region information to instead printing a concise summary.

Reviewed-by: ysr, apetrusenko, jcoomes
2009-07-07 14:23:00 -04:00
Vladimir Kozlov
b5cff6a1a0 Merge 2009-05-08 10:34:31 -07:00
Christian Thalinger
6a270f9f19 6823354: Add intrinsics for {Integer,Long}.{numberOfLeadingZeros,numberOfTrailingZeros}()
These methods can be instrinsified by using bit scan, bit test, and population count instructions.

Reviewed-by: kvn, never
2009-05-06 00:27:52 -07:00
John Cuthbertson
55750920b4 6490395: G1: Tidy up command line flags
Change G1 flag names to be more consistent and disable some in 'product' mode.

Reviewed-by: tonyp, iveresov
2009-04-30 15:07:53 -07:00
John R Rose
34c1d72421 6655646: dynamic languages need dynamically linked call sites
Invokedynamic instruction (JSR 292 RI)

Reviewed-by: twisti, never
2009-04-21 23:21:04 -07:00
Tom Rodriguez
62717f091a Merge 2009-04-14 12:25:54 -07:00
John R Rose
ce0c084720 6655638: dynamic languages need method handles
Initial implementation, with known omissions (x86/64, sparc, compiler optim., c-oops, C++ interp.)

Reviewed-by: kvn, twisti, never
2009-04-08 10:56:49 -07:00
Y. Srinivas Ramakrishna
e1b2c1c442 Merge 2009-04-03 15:59:19 -07:00
Tom Rodriguez
e36afee3bd Merge 2009-04-02 10:49:41 -07:00
Andrey Petrusenko
a8f9284064 Merge 2009-04-02 05:22:02 -07:00
Changpeng Fang
c0d62ad9e6 6761600: Use sse 4.2 in intrinsics
Use SSE 4.2 in intrinsics for String.{compareTo/equals/indexOf} and Arrays.equals.

Reviewed-by: kvn, never, jrose
2009-03-31 14:07:08 -07:00
Vladimir Kozlov
705188bb7b 6821700: tune VM flags for peak performance
Tune C2 flags default values for performance.

Reviewed-by: never, phh, iveresov, jmasa, ysr
2009-03-30 18:19:31 -07:00
Y. Srinivas Ramakrishna
137a679446 6819891: ParNew: Fix work queue overflow code to deal correctly with +UseCompressedOops
When using compressed oops, rather than chaining the overflowed grey objects' pre-images through their klass words, we use GC-worker thread-local overflow stacks.

Reviewed-by: jcoomes, jmasa
2009-03-28 15:47:29 -07:00
Christian Thalinger
de67e52949 6378821: bitCount() should use POPC on SPARC processors and AMD+10h
BitCount() should use POPC on SPARC processors where POPC is implemented directly in hardware.

Reviewed-by: kvn, never
2009-03-13 11:35:17 -07:00
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