kamg [Thu, 09 Dec 2010 15:04:26 -0500] rev 7444
7004582: Add GetThisObject() function to JVMTI 1.2
Summary: Add 'GetThisObject' function
Reviewed-by: never, coleenp
dsamersoff [Thu, 09 Dec 2010 17:53:22 +0300] rev 7443
6989076: JVM crashes in klassItable::initialize_itable_for_interface
Summary: hotspot should check protection attribute besides the name and signature of the method when constructing vtable.
Reviewed-by: dcubed
iveresov [Wed, 15 Dec 2010 23:38:10 -0800] rev 7442
Merge
never [Mon, 13 Dec 2010 22:41:03 -0800] rev 7441
7004940: CTW: assert(!def_outside->member(r)) failed: Use of external LRG overlaps the same LRG
Reviewed-by: kvn, twisti
kvn [Fri, 10 Dec 2010 14:14:02 -0800] rev 7440
6993125: runThese crashes with assert(Thread::current()->on_local_stack((address)this))
Summary: add another ResourceObj debug field to distinguish garbage
Reviewed-by: dholmes, coleenp
iveresov [Wed, 08 Dec 2010 17:50:49 -0800] rev 7439
Merge
iveresov [Wed, 08 Dec 2010 02:36:36 -0800] rev 7438
7005241: C1: SEGV in java.util.concurrent.LinkedTransferQueue.xfer() with compressed oops
Summary: 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
kvn [Tue, 07 Dec 2010 11:00:02 -0800] rev 7437
7004925: CTW: assert(nbits == 32 || -(1 << nbits-1) <= x && x < ( 1 << nbits-1)) failed: value out of range
Summary: Set offset in register if it does not fit 13 bits.
Reviewed-by: iveresov
jrose [Fri, 03 Dec 2010 15:53:57 -0800] rev 7436
7001379: bootstrap method data needs to be moved from constant pool to a classfile attribute
Reviewed-by: twisti
never [Fri, 03 Dec 2010 12:14:33 -0800] rev 7435
7004530: casx used for 32 bit cas after 7003554
Reviewed-by: kvn, iveresov
twisti [Fri, 03 Dec 2010 06:14:37 -0800] rev 7434
7003798: test/compiler/6991596 fails with true != false
Summary: The test of 6991596 fails on SPARCV9.
Reviewed-by: kvn, never, jrose
twisti [Fri, 03 Dec 2010 01:34:31 -0800] rev 7433
6961690: load oops from constant table on SPARC
Summary: oops should be loaded from the constant table of an nmethod instead of materializing them with a long code sequence.
Reviewed-by: never, kvn
iveresov [Thu, 02 Dec 2010 17:21:12 -0800] rev 7432
7003554: (tiered) assert(is_null_object() || handle() != NULL) failed: cannot embed null pointer
Summary: 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
twisti [Thu, 02 Dec 2010 01:02:55 -0800] rev 7431
6998985: faulty generic arraycopy on windows x86_64: 4th arg overwritten with oop
Reviewed-by: kvn, never
never [Wed, 01 Dec 2010 15:47:52 -0800] rev 7430
6875026: CTW failure jdk6_18/hotspot/src/share/vm/c1/c1_LinearScan.cpp:5486
Reviewed-by: kvn, iveresov
never [Wed, 01 Dec 2010 10:16:31 -0800] rev 7429
7002666: eclipse CDT projects crash with compressed oops
Reviewed-by: kvn, twisti
iveresov [Tue, 30 Nov 2010 23:14:25 -0800] rev 7428
Merge
iveresov [Tue, 30 Nov 2010 23:23:40 -0800] rev 7427
6985015: C1 needs to support compressed oops
Summary: 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
twisti [Tue, 30 Nov 2010 09:53:04 -0800] rev 7426
7001363: java/dyn/InvokeDynamic should not be a well-known class in the JVM
Summary: 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
iveresov [Wed, 15 Dec 2010 20:43:36 -0800] rev 7425
7007229: Fix warnings with VS2010 in compressedStream.cpp
Summary: 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
trims [Thu, 16 Dec 2010 20:35:33 -0800] rev 7424
Merge
trims [Fri, 10 Dec 2010 18:05:39 -0800] rev 7423
7006221: Bump the HS20 build number to 04
Summary: Update the HS20 build number to 04
Reviewed-by: jcoomes
trims [Fri, 10 Dec 2010 17:59:46 -0800] rev 7422
Merge
ysr [Thu, 09 Dec 2010 21:47:58 -0800] rev 7421
Merge
ysr [Thu, 09 Dec 2010 09:22:57 -0800] rev 7420
7005259: CMS: BubbleUpRef asserts referent(obj)->is_oop() failed: Enqueued a bad referent
Summary: Relaxed the assert by allowing NULL referents when discovery may be concurrent.
Reviewed-by: johnc, jcoomes
ysr [Tue, 07 Dec 2010 21:55:53 -0800] rev 7419
7001033: assert(gch->gc_cause() == GCCause::_scavenge_alot || !gch->incremental_collection_failed())
7002546: regression on SpecJbb2005 on 7b118 comparing to 7b117 on small heaps
Summary: 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
johnc [Tue, 07 Dec 2010 16:44:34 -0800] rev 7418
Merge
johnc [Tue, 07 Dec 2010 16:18:45 -0800] rev 7417
6994628: G1: Test gc/gctests/FinalizeTest05 fails (one live object is finalized)
Summary: 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