1276 Commits

Author SHA1 Message Date
Tobias Hartmann
85296fec28 8036851: volatile double accesses are not explicitly atomic in C2
The C2 structure is adapted to distinguish between volatile and non-volatile double accesses.

Reviewed-by: twisti, kvn
2014-05-06 09:17:57 +02:00
Tobias Hartmann
ded0d16e25 8042052: assert(t != NULL) failed: must set before get
Added missing call to _gvn.transform to make sure the type of the PhiNode is recorded in the gvn.

Reviewed-by: kvn
2014-05-05 15:10:43 +02:00
Vladimir Kozlov
c909ac41de 8039298: assert(base == NULL || t_adr->isa_rawptr() || !phase->type(base)->higher_equal(TypePtr::NULL_PTR))
Convert the assert into the runtime check to skip IGVN optimizations for problematic memory nodes. Eliminate dead nodes more aggressively.

Reviewed-by: twisti, iveresov
2014-05-02 16:44:54 -07:00
Shrinivas Joshi
c0f886ec65 8035936: SIGBUS in StubRoutines::aesencryptBlock, solaris-sparc
Fix the arbitrary alignment issue in SPARC AES crypto stub routines.

Reviewed-by: kvn, iveresov
2014-04-30 14:14:01 -07:00
Niclas Adlertz
922879d58e 8029302: Performance regression in Math.pow intrinsic
Added special case for x^y where y == 2

Reviewed-by: kvn, roland
2014-04-25 12:48:34 +02:00
Vladimir Kozlov
26de6296e0 8041351: Crash in src/share/vm/opto/loopnode.cpp:3215 - assert(!had_error) failed: bad dominance
Add missing is_mem() check when we collect load nodes in SuperWord::co_locate_pack().

Reviewed-by: iveresov
2014-04-22 17:45:56 -07:00
Richard Reingruber
728ea561aa 8038048: assert(null_obj->escape_state() == PointsToNode::NoEscape,etc) runThese -full
Use correct set_escape_state() method.

Reviewed-by: kvn, iignatyev
2014-04-16 14:49:03 -07:00
Vladimir Kozlov
8badeecc2c 8039050: Crash in C2 compiler at Node::rematerialize
Added missing calls to record_for_igvn() in loop opts. Added verification of def-use domination.

Reviewed-by: iveresov
2014-04-15 14:34:48 -07:00
Roland Westrelin
f5adc57f94 8032410: compiler/uncommontrap/TestStackBangRbp.java times out on Solaris-Sparc V9
Make compiled code bang the stack by the worst case size of the interpreter frame at deoptimization points.

Reviewed-by: twisti, kvn
2014-04-01 09:36:49 +02:00
Albert Noll
bce45e9222 Merge 2014-04-14 09:04:36 +00:00
Albert Noll
e2305182b5 8039425: Code cleanup: PhaseIterGVN::optimize()
This code cleanup aims at improving code readability.

Reviewed-by: kvn, roland
2014-04-14 10:57:07 +02:00
Albert Noll
7e1059b62d 8034216: assert(false) failed: infinite loop in PhaseIterGVN::optimize
Eagerly remove all castPP nodes in PhaseCCP to get type convergence in memnode.

Reviewed-by: kvn, roland
2014-04-11 11:33:00 +02:00
Igor Veresov
e6456ff2a4 8038297: Avoid placing CTI immediately following cbcond instruction on T4
Insert a nop between cbcond and CTI

Reviewed-by: kvn, twisti
2014-04-10 23:15:13 -07:00
Roland Westrelin
522abfc113 8005079: fix LogCompilation for incremental inlining
Report late inlining as part of the rest of the inlining output

Reviewed-by: twisti, kvn
2014-04-10 11:38:12 +02:00
Tobias Hartmann
65d6e6b331 8036898: assert(t != NULL) failed: must set before get
Ignore nodes without a type when checking for speculative types in Compile::remove_speculative_types(...).

Reviewed-by: kvn, roland
2014-04-10 09:26:24 +02:00
Roland Westrelin
eb8588549a 8007988: PrintInlining output is inconsistent with incremental inlining
Fix duplicate and conflicting inlining output

Reviewed-by: kvn, vlivanov
2014-04-09 09:17:43 +02:00
Morris Meyer
6db303a301 8001532: C2 node files refactoring
Split C2 node files into cast, convert, countbits, intrinsic, move, narrowptr and opaquenode classes

Reviewed-by: kvn, morris
2014-04-01 09:05:20 -07:00
Roland Westrelin
fa3b0a8f47 8031755: Type speculation should be used to optimize explicit null checks
Feed profiling data about reference nullness to type speculation.

Reviewed-by: kvn, iveresov
2014-03-31 09:08:53 +02:00
Lutz Schmidt
ac75d4fc2f 8037821: Account for trampoline stubs when estimating code buffer sizes
Take into account space needed for "trampoline code" used by calls on PPC64.

Reviewed-by: kvn
2014-03-25 12:54:21 -07:00
Poonam Bajaj
1516f610a1 6653795: C2 intrinsic for Unsafe.getAddress performs pointer sign extension on 32-bit systems
Native pointers less than 64 bits wide should be extended as an unsigned number.

Reviewed-by: kvn, kevinw
2014-03-24 08:43:10 -07:00
Vladimir Kozlov
97a51c5c2a 8031320: Use Intel RTM instructions for locks
Use RTM for inflated locks and stack locks.

Reviewed-by: iveresov, twisti, roland, dcubed
2014-03-20 17:49:27 -07:00
Igor Veresov
54db2c2d61 8032463: VirtualDispatch test timeout with DeoptimizeALot
Introduce code aging for warm method detection

Reviewed-by: kvn, twisti
2014-05-13 11:32:10 -07:00
Igor Veresov
768beb9a23 8031321: Support Intel bit manipulation instructions
Add support for BMI1 instructions

Reviewed-by: kvn, roland
2014-03-12 11:24:26 -07:00
David Chase
a0bb00ac27 Merge 2014-03-11 10:59:26 -07:00
David Chase
13a70d932e 8028037: [parfait] warnings from b114 for hotspot.src.share.vm
Insert null check for one warning; other warning handled in parfait config

Reviewed-by: kvn
2014-03-11 13:38:32 -04:00
Nils Eliasson
f457cabe80 Merge 2014-03-11 11:26:14 -04:00
Igor Veresov
35f1475d20 8025644: java/util/stream/test/org/openjdk/tests/java/util/stream/ToArrayOpTest.java fails with TestData$OfRef): failure java.lang.AssertionError: expected [true] but found [false]
In GraphKit::gen_checkcast() provide only exact superklass to GraphKit::maybe_cast_profiled_receiver()

Reviewed-by: kvn, roland
2014-03-10 11:09:02 -07:00
Vladimir Ivanov
bd8255eaa4 8036667: "assert(adr->is_AddP() && adr->in(AddPNode::Offset)->is_Con()) failed: offset is a constant" with FoldStableValues on
Reviewed-by: kvn
2014-03-06 09:53:14 -08:00
Roland Westrelin
d5ff84f8b3 8032633: Enable type speculation by default
Enable type speculation

Reviewed-by: kvn
2014-03-06 11:11:04 +01:00
Vladimir Ivanov
3ba019c8b2 8035828: Turn on @Stable support in VM
Reviewed-by: jrose, twisti
2014-03-04 02:20:41 -08:00
Aleksey Shipilev
1d10b6813e 8031818: Experimental VM flag for enforcing safe object construction
-XX:+AlwaysSafeConstructors to unconditionally emit the trailing constructor barrier.

Reviewed-by: kvn, roland
2014-03-03 15:31:27 +04:00
Aleksey Shipilev
c4bd0f58d3 8033380: Experimental VM flag to enforce access atomicity
-XX:+AlwaysAtomicAccesses to unconditionally enforce the access atomicity.

Reviewed-by: roland, kvn, iveresov
2014-03-03 15:54:45 +04:00
Dmitry Samersoff
4482a30c61 8036102: part of the fix for 6498581 lost in mismerge
Restore code lost in mis-merge

Reviewed-by: dcubed
2014-03-01 09:56:15 -08:00
Morris Meyer
c696dd6700 Merge 2014-02-28 08:02:20 -08:00
Roland Westrelin
227129c4d9 8031754: Type speculation should favor profile data from outermost inlined method
Favor profile data coming from outer most method

Reviewed-by: kvn, twisti
2014-02-28 13:44:16 +01:00
Igor Veresov
2c99a4ef9f 8035283: Second phase of branch shortening doesn't account for loop alignment
Added missing check for loop padding case.

Reviewed-by: kvn, jrose
2014-02-26 16:45:15 -08:00
Per Lidén
4dc240f785 8079792: GC directory structure cleanup
Reviewed-by: brutisso, stefank, david
2015-05-13 15:16:06 +02:00
Harold Seigel
b2c117b170 Merge 2014-02-23 13:16:03 -05:00
Markus Grönlund
68857c9469 8035493: JVMTI PopFrame capability must instruct compilers not to prune locals
Reviewed-by: kvn, sla, coleenp, sspitsyn
2014-02-22 10:22:05 +01:00
Vladimir Kozlov
4200d0d095 Merge 2014-02-20 12:20:56 -08:00
Goetz Lindenmaier
a5520f1c94 8035394: PPC64: Make usage of intrinsic dsqrt depend on processor recognition
Reviewed-by: kvn
2014-02-20 11:05:12 +01:00
Vladimir Kozlov
5117e1a805 Merge 2014-02-19 12:08:49 -08:00
Henry Jen
a752b0b503 8033215: clang: node.cpp:284 IDX_INIT macro use uninitialized field _out
Reviewed-by: twisti, kvn
2014-02-11 21:32:19 -08:00
Niclas Adlertz
94a86285a7 8010500: [parfait] Possible null pointer dereference at hotspot/src/share/vm/opto/loopnode.hpp
Added NULL check for loopnode() in get_pre_loop_end()

Reviewed-by: kvn, roland
2014-02-26 07:46:46 +01:00
Roland Westrelin
84c68fc78a Merge 2014-02-25 10:42:25 -08:00
Roland Westrelin
493557fc90 8031752: Failed speculative optimizations should be reattempted when root of compilation is different
Support for speculative traps that keep track of the root of the compilation in which a trap occurs.

Reviewed-by: kvn, twisti
2014-02-25 18:16:24 +01:00
Niclas Adlertz
5d4b624caf 8033260: assert(lrg._area >= 0.0) failed: negative spill area
Change type from float to double on block frequency, and add check for +Inf - +Inf operation

Reviewed-by: kvn, roland
2014-02-25 17:51:27 +01:00
Niclas Adlertz
532b570e81 8032656: Tag the MachSpillCopies with purpose information
Subclassed the MachSpillCopyNode with different subnodes for different spill purposes to enhance debugging / visualization

Reviewed-by: kvn, roland
2014-02-25 14:09:02 +01:00
Niclas Adlertz
e3931e81eb 8032894: Remove dead code in Pressure::lower
Remove dead code in Pressure::lower

Reviewed-by: kvn, roland
2014-02-25 10:26:21 +01:00
Vladimir Kozlov
7d92dc4d79 Merge 2014-01-28 12:28:17 -08:00