1365 Commits

Author SHA1 Message Date
Tom Rodriguez
6e78f6cb4b 6981773: incorrect fill value with OptimizeFill
Reviewed-by: kvn, twisti
2010-09-02 11:40:02 -07:00
Tom Rodriguez
690e6e149c Merge 2010-09-01 00:40:05 -07:00
Ivan P Krylov
5d5bcb4bca 6979444: add command line option to print command line flags descriptions
Implementation of a nonproduct boolean flag XX:PrintFlagsWithComments

Reviewed-by: kamg, dholmes, dsamersoff
2010-08-31 03:14:00 -07:00
Tom Rodriguez
84aedee955 6969586: OptimizeStringConcat: SIGSEGV in LoadNode::Value()
Reviewed-by: kvn
2010-08-30 17:27:35 -07:00
Vladimir Kozlov
3f7bac73fe 6980978: assert(mt == t->xmeet(this)) failed: meet not commutative
Fix code in TypeAryPtr::xmeet() for constant array.

Reviewed-by: never
2010-08-30 11:02:53 -07:00
Antonios Printezis
8098787972 Merge 2010-08-30 10:58:13 -07:00
Antonios Printezis
4b9d7640a7 Merge 2010-08-30 13:00:51 -04:00
Daniel D. Daugherty
d7850a0df7 Merge 2010-08-27 21:31:15 -07:00
Tom Rodriguez
150ca9b5b1 Merge 2010-08-27 17:35:08 -07:00
Tom Rodriguez
08d9e03b81 4809552: Optimize Arrays.fill(...)
Reviewed-by: kvn
2010-08-27 17:33:49 -07:00
Keith McGuigan
6247222cf6 6980262: Memory leak when exception is thrown in static initializer
Use resource memory instead of c-heap for the exception message

Reviewed-by: phh, jmasa
2010-08-27 15:05:28 -04:00
Antonios Printezis
b513e518d2 6980206: G1: assert(has_undefined_max_size, "Undefined max size");
An assert in the management.cpp is too strong and assumes the max size is always defined on memory pools, even when we don't need to use it.

Reviewed-by: mchung, johnc
2010-08-27 13:34:14 -04:00
Christian Thalinger
6a0c40f1fe 6961697: move nmethod constants section before instruction section
This is a preparation for 6961690.

Reviewed-by: kvn, never
2010-08-27 01:51:27 -07:00
Vladimir Kozlov
45d90a7775 6976400: "Meet Not Symmetric"
Use NULL as klass for TypeAryPtr::RANGE. Add klass verification into TypeAryPtr ctor.

Reviewed-by: never
2010-08-26 11:05:25 -07:00
David Holmes
670922cd27 6978641: Fix for 6929067 introduces additional overhead in thread creation/termination paths
Disable stack bounds checks in product mode other than for the initial thread

Reviewed-by: coleenp, jcoomes, aph
2010-08-25 21:29:05 -04:00
John Coomes
be6d973a49 6978300: G1: debug builds crash if ParallelGCThreads==0
Reviewed-by: tonyp, ysr
2010-08-25 14:39:55 -07:00
Tom Rodriguez
d486ceec9f Merge 2010-08-25 10:31:45 -07:00
Antonios Printezis
1456a4c423 6941275: G1: The MemoryPools are incorrectly supported for G1
The way we were caluclating the max value meant that it might fluctuate during the run and this broke some assumptions inside the MBeans framework. This change sets the max value of each pool to -1, which means undefined according to the spec.

Reviewed-by: mchung, johnc
2010-08-25 08:44:58 -04:00
Christian Thalinger
a4b2fe3b1c 6978355: renaming for 6961697
This is the renaming part of 6961697 to keep the actual changes small for review.

Reviewed-by: kvn, never
2010-08-25 05:27:54 -07:00
Y. Srinivas Ramakrishna
23ee6aa5f6 6910183: CMS: assert(_index < capacity(),"_index out of bounds")
Weakened a too-strong, off-by-one assert; added code to keep track of and report any overflows at appropriate level of verbosity.

Reviewed-by: jcoomes, tonyp
2010-08-23 17:51:10 -07:00
Vladimir Kozlov
3756a7daa9 6896381: CTW fails share/vm/ci/bcEscapeAnalyzer.cpp:99, assert(_stack_height < _max_stack,"stack overflow")
Check constant Tag type instead of calling get_constant().

Reviewed-by: never
2010-08-23 09:09:36 -07:00
Daniel D. Daugherty
11da6c2e2a Merge 2010-08-23 08:44:03 -07:00
John R Rose
c7e50e8305 6912064: type profiles need to be exploited more for dynamic language support
Reviewed-by: kvn
2010-08-20 23:40:30 -07:00
Antonios Printezis
ec4173f8cc Merge 2010-08-20 12:01:10 -07:00
Tom Rodriguez
519c627fe5 Merge 2010-08-20 09:55:50 -07:00
Tom Rodriguez
a54b1ff70e 6978249: spill between cpu and fpu registers when those moves are fast
Reviewed-by: kvn
2010-08-19 14:51:47 -07:00
Y. Srinivas Ramakrishna
500e68f0b1 6978533: CMS: Elide BOT update asserts until 6977974 is fixed correctly
Reviewed-by: jcoomes, jmasa, tonyp
2010-08-19 12:02:10 -07:00
Pavel Tisnovsky
b002fe5992 6885308: The incorrect -XX:StackRedPages, -XX:StackShadowPages, -XX:StackYellowPages could cause VM crash
Test minimal stack sizes given (also fixed linux compilation error)

Reviewed-by: never, phh, coleenp
2010-08-19 14:23:59 -04:00
John Cuthbertson
846cfeee6e Merge 2010-08-18 17:44:33 -04:00
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
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
Tom Rodriguez
0f1f7c3b7f 6976372: # assert(_owner == Thread::current()) failed: invariant
Reviewed-by: kvn, twisti
2010-08-13 15:14:00 -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