Commit Graph

6088 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
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
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
Daniel D. Daugherty
ae38e974f0 Merge 2010-08-13 07:33:20 -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
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
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
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
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
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
J. Duke
7c87c80e68 Merge 2017-07-05 17:18:12 +02:00
J. Duke
83714e4d7c Merge 2017-07-05 17:18:09 +02:00
J. Duke
ed7d472203 Merge 2017-07-05 17:18:05 +02:00
J. Duke
83dd0343b2 Merge 2017-07-05 17:18:01 +02:00
J. Duke
dd8645d32f Merge 2017-07-05 17:17:57 +02:00
J. Duke
d62de15335 Merge 2017-07-05 17:17:53 +02:00
J. Duke
9ecd8b0f2b Merge 2017-07-05 17:17:39 +02:00
J. Duke
a803c035d3 Added tag jdk7-b101 for changeset 2548ac036b8f 2017-07-05 17:17:22 +02:00
J. Duke
38378b7ee0 Merge 2017-07-05 17:17:22 +02:00
J. Duke
be7516a167 Merge 2017-07-05 17:17:19 +02:00
J. Duke
847a1275a1 Merge 2017-07-05 17:17:17 +02:00