1563 Commits

Author SHA1 Message Date
Igor Veresov
43280aa63e 7009231: C1: Incorrect CAS code for longs on SPARC 32bit
Fix CAS of longs on SPARC 32bit and cmove on SPARC 64bit.

Reviewed-by: kvn
2010-12-27 21:51:31 -08:00
John Cuthbertson
65e391e30e Merge 2010-12-23 12:19:57 -08:00
Christian Thalinger
a8a98509e7 7007377: JSR 292 MethodHandlesTest.testCastFailure fails on SPARC with -Xcomp +DeoptimizeALot
Reviewed-by: kvn, jrose
2010-12-22 02:02:53 -08:00
Vladimir Kozlov
85dd279283 7003130: assert(iterations<CG_BUILD_ITER_LIMIT) failed: infinite EA connection graph
Bump CG_BUILD_ITER_LIMIT to 20

Reviewed-by: iveresov
2010-12-21 13:56:40 -08:00
Christian Thalinger
e970ef6182 7008165: Garbage in ClassFormatError message
When bootstrap_method_ref in BootstrapMethods attribute points to a wrong CP entry (non-MethodHandle), JVM throws ClassFormatError with a message, where method index and class file name is garbage.

Reviewed-by: iveresov
2010-12-21 04:37:30 -08:00
Antonios Printezis
2aa9ac1177 6896624: G1: hotspot:::gc and hotspot:::mem-pool-gc probes are not fired
Fire the gc-begin and gc-end probes for G1.

Reviewed-by: kamg, ysr, jcoomes
2010-12-19 20:57:16 -05:00
Christian Thalinger
af3cf83d37 Merge 2010-12-18 08:38:07 -08:00
Tom Rodriguez
6b9f32c382 Merge 2010-12-18 06:40:56 -08:00
Christian Thalinger
135eaf7e21 6990933: assert(sender_cb) failed: sanity in frame::sender_for_interpreter_frame
Reviewed-by: never
2010-12-18 01:15:01 -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
Tom Rodriguez
ecddc15f7c 6579789: Internal error "c1_LinearScan.cpp:1429 Error: assert(false,"")" in debuggee with fastdebug VM
Reviewed-by: kvn, iveresov
2010-12-17 15:55:32 -08:00
John Cuthbertson
b2fa4708ad 7006113: G1: Initialize ReferenceProcessor::_is_alive_non_header field
Initialize the _is_alive_non_header field of G1's reference processor with an instance of the G1CMIsAliveClosure. This will stop adding reference objects with live referents to the discovered reference lists unnecessarily.

Reviewed-by: tonyp, ysr, jwilhelm, brutisso
2010-12-17 11:26:53 -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
Y. Srinivas Ramakrishna
7c3fda39e6 Merge 2010-12-16 12:56:51 -08:00
Tom Rodriguez
b80ad03e3f 6839888: Array overrun in vm adlc
Reviewed-by: kvn, iveresov
2010-12-16 12:47:52 -08:00
Y. Srinivas Ramakrishna
771994b0dc Merge 2010-12-16 09:14:34 -08:00
Coleen Phillimore
b2bc7d218f Merge 2010-12-16 09:31:55 -05:00
Igor Veresov
4c405911ef Merge 2010-12-16 01:46:02 -08:00
Igor Veresov
a4b8804ae0 Merge 2010-12-15 23:38:10 -08:00
Igor Veresov
3ccd57dac4 7007229: Fix warnings with VS2010 in compressedStream.cpp
An interference between a fix for 6993125 and disabled optimization in compressedStream.cpp produces a warning with VS2010. Disable the warning for the code fragment for which the optimizations are disabled.

Reviewed-by: kvn
2010-12-15 20:43:36 -08:00
Tom Rodriguez
e738b0097a 6765546: Wrong sscanf used to parse CompilerOracle command >= 32 characters could lead to crash
Reviewed-by: kvn, iveresov
2010-12-14 23:17:00 -08:00
Antonios Printezis
727333a1a3 7000559: G1: assertion failure !outer || (full_collections_started == _full_collections_completed + 1)
The concurrent marking thread can complete its operation and increment the full GC counter during a Full GC. This causes the nesting of increments to the start and end of Full GCs that we are expecting to be wrong. the fix is for the marking thread to join the suspendible thread set before incrementing the counter so that it's blocked until the Full GC (or any other safepoint) is finished. The change also includes some minor code cleanup (I renamed a parameter).

Reviewed-by: brutisso, ysr
2010-12-14 16:19:44 -05:00
Coleen Phillimore
18324204ef 7006471: fix for 6988439 crashes when pending list lock is null
Missing null check in owns_pending_list_lock() because this can be called before pending_list_lock is initialized.

Reviewed-by: never, kvn
2010-12-14 15:10:52 -05:00
Tom Rodriguez
a5f501c021 7004940: CTW: assert(!def_outside->member(r)) failed: Use of external LRG overlaps the same LRG
Reviewed-by: kvn, twisti
2010-12-13 22:41:03 -08:00
Coleen Phillimore
d2481f01f0 Merge 2010-12-13 14:46:51 -08:00
Zhengyu Gu
86f7ad735d Merge 2010-12-11 13:46:36 -05:00
Zhengyu Gu
61a4658b22 7003748: Decode C stack frames when symbols are presented (PhoneHome project)
Implemented in-process C native stack frame decoding when symbols are available.

Reviewed-by: coleenp, never
2010-12-11 13:20:56 -05: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
Coleen Phillimore
aa521ed9cd 6988439: Parallel Class Loading test deadlock involving MethodData_lock and Pending List Lock
Don't acquire methodData_lock while holding pending list lock

Reviewed-by: kvn, never, ysr
2010-12-10 12:13:03 -05:00
Y. Srinivas Ramakrishna
874098b1c6 Merge 2010-12-09 21:47:58 -08:00
Keith McGuigan
de27a1608c 7004582: Add GetThisObject() function to JVMTI 1.2
Add 'GetThisObject' function

Reviewed-by: never, coleenp
2010-12-09 15:04:26 -05: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
Dmitry Samersoff
d344b51209 6989076: JVM crashes in klassItable::initialize_itable_for_interface
Hotspot should check protection attribute besides the name and signature of the method when constructing vtable.

Reviewed-by: dcubed
2010-12-09 17:53:22 +03:00
Igor Veresov
a9bee9ec34 Merge 2010-12-08 17:50:49 -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
John Cuthbertson
4aaa89ea60 Merge 2010-12-07 16:44:34 -08:00
John Cuthbertson
8f4579fe60 6994628: G1: Test gc/gctests/FinalizeTest05 fails (one live object is finalized)
The Solaris Studio 12 update 1 C++ compiler was incorrectly re-ordering the reads of an object's mark word in oopDesc::forward_to_atomic(). This opened a small window where one thread could execute the successful CAS path even though another thread had already successfully forwarded the object. This could result in an object being copied twice. The code in oopDesc::forward_to_atomic() was changed to read the mark word once.

Reviewed-by: ysr, tonyp
2010-12-07 16:18:45 -08:00
Antonios Printezis
edcfaf0f84 6994056: G1: when GC locker is active, extend the Eden instead of allocating into the old gen
Allow the eden to the expanded up to a point when the GC locker is active.

Reviewed-by: jwilhelm, johnc, ysr, jcoomes
2010-12-07 16:47:42 -05:00
Staffan Larsen
1765b0fbf0 6539281: -Xcheck:jni should validate char* argument to ReleaseStringUTFChars
Tag allocated memory with a magic value and verify when releasing.

Reviewed-by: phh, stefank
2010-12-07 03:15:45 -08:00
Keith McGuigan
dd62e29b29 7003782: Update JVMTI version to 1.2 for jdk7
Update minor version to 1.2 for jdk7

Reviewed-by: phh, dcubed
2010-12-06 20:21:15 -05:00
Coleen Phillimore
faf320aede Merge 2010-12-06 15:37:00 -05:00
Volker Simonis
df6c2c2e63 6704010: Internal Error (src/share/vm/interpreter/interpreterRuntime.cpp:1106)
Fixed a race condition in the assertion caused by an unguarded, concurrent access to a GrowableArray object.

Reviewed-by: coleenp, dholmes, dsamersoff
2010-12-04 00:09:05 -05:00
John R Rose
cc7c58e166 7001379: bootstrap method data needs to be moved from constant pool to a classfile attribute
Reviewed-by: twisti
2010-12-03 15:53:57 -08:00
Christian Thalinger
ffaadcecea 6961690: load oops from constant table on SPARC
Oops should be loaded from the constant table of an nmethod instead of materializing them with a long code sequence.

Reviewed-by: never, kvn
2010-12-03 01:34:31 -08:00
Igor Veresov
ab725dba1d 7003554: (tiered) assert(is_null_object() || handle() != NULL) failed: cannot embed null pointer
C1 with profiling doesn't check whether the MDO has been really allocated, which can silently fail if the perm gen is full. The solution is to check if the allocation failed and bailout out of inlining or compilation.

Reviewed-by: kvn, never
2010-12-02 17:21:12 -08:00
Antonios Printezis
dcf8c40e3a 7003860: G1: assert(_cur_alloc_region == NULL || !expect_null_cur_alloc_region) fails
Wrong assumption about expecting the current alloc region expected to be NULL in expand_and_allocate().

Reviewed-by: brutisso, ysr
2010-12-02 13:20:39 -05:00
Staffan Larsen
7765368022 6981484: Update development launcher
Add new development launcher called hotspot(.exe)

Reviewed-by: coleenp
2010-12-02 05:45:54 -08: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
Tom Rodriguez
532dec3797 7002666: eclipse CDT projects crash with compressed oops
Reviewed-by: kvn, twisti
2010-12-01 10:16:31 -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