2111 Commits

Author SHA1 Message Date
Keith McGuigan
4671b2e4e2 Merge 2012-01-12 09:59:55 -05:00
John Cuthbertson
0fa6fc2279 6484965: G1: piggy-back liveness accounting phase on marking
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
2012-01-12 00:06:47 -08:00
Antonios Printezis
8861552c07 7132398: G1: java.lang.IllegalArgumentException: Invalid threshold: 9223372036854775807 > max (1073741824)
Was not passing the right old pool max to the memory pool constructor in the fix for 7078465.

Reviewed-by: brutisso, johnc
2012-01-24 17:08:58 -05:00
Bengt Rutisson
4e395f3ddd 7132311: G1: assert((s == klass->oop_size(this)) || (Universe::heap()->is_gc_active() && ((is_typeArray()..
Move the check for when to call collect() to before we do a humongous object allocation

Reviewed-by: stefank, tonyp
2012-01-23 20:36:16 +01:00
Bengt Rutisson
7946306583 7131791: G1: Asserts in nightly testing due to 6976060
Create a handle and fake an object to make sure that we don't loose the memory we just allocated

Reviewed-by: tonyp, stefank
2012-01-20 18:01:32 +01:00
Antonios Printezis
c90c187756 7078465: G1: Don't use the undefined value (-1) for the G1 old memory pool max size
Reviewed-by: johnc, brutisso
2012-01-19 09:13:58 -05:00
John Cuthbertson
43a30ad483 7129271: G1: Interference from multiple threads in PrintGC/PrintGCDetails output
During an initial mark pause, signal the Concurrent Mark thread after the pause output from PrintGC/PrintGCDetails is complete.

Reviewed-by: tonyp, brutisso
2012-01-17 10:21:43 -08:00
Antonios Printezis
c9eb103b7f 7097586: G1: improve the per-space output when using jmap -heap
Extend the jmap -heap output for G1 to include some more G1-specific information.

Reviewed-by: brutisso, johnc, poonam
2012-01-18 10:30:12 -05:00
Bengt Rutisson
c11ba93098 6976060: G1: humongous object allocations should initiate marking cycles when necessary
Reviewed-by: tonyp, johnc
2012-01-16 22:10:05 +01:00
Bengt Rutisson
af0211c200 7130334: G1: Change comments and error messages that refer to CMS in g1/concurrentMark.cpp/hpp
Removed references to CMS in the concurrentMark.cpp/hpp files.

Reviewed-by: tonyp, jmasa, johnc
2012-01-16 11:21:21 +01:00
John Cuthbertson
dac656c955 7121547: G1: High number mispredicted branches while iterating over the marking bitmap
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
2012-01-13 13:27:48 -08:00
Jiangli Zhou
6bc84f7865 7129240: backout fix for 7102776 until 7128770 is resolved
Reviewed-by: phh, bobv, coleenp, dcubed
2012-01-11 19:54:34 -08:00
Paul Hohensee
8efd785f67 Merge 2012-01-11 17:58:26 -05:00
Markus Gronlund
007126d010 7115199: Add event tracing hooks and Java Flight Recorder infrastructure
Added a nop tracing infrastructure, JFR makefile changes and other infrastructure used only by JFR.

Reviewed-by: acorn, sspitsyn
2012-01-11 17:34:02 -05:00
Vladimir Kozlov
791afc42da 7128352: assert(obj_node == obj) failed
Compare uncasted object nodes.

Reviewed-by: never
2012-01-10 18:05:38 -08:00
Antonios Printezis
1d3b26e52b 6888336: G1: avoid explicitly marking and pushing objects in survivor spaces
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
2012-01-10 18:58:13 -05:00
Keith McGuigan
5c89631aef Merge 2012-01-10 15:47:19 -05:00
Bengt Rutisson
2bf3afe882 7128532: G1: Change default value of G1DefaultMaxNewGenPercent to 80
Reviewed-by: tonyp, jmasa
2012-01-10 20:02:41 +01:00
Antonios Printezis
30bfc8f549 7125281: G1: heap expansion code is replicated
Reviewed-by: brutisso, johnc
2012-01-09 23:50:41 -05:00
Frederic Parain
849571d5b3 7120511: Add diagnostic commands
Reviewed-by: acorn, phh, dcubed, sspitsyn
2012-01-09 10:27:24 +01:00
Vladimir Kozlov
94927c382b 7125896: Eliminate nested locks
Nested locks elimination done before lock nodes expansion by looking for outer locks of the same object.

Reviewed-by: never, twisti
2012-01-07 13:26:43 -08:00
Vladimir Kozlov
f99fb50071 7110824: ctw/jarfiles/GUI3rdParty_jar/ob_mask_DateField crashes VM
Change yank_if_dead() to recursive method to remove all dead inputs.

Reviewed-by: never
2012-01-07 10:39:23 -08:00
Antonios Printezis
90cdae9775 7121623: G1: always be able to reliably calculate the length of a forwarded chunked array
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
2012-01-07 00:43:59 -05:00
Vladimir Kozlov
b93ca70b9b Merge 2012-01-06 20:09:20 -08:00
Daniel D. Daugherty
74c45d049e Merge 2012-01-06 16:18:29 -08:00
Jon Masamitsu
156b0a12aa Merge 2012-01-05 21:02:05 -08:00
Paul Hohensee
66388c03c9 Merge 2012-01-05 17:16:13 -05:00
Paul Hohensee
2cd87d4e3a 7126480: Make JVM start time in milliseconds since the Java epoch available
Expose existing Management::_begin_vm_creation_time via new accessor Management::begin_vm_creation_time().

Reviewed-by: acorn, dcubed
2012-01-05 17:14:52 -05:00
Frederic Parain
1de4ad84a2 7125594: C-heap growth issue in ThreadService::find_deadlocks_at_safepoint
Reviewed-by: sspitsyn, dcubed, mchung, dholmes
2012-01-05 07:26:44 -08:00
Daniel D. Daugherty
743a35d2dc 7127032: fix for 7122253 adds a JvmtiThreadState earlier than necessary
Use JavaThread::jvmti_thread_state() instead of JvmtiThreadState::state_for().

Reviewed-by: coleenp, poonam, acorn
2012-01-05 06:24:52 -08:00
Jiangli Zhou
e6157688b4 Merge 2012-01-04 12:36:07 -05:00
Jon Masamitsu
95b987c3ac Merge 2012-01-04 07:56:13 -08:00
Erik Gahlin
5782866b28 7126185: Clean up lasterror handling, add os::get_last_error()
Add os::get_last_error(), replace getLastErrorString() by os::lasterror() in os_windows.cpp.

Reviewed-by: kamg, dholmes
2012-01-03 15:11:31 -05:00
Jon Masamitsu
d07885c3c6 Merge 2012-01-03 10:22:19 -08:00
Stefan Karlsson
e0ae7fac7c 7125503: Compiling collectedHeap.cpp fails with -Werror=int-to-pointer-cast with g++ 4.6.1
Used uintptr_t and void* for all the casts and checks in test_is_in.

Reviewed-by: tonyp, jmasa
2012-01-02 10:01:46 +01:00
Karen Kinnear
c323bcdca8 7125934: Add a fast unordered timestamp capability to Hotspot on x86/x64
Add rdtsc detection and inline generation.

Reviewed-by: kamg, dholmes
2012-01-01 11:17:59 -05:00
Vladimir Kozlov
05ec1c0816 7125879: assert(proj != NULL) failed: must be found
Leave i_o attached to slow allocation call when there are no i_o users after the call.

Reviewed-by: iveresov, twisti
2011-12-30 11:43:06 -08:00
Vladimir Danushevsky
8a8eafcc47 Merge 2011-12-29 20:09:24 -05:00
Vladimir Kozlov
b6828ac542 Merge 2011-12-29 11:37:50 -08:00
Stefan Karlsson
24e4bf6a80 7125516: G1: ~ConcurrentMark() frees incorrectly
Replaced the code with a ShouldNotReachHere

Reviewed-by: tonyp, jmasa
2011-12-29 07:37:23 +01:00
Jiangli Zhou
0671e90755 7123315: instanceKlass::_static_oop_field_count and instanceKlass::_java_fields_count should be u2 type
Change instanceKlass::_static_oop_field_count and instanceKlass::_java_fields_count to u2 type.

Reviewed-by: never, bdelsart, dholmes
2011-12-28 12:15:57 -05:00
Aleksey Ignatenko
c7ec06ba8e 7124829: NUMA: memory leak on Linux with large pages
In os::free_memory() use mmap with the same attributes as for the heap space

Reviewed-by: kvn
2011-12-27 16:43:49 -08:00
Vladimir Kozlov
f96f3e5e85 7123954: Some CTW test crash with SIGSEGV
Correct Allocate expansion code to preserve i_o when only slow call is generated.

Reviewed-by: iveresov
2011-12-27 15:08:43 -08:00
Jon Masamitsu
3c164a7525 Merge 2011-12-27 12:38:49 -08:00
Vladimir Danushevsky
2b6f4a741d Merge 2011-12-26 20:36:01 -05:00
Vladimir Kozlov
6c38bc48ca 7110832: ctw/.../org_apache_avalon_composition_util_StringHelper crashes the VM
Distance is too large for one short branch in string_indexofC8().

Reviewed-by: iveresov
2011-12-23 15:24:36 -08:00
John Cuthbertson
39d61f89a2 7121496: G1: do the per-region evacuation failure handling work in parallel
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
2011-12-23 11:14:18 -08:00
Jon Masamitsu
c18293c806 Merge 2012-01-05 21:21:55 -08:00
Antonios Printezis
3c0eb44a7c 7113006: G1: excessive ergo output when an evac failure happens
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
2012-01-05 05:54:01 -05:00
Roland Westrelin
59b883333b 7123253: C1: in store check code, usage of registers may be incorrect
Fix usage of input register in assembly code for store check.

Reviewed-by: never
2011-12-23 09:36:23 +01:00