1735 Commits

Author SHA1 Message Date
Vladimir Kozlov
c00a50c8e9 7017240: C2: native memory leak in nsk/regression/b4675027 on windows-x86 in comp mode with G1
Add ResourceMark into PhaseIdealLoop::build_and_optimize().

Reviewed-by: never
2011-02-07 09:46:01 -08:00
Robert Ottenhag
9cfcb9eda1 Merge 2011-02-07 08:40:30 -08:00
Yasumasa Suenaga
60418bbde3 7015169: GC Cause not always set
Sometimes the gc cause was not always set. This caused JStat to print the wrong information.

Reviewed-by: tonyp, ysr
2011-02-03 20:49:09 -08:00
Coleen Phillimore
2fcd065a0d Merge 2011-02-03 20:30:19 -08:00
Coleen Phillimore
4940eacbf7 7017009: Secondary out of c-heap memory error reporting out of memory
Use os::malloc() to allocate buffer to read elf symbols and check for null

Reviewed-by: zgu, phh, dsamersoff, dholmes, dcubed
2011-02-03 21:30:08 -05:00
Paul Hohensee
5b37c4faec 7016998: gcutil class LinearLeastSquareFit doesn't initialize some of its fields
Initialize _sum_x_squared, _intercept and _slope in constructor.

Reviewed-by: bobv, coleenp
2011-02-03 16:06:01 -05:00
Coleen Phillimore
052aed6276 7012088: jump to 0 address because of lack of memory ordering in SignatureHandlerLibrary::add
Write method signature handler under lock to prevent race with growable array resizing

Reviewed-by: dsamersoff, dholmes
2011-02-02 18:38:40 -05:00
Keith McGuigan
8a44936bb0 6766644: Redefinition of compiled method fails with assertion "Can not load classes with the Compiler thread"
Defer posting events from the compiler thread: use service thread

Reviewed-by: coleenp, dholmes, never, dcubed
2011-02-02 14:38:01 -05:00
John Cuthbertson
3373070e7f 6923430: G1: assert(res != 0,"This should have worked.")
7007446: G1: expand the heap with a single step, not one region at a time

Changed G1CollectedHeap::expand() to expand the committed space by calling VirtualSpace::expand_by() once rather than for every region in the expansion amount. This allows the success or failure of the expansion to be determined before creating any heap regions. Introduced a develop flag G1ExitOnExpansionFailure (false by default) that, when true, will exit the VM if the expansion of the committed space fails. Finally G1CollectedHeap::expand() returns a status back to it's caller so that the caller knows whether to attempt the allocation.

Reviewed-by: brutisso, tonyp
2011-02-02 10:41:20 -08:00
Bob Vandette
b0d545a4e4 Merge 2011-02-02 11:54:26 -05:00
Bob Vandette
31e3fe4a98 7016023: Enable building ARM and PPC from src/closed repository
Reviewed-by: dholmes, bdelsart
2011-02-02 11:35:26 -05:00
Coleen Phillimore
cba53708ec 6588413: Use -fvisibility=hidden for gcc compiles
Add option for gcc 4 and above, define JNIEXPORT and JNIIMPORT to visibility=default, add for jio_snprintf and others since -fvisibility=hidden overrides --version-script definitions.

Reviewed-by: kamg, never
2011-02-01 11:23:19 -05:00
Christian Thalinger
6baa3e1f56 7012339: JSR 292 crash in G1SATBCardTableModRefBS::write_ref_field_pre_work()
Reviewed-by: jrose, never
2011-02-01 05:51:24 -08:00
Bengt Rutisson
1c643e68f0 6789220: CMS: intermittent timeout running nsk/regression/b4796926
The reference handler java thread and the GC could dead lock

Reviewed-by: never, johnc, jcoomes
2011-02-01 14:05:46 +01:00
Y. Srinivas Ramakrishna
1046ee088f 6999988: CMS: Increased fragmentation leading to promotion failure after CR#6631166 got implemented
Fix calculation of _desired, in free list statistics, which was missing an intended set of parentheses.

Reviewed-by: poonam, jmasa
2011-02-01 10:02:01 -08:00
Christian Thalinger
561c090437 7009309: JSR 292: compiler/6991596/Test6991596.java crashes on fastdebug JDK7/b122
Reviewed-by: kvn, never
2011-02-01 03:38:44 -08:00
Tom Rodriguez
f78d8f1157 6354181: nsk.logging.stress.threads.scmhml001 fails assertion in "src/share/vm/oops/instanceKlass.cpp, 111"
Reviewed-by: jrose, acorn
2011-01-31 17:48:21 -08:00
Antonios Printezis
d18d952e56 7014679: G1: deadlock during concurrent cleanup
There's a potential deadlock between the concurrent cleanup thread and the GC workers that are trying to allocate and waiting for more free regions to be made available.

Reviewed-by: iveresov, jcoomes
2011-01-31 16:28:40 -05:00
Coleen Phillimore
7b4f8073f0 6990754: Use native memory and reference counting to implement SymbolTable
Move symbols from permgen into C heap and reference count them

Reviewed-by: never, acorn, jmasa, stefank
2011-01-27 16:11:27 -08:00
John Cuthbertson
950858350d Merge 2011-01-27 13:42:28 -08:00
Christian Thalinger
9208a03ec6 Merge 2011-01-27 14:05:59 -05:00
John Cuthbertson
58ac605fea Merge 2011-01-26 09:57:42 -08:00
Antonios Printezis
ded092cb70 7014261: G1: RSet-related failures
A race between the concurrent cleanup thread and the VM thread while it is processing the "expanded sparse table list" causes both threads to try to free the same sparse table entry and either causes one of the threads to fail or leaves the entry in an inconsistent state. The solution is purge all entries on the expanded list that correspond go regions that are being cleaned up.

Reviewed-by: brutisso, johnc
2011-01-25 17:58:19 -05:00
John Cuthbertson
ecdb5848eb 6608385: G1: need to support parallel reference processing
Implement support for ParallelRefProcEnabled in the reference processing that takes place at the end of G1 concurrent marking.

Reviewed-by: tonyp, ysr
2011-01-25 10:56:22 -08:00
David Holmes
5573dccf96 6566340: Restore use of stillborn flag to signify a thread that was stopped before it started
Restore use of stillborn flag

Reviewed-by: acorn, alanb
2011-01-25 00:14:21 -05:00
Tom Rodriguez
4739203b6c 7008809: should report the class in ArrayStoreExceptions from compiled code
Reviewed-by: iveresov, twisti
2011-01-24 13:34:18 -08:00
Tom Rodriguez
0f21994955 Merge 2011-01-21 13:03:13 -08:00
Tom Rodriguez
84536ec263 6809483: hotspot:::method_entry are not correctly generated for "method()V"
Reviewed-by: iveresov, twisti
2011-01-21 13:01:02 -08:00
Antonios Printezis
14f4450d25 7013718: G1: small fixes for two assert/guarantee failures
Two small fixes to deal with a guarantee failure (the marking thread should join the SuspendibleThreadSet before calling a method that does pause prediction work so that said method is never called during a pause) and an assert failure (an assert is too strong).

Reviewed-by: iveresov, johnc
2011-01-21 11:30:22 -05:00
Christian Thalinger
32d59f1ed0 Merge 2011-01-21 01:16:13 -08:00
John Cuthbertson
d31ff8a886 Merge 2011-01-20 13:57:12 -08:00
Christian Thalinger
5e35df892d 7011839: JSR 292 turn on escape analysis when using invokedynamic
Currently escape analysis is turned off when EnableInvokeDynamic is true.

Reviewed-by: jrose, kvn
2011-01-20 08:25:22 -08:00
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
Keith McGuigan
272d7eaffc 7012505: BreakpointWithFullGC.sh fails with Internal Error (src/share/vm/oops/methodOop.cpp:220)
Rebuild breakpoint cache at gc_epilogue instead of during oops_do

Reviewed-by: dcubed, ysr, coleenp
2011-01-19 13:51:53 -08:00
Tom Rodriguez
f028816786 7013008: 2/3 assert(method == NULL || check_method(method, bcp)) failed: bcp must point into method
The Relocator should pass a NULL methodOop when rewriting since its resource array can never contain breakpoints.

Reviewed-by: dcubed, kvn, coleenp
2011-01-19 08:16:45 -08:00
Daniel D. Daugherty
5dc9441b0a 7012493: 2/2 6849574/Test.java fails with Internal Error (src/share/vm/prims/jvmtiTagMap.cpp:3294)
Refine assertion to work before VMThread has started.

Reviewed-by: ysr, never, dholmes, acorn
2011-01-19 07:41:39 -08:00
Daniel D. Daugherty
3f77a1ee13 Merge 2011-01-19 07:15:09 -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
Coleen Phillimore
f29b91c7b1 6811367: Fix code in HeapDumper::dump_heap() to avoid buffer overrun
Check buffer size before using and use dynamic buffer sizes for subsequent calls.

Reviewed-by: kamg, dholmes
2011-01-14 13:47:53 -05:00
Tom Rodriguez
423f587b01 4926272: methodOopDesc::method_from_bcp is unsafe
Reviewed-by: coleenp, jrose, kvn, dcubed
2011-01-13 22:15:41 -08: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
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
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