2011 Commits

Author SHA1 Message Date
Antonios Printezis
8bce4a6620 6977804: G1: remove the zero-filling thread
This changeset removes the zero-filling thread from G1 and collapses the two free region lists we had before (the "free" and "unclean" lists) into one. The new free list uses the new heap region sets / lists abstractions that we'll ultimately use it to keep track of all regions in the heap. A heap region set was also introduced for the humongous regions. Finally, this change increases the concurrency between the thread that completes freeing regions (after a cleanup pause) and the rest of the system (before we'd have to wait for said thread to complete before allocating a new region). The changest also includes a lot of refactoring and code simplification.

Reviewed-by: jcoomes, johnc
2011-01-19 19:30:42 -05:00
John Cuthbertson
9c7b5257f8 Merge 2011-01-19 13:04:37 -08:00
John Cuthbertson
2ad5e5ace5 7012642: G1: JumbleGC002 test aborts with segmentation violation due to uncaught stack overflow
With recent G1 allocation path changes, the value of StackShadowPages in fast debug builds of the JVM, is no longer large enough to prevent the JVM C++ code from touching the stack guard pages. Increase the value of StackShadowPages to a suitable value.

Reviewed-by: ysr, tonyp, coleenp
2011-01-19 13:01:11 -08:00
Antonios Printezis
05b7df20dd 7011379: G1: overly long concurrent marking cycles
This changeset introduces filtering of SATB buffers at the point when they are about to be enqueued. If this filtering clears enough entries on each buffer, the buffer can then be re-used and not enqueued. This cuts down the number of SATB buffers that need to be processed by the concurrent marking threads.

Reviewed-by: johnc, ysr
2011-01-19 09:35:17 -05:00
John Cuthbertson
a484211e0b Merge 2011-01-13 17:19:21 -08:00
Y. Srinivas Ramakrishna
597a0cd214 7011940: iCMS: SIGSEGV in SweepClosure::do_already_free_chunk(FreeChunk*)+0x360
Revert a (relaxed version of the) bounds-check that was incorrectly removed in the fix for 7008136.

Reviewed-by: jmasa, johnc
2011-01-13 11:33:56 -08:00
Daniel D. Daugherty
1ce36e3055 Merge 2011-01-13 08:32:15 -08:00
Christian Thalinger
6aa9bf4152 Merge 2011-01-13 07:28:47 -08:00
Christian Thalinger
53c79c908e Merge 2011-01-13 07:20:32 -08:00
Bengt Rutisson
2464e6b369 6941122: G1: UseLargePages does not work with G1 garbage collector
Pass the value of UseLargePages instead of false as the "large" parameter when reserving the G1 heap.

Reviewed-by: tonyp, johnc, phh
2011-01-13 04:43:30 -08:00
Igor Veresov
18619a6ed6 7011627: C1: call_RT must support targets that don't fit in wdisp30
Make both compilers emit near and far calls when necessary.

Reviewed-by: never, kvn, phh
2011-01-12 18:33:25 -08:00
Coleen Phillimore
8d210c170e 7009828: Fix for 6938627 breaks visualvm monitoring when -Djava.io.tmpdir is defined
Change get_temp_directory() back to /tmp and %TEMP% like it always was and where the tools expect it to be.

Reviewed-by: phh, dcubed, kamg, alanb
2011-01-12 13:59:18 -08:00
Antonios Printezis
bc1df68513 6994297: G1: do first-level slow-path allocations with a CAS
First attempt to allocate out the current alloc region using a CAS instead of taking the Heap_lock (first level of G1's slow allocation path). Only if that fails and it's necessary to replace the current alloc region take the Heap_lock (that's the second level of G1's slow allocation path).

Reviewed-by: johnc, brutisso, ysr
2011-01-12 16:34:25 -05:00
Antonios Printezis
5f21cb1b9b 7007068: G1: refine the BOT during evac failure handling
During evacuation failure handling we refine the BOT to reflect the location of all the objects in the regions we scan. The changeset includes some minor cleanup: a) non-product print_on() method on the G1 BOT class, b) added more complete BOT verification during heap / region verification, c) slight modification to the BOT set up for humongous regions to be more consistent with the BOT set up during evac failure handling, and d) removed a couple of unused methods.

Reviewed-by: johnc, ysr
2011-01-12 13:06:00 -05:00
Kevin Walls
b6d2068ee2 6994753: Implement optional hook to a Java method at VM startup
Reviewed-by: mchung, acorn
2011-01-12 15:44:16 +00:00
Vladimir Kozlov
4912ef0e5d 7011386: race in objArrayKlass::array_klass_impl
Move _lower_dimension field initialization before _higher_dimension and add storestore barrier.

Reviewed-by: dholmes, iveresov, never
2011-01-11 20:26:13 -08:00
Paul Hohensee
0b5708a12d Merge 2011-01-11 17:50:26 -05:00
Paul Hohensee
6931aa0a24 7011463: Sparc MacroAssembler::incr_allocated_bytes() needs a RegisterOrConstant argument
Replaced incr_allocated_bytes() formals var_size_in_bytes and con_size_in_bytes with a single RegisterOrConstant formal.

Reviewed-by: twisti, jcoomes
2011-01-11 17:33:21 -05:00
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
Erik Trimble
64115cbb85 Merge 2011-01-07 22:56:35 -08:00
Erik Trimble
f87965dc9e 7011125: Bump the HS20 build number to 06
Update the HS20 build number to 06

Reviewed-by: jcoomes
2011-01-07 22:42:10 -08:00
Erik Trimble
45d3cde924 Added tag hs20-b05 for changeset 5f31baaff55b 2011-01-07 19:09:02 -08: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
26ddf9c14a Merge 2011-01-07 03:58:11 -08:00
Christian Thalinger
84f5de835b Merge 2011-01-07 03:41:07 -08:00
Alan Bateman
6f2c2c3272 7009975: Large file support broken in hs20-b04
Reviewed-by: phh, acorn, kamg
2011-01-07 03:38:19 -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
Christine Lu
ebfb6cb15a Added tag jdk7-b124 for changeset 5f31baaff55b 2011-01-06 20:10:19 -08:00
Igor Veresov
c6f34365c2 7010618: C1: array length should be treated at int on 64bit during array allocation
Sign-extend the length argument during array allocation

Reviewed-by: never, kvn
2011-01-06 16:03:20 -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
Erik Trimble
3c6a7c89ff 7010068: Update all 2010 Oracle-changed OpenJDK files to have the proper copyright dates - first pass
Update the copyright to be 2010 on all changed files in OpenJDK

Reviewed-by: jcoomes
2011-01-03 15:30:05 -08: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
Coleen Phillimore
dd59086fcc Merge 2010-12-28 09:54:09 -05: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