336 Commits

Author SHA1 Message Date
John Coomes
8fc946854c 6765954: par compact - stress mode for splitting young gen spaces
Reviewed-by: jmasa
2008-12-11 12:05:21 -08:00
John Coomes
7a9585170d 6765745: par compact - allow young gen spaces to be split
Reviewed-by: jmasa
2008-12-11 12:05:14 -08:00
John Coomes
000b184507 6578152: fill_region_with_object has usability and safety issues
Reviewed-by: apetrusenko, ysr
2008-12-11 12:05:08 -08:00
Y. Srinivas Ramakrishna
26f6b1692a 6782457: CMS: Livelock in CompactibleFreeListSpace::block_size()
6736295: SIGSEGV in product jvm, assertion "these are the only valid states during a mark sweep" in fastdebug

Restructured the code in the perm gen allocation retry loop so as to avoid "safepoint-blocking" on locks, in this case the Heap_lock, while holding uninitialized allocated heap storage.

Reviewed-by: apetrusenko, iveresov, jcoomes, jmasa, poonam
2008-12-10 23:46:10 -08:00
Jon Masamitsu
dd80e77a74 Merge 2008-12-04 13:21:16 -08:00
Vladimir Kozlov
d9c6682945 Merge 2008-12-04 08:55:34 -08:00
Igor Veresov
af509dd90d 6779436: NUMA allocator: libnuma expects certain size of the buffer in numa_node_to_cpus()
In os::Linux::rebuild_cpu_to_node_map() fix the size of the CPU bitmap. Fixed arithmetic in MutableNUMASpace::adaptive_chunk_size() that could cause overflows and underflows of the chunk_size variable.

Reviewed-by: apetrusenko
2008-12-03 14:18:57 -08:00
Vladimir Kozlov
f2f18a01e5 6775880: EA +DeoptimizeALot: assert(mon_info->owner()->is_locked(),"object must be locked now")
Create new "eliminated" BoxLock node for monitor debug info when corresponding locks are eliminated.

Reviewed-by: never
2008-12-03 13:41:37 -08:00
Y. Srinivas Ramakrishna
16aa57cb4b 6778647: snap(), snap_policy() should be renamed setup(), setup_policy()
Renamed Reference{Policy,Pocessor} methods from snap{,_policy}() to setup{,_policy}()

Reviewed-by: apetrusenko
2008-12-01 23:25:24 -08:00
Igor Veresov
ed99040266 Merge 2008-11-26 09:24:57 -08:00
Tom Rodriguez
2bba3afabc 6756768: C1 generates invalid code
Reviewed-by: kvn, jrose
2008-11-25 13:14:07 -08:00
Y. Srinivas Ramakrishna
6c53645a84 6774607: SIGSEGV or (!is_null(v),"oop value can never be zero") assertion when running with CMS and COOPs
Use the more permissive set_klass_or_null() and klass_or_null() interfaces in ParNew's workqueue overflow code that manipulates the klass-word.

Reviewed-by: coleenp
2008-11-24 09:53:31 -08:00
Xiaobin Lu
85138023c1 6554406: Change switch UseVMInterruptibleIO default to false (sol)
The default value of UseVMInterruptibleIO is changed to false for JDK 7, but the default isn't changed for JDK 6 and earlier.

Reviewed-by: never, acorn, dholmes, kamg, alanb
2008-11-22 00:16:09 -08:00
Keith McGuigan
e64aa947c4 Merge 2008-11-21 15:10:14 -05:00
Coleen Phillimore
50a5499c50 6676175: BigApps crash JVM Client VM (build 10.0-b22, mixed mode, sharing) with SIGSEGV (0xb)
Add test for biased locking epoch before walking own thread stack in case of rare race

Reviewed-by: phh, never
2008-11-21 08:09:11 -08:00
Y. Srinivas Ramakrishna
7d7cf3f8af 6684579: SoftReference processing can be made more efficient
For current soft-ref clearing policies, we can decide at marking time if a soft-reference will definitely not be cleared, postponing the decision of whether it will definitely be cleared to the final reference processing phase. This can be especially beneficial in the case of concurrent collectors where the marking is usually concurrent but reference processing is usually not.

Reviewed-by: jmasa
2008-11-20 16:56:09 -08:00
Y. Srinivas Ramakrishna
db6bef2c70 6722113: CMS: Incorrect overflow handling during precleaning of Reference lists
When we encounter marking stack overflow during precleaning of Reference lists, we were using the overflow list mechanism, which can cause problems on account of mutating the mark word of the header because of conflicts with mutator accesses and updates of that field. Instead we should use the usual mechanism for overflow handling in concurrent phases, namely dirtying of the card on which the overflowed object lies. Since precleaning effectively does a form of discovered list processing, albeit with discovery enabled, we needed to adjust some code to be correct in the face of interleaved processing and discovery.

Reviewed-by: apetrusenko, jcoomes
2008-11-20 12:27:41 -08:00
Igor Veresov
28b2c4aeaf Merge 2008-11-19 14:20:51 -08:00
Jon Masamitsu
a2078f04e8 6771742: Remove duplicate files from G1 merge
Remove duplicate files and add includeDB_gc_g1 file in windows Makefile

Reviewed-by: jcoomes, ysr
2008-11-18 14:52:33 -08:00
Vladimir Kozlov
43051c98f3 6773078: UseCompressedOops: assert(kid == 0L || s->_leaf->in(0) == 0L,"internal operands have no control")
Don't set the control edge of a klass load node.

Reviewed-by: never
2008-11-18 14:47:36 -08:00
Vladimir Kozlov
893d1c4148 6766316: assert(!nocreate,"Cannot build a phi for a block already parsed.")
Don't use the invariant local information if there are irreducible loops.

Reviewed-by: never
2008-11-18 12:40:28 -08:00
Vladimir Kozlov
f2c8d25c73 6772413: code cleanup
Removed lines in adm64.make with interpret.o and moved few constant strings from header files.

Reviewed-by: never
2008-11-18 12:31:53 -08:00
Igor Veresov
cbf1c89d60 6770608: G1: Mutator thread can flush barrier and satb queues during safepoint
6660573: G1: BigApps Failure : guarantee(satb_mq_set.completed_buffers_num() == 0,"invariant")

When exiting a mutator thread is removed from the thread list before it has a chance to flush its SATB and barrier queues. If GC happens at this moment the objects that are refererred from these queues can be moved, which will case a crash. The fix is simply to flush the buffers before removing a thread from the list.

Reviewed-by: jcoomes, tonyp
2008-11-14 14:23:05 -08:00
Vladimir Kozlov
ce3f3dd8d3 6767659: Conversion from i486 to x86 missed some entries in makefiles
Fixed missed entries.

Reviewed-by: never
2008-11-13 14:50:04 -08:00
John R Rose
4e2c4fb4bd 6770949: minor tweaks before 6655638
Minor cleanups & tuning of array.hpp, debug.cpp, growableArray.hpp, hashtable.cpp

Reviewed-by: kvn
2008-11-12 23:26:45 -08:00
John R Rose
849e0ffb04 6653858: dynamic languages need to be able to load anonymous classes
Low-level privileged sun.misc.Unsafe.defineAnonymousClass

Reviewed-by: kvn
2008-11-12 22:33:26 -08:00
Tom Rodriguez
1716627be0 6758445: loop heads that are exception entry points can crash during count_edges/mark_loops
Reviewed-by: kvn, jrose
2008-11-11 23:03:35 -08:00
Tom Rodriguez
6cea928f70 Merge 2008-11-07 13:55:14 -08:00
Vladimir Kozlov
7aae40a95f 6462850: generate biased locking code in C2 ideal graph
Inline biased locking code in C2 ideal graph during macro nodes expansion

Reviewed-by: never
2008-11-07 09:29:38 -08:00
Tom Rodriguez
2c3b8ec969 6761594: framesize rounding code rounds using wrong units leading to slightly oversized frames
Reviewed-by: rasbold, kvn
2008-11-06 20:00:03 -08:00
Chuck Rasbold
0e63b7609a 6743900: frequency based block layout
Post-register allocation pass that drives block layout by edge frequencies

Reviewed-by: never, kvn
2008-11-06 14:59:10 -08:00
Tom Rodriguez
7bcfb5965d 6764622: IdealGraphVisualizer fixes
Reviewed-by: rasbold, jrose
2008-10-30 17:08:48 -07:00
Keith McGuigan
7de6d649be 6756528: Bytecodes::special_length_at reads past end of code buffer
Add end-of-buffer indicator for paths used by the verifier

Reviewed-by: acorn, coleenp
2008-10-30 15:48:59 -04:00
John Coomes
401e04572a 6765804: GC "dead ratios" should be unsigned
Reviewed-by: ysr, tonyp
2008-10-29 06:30:02 -07:00
Tom Rodriguez
8537533873 6649622: HotSpot Biased locking needs tuning on latest CPUs
Reviewed-by: rasbold, kvn, kamg
2008-10-28 18:02:09 -07:00
Tom Rodriguez
429a95440a 6754519: don't emit flag fixup for NaN when condition being tested doesn't need it
Reviewed-by: kvn, rasbold
2008-10-28 09:31:30 -07:00
Xiaobin Lu
107bbcc8f4 Merge 2008-10-22 20:47:00 -07:00
Karen Kinnear
4fa4c137a2 Merge 2008-10-22 15:07:23 -04:00
Karen Kinnear
347534f43b 6761092: jvm crashes when CDS is enabled
CDS hardcoded max c++ virtual method table increased

Reviewed-by: coleenp, xlu, jmasa
2008-10-22 14:48:08 -04:00
Tom Rodriguez
bc7e37f4df Merge 2008-10-21 11:21:45 -07:00
Xiaobin Lu
fa8846d054 Merge 2008-10-17 15:18:02 -07:00
Daniel D. Daugherty
f60d27c8f6 Merge 2008-10-16 11:07:39 -07:00
Erik Trimble
4b983d3b39 Merge 2008-10-15 18:51:04 -07:00
Mandy Chung
e5e6ca9d62 6306922: Dump dump created by +HeapDumpOnOutOfMemoryError should include stack traces for stack roots
Include stack traces of all threads in the heap dump

Reviewed-by: alanb
2008-10-14 15:16:38 -07:00
Vladimir Kozlov
55925534ec 6532536: Optimize arraycopy stubs for Intel cpus
Use SSE2 movdqu in arraycopy stubs on newest Intel's cpus

Reviewed-by: rasbold
2008-10-14 15:10:26 -07:00
Coleen Phillimore
d1aacc7cdf 6700107: java/lang/Class/forName/TooManyDimensions.java crashes with SIGSEGV in c2 compiler with fastdebug
ObjArrayKlass::compute_modifier_flags was unnecessarily recursive

Reviewed-by: kamg
2008-10-14 10:15:33 -04:00
Chuck Rasbold
0dac6431d2 6717150: improper constant folding of subnormal strictfp multiplications and divides
Suppress constant folding of double divides and multiplications on ia32

Reviewed-by: never
2008-10-14 06:58:58 -07:00
Igor Veresov
bc9f364917 6758633: G1: SEGV with GCOld on Linux
Avoid growth of a GrowableArray backend of HeapRegionSeq.

Reviewed-by: tonyp, jcoomes
2008-10-13 21:41:42 -07:00
Antonios Printezis
04b0ebb9c1 Merge 2008-10-09 12:06:22 -04:00
Kumar Srinivasan
3a72f5c241 6755845: JVM_FindClassFromBoot triggers assertions
Fixes assertions caused by one jvm_entry calling another, solved by refactoring code and modified gamma test.

Reviewed-by: dholmes, xlu
2008-10-08 08:10:51 -07:00