Commit Graph

1683 Commits

Author SHA1 Message Date
Y. Srinivas Ramakrishna
fc61f2721e 6977970: CMS: concurrentMarkSweepGeneration.cpp:7947 assert(addr <= _limit) failed: sweep invariant
Allow for the possibility (when the heap is expanding) that the sweep might skip over and past, rather than necessarily step on, the sweep limit determined at the beginning of a concurrent marking cycle.

Reviewed-by: jmasa, tonyp
2010-08-18 11:39:21 -07:00
John Cuthbertson
3b69a96c58 6977924: Changes for 6975078 produce build error with certain gcc versions
The changes introduced for 6975078 assign badHeapOopVal to the _allocation field in the ResourceObj class. In 32 bit linux builds with certain versions of gcc this assignment will be flagged as an error while compiling allocation.cpp. In 32 bit builds the constant value badHeapOopVal (which is cast to an intptr_t) is negative. The _allocation field is typed as an unsigned intptr_t and gcc catches this as an error.

Reviewed-by: jcoomes, ysr, phh
2010-08-18 10:59:06 -07:00
Gary Benson
a325f5589a 6977640: Zero and Shark fixes
A number of fixes for Zero and Shark.

Reviewed-by: twisti
2010-08-18 01:22:16 -07:00
Abhijit Saha
a3319eba8a 6977952: Test: Sync missing tests from hs16.3 to hs17.x
Reviewed-by: wrockett
2010-08-17 22:52:50 -07:00
Erik Trimble
2929434832 Merge 2010-08-18 16:11:21 -07:00
Antonios Printezis
ce2883fbbd 6975964: G1: print out a more descriptive message for evacuation failure when +PrintGCDetails is set
We're renaming "evacuation failure" to "to-space overflow". I'm also piggy-backing a small additional change which removes the "Mark closure took..." output.

Reviewed-by: ysr, johnc
2010-08-17 14:40:00 -04:00
Antonios Printezis
7125621712 6974928: G1: sometimes humongous objects are allocated in young regions
As the title says, sometimes we are allocating humongous objects in young regions and we shouldn't.

Reviewed-by: ysr, johnc
2010-08-17 14:40:00 -04:00
Antonios Printezis
1f0201f90b 6959014: G1: assert(minimum_desired_capacity <= maximum_desired_capacity) failed: sanity check
There are a few issues in the code that calculates whether to resize the heap and by how much: a) some calculations can overflow 32-bit size_t's, b) min_desired_capacity is not bounded by the max heap size, and c) the assrt that fires is in the wrong place. The fix also includes some tidying up of the related verbose code.

Reviewed-by: ysr, jmasa
2010-08-17 14:40:00 -04:00
Erik Trimble
1b2d47b99b Merge 2010-08-17 09:43:34 -07:00
Y. Srinivas Ramakrishna
77f845359a 6948538: CMS: BOT walkers can fall into object allocation and initialization cracks
GC workers now recognize an intermediate transient state of blocks which are allocated but have not yet completed initialization. blk_start() calls do not attempt to determine the size of a block in the transient state, rather waiting for the block to become initialized so that it is safe to query its size. Audited and ensured the order of initialization of object fields (klass, free bit and size) to respect block state transition protocol. Also included some new assertion checking code enabled in debug mode.

Reviewed-by: chrisphi, johnc, poonam
2010-08-16 15:58:42 -07:00
John Cuthbertson
becf7cffb3 Merge 2010-08-14 00:47:52 -07:00
Tom Rodriguez
0f1f7c3b7f 6976372: # assert(_owner == Thread::current()) failed: invariant
Reviewed-by: kvn, twisti
2010-08-13 15:14:00 -07:00
Christine Lu
21a5efbe75 Added tag jdk7-b105 for changeset 1b104350a980 2010-08-13 11:38:16 -07:00
Erik Trimble
ba5d36a6d6 6977051: Bump the HS19 build number to 06
Update the HS19 build number to 06

Reviewed-by: jcoomes
2010-08-13 10:56:17 -07:00
Erik Trimble
728414c987 Merge 2010-08-13 10:55:42 -07:00
Daniel D. Daugherty
ae38e974f0 Merge 2010-08-13 07:33:20 -07:00
Tom Rodriguez
a96301c84e 6975006: assert(check.is_deoptimized_frame()) failed: missed deopt
Reviewed-by: kvn, twisti
2010-08-12 23:34:34 -07:00
Tom Rodriguez
1d736d2851 6974176: ShouldNotReachHere, instanceKlass.cpp:1426
Reviewed-by: kvn, twisti
2010-08-12 16:38:23 -07:00
John Coomes
bb7d4b2b35 6976378: ParNew: stats are printed unconditionally in debug builds
Reviewed-by: tonyp
2010-08-11 13:12:28 -07:00
Vladimir Kozlov
b092cb33e6 6973329: C2 with Zero based COOP produces code with broken anti-dependency on x86
Recompile without subsuming loads if RA try to clone a node with anti_dependence.

Reviewed-by: never
2010-08-11 10:48:20 -07:00
Gary Benson
d7310fb0f7 6976186: integrate Shark HotSpot changes
Shark is a JIT compiler for Zero that uses the LLVM compiler infrastructure.

Reviewed-by: kvn, twisti
2010-08-11 05:51:21 -07:00
Christian Thalinger
c9ac8cc788 6975855: don't emit deopt MH handler in C1 if not required
This CR implements the same for C1 as 6926782 for C2.

Reviewed-by: never
2010-08-11 01:17:27 -07:00
Jeremy Manson
b36bff7dcd 6378314: Bad warning message when agent library not found. local directory is not searched
Print a more detailed error message for agent library load failure.

Reviewed-by: jcoomes, never, ohair, coleenp
2010-08-10 19:17:57 -04:00
Y. Srinivas Ramakrishna
7ee29eeb6a 6973570: OrderAccess::storestore() scales poorly on multi-socket x64 and sparc: cache-line ping-ponging
Volatile store to static variable removed in favour of a volatile store to stack to avoid excessive cache coherency traffic; verified that the volatile store is not elided by any of our current compilers.

Reviewed-by: dholmes, dice, jcoomes, kvn
2010-08-10 14:53:35 -07:00
Tom Rodriguez
dc37d152e7 6975027: use of movptr to set length of array
Reviewed-by: kvn, iveresov
2010-08-10 12:15:10 -07:00
John Coomes
b0e98512a7 6970376: ParNew: shared TaskQueue statistics
Reviewed-by: ysr
2010-08-09 18:03:50 -07:00
Tom Rodriguez
68ff9b2b00 Merge 2010-08-09 17:51:56 -07:00
Vladimir Kozlov
2e48a18645 6975078: assert(allocated_on_res_area() || allocated_on_C_heap() || allocated_on_arena()
Pass the check in ResourceObj() if _allocation value is already set and object is allocated on stack.

Reviewed-by: dholmes, johnc
2010-08-09 15:17:05 -07:00
John Coomes
7fe1c05c7c 6966222: G1: simplify TaskQueue overflow handling
Reviewed-by: tonyp, ysr
2010-08-09 05:41:05 -07:00
Christine Lu
b8117e7869 Added tag jdk7-b104 for changeset 83e5347f5988 2010-08-06 12:51:54 -07:00
Vladimir Kozlov
7895bef72f 6975049: nsk/regression/b4287029 crashes with -Xss64 on solaris-i586
Tell C++ to not inline so much by using flag -xspace.

Reviewed-by: ysr
2010-08-06 11:53:28 -07:00
John Cuthbertson
f8eed77f36 6930581: G1: assert(ParallelGCThreads > 1 || n_yielded() == _hrrs->occupied(),"Should have yielded all the .
During RSet updating, when ParallelGCThreads is zero, references that point into the collection set are added directly the referenced region's RSet. This can cause the sparse table in the RSet to expand. RSet scanning and the "occupied" routine will then operate on different instances of the sparse table causing the assert to trip. This may also cause some cards added post expansion to be missed during RSet scanning. When ParallelGCThreads is non-zero such references are recorded on the "references to be scanned" queue and the card containing the reference is recorded in a dirty card queue for use in the event of an evacuation failure. Employ the parallel code in the serial case to avoid expanding the RSets of regions in the collection set.

Reviewed-by: iveresov, ysr, tonyp
2010-08-06 10:17:21 -07:00
Erik Trimble
72990b87b1 Added tag hs19-b04 for changeset 9dfa2b7f8640 2010-08-05 02:48:45 -07:00
Vladimir Kozlov
4728aa064a 6974682: CTW: assert(target != NULL) failed: must not be null
Add address table size to constant section size.

Reviewed-by: never
2010-08-04 17:42:20 -07:00
Antonios Printezis
b4148f3379 6963209: G1: remove the concept of abandoned pauses
As part of 6944166 we disabled the concept of abandoned pauses (i.e., if the collection set is empty, we would still try to do a pause even if it is to update the RSets and scan the roots). This changeset removes the code and structures associated with abandoned pauses.

Reviewed-by: iveresov, johnc
2010-08-04 13:03:23 -04:00
Erik Trimble
169880d486 Merge 2010-08-03 19:01:25 -07:00
Vladimir Kozlov
5bed80aab9 6973963: SEGV in ciBlock::start_bci() with EA
Added more checks into ResourceObj and growableArray to verify correctness of allocation type.

Reviewed-by: never, coleenp, dholmes
2010-08-03 15:55:03 -07:00
Bob Vandette
b95c7e9523 6953477: Increase portability and flexibility of building Hotspot
A collection of portability improvements including shared code support for PPC, ARM platforms, software floating point, cross compilation support and improvements in error crash detail.

Reviewed-by: phh, never, coleenp, dholmes
2010-08-03 08:13:38 -04:00
Vladimir Kozlov
f0b6dc4e4f 6973308: Missing zero length check before repne scas in check_klass_subtype_slow_path()
Set Z = 0 (not equal) before repne_scan() to indicate that class was not found when RCX == 0.

Reviewed-by: never, phh
2010-07-30 10:21:15 -07:00
Erik Trimble
4ce3f156ec 6973381: Bump the HS19 build number to 05
Update the HS19 build number to 05

Reviewed-by: jcoomes
2010-07-30 06:56:40 -07:00
Erik Trimble
a4b5c38070 Merge 2010-07-29 23:14:56 -07:00
Christine Lu
5bc757e86c Added tag jdk7-b103 for changeset 0dc48f97ffd1 2010-07-29 13:33:08 -07:00
Coleen Phillimore
c45761e2a8 6958465: Sparc aten build24.0: openjdk-7.ea-b96 failed Error: Formal argument ... requires an lvalue
Fix compilation errors.  Made non-const references const so can be assigned with lvalue.

Reviewed-by: phh, xlu
2010-07-28 17:57:43 -04:00
Andrew Haley
d44a3683b1 6888526: Linux getCurrentThreadCpuTime is drastically slower than Windows
Reviewed-by: dcubed, dholmes
2010-07-28 17:38:21 +01:00
Tom Rodriguez
b071e2accc Merge 2010-07-26 15:58:07 -07:00
Andrei Pangin
53ac035768 Merge 2010-07-25 07:31:50 -07:00
Michael Wilkerson
f907666b7c Added tag jdk7-b102 for changeset e2378fd93633 2010-07-23 16:42:15 -07:00
Y. Srinivas Ramakrishna
27c8e4b84a Merge 2010-07-23 14:31:15 -07:00
Tom Rodriguez
0ed8a9f6fc Merge 2010-07-23 10:21:17 -07:00
Vladimir Kozlov
3fbdd52bdf 6969569: assert(is_static() && is_constant()) failed: illegal call to constant_value()
Add missing is_static guard.

Reviewed-by: twisti
2010-07-23 10:07:46 -07:00
Tom Rodriguez
762e078636 6970566: runThese fails with SIGSEGV
Reviewed-by: kvn
2010-07-22 15:29:22 -07:00
Antonios Printezis
38ab95c64b 6962589: remove breadth first scanning code from parallel gc
Remove the breadth-first copying order from ParallelScavenge and use depth-first by default.

Reviewed-by: jcoomes, ysr, johnc
2010-07-22 10:27:41 -04:00
John Cuthbertson
3a2b2b4fd8 6814437: G1: remove the _new_refs array
The per-worker _new_refs array is used to hold references that point into the collection set. It is populated during RSet updating and subsequently processed. In the event of an evacuation failure it processed again to recreate the RSets of regions in the collection set. Remove the per-worker _new_refs array by processing the references directly. Use a DirtyCardQueue to hold the cards containing the references so that the RSets of regions in the collection set can be recreated when handling an evacuation failure.

Reviewed-by: iveresov, jmasa, tonyp
2010-08-02 12:51:43 -07:00
Kevin Walls
75c23332be Merge 2010-07-31 15:10:59 +01:00
Kevin Walls
5fb46fd5a8 6581734: CMS Old Gen's collection usage is zero after GC which is incorrect
Management code enabled for use by a concurrent collector.

Reviewed-by: mchung, ysr
2010-07-30 22:43:50 +01:00
Y. Srinivas Ramakrishna
f495cb2581 Merge 2010-07-21 12:45:42 -07:00
Y. Srinivas Ramakrishna
eceef28d8c Merge 2010-07-21 09:57:21 -07:00
Erik Trimble
54f18dfa74 Merge 2010-07-20 18:13:55 -07:00
Y. Srinivas Ramakrishna
625332a903 Merge 2010-07-20 16:09:44 -07:00
Andrei Pangin
3888d500b9 6964170: Verifier crashes
Check if klassOop != NULL rather than klass_part != NULL

Reviewed-by: kamg, never
2010-07-20 08:41:42 -07:00
John Cuthbertson
5c3da1ee7e 6956639: G1: assert(cached_ptr != card_ptr) failed: shouldn't be, concurrentG1Refine.cpp:307
During concurrent refinment, filter cards in young regions after it has been determined that the region has been allocated from and the young type of the region has been set.

Reviewed-by: iveresov, tonyp, jcoomes
2010-07-19 11:06:34 -07:00
Andrei Pangin
8ce591cea8 Merge 2010-07-17 21:49:23 -07:00
John Coomes
daf491a814 6962947: shared TaskQueue statistics
Reviewed-by: tonyp, ysr
2010-07-16 21:33:21 -07:00
John R Rose
7e34622217 6969574: invokedynamic call sites deoptimize instead of executing
Reviewed-by: kvn
2010-07-16 18:14:19 -07:00
Y. Srinivas Ramakrishna
4efdcb87d1 Merge 2010-07-16 10:09:15 -07:00
Tom Rodriguez
734af9cd47 Merge 2010-07-16 08:29:42 -07:00
Alan Bateman
640336ebe6 6649594: Intermittent IOExceptions during dynamic attach on linux and solaris
Reviewed-by: dcubed, dholmes
2010-07-16 13:14:03 +01:00
Michael Wilkerson
431a99ccf9 Added tag jdk7-b101 for changeset c8f322bd177e 2010-07-15 20:11:35 -07:00
Erik Trimble
89ddf727ca Merge 2010-07-15 19:52:58 -07:00
Erik Trimble
374e15fb40 Merge 2010-07-15 19:51:34 -07:00
John R Rose
a4e4149340 6964498: JSR 292 invokedynamic sites need local bootstrap methods
Add JVM_CONSTANT_InvokeDynamic records to constant pool to determine per-instruction BSMs.

Reviewed-by: twisti
2010-07-15 18:40:45 -07:00
Tom Rodriguez
ffb15fdb04 Merge 2010-07-15 13:48:01 -07:00
Tom Rodriguez
ea25541820 6968336: VM crash guarantee(!nm->is_zombie()) failed: cannot lock a zombie method
Reviewed-by: twisti
2010-07-15 08:54:48 -07:00
Andrei Pangin
6572ca3124 Merge 2010-07-14 17:52:18 -04:00
Vladimir Kozlov
2b339c9319 6968368: SIGSEGV in the BCEscapeAnalyzer::copy_dependencies
Use GrowableArray and VectorSet allocated in ciEnv arena.

Reviewed-by: never, twisti
2010-07-14 14:47:34 -07:00
Vladimir Kozlov
7378cf14d9 6968646: JVM crashes with SIGFPE during startup
Check that cpuid returns valid values for processor topology (not zeros).

Reviewed-by: never, twisti
2010-07-14 14:29:14 -07:00
Tom Rodriguez
1eabc28737 6968385: malformed xml in sweeper logging
Reviewed-by: kvn
2010-07-12 22:27:18 -07:00
Y. Srinivas Ramakrishna
c0b1b0d0e7 Merge 2010-07-12 12:53:52 -07:00
Tom Rodriguez
d3c3800a29 6958668: repeated uncommon trapping for new of klass which is being initialized
Reviewed-by: kvn, jrose
2010-07-12 10:58:25 -07:00
Michael Wilkerson
d65cdc272a Added tag jdk7-b100 for changeset 4670a882996f 2010-07-09 19:18:22 -07:00
Erik Trimble
5cd8be04d6 Merge 2010-07-09 00:35:35 -07:00
Erik Trimble
dcb3877665 Merge 2010-07-09 00:32:48 -07:00
Erik Trimble
cbe3e79eb9 Added tag hs19-b03 for changeset 4670a882996f 2010-07-09 00:31:01 -07:00
Tom Rodriguez
7533d0caf7 6965184: possible races in make_not_entrant_or_zombie
Reviewed-by: kvn
2010-07-08 14:29:44 -07:00
Mandy Chung
a20650acd0 6967423: Hotspot support for modules image
Add hotspot support for modules image

Reviewed-by: acorn
2010-07-07 15:35:58 -07:00
Tom Rodriguez
ae3ddc1514 Merge 2010-07-07 12:40:01 -07:00
Karen Kinnear
7c19b04e6d Merge 2010-07-07 14:12:08 -04:00
Vladimir Kozlov
cc513a8564 6966411: escape.cpp:450 assert(base->Opcode() == Op_ConP
Execute IGVN optimization before and after Escape Analysis

Reviewed-by: never
2010-07-02 17:30:30 -07:00
Tom Rodriguez
bf1ca00b7c 6965671: fatal error: acquiring lock JNIGlobalHandle_lock/16 out of order with lock CodeCache_lock/1
Reviewed-by: kvn, dcubed
2010-07-02 15:01:47 -07:00
Karen Kinnear
13ac5e3af2 6964164: MonitorInUseLists leak of contended objects
Fix MonitorInUseLists memory leak and MonitorBound now works

Reviewed-by: chrisphi, dice
2010-07-02 17:23:43 -04:00
Erik Trimble
b4884449a6 6966252: Bump the HS19 build number to 04
Update the HS19 build number to 04

Reviewed-by: jcoomes
2010-07-02 01:37:36 -07:00
Erik Trimble
2d9848a160 Merge 2010-07-02 01:36:15 -07:00
John Coomes
e8dbd32204 6957084: simplify TaskQueue overflow handling
Reviewed-by: ysr, jmasa
2010-07-01 21:40:45 -07:00
Michael Wilkerson
21eac83406 Merge 2010-06-30 18:57:35 -07:00
Coleen Phillimore
091b24c59d Merge 2010-06-30 11:52:10 -04:00
Phil Race
a58629198d 6964882: 32 bit JDK does not build on 64 bit Windows platforms
Reviewed-by: ohair, valeriep
2010-06-29 16:33:41 -07:00
John R Rose
7b529c7ee7 Merge 2010-06-29 16:09:57 -07:00
Vladimir Kozlov
4bd0381466 6964774: Adjust optimization flags setting
Adjust performance flags settings.

Reviewed-by: never, phh
2010-06-29 10:34:00 -07:00
Vladimir Kozlov
448b83e288 6677629: PhaseIterGVN::subsume_node() should call hash_delete() and add_users_to_worklist()
Use replace_node() method instead of subsume_node().

Reviewed-by: jrose, never
2010-06-28 14:54:39 -07:00
Antonios Printezis
dfc84e8c89 6944166: G1: explicit GCs are not always handled correctly
G1 was not handling explicit GCs correctly in many ways. It does now. See the CR for the list of improvements contained in this changeset.

Reviewed-by: iveresov, ysr, johnc
2010-06-28 14:13:17 -04:00