4098 Commits

Author SHA1 Message Date
Morris Meyer
c696dd6700 Merge 2014-02-28 08:02:20 -08:00
Jesper Wilhelmsson
1e1ad7f132 8036025: Sort the freelist in order to shrink the heap
The free list is being maintained in a sorted fashion and old and humongous regions are allocated from the bottom of the heap while young regions are allocated at the top.

Co-authored-by: Staffan Friberg <staffan.friberg@oracle.com>
Reviewed-by: tschatzl, mgerdin
2014-02-28 15:27:09 +01:00
Erik Helin
853fffb2cb 8036703: Add trace event with statistics for the metaspace chunk free lists
Reviewed-by: stefank, mgerdin, coleenp, egahlin
2014-03-18 09:03:28 +01:00
Erik Helin
0a79ba6680 8036701: Add trace event when a metaspace throws out of memory error
Reviewed-by: stefank, mgerdin
2014-03-18 08:00:21 +01:00
Erik Helin
b533eca89d 8036699: Add trace event when a metaspace allocation fails
Reviewed-by: jmasa, stefank
2014-03-18 07:00:06 +01:00
Erik Helin
51584519f4 8036698: Add trace event for updates to metaspace gc threshold
Reviewed-by: stefank, mgerdin
2014-03-17 20:59:19 +01:00
Erik Helin
1fb0683664 8036696: Add metaspace gc threshold to metaspace summary trace event
Reviewed-by: jmasa, stefank, mgerdin
2014-03-17 17:31:46 +01:00
Per Lidén
731ef44b87 8036673: G1: Abort weak reference processing if mark stack overflows
Reviewed-by: brutisso, tschatzl
2014-03-17 15:18:45 +01:00
Per Lidén
d75f47a49d 8036672: G1: alloc_purpose in copy_to_survivor_space() used incorrectly
Reviewed-by: brutisso, tschatzl
2014-03-17 15:18:38 +01:00
Erik Helin
616b86635d Merge 2014-03-17 15:12:33 +01:00
Erik Helin
c45adf1dca Merge 2014-03-17 14:54:12 +01:00
Bengt Rutisson
13792b1aa7 8037407: G1: Remove heapRegionSets.cpp
Reviewed-by: tschatzl, pliden
2014-03-17 13:42:16 +01:00
Thomas Schatzl
a07b2194f7 8036860: Pad and cache-align the BiasedMappedArray
Pad and cache-align BiasedMappedArray instances by default to avoid performance variability problems due to false sharing, as instances of this data structures are typically used for performance sensitive code.

Reviewed-by: brutisso, stefank
2014-03-17 13:07:55 +01:00
Thomas Schatzl
483ea400a5 8035330: Remove G1ParScanPartialArrayClosure and G1ParScanHeapEvacClosure
Mentioned closures are actually wrapped methods. This adds confusion to readers, and in this case also increases code size as G1ParScanHeapEvacClosure is part of the oop_oop_iterate() methods. Move them into G1ParScanThreadState as methods.

Reviewed-by: stefank
2014-03-17 10:07:51 +01:00
Thomas Schatzl
375e6df9ee 8034868: Extract G1 From Card Cache into separate class
Refactor the From Card Cache into a separate class.

Reviewed-by: jmasa
2014-03-17 10:13:55 +01:00
Thomas Schatzl
2a8616c9d6 8035654: Add times for evacuation failure handling in "Other" time
Detailed breakdown of time spent in the evacuation failure handling phases to make the "Other" time roughly correspond to the sum of its parts.

Reviewed-by: jwilhelm, jmasa
2014-03-17 10:13:42 +01:00
Thomas Schatzl
80188ce0b2 8035398: Add card redirty time in "Other" time in G1
Show the time taken by card redirtying during GC in a new "Redirty Cards" line.

Reviewed-by: jwilhelm, brutisso
2014-03-17 10:13:27 +01:00
Thomas Schatzl
d3e28ca682 8027295: Free CSet takes ~50% of young pause time
Improve fast card cache iteration and avoid taking locks when freeing the collection set.

Reviewed-by: brutisso
2014-03-17 10:13:18 +01:00
Thomas Schatzl
cde8aa670b 8035815: Cache-align and pad the from card cache
The from card cache is a very frequently accessed data structure. It is essentially a 2d array of per-region values, one row of values for every GC thread. Pad and align the data structure to avoid false sharing.

Reviewed-by: stefank
2014-03-17 10:12:47 +01:00
Thomas Schatzl
329e55e7b0 8035406: Improve data structure for Code Cache remembered sets
Change the code cache remembered sets data structure from a GrowableArray to a chunked list of nmethods. This makes the data structure more amenable to parallelization, and decreases freeing time.

Reviewed-by: mgerdin, brutisso
2014-03-17 10:12:21 +01:00
Bengt Rutisson
c88e3def4d 8034079: G1: Refactor the HeapRegionSet hierarchy
Reviewed-by: tschatzl, pliden
2014-03-14 10:15:46 +01:00
Erik Helin
000c4d9734 Merge 2014-02-28 14:56:04 +01:00
Roland Westrelin
227129c4d9 8031754: Type speculation should favor profile data from outermost inlined method
Favor profile data coming from outer most method

Reviewed-by: kvn, twisti
2014-02-28 13:44:16 +01:00
Ivan Gerasimov
9bb0f46d00 8035893: JVM_GetVersionInfo fails to zero structure
Reviewed-by: sla, zgu
2014-02-28 16:00:40 +04:00
Stefan Karlsson
959bdfb211 8035746: Add missing Klass::oop_is_instanceClassLoader() function
Reviewed-by: mgerdin, coleenp
2014-02-27 10:36:50 +01:00
Stefan Karlsson
ba2326e19f 8035648: Don't use Handle in java_lang_String::print
Reviewed-by: coleenp, pliden
2014-02-27 10:34:55 +01:00
Roland Westrelin
58c97205d0 8032011: nsk/stress/jck60/jck60022 crashes in src\share\vm\runtime\synchronizer.cpp:239
Biased locking's revoke_bias locks monitor in compiled frame with eliminated lock

Reviewed-by: kvn, iveresov
2014-02-27 09:37:16 +01:00
Igor Veresov
2c99a4ef9f 8035283: Second phase of branch shortening doesn't account for loop alignment
Added missing check for loop padding case.

Reviewed-by: kvn, jrose
2014-02-26 16:45:15 -08:00
Yumin Qi
bfb1c42657 6498581: ThreadInterruptTest3 produces wrong output on Windows
There is race condition between os::interrupt and os::is_interrupted on Windows. In JVM_Sleep(Thread.sleep), check if thread gets interrupted, it may see interrupted but not really interrupted so cause spurious waking up (early return from sleep). Fix by checking if interrupt event really gets set thus prevent false return. For intrinsic of _isInterrupted, on Windows, go fastpath only on bit not set.

Co-authored-by: David Holmes <david.holmes@oracle.com>
Reviewed-by: acorn, kvn
2014-02-26 15:20:41 -08:00
Goetz Lindenmaier
c01a8b9263 8035396: Introduce accessor for tmp_oop in frame
Avoid #ifs by introducing the accessor function interpreter_frame_temp_oop_addr().

Reviewed-by: kvn, twisti
2014-02-26 11:33:34 -08:00
Staffan Larsen
e1e850a132 8035150: ShouldNotReachHere() in ConstantPool::copy_entry_to
Reviewed-by: dcubed, mgronlun
2014-02-26 15:47:44 +01:00
Jesper Wilhelmsson
ead6152f73 8035822: Unable to test minimalVM
Moved the test code inside INCLUDE_ALL_GCS

Reviewed-by: dholmes, stefank
2014-02-26 14:52:42 +01:00
Albert Noll
6dcf058035 Merge 2014-02-26 02:54:49 -08:00
Albert Noll
1258452546 Merge 2014-02-26 02:38:46 -08:00
Albert Noll
aa570e227c 8034839: jvm hangs with gc/gctests/LoadUnloadGC test
Provide fast lookup of checked dependencies via hashmap

Reviewed-by: kvn, roland
2014-02-26 11:29:47 +01:00
Niclas Adlertz
94a86285a7 8010500: [parfait] Possible null pointer dereference at hotspot/src/share/vm/opto/loopnode.hpp
Added NULL check for loopnode() in get_pre_loop_end()

Reviewed-by: kvn, roland
2014-02-26 07:46:46 +01:00
Roland Westrelin
84c68fc78a Merge 2014-02-25 10:42:25 -08:00
Roland Westrelin
493557fc90 8031752: Failed speculative optimizations should be reattempted when root of compilation is different
Support for speculative traps that keep track of the root of the compilation in which a trap occurs.

Reviewed-by: kvn, twisti
2014-02-25 18:16:24 +01:00
Niclas Adlertz
5d4b624caf 8033260: assert(lrg._area >= 0.0) failed: negative spill area
Change type from float to double on block frequency, and add check for +Inf - +Inf operation

Reviewed-by: kvn, roland
2014-02-25 17:51:27 +01:00
Niclas Adlertz
532b570e81 8032656: Tag the MachSpillCopies with purpose information
Subclassed the MachSpillCopyNode with different subnodes for different spill purposes to enhance debugging / visualization

Reviewed-by: kvn, roland
2014-02-25 14:09:02 +01:00
Albert Noll
a609fe84bb 8034775: Failing to initialize VM when running with negative value for -XX:CICompilerCount
Ensure appropriate min. number of compiler threads (1 for non-tiered, and 2 for tiered)

Reviewed-by: kvn
2014-02-25 13:52:37 +01:00
Erik Helin
a45b9ead44 Merge 2014-02-25 11:02:11 +01:00
Niclas Adlertz
e3931e81eb 8032894: Remove dead code in Pressure::lower
Remove dead code in Pressure::lower

Reviewed-by: kvn, roland
2014-02-25 10:26:21 +01:00
Thomas Schatzl
7de1730b10 8034948: Back out JDK-6976350 since it does not fix any issue
Revert JDK-6976350 because it does not improve PLAB fragmentation. To the contrary, it tends to increase the amount of wasted space with many threads.

Reviewed-by: brutisso
2014-02-24 10:45:15 +01:00
Jaroslav Bachorik
2b75897176 4505697: nsk/jdi/ExceptionEvent/_itself_/exevent006 and exevent008 tests fail with InvocationTargetException
Reviewed-by: dcubed, dholmes, sspitsyn
2014-02-24 10:28:22 +01:00
Thomas Schatzl
2ae60596ed 8035329: Move G1ParCopyClosure::copy_to_survivor_space into G1ParScanThreadState
Move G1ParCopyClosure::copy_to_survivor_space to decrease code size.

Reviewed-by: stefank, jmasa
2014-02-24 09:41:04 +01:00
Thomas Schatzl
dbc8581147 8035326: Assume non-NULL references in G1CollectedHeap::in_cset_fast_test
Remove the assumption that G1CollectedHeap::in_cset_fast_test needs to check for NULL references. Most of the time this is not required, making the code doing this check multiple times.

Reviewed-by: stefank, mgerdin, jmasa
2014-02-24 09:40:49 +01:00
Thomas Schatzl
6c588725c1 8027559: Decrease code size and templatizing in G1ParCopyClosure::do_oop_work
Move methods that are not dependent on any of G1ParCopyClosure's template parameters into G1ParCopyHelper. Further remove unused methods and members of the class hierarchy.

Reviewed-by: mgerdin, stefank
2014-02-24 09:40:21 +01:00
Axel Siebenborn
cdc5c0c966 8034867: Object references from expression stack are not visible as roots via jvmti FollowReferences and HeapDump
The heap walking is inconsistent without following references from expression stack, so need to fix it

Reviewed-by: coleenp, sspitsyn
2014-02-23 22:36:19 -08:00
Harold Seigel
b2c117b170 Merge 2014-02-23 13:16:03 -05:00