906 Commits

Author SHA1 Message Date
Niclas Adlertz
556b4925b3 8001345: VM crashes with assert(n->outcnt() != 0 || C->top() == n || n->is_Proj()) failed: No dead instructions after post-alloc
Remove unnecessary LoadN / DecodeN nodes at MemBarAcquire nodes.

Reviewed-by: kvn, roland
2013-06-19 00:41:56 +02:00
Vladimir Kozlov
55f6f35697 Merge 2013-06-14 16:33:34 -07:00
David Chase
219121826e 8014959: assert(Compile::current()->live_nodes() < (uint)MaxNodeLimit) failed: Live Node limit exceeded limit
Insert extra checks and bailouts for too many nodes

Reviewed-by: kvn
2013-06-11 16:34:34 -04:00
Calvin Cheung
53448fdbed 8014431: cleanup warnings indicated by the -Wunused-value compiler option on linux
Co-authored-by: Jeremy Manson <jeremymanson@google.com>
Reviewed-by: dholmes, coleenp
2013-06-13 22:02:40 -07:00
Staffan Larsen
718f3252f6 8005849: JEP 167: Event-Based JVM Tracing
Co-authored-by: Karen Kinnear <karen.kinnear@oracle.com>
Co-authored-by: Bengt Rutisson <bengt.rutisson@oracle.com>
Co-authored-by: Calvin Cheung <calvin.cheung@oracle.com>
Co-authored-by: Erik Gahlin <erik.gahlin@oracle.com>
Co-authored-by: Erik Helin <erik.helin@oracle.com>
Co-authored-by: Jesper Wilhelmsson <jesper.wilhelmsson@oracle.com>
Co-authored-by: Keith McGuigan <keith.mcguigan@oracle.com>
Co-authored-by: Mattias Tobiasson <mattias.tobiasson@oracle.com>
Co-authored-by: Markus Gronlund <markus.gronlund@oracle.com>
Co-authored-by: Mikael Auno <mikael.auno@oracle.com>
Co-authored-by: Nils Eliasson <nils.eliasson@oracle.com>
Co-authored-by: Nils Loodin <nils.loodin@oracle.com>
Co-authored-by: Rickard Backman <rickard.backman@oracle.com>
Co-authored-by: Stefan Karlsson <stefan.karlsson@oracle.com>
Co-authored-by: Yekaterina Kantserova <yekaterina.kantserova@oracle.com>
Reviewed-by: acorn, coleenp, sla
2013-06-10 11:30:51 +02:00
Niclas Adlertz
f4682b75e5 8005956: C2: assert(!def_outside->member(r)) failed: Use of external LRG overlaps the same LRG defined in this block
Disable re-materialization of reaching definitions (which have live inputs) for phi nodes when spilling.

Reviewed-by: twisti, kvn
2013-06-03 12:39:33 -07:00
Vladimir Kozlov
ea54d8f3f0 8014811: loopTransform.cpp assert(cmp_end->in(2) == limit) failed
Stop current iteration of loop opts if partial_peel() failed and it created node clones outside processed loop.

Reviewed-by: roland
2013-05-22 09:02:43 -07:00
Christian Thalinger
c6c7f3439e Merge 2013-05-16 13:47:55 -07:00
Yumin Qi
98151c30c8 8012902: remove use of global operator new - take 2
The fix of 8010992, disable use of global operator new and new[] which caused failure on some tests. This takes two of the bugs also add ALLOW_OPERATOR_NEW_USAGE to prevent crash for third party code calling operator new of jvm on certain platforms.

Reviewed-by: coleenp, dholmes, zgu
2013-05-14 09:41:12 -07:00
Vladimir Kozlov
2ed62e808c 8014286: failed java/lang/Math/DivModTests.java after 6934604 changes
Corrected escape state for the result of boxing method. Added force inlining executed boxing methods.

Reviewed-by: twisti
2013-05-13 14:36:39 -07:00
Vladimir Kozlov
d7176bf7f8 8014189: JVM crash with SEGV in ConnectionGraph::record_for_escape_analysis()
Add NULL checks and asserts for Type::make_ptr() returned value.

Reviewed-by: twisti
2013-05-09 17:28:04 -07:00
Vladimir Kozlov
b4977e887a 6934604: enable parts of EliminateAutoBox by default
Resurrected autobox elimination code and enabled part of it by default.

Reviewed-by: roland, twisti
2013-05-08 15:08:01 -07:00
Vladimir Kozlov
1763afaec5 Merge 2013-05-03 15:35:30 -07:00
Mikael Gerdin
94677d4faf Merge 2013-05-02 16:41:09 -07:00
Dean Long
9c966207ef Merge 2013-04-24 21:11:02 -04:00
Goetz Lindenmaier
3f42e9e118 8003853: specify offset of IC load in java_to_interp stub
Refactored code to allow platform-specific differences

Reviewed-by: dlong, twisti
2013-04-24 20:55:28 -04:00
Martin Doerr
19d99e3d92 8012715: G1: GraphKit accesses PtrQueue::_index as int but is size_t
In graphKit INT operations were generated to access PtrQueue::_index which has type size_t. This is 64 bit on 64-bit machines. No problems occur on little endian machines as long as the index fits into 32 bit, but on big endian machines the upper part is read, which is zero. This leads to unnecessary branches to the slow path in the runtime.

Reviewed-by: twisti, johnc
2013-04-24 14:48:43 -07:00
Gilles Duboscq
34da1742ef 8012292: optimized build with GCC broken
Some #ifndef PRODUCT should be #ifdef ASSERT

Reviewed-by: kvn, twisti
2013-04-24 14:26:09 +02:00
Roland Westrelin
6ae26f2e94 8010460: Interpreter on some platforms loads ConstMethod::_max_stack and misses extra stack slots for JSR 292
ConstMethod::max_stack() doesn't account for JSR 292 appendix.

Reviewed-by: kvn
2013-04-24 11:49:38 +02:00
Vladimir Kozlov
ff008d0615 8015441: runThese crashed with assert(opcode == Op_ConP || opcode == Op_ThreadLocal || opcode == Op_CastX2P ..) failed: sanity
Relax the assert to accept any raw ptr types.

Reviewed-by: roland
2013-05-31 13:54:47 -07:00
Bharadwaj Yadavalli
b32dc11760 Merge 2013-04-19 03:13:04 -04:00
Jiangli Zhou
2f703b2613 Merge 2013-04-15 21:25:23 -04:00
Nils Eliasson
92ef5fe748 8006952: Slow VM due to excessive code cache freelist iteration
Remove continous free block requirement

Reviewed-by: kvn
2013-04-11 13:57:44 +02:00
Niclas Adlertz
09fdc18edc 8011621: live_ranges_in_separate_class.patch
Reviewed-by: kvn, roland
2013-04-16 10:08:41 +02:00
David Chase
25c31f3742 6443505: Ideal() function for CmpLTMask
Repair wrong code generation, added new matching rule

Reviewed-by: kvn, twisti
2013-04-12 19:14:47 -07:00
Jiangli Zhou
56370657b9 8010862: The Method counter fields used for profiling can be allocated lazily
Allocate the method's profiling related metadata until they are needed.

Reviewed-by: coleenp, roland
2013-04-09 17:17:41 -04:00
Daniel D. Daugherty
78339229bb Merge 2013-04-05 10:38:08 -07:00
Mikael Vidstedt
eeb83733a6 8003310: Enable -Wunused-function when compiling with gcc
Add the -Wunused-function flag and remove a number of unused functions.

Reviewed-by: dholmes, coleenp, kvn
2013-04-04 10:01:26 -07:00
Chuck Rasbold
93c40233d6 8010437: guarantee(this->is8bit(imm8)) failed: Short forward jump exceeds 8-bit offset
Fix shorten_branches() to accurately count an initial nop that may be inserted in a block that starts with a safepoint.

Reviewed-by: kvn
2013-04-03 15:00:55 -07:00
Vladimir Kozlov
848ccdbdfe 8004640: C2 assert failure in memnode.cpp: NULL+offs not RAW address
Always transform AddP nodes in IdealKit by calling _gvn.transform().

Reviewed-by: roland, twisti
2013-03-26 12:55:26 -07:00
Niclas Adlertz
143a0039a3 8010281: Remove code that is never executed
Reviewed-by: kvn, roland
2013-03-26 10:05:33 +01:00
Christian Thalinger
6964a690ed 7198429: need checked categorization of caller-sensitive methods in the JDK
Reviewed-by: kvn, jrose
2013-03-25 17:13:26 -07:00
Bharadwaj Yadavalli
6132db352d 8009539: JVM crash when run lambda testng tests
Ensure class pointer is non-null before dereferencing it to check if it is loaded.

Reviewed-by: kvn
2013-03-22 07:58:55 -07:00
Morris Meyer
a62f572a50 8009181: [parfait] Null pointer deference in hotspot/src/share/vm/opto/loopTransform.cpp
Add guarantee() to insert_pre_post_loops()

Reviewed-by: kvn
2013-03-20 07:05:40 -07:00
Morris Meyer
c3114a34ee Merge 2013-03-19 16:31:10 -07:00
Morris Meyer
25c4a7fccd 8008811: [parfait] Null pointer deference in hotspot/src/share/vm/opto/loopopts.cpp
Add guarantee() checks

Reviewed-by: kvn
2013-03-19 12:15:35 -07:00
Vladimir Kozlov
3679ebdd7d 8010222: 8007439 disabled inlining of cold accessor methods
Added missing parenthesis

Reviewed-by: jrose
2013-03-19 10:56:33 -07:00
Morris Meyer
887dd2634c 8009172: [parfait] Null pointer deference in hotspot/src/share/vm/opto/output.cpp
Add guarantee() to DoScheduling()

Reviewed-by: twisti, kvn
2013-03-19 07:20:15 -07:00
Morris Meyer
f8081de006 8009166: [parfait] Null pointer deference in hotspot/src/share/vm/opto/type.cpp
Add guarantee() to as_instance_type()

Reviewed-by: kvn, twisti
2013-03-16 07:39:14 -07:00
Nils Eliasson
bcbdbf9996 8005772: Stubs report compile id -1 in phase events
Use 0 to indicate id is NA, -1 for error or uninitalized

Reviewed-by: kvn, twisti
2013-02-13 10:25:09 +01:00
Niclas Adlertz
b26473a6cf 8009721: Make PhaseLive independent from regalloc
Moved class definition of LRG_List from chaitin.hpp to live.hpp

Reviewed-by: kvn, rbackman, roland
2013-03-13 10:56:54 +01:00
Vladimir Kozlov
010f640069 8009472: Print additional information for 8004640 failure
Dump nodes and types in 8004640 case.

Reviewed-by: roland
2013-03-06 12:25:57 -08:00
Roland Westrelin
748083843a 8009460: C2compiler crash in machnode::in_regmask(unsigned int)
7121140 may not correctly break the Allocate -> MemBarStoreStore link

Reviewed-by: kvn
2013-03-06 10:28:38 +01:00
Aleksey Shipilev
4b638cf955 8009120: Fuzz instruction scheduling in HotSpot compilers
Reviewed-by: kvn, vlivanov
2013-03-05 04:24:50 -08:00
Vladimir Ivanov
3b1ccee969 Merge 2013-02-27 08:03:10 -08:00
Igor Ignatyev
50efb858e0 8007439: C2: adding successful message of inlining
Reviewed-by: kvn, vlivanov
2013-02-27 05:58:48 -08:00
Roland Westrelin
fe92862089 8007294: ReduceFieldZeroing doesn't check for dependent load and can lead to incorrect execution
InitializeNode::can_capture_store() must check that the captured store doesn't overwrite a memory location that is loaded before the store.

Reviewed-by: kvn
2013-02-25 14:13:04 +01:00
Vladimir Kozlov
656949d014 8004867: VM crashing with assert "share/vm/opto/node.hpp:357 - assert(i < _max) failed: oob"
Added few checks and early bailout from Superword optimization to avoid such cases in a future.

Reviewed-by: roland, twisti
2013-02-18 16:47:15 -08:00
Roland Westrelin
260e822459 8007959: Use expensive node logic for more math nodes
Use expensive node logic for other more math nodes.

Reviewed-by: kvn
2013-02-18 09:06:24 +01:00
Roland Westrelin
c401bf065d 7197327: 40% regression on 8 b41 comp 8 b40 on specjvm2008.mpegaudio on oob
Add support for expensive nodes.

Reviewed-by: kvn
2013-02-12 12:56:11 +01:00