1967 Commits

Author SHA1 Message Date
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
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
Jon Masamitsu
156b0a12aa Merge 2012-01-05 21:02:05 -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
Jiangli Zhou
e6157688b4 Merge 2012-01-04 12:36:07 -05:00
Jon Masamitsu
95b987c3ac Merge 2012-01-04 07:56:13 -08: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
Vladimir Danushevsky
8a8eafcc47 Merge 2011-12-29 20:09:24 -05: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
Jon Masamitsu
3c164a7525 Merge 2011-12-27 12:38:49 -08:00
Vladimir Danushevsky
2b6f4a741d Merge 2011-12-26 20:36:01 -05:00
Daniel D. Daugherty
c210a09fdf 7122253: Instrumentation.retransformClasses() leaks class bytes
Change ClassFileParser::parseClassFile() to use the instanceKlass:_cached_class_file_bytes field to avoid leaking the cache.

Reviewed-by: coleenp, acorn, poonam
2011-12-22 12:50:42 -08:00
Vladimir Danushevsky
6446da199d Merge 2011-12-22 12:01:46 -05:00
Coleen Phillimore
5232221c68 Merge 2011-12-21 18:22:14 -08:00
Thomas Wuerthinger
a4f6289b4f 7064927: retransformClasses() does not pass in LocalVariableTable of a method
Handle LVT attribute in the class file reconstitutor.

Reviewed-by: phh, coleenp
2011-12-21 16:41:15 -05:00
Bengt Rutisson
056282a67b 7113021: G1: automatically enable young gen size auto-tuning when -Xms==-Xmx
Use a percentage of -Xms as min and another percentage of -Xmx as max for the young gen size

Reviewed-by: tonyp, johnc
2011-12-21 22:13:31 +01:00
Erik Gahlin
5657eb0c6c 7091417: recvfrom's 6th input should be of type socklen_t
Revamp class os's socket method formal args to match socket.h, insert casts in appropriate places, and copyin-copyout int*'s that s/b socklen_t*'s in jvm.cpp.

Co-authored-by: Rickard Backman <rickard.backman@oracle.com>
Co-authored-by: Nils Loodin <nils.loodin@oracle.com>
Co-authored-by: Markus Gronlund <markus.gronlund@oracle.com>
Reviewed-by: coleenp, dholmes
2011-12-21 15:48:16 -05:00
Jon Masamitsu
a9c2b784c2 Merge 2011-12-20 12:27:31 -08:00
Paul Hohensee
577403d2ca Merge 2011-12-19 21:38:51 -08:00
Paul Hohensee
2c192911dd 7122880: Extend vendor-specific command interface to include manageable switches
Add Flag::external_ext()/writable_ext(), both return false.

Reviewed-by: coleenp, zgu
2011-12-19 15:50:47 -05:00
John Cuthbertson
870bea622a 7117303: VM uses non-monotonic time source and complains that it is non-monotonic
Replaces calls to os::javaTimeMillis(), which does not (and cannot) guarantee monotonicity, in GC code to an equivalent expression that uses os::javaTimeNanos(). os::javaTimeNanos is guaranteed monotonically non-decreasing if the underlying platform provides a monotonic time source. Changes in OS files are to make use of the newly defined constants in globalDefinitions.hpp.

Reviewed-by: dholmes, ysr
2011-12-19 10:02:05 -08:00
Jiangli Zhou
6e894d5474 Merge 2011-12-16 17:33:08 -05:00
John Cuthbertson
2768349b41 7120038: G1: ParallelGCThreads==0 is broken
Running G1 with ParallelGCThreads==0 results in various crashes and asserts. Most of these are caused by unguarded references to the worker threads array or an incorrect number of active workers.

Reviewed-by: jmasa, tonyp
2011-12-16 11:40:00 -08:00
Antonios Printezis
8b05b38909 7113012: G1: rename not-fully-young GCs as "mixed"
Renamed partially-young GCs as mixed and fully-young GCs as young. Change all external output that includes those terms (GC log and GC ergo log) as well as any comments, fields, methods, etc. The changeset also includes very minor code tidying up (added some curly brackets).

Reviewed-by: johnc, brutisso
2011-12-16 02:14:27 -05:00
John Cuthbertson
4976ad0ccf 7119908: G1: Cache CSet start region for each worker for subsequent reuse
Cache workers' calculated starting heap region, used for parallel iteration over the collcection set, for subsequent reuse.

Reviewed-by: tonyp, brutisso
2011-12-14 17:43:55 -08:00
Vladimir Danushevsky
958178facc Merge 2011-12-14 20:06:21 -05:00
Jon Masamitsu
0ebc10bb13 7121618: Change type of number of GC workers to unsigned int
Change variables representing the number of GC workers to uint from int and size_t.  Change the parameter in work(int i) to work(uint worker_id).

Reviewed-by: brutisso, tonyp
2011-12-14 13:34:57 -08:00
Antonios Printezis
1de50427de 7119027: G1: use atomics to update RS length / predict time of inc CSet
Make sure that the updates to the RS length and inc CSet predicted time are updated in an MT-safe way.

Reviewed-by: brutisso, iveresov
2011-12-21 07:53:53 -05:00
Jon Masamitsu
49878e46f3 Merge 2011-12-20 20:29:35 -08:00
Antonios Printezis
9427bd6eec 7123165: G1: output during parallel verification can get messed up
Serialize the worker threads that are generating output during parallel heap verification to make sure the output is consistent.

Reviewed-by: brutisso, johnc, jmasa
2011-12-20 12:59:28 -05:00
Frederic Parain
85db00acd6 7104647: Adding a diagnostic command framework
Reviewed-by: phh, dcubed
2011-12-14 04:30:57 -08:00
Stefan Karlsson
a3943834e1 7121373: Clean up CollectedHeap::is_in
Fixed G1CollectedHeap::is_in, added tests, cleaned up comments and made Space::is_in pure virtual.

Reviewed-by: brutisso, tonyp, jcoomes
2011-12-14 12:15:26 +01:00
Jon Masamitsu
714e978aac 7119584: UseParallelGC barrier task can be overwritten
Provoke a GC for a metadata allocation failure.

Reviewed-by: johnc, iveresov
2011-12-09 19:28:34 -08:00
Jiangli Zhou
fafb59a0dc Merge 2011-12-09 11:29:05 -08:00
Jon Masamitsu
bb40d3f9f4 Merge 2011-12-09 06:46:57 -08:00
Vladimir Kozlov
98ac731a94 Merge 2011-12-08 10:27:33 -08:00
Vladimir Danushevsky
f930f9f6f6 7050298: ARM: SIGSEGV in JNIHandleBlock::allocate_handle
Missing release barrier in Monitor::IUnlock

Reviewed-by: dholmes, dice
2011-12-07 16:47:08 -05:00
Antonios Printezis
4799ed65a4 7118202: G1: eden size unnecessarily drops to a minimum
An integer underflow can cause the RSet lengths to be massively overpredicted which forces the eden size to the minimum.

Reviewed-by: brutisso, johnc
2011-12-07 12:54:51 -05:00
Daniel D. Daugherty
2a6a2b2d0a 7118648: disable compressed oops by default on MacOS X until 7118647 is fixed
UseCompressedOops is false by default on MacOS X; can still be set manually

Reviewed-by: jmelvin, kvn, dholmes
2011-12-07 07:27:09 -08:00
Jiangli Zhou
f9f4ba0203 7117052: instanceKlass::_init_state can be u1 type
Change instanceKlass::_init_state field to u1 type.

Reviewed-by: bdelsart, coleenp, dholmes, phh, never
2011-12-06 18:28:51 -05:00
Vladimir Danushevsky
545cea9371 Merge 2011-12-06 16:35:04 -05:00
Paul Hohensee
6532572c0b 7117389: Add a framework for vendor-specific command line switch extensions to Hotspot
Add a file, globals_ext.hpp, containing a null interface, to be replaced by a vendor in altsrc as needed.

Reviewed-by: coleenp, kamg, dholmes, johnc, jrose
2011-12-05 12:50:00 -05:00
Vladimir Kozlov
78034a3d3b 7117282: assert(base == NULL || t_adr->isa_rawptr() || !phase->type(base)
Delay memory node transformation until the memory is processed.

Reviewed-by: iveresov, never
2011-12-02 21:37:19 -08:00
Paul Hohensee
5e1d1487de 7116730: Revert 7116481: Commercial features in Hotspot must be gated by a switch
Revert 7116481 to current hsx/hotspot-main

Reviewed-by: kamg
2011-11-30 12:48:52 -05:00
Paul Hohensee
1372b916ff 7116481: Commercial features in Hotspot must be gated by a switch
Add -XX:+UnlockCommercialVMOptions to gate use of commercial feature switches in the same way as -XX:UnlockDiagnosticVMOptions gates use of diagnostic feature switches.

Reviewed-by: jwilhelm, kamg
2011-11-29 17:00:46 -05:00
Bob Vandette
8e81e037e7 Merge 2011-11-29 14:44:44 -05:00