1735 Commits

Author SHA1 Message Date
Keith McGuigan
6308eab4d5 6814943: getcpool001 catches more than one JvmtiThreadState problem
Mark field volatile, use membars, and change access order to close race

Reviewed-by: dcubed, dholmes
2011-01-11 10:06:00 -05:00
Igor Veresov
6a80d2126c 4930919: race condition in MDO creation at back branch locations
Reuse set_method_data_for_bcp() to setup mdp after MDO creation.

Reviewed-by: kvn, never
2011-01-10 18:46:29 -08:00
Keith McGuigan
ae65c6240f 6458402: 3 jvmti tests fail with CMS and +ExplicitGCInvokesConcurrent
Make JvmtiGCMark safe to run non-safepoint and instrument CMS

Reviewed-by: ysr, dcubed
2011-01-10 17:14:53 -05:00
Daniel D. Daugherty
6215ab50b3 Merge 2011-01-10 09:23:20 -08:00
Christian Thalinger
595eda12a4 7010913: JSR 292 ciMethodHandle does not handle MethodHandleCompiler exceptions properly
Reviewed-by: kvn, never
2011-01-10 03:58:07 -08:00
Christian Thalinger
b2f607fcb6 7010180: JSR 292 InvokeDynamicPrintArgs fails with: assert(_adapter == NULL) failed: init'd to NULL
Reviewed-by: never
2011-01-10 00:56:39 -08:00
David Holmes
5d2936a29c 7010665: Misplaced membar in C1 implementation of Unsafe.get/putXXX
Modify membars to match regular volatile variable handling

Reviewed-by: iveresov, kvn, never
2011-01-09 17:16:16 -05:00
Daniel D. Daugherty
0c7a73dc8c Merge 2011-01-07 15:54:32 -08:00
Daniel D. Daugherty
d73624f279 Merge 2011-01-07 13:59:48 -08:00
Bob Vandette
cd9895a49d Merge 2011-01-07 15:57:02 -05:00
Vladimir Kozlov
5bce844ff6 6876037: CTW fails jdk7/hotspot/src/share/vm/opto/type.cpp:2055. assert(bits,"Use TypePtr for NULL")
Add missing 0 value check in TypeRawPtr::add_offset().

Reviewed-by: never
2011-01-07 11:53:24 -08:00
Vladimir Kozlov
afbf71368c 7009756: volatile variables could be broken throw reflection API
Use Atomic::load() and Atomic::store() to access a volatile long.

Reviewed-by: iveresov, jrose, dholmes, never
2011-01-07 10:16:57 -08:00
Bob Vandette
c14e8eb4f2 7009268: guarantee(middle - slop > start) failed: need enough space to divide up
Codebuffer can overflow on test with large number of calls

Reviewed-by: dholmes, collins
2011-01-07 12:44:54 -05: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
Y. Srinivas Ramakrishna
d921d72f20 7008136: CMS: assert((HeapWord*)nextChunk <= _limit) failed: sweep invariant
The recorded _sweep_limit may not necessarily remain a block boundary as the old generation expands during a concurrent cycle. Terminal actions inside the sweep closure need to be aware of this as they cross over the limit.

Reviewed-by: johnc, minqi
2011-01-06 23:50:02 -08:00
Coleen Phillimore
1f42cca35e 6583275: Hotspot crash in vm_perform_shutdown_actions due to uninitialized TLS during out of memory handling
Call get_thread_slow() in vm_perform_shutdown actions and add null check.

Reviewed-by: kvn, dholmes, jcoomes
2011-01-05 21:23:15 -05:00
Coleen Phillimore
dec384330b 6302804: Hotspot VM dies ungraceful death when C heap is exhausted in various places
Enhance the error reporting mechanism to help user to fix the problem rather than making it look like a VM error.

Reviewed-by: kvn, kamg
2011-01-03 14:09:11 -05:00
Igor Veresov
34b0ff28e8 7009849: C1: Incorrect frame size computation
Fix frame size computation

Reviewed-by: phh, kvn
2010-12-30 23:44:45 -08:00
Vladimir Kozlov
f02562388c 6928562: Assert(_no_handle_mark_nesting==0,"allocating handle inside NoHandleMark")
Reset NoHandleMark before going into VM.

Reviewed-by: iveresov
2010-12-30 09:36:03 -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
Vladimir Kozlov
4286ac7947 7009359: HS with -XX:+AggressiveOpts optimize new StringBuffer(null) so it does not throw NPE as expected
Bailout StringConcat optimization if null is passed to StringBuffer constructor.

Reviewed-by: iveresov
2010-12-28 17:34:02 -08:00
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