2052 Commits

Author SHA1 Message Date
Igor Veresov
eafb22164b 7005241: C1: SEGV in java.util.concurrent.LinkedTransferQueue.xfer() with compressed oops
Implementation of the CAS primitive for x64 compressed oops was incorrect. It kills rscratch2 register (r11), which is allocatable in C1. Also, we don't need to restore cmpval as it's never used after that, so we need only one temporary register, which can be scratch1.

Reviewed-by: kvn, never
2010-12-08 02:36:36 -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
Vladimir Kozlov
797fb02b41 7004925: CTW: assert(nbits == 32 || -(1 << nbits-1) <= x && x < ( 1 << nbits-1)) failed: value out of range
Set offset in register if it does not fit 13 bits.

Reviewed-by: iveresov
2010-12-07 11:00:02 -08: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
Kelly O'Hair
7e995b2d2b Merge 2010-12-03 19:44:29 -08: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
Tom Rodriguez
f74039fd41 7004530: casx used for 32 bit cas after 7003554
Reviewed-by: kvn, iveresov
2010-12-03 12:14:33 -08:00
Erik Trimble
f5a7f6d606 Added tag hs20-b03 for changeset a683e80b9ca8 2010-12-03 09:44:09 -08:00
Christian Thalinger
bd6731ae92 7003798: test/compiler/6991596 fails with true != false
The test of 6991596 fails on SPARCV9.

Reviewed-by: kvn, never, jrose
2010-12-03 06:14:37 -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
Christine Lu
636b550f8c Added tag jdk7-b120 for changeset 6df7c2b3dbea 2010-12-02 19:04:00 -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
Stefan Karlsson
c4121e4375 7003786: sort Obj_Files before compiling
Reverted to old sort order on Linux and Solaris.

Reviewed-by: tonyp, coleenp
2010-12-02 20:01:47 +01:00
Christian Thalinger
7fedab77bf 6998985: faulty generic arraycopy on windows x86_64: 4th arg overwritten with oop
Reviewed-by: kvn, never
2010-12-02 01:02:55 -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
f9d845fd45 6875026: CTW failure jdk6_18/hotspot/src/share/vm/c1/c1_LinearScan.cpp:5486
Reviewed-by: kvn, iveresov
2010-12-01 15:47:52 -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
Bob Vandette
18a6408d84 7004217: Remove IA64 workaround re-introduced with CR6953477
Gcc bug worksaround for IA64 no longer needed

Reviewed-by: andrew
2010-12-02 14:00:03 -05:00
Coleen Phillimore
49678541ff Merge 2010-12-01 18:32:50 -05: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
Bengt Rutisson
8c5bc8227a 7003456: ADLC files not correctly generated on Windows
Added target architecture parameters to make ADLC build properly

Reviewed-by: never, stefank
2010-12-01 03:12:35 -08:00
Igor Veresov
72c2bb7859 Merge 2010-11-30 23:14:25 -08:00
Igor Veresov
d59d7ffc4a 6985015: C1 needs to support compressed oops
This change implements compressed oops for C1 for x64 and sparc. The changes are mostly on the codegen level, with a few exceptions when we do access things outside of the heap that are uncompressed from the IR. Compressed oops are now also enabled with tiered.

Reviewed-by: twisti, kvn, never, phh
2010-11-30 23:23:40 -08:00
Kelly O'Hair
0736598d42 Merge 2010-11-30 18:10:20 -08:00
Kelly O'Hair
dddeba18de 6987107: Add variable to add to but not modify non-fcs version string
Reviewed-by: jcoomes, dholmes, andrew, kvn
2010-11-30 18:07:18 -08:00
Christian Thalinger
36b4f60585 7001363: java/dyn/InvokeDynamic should not be a well-known class in the JVM
Because of the removal of language support, the JDK 7 API for JSR 292 no longer includes a public class named java/dyn/InvokeDynamic.

Reviewed-by: jrose, kvn
2010-11-30 09:53:04 -08:00
Coleen Phillimore
a1d3c19596 6780143: hs203t003 hits SIGSEGV/EXCEPTION_ACCESS_VIOLATION with -XX:+UseCompressedOops
Using r12 as temporary register around call_VM trashes heapbase becausecall_VM doesn't always return immediately to following code (eg forward_exception, popframe and early return support).

Reviewed-by: never, kvn
2010-11-29 15:43:36 -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
Coleen Phillimore
01f78952da Merge 2010-11-23 15:01:43 -05:00
Gary Benson
7b0fb2a1e3 7002129: Zero and Shark fixes, 3rd
6970683 and 6953144 introduced changes that need to be implemented for Zero and Shark.

Reviewed-by: twisti
2010-11-23 04:33:42 -08:00
Christine Lu
b23d739ffb Added tag jdk7-b119 for changeset a683e80b9ca8 2010-11-22 14:57:11 -08:00
Coleen Phillimore
ced35487cb Merge 2010-11-19 23:46:06 -05:00
Igor Veresov
15c6dde68a Merge 2010-11-19 17:01:34 -08:00
Jon Masamitsu
6d7849e8e7 Merge 2010-11-19 13:19:49 -08:00
Poonam Bajaj
b91e418b3e 6837842: JNI_CreateJavaVM crashes under impersonation
Reviewed-by: acorn, dholmes
2010-11-19 03:41:50 -08:00
Zhengyu Gu
04b08adf06 6751923: JNDI wake up when clock_settime() is called
Ported Chris Phillips' patch from jdk5 to jdk7

Reviewed-by: chrisphi, coleenp
2010-11-18 14:37:46 -05:00
Vladimir Kozlov
606ee163ca 7000491: assert(false) failed: should be optimized out in SharedRuntime::g1_wb_pre
Wrong value type is used for NULL store when clearing the detail message of the preallocated exception object.

Reviewed-by: never, iveresov
2010-11-18 09:52:48 -08:00
Zhengyu Gu
dd078e8562 Merge 2010-11-17 09:21:51 -05:00
John Cuthbertson
92aa340360 Merge 2010-11-16 16:12:28 -08:00
Igor Veresov
5c238caed1 7000349: Tiered reacts incorrectly to C1 compilation failures
Fix policy reaction to C1 comilation failures, make C1 properly report errors.

Reviewed-by: kvn
2010-11-16 15:57:16 -08:00
John Cuthbertson
e5344b854c 6978187: G1: assert(ParallelGCThreads> 1 || n_yielded() == _hrrs->occupied()) strikes again
An evacuation failure while copying the roots caused an object, A, to be forwarded to itself. During the subsequent RSet updating a reference to A was processed causing the reference to be added to the RSet of A's heap region. As a result of adding to the remembered set we ran into the issue described in 6930581 - the sparse table expanded and the RSet scanning code walked the cards in one instance of RHashTable (_cur) while the occupied() counts the cards in the expanded table (_next).

Reviewed-by: tonyp, iveresov
2010-11-16 14:07:33 -08:00