241 Commits

Author SHA1 Message Date
Daniel D. Daugherty
0c7a73dc8c Merge 2011-01-07 15:54:32 -08:00
Paul Hohensee
7b0134a7cb 7003271: Hotspot should track cumulative Java heap bytes allocated on a per-thread basis
Track allocated bytes in Thread's, update on TLAB retirement and direct allocation in Eden and tenured, add JNI methods for ThreadMXBean.

Reviewed-by: coleenp, kvn, dholmes, ysr
2011-01-07 10:42:32 -05:00
Christian Thalinger
84f5de835b Merge 2011-01-07 03:41:07 -08:00
Vladimir Kozlov
28050800c0 7008325: CodeCache exhausted on sparc starting from hs20b04
Remove clear_scratch_buffer_blob and let init_scratch_buffer_blob free and allocate a new blob if required.

Reviewed-by: twisti
2010-12-29 10:41:43 -08:00
Y. Srinivas Ramakrishna
41bf31bff4 6807801: CMS: could save/restore fewer header words during scavenge
Age bits need not enter the mark-word preservation calculus; also affected, in addition to CMS, per CR synopsis above, were ParNew (but not DefNew), ParallelScavenge and G1, albeit to a lesser degree than CMS.

Reviewed-by: tonyp, johnc
2010-12-17 23:41:31 -08:00
Vladimir Kozlov
9fd396ce55 7006505: Use kstat info to identify SPARC processor
Read Solaris kstat data to get more precise CPU information

Reviewed-by: iveresov, never, twisti, dholmes
2010-12-16 14:15:12 -08:00
Igor Veresov
a4b8804ae0 Merge 2010-12-15 23:38:10 -08:00
Vladimir Kozlov
19a01fed97 6993125: runThese crashes with assert(Thread::current()->on_local_stack((address)this))
Add another ResourceObj debug field to distinguish garbage

Reviewed-by: dholmes, coleenp
2010-12-10 14:14:02 -08:00
Y. Srinivas Ramakrishna
874098b1c6 Merge 2010-12-09 21:47:58 -08:00
Y. Srinivas Ramakrishna
8baafdfd45 7005259: CMS: BubbleUpRef asserts referent(obj)->is_oop() failed: Enqueued a bad referent
Relaxed the assert by allowing NULL referents when discovery may be concurrent.

Reviewed-by: johnc, jcoomes
2010-12-09 09:22:57 -08:00
Y. Srinivas Ramakrishna
544b475fc5 7001033: assert(gch->gc_cause() == GCCause::_scavenge_alot || !gch->incremental_collection_failed())
7002546: regression on SpecJbb2005 on 7b118 comparing to 7b117 on small heaps

Relaxed assertion checking related to incremental_collection_failed flag to allow for ExplicitGCInvokesConcurrent behaviour where we do not want a failing scavenge to bail to a stop-world collection. Parameterized incremental_collection_will_fail() so we can selectively use, or not use, as appropriate, the statistical prediction at specific use sites. This essentially reverts the scavenge bail-out logic to what it was prior to some recent changes that had inadvertently started using the statistical prediction which can be noisy in the presence of bursty loads. Added some associated verbose non-product debugging messages.

Reviewed-by: johnc, tonyp
2010-12-07 21:55:53 -08:00
Coleen Phillimore
faf320aede Merge 2010-12-06 15:37:00 -05:00
John Cuthbertson
1065281a98 6983204: G1: Nightly test nsk/regression/b4958615 failing with +ExplicitGCInvokesConcurrent
Enable reference discovery during concurrent marking by setting the reference processor field of the concurrent marking closure. Keep reference objects on the discovered reference lists alive during incremental evacuation pauses until they are processed at the end of concurrent marking.

Reviewed-by: ysr, tonyp
2010-12-01 17:34:02 -08:00
Stefan Karlsson
4a33afe6c4 7003125: precompiled.hpp is included when precompiled headers are not used
Added an ifndef DONT_USE_PRECOMPILED_HEADER to precompiled.hpp. Set up DONT_USE_PRECOMPILED_HEADER when compiling with Sun Studio or when the user specifies USE_PRECOMPILED_HEADER=0. Fixed broken include dependencies.

Reviewed-by: coleenp, kvn
2010-12-01 15:04:06 +01:00
Ivan P Krylov
9802f91e66 6348631: remove the use of the HPI library from Hotspot
Move functions from hpi library to hotspot, communicate with licensees and open source community, check jdk for dependency, file CCC request

Reviewed-by: coleenp, acorn, dsamersoff
2010-12-01 18:26:32 -05:00
Stefan Karlsson
8006fe8f75 6989984: Use standard include model for Hospot
Replaced MakeDeps and the includeDB files with more standardized solutions.

Reviewed-by: coleenp, kvn, kamg
2010-11-23 13:22:55 -08:00
Igor Veresov
15c6dde68a Merge 2010-11-19 17:01:34 -08:00
Y. Srinivas Ramakrishna
9af444d011 7000578: CMS: assert(SafepointSynchronize::is_at_safepoint()) failed: Else races are possible
Weakened assert in onj_is_alive() to allow its use at initialization time when is_at_safepoint() normally reports false; added some related asserts to check order of is_init_completed() after Universe::is_fully_initialized().

Reviewed-by: jcoomes
2010-11-16 13:58:48 -08:00
Jon Masamitsu
fbe476856f Merge 2010-11-15 16:25:14 -08:00
Vladimir Kozlov
d563b15558 6999491: non-zero COOPs are used when they should not
HeapBaseMinAddress should be used only for a default heap size calculation.

Reviewed-by: iveresov, jcoomes, dholmes
2010-11-12 09:51:43 -08:00
Y. Srinivas Ramakrishna
33688e92b9 6998802: ScavengeALot: assert(!gch->incremental_collection_failed()) failed: Twice in a row
Weaken assert by excluding scavenges resulting from -XX:+ScavengeALot stress-testing option.

Reviewed-by: jmasa, tonyp
2010-11-11 10:42:43 -08:00
Igor Veresov
39ef076af4 Merge 2010-11-08 14:33:48 -08:00
John R Rose
ce0125e7f2 6984311: JSR 292 needs optional bootstrap method parameters
Allow CONSTANT_InvokeDynamic nodes to have any number of extra operands.

Reviewed-by: twisti
2010-10-30 13:08:23 -07:00
Y. Srinivas Ramakrishna
9333ab2399 6995045: assert(!gch->incremental_collection_failed()) failed: Error, defNewGeneration.cpp:827
Sharpened an assert, introduced in 6896603, that intended to check that the incremental_collection_failed() predicate on the heap was being reset "soon enough".

Reviewed-by: jmasa
2010-10-28 14:46:29 -07:00
Y. Srinivas Ramakrishna
cbc7f8756a 6896603: CMS/GCH: collection_attempt_is_safe() ergo should use more recent data
Deprecated HandlePromotionFailure, removing the ability to turn off that feature, did away with one epoch look-ahead when deciding if a scavenge is likely to fail, relying on current data.

Reviewed-by: jmasa, johnc, poonam
2010-10-23 23:03:49 -07:00
Tom Rodriguez
1571a4a56f 6970683: improvements to hs_err output
Reviewed-by: kvn, jrose, dholmes, coleenp
2010-10-21 11:55:10 -07:00
John Coomes
cdc9022728 Merge 2010-10-08 09:29:09 -07:00
Y. Srinivas Ramakrishna
8fbdf5c7f0 6794422: Perm gen expansion policy for concurrent collectors
Concurrent collectors should expand the perm gen without a full STW GC, but possibly by triggering a concurrent collection. Temporary band-aid for G1 where no concurrent collection is kicked off since the perm gen is not collected concurrently.

Reviewed-by: johnc
2010-10-01 16:12:54 -07:00
John Coomes
1cdd538ea5 6423256: GC stacks should use a better data structure
6942771: SEGV in ParScanThreadState::take_from_overflow_stack

Reviewed-by: apetrusenko, ysr, pbk
2010-09-28 15:56:15 -07:00
Vladimir Kozlov
7df5e956d1 6984368: Large default heap size does not allow to use zero based compressed oops
Take into account HeapBaseMinAddress and round down MaxPermSize

Reviewed-by: never
2010-09-14 17:19:35 -07:00
Pavel Tisnovsky
af2548723c 6934483: GCC 4.5 errors "suggest parentheses around something..." when compiling with -Werror and -Wall
These are minor changes fixing compile failure when -Wall -Werror flags are used under gcc 4.5.

Reviewed-by: twisti, kvn, rasbold
2010-09-09 05:24:11 -07:00
Jon Masamitsu
28e56b8970 6984287: Regularize how GC parallel workers are specified
Associate number of GC workers with the workgang as opposed to the task.

Reviewed-by: johnc, ysr
2010-09-20 14:38:38 -07:00
Daniel D. Daugherty
11da6c2e2a Merge 2010-08-23 08:44:03 -07:00
Y. Srinivas Ramakrishna
500e68f0b1 6978533: CMS: Elide BOT update asserts until 6977974 is fixed correctly
Reviewed-by: jcoomes, jmasa, tonyp
2010-08-19 12:02:10 -07:00
Pavel Tisnovsky
b002fe5992 6885308: The incorrect -XX:StackRedPages, -XX:StackShadowPages, -XX:StackYellowPages could cause VM crash
Test minimal stack sizes given (also fixed linux compilation error)

Reviewed-by: never, phh, coleenp
2010-08-19 14:23:59 -04:00
John Cuthbertson
3b69a96c58 6977924: Changes for 6975078 produce build error with certain gcc versions
The changes introduced for 6975078 assign badHeapOopVal to the _allocation field in the ResourceObj class. In 32 bit linux builds with certain versions of gcc this assignment will be flagged as an error while compiling allocation.cpp. In 32 bit builds the constant value badHeapOopVal (which is cast to an intptr_t) is negative. The _allocation field is typed as an unsigned intptr_t and gcc catches this as an error.

Reviewed-by: jcoomes, ysr, phh
2010-08-18 10:59:06 -07:00
Y. Srinivas Ramakrishna
77f845359a 6948538: CMS: BOT walkers can fall into object allocation and initialization cracks
GC workers now recognize an intermediate transient state of blocks which are allocated but have not yet completed initialization. blk_start() calls do not attempt to determine the size of a block in the transient state, rather waiting for the block to become initialized so that it is safe to query its size. Audited and ensured the order of initialization of object fields (klass, free bit and size) to respect block state transition protocol. Also included some new assertion checking code enabled in debug mode.

Reviewed-by: chrisphi, johnc, poonam
2010-08-16 15:58:42 -07:00
Gary Benson
d7310fb0f7 6976186: integrate Shark HotSpot changes
Shark is a JIT compiler for Zero that uses the LLVM compiler infrastructure.

Reviewed-by: kvn, twisti
2010-08-11 05:51:21 -07:00
Tom Rodriguez
68ff9b2b00 Merge 2010-08-09 17:51:56 -07:00
Vladimir Kozlov
2e48a18645 6975078: assert(allocated_on_res_area() || allocated_on_C_heap() || allocated_on_arena()
Pass the check in ResourceObj() if _allocation value is already set and object is allocated on stack.

Reviewed-by: dholmes, johnc
2010-08-09 15:17:05 -07:00
Vladimir Kozlov
5bed80aab9 6973963: SEGV in ciBlock::start_bci() with EA
Added more checks into ResourceObj and growableArray to verify correctness of allocation type.

Reviewed-by: never, coleenp, dholmes
2010-08-03 15:55:03 -07:00
Bob Vandette
b95c7e9523 6953477: Increase portability and flexibility of building Hotspot
A collection of portability improvements including shared code support for PPC, ARM platforms, software floating point, cross compilation support and improvements in error crash detail.

Reviewed-by: phh, never, coleenp, dholmes
2010-08-03 08:13:38 -04:00
Coleen Phillimore
52adb9a491 Merge 2010-06-28 12:03:05 -04:00
John Coomes
a792499b68 6888573: class data sharing does not always disable large pages
Reviewed-by: phh
2010-06-24 15:38:42 -07:00
Jon Masamitsu
c443776640 6952853: SIGSEGV with UseAdaptiveGCBoundary on 64b linux running jvm2008
Shrinking of a generation and the corresponding card table was causing part of the card table to be uncommitted.

Reviewed-by: jcoomes
2010-06-23 08:35:31 -07:00
John R Rose
d6a9b93b5a Merge 2010-06-02 22:45:42 -07:00
Erik Trimble
ba7c173659 6941466: Oracle rebranding changes for Hotspot repositories
Change all the Sun copyrights to Oracle copyright

Reviewed-by: ohair
2010-05-27 19:08:38 -07:00
Vladimir Kozlov
cc18a50e59 6916623: Align object to 16 bytes to use Compressed Oops with java heap up to 64Gb
Added new product ObjectAlignmentInBytes flag to control object alignment.

Reviewed-by: twisti, ysr, iveresov
2010-05-27 18:01:56 -07:00
Christian Thalinger
c9f2ba541b 6951083: oops and relocations should part of nmethod not CodeBlob
This moves the oops from Codeblob to nmethod.

Reviewed-by: kvn, never
2010-05-20 06:34:23 -07:00
John Coomes
d14dfb51af Merge 2010-05-13 13:05:47 -07:00