1237 Commits

Author SHA1 Message Date
Poonam Bajaj
a25ce80e78 8136577: Make AbortVMOnException available in product builds
Reviewed-by: coleenp
2015-10-14 15:36:41 -07:00
David Lindholm
5770f4eb32 8042893: compiler: PRAGMA_FORMAT_MUTE_WARNINGS_FOR_GCC needs to be removed from source files
8042894: runtime: PRAGMA_FORMAT_MUTE_WARNINGS_FOR_GCC needs to be removed from source files

Reviewed-by: goetz, brutisso
2015-10-09 09:42:33 +02:00
Vivek R Deshpande
5a633b1cbd 8132207: update for x86 exp in the math lib
Add new java.lang.Math() intrinsics from x86

Reviewed-by: kvn, iveresov
2015-10-05 20:02:40 -07:00
Jesper Wilhelmsson
e75e2e04f7 Merge 2015-10-07 01:03:24 +02:00
Felix Yang
12cba200a3 8138583: aarch64: add support for vectorizing fabs/fneg
Reviewed-by: aph, roland
2015-09-30 04:35:39 -04:00
Ed Nevill
ffd60d555b 8139259: aarch64: jtreg test TestLogSum segvs after 8132207
Fix jump to 0 caused by uninitialised _dexp in 8132207

Reviewed-by: roland, kvn
2015-10-13 09:40:39 +02:00
Jan Civlin
115afda88e 8136725: Provide utility for creation a counted loop reserve copy (clone)
Make it easier to revert to the original loop should that be needed

Reviewed-by: kvn
2015-10-09 12:17:58 -07:00
Zoltan Majo
fc2a5e9d53 8078554: Compiler: implement ranges (optionally constraints) for those flags that have them missing
Add range check or constraint where necessary.

Reviewed-by: roland, thartmann
2015-10-09 14:21:26 +02:00
Christian Thalinger
16526e000e 8136421: JEP 243: Java-Level JVM Compiler Interface
Reviewed-by: ihse, alanb, roland, coleenp, iveresov, kvn, kbarrett
2015-10-08 12:49:30 -10:00
Zoltan Majo
fab17a4e67 8137160: Use Compile::live_nodes instead of Compile::unique() in appropriate places -- followup
Change two code locations to use live_nodes() instead of unique() for allocating memory. Adjust comments.

Reviewed-by: kvn
2015-10-08 12:10:19 +02:00
David Lindholm
1e71f67736 8080775: Better argument formatting for assert() and friends
Reviewed-by: kbarrett, pliden
2015-09-29 11:02:08 +02:00
Goetz Lindenmaier
f0c12f35cb 8141137: C2 fails rematerializing nodes using flag registers
Don't rem. if input stretches several live ranges. If rem., don't add SpillCopy on RegFlags edge.

Reviewed-by: kvn, vlivanov
2015-11-02 15:52:37 +01:00
Roland Westrelin
c18a26c573 8142386: Octane crashes with assert(is_Load())
Unsafe access to an array is wrongly marked as mismatched

Reviewed-by: vlivanov, thartmann
2015-11-17 12:00:16 +01:00
Nils Eliasson
c2892b5dce Merge 2015-11-16 20:56:18 +01:00
Hui Shi
854b8d1ff1 8139758: [REDO] Elide more final field's write memory barrier with escape analysis result
Membar for all final field initializations eliminated if possible

Reviewed-by: roland, vlivanov
2015-11-16 16:14:15 +01:00
Roland Westrelin
a59fb9d9c1 Merge 2015-11-16 11:58:31 +00:00
Roland Westrelin
baaa8f79ed 8042997: Make intrinsic some or all check index/range methods
Objects.checkIndex() intrinsic

Reviewed-by: vlivanov, shade
2015-11-16 09:55:25 +01:00
Tobias Hartmann
c9b5f58d7f 8142500: missing null checks in IfNode::has_only_uncommon_traps
IfNode::has_only_uncommon_traps needs to null-check the callers.

Reviewed-by: kvn, roland, rbackman
2015-11-16 08:03:24 +01:00
Nils Eliasson
2f9e32256d Merge 2015-11-13 13:31:48 +01:00
Christian Thalinger
6896030b96 8140424: don't prefix developer and notproduct flag variables with CONST_ in product builds
Reviewed-by: goetz, stefank
2015-11-11 16:32:17 -10:00
Aleksey Shipilev
ac09d8a135 8140650: Method::is_accessor should cover getters and setters for all types
Reviewed-by: vlivanov, coleenp, sgehwolf
2015-11-11 01:27:36 +03:00
Vladimir Kozlov
6ed8c23581 8141624: Limit calculation of pre loop during super word optimization is wrong
Reviewed-by: vlivanov, kvn
2015-11-10 21:36:35 -08:00
Roland Westrelin
fa6545ccc1 8137168: Replace IfNode with a new RangeCheckNode for range checks
New RangeCheckNode to enable optimization of explicit library level range checks

Reviewed-by: kvn, thartmann
2015-11-09 11:28:31 +01:00
Michael C Berg
e86e38619e 8140779: Code generation fixes for avx512
Assembler refactoring. Abstract away instruction attributes.

Reviewed-by: kvn, roland, iveresov
2015-11-09 11:26:41 -08:00
Roland Westrelin
45b3ce816a 8140309: [REDO] failed: no mismatched stores, except on raw memory: StoreB StoreI
Mismatched stores on same slice possible with Unsafe.Put*Unaligned methods

Reviewed-by: kvn, thartmann
2015-10-28 10:20:33 +01:00
Tobias Hartmann
7e827560be Merge 2015-11-06 08:45:13 +00:00
Tobias Hartmann
af2e00ae90 8140574: C2 must re-execute checks after deoptimizing from merged uncommon traps
Before merging uncommon traps we have to check for proper bci domination and compatible JVMStates to guarantee correct re-execution of the checks.

Reviewed-by: kvn, roland
2015-11-06 09:36:47 +01:00
Roland Westrelin
f8abd0e843 8136820: Generate better code for some Unsafe addressing patterns
Reshape address computation to move invariant part out of loops

Reviewed-by: kvn
2015-09-17 16:53:42 +02:00
Roland Westrelin
92af9b015c 8136926: phi == NULL assert in PhaseIdealLoop::try_move_store_after_loop
Multiple phis on same slice are possible in a loop

Reviewed-by: kvn, mcberg
2015-09-22 15:25:34 +02:00
Hui Shi
0f4b248b18 8136596: Remove aarch64: MemBarRelease when final field's allocation is NoEscape or ArgEscape
Elide MemBar when AllocateNode _is_non_escaping

Reviewed-by: kvn, roland
2015-09-21 10:51:33 +02:00
Nils Eliasson
5ca8983920 8135068: Extract method matchers from CompilerOracle
Ecapsulate code to enable reuse

Reviewed-by: roland, kvn
2015-09-18 10:11:11 +02:00
Tobias Hartmann
f298249547 8134739: compiler/loopopts/superword/TestVectorizationWithInvariant crashes in loop opts
Bail out of superword optimization if loop was removed (i.e., if zero-trip Opaque1Node was removed).

Reviewed-by: kvn, roland
2015-09-17 08:08:47 +02:00
Michael Berg
d49d1ea740 8134802: LCM register pressure scheduling
Calculate register pressure in a block to help instructions scheduling.

Reviewed-by: kvn, dlong
2015-09-16 13:16:17 -07:00
Vladimir Kozlov
a402bebf6e Merge 2015-09-16 20:33:16 +02:00
Vladimir Kozlov
44a4201adc 8136406: Remove ZapDeadCompiledLocals code
Dead code elimination.

Reviewed-by: roland, twisti
2015-09-15 11:04:11 -07:00
Roland Westrelin
c55d212196 8136461: PhaseIdealLoop::try_move_store_before_loop() may bypass early loop exit
PhaseIdealLoop::try_move_store_before_loop() needs to check for early loop exit before candidate Stores

Reviewed-by: kvn
2015-09-15 13:08:43 +02:00
Roland Westrelin
404fc5caa8 8134974: 8130847 broken with loop predicates
Pinned eliminated arraycopy loads in uncommon trap path for loop predicates may need to be moved

Reviewed-by: kvn
2015-09-08 19:19:08 +02:00
Roland Westrelin
8dd169a71f 8135069: C2 replaces range checks by unsigned comparison with -1
I < 0 || i > -1 wrongly folded as i >u -1

Reviewed-by: kvn
2015-09-11 16:56:56 +02:00
Tobias Hartmann
6479241f4a 8135252: IdealLoopTree::dump_head() prints negative trip count
IdealLoopTree::dump_head() should not cast float to int.

Reviewed-by: kvn
2015-09-14 10:00:26 +02:00
Igor Veresov
e88940fae6 Merge 2015-09-10 17:56:43 -07:00
Michael Berg
e75f5a5cde 8135028: support for vectorizing double precision sqrt
Reviewed-by: kvn, twisti
2015-09-09 10:34:17 -07:00
Jesper Wilhelmsson
1736e104a1 Merge 2015-09-08 16:10:37 +02:00
Vladimir Ivanov
0fcb9ffe75 8065151: Support IdealGraphVisualizer in optimized build
Reviewed-by: kvn
2015-09-06 10:13:18 +03:00
Nils Eliasson
559bf7ef6e 8135067: Preparatory refactorings for compiler control
Extract CompileTask and clean up

Reviewed-by: roland
2015-09-04 12:47:57 +02:00
Ahmed Khawaja
d7b8032741 8132081: C2 support for Adler32 on SPARC
Add C2 instrinsic support for Adler32 checksum on SPARC.

Reviewed-by: kvn
2015-09-03 15:03:12 -07:00
Dmitry Samersoff
6ed285af0a Merge 2015-08-31 21:46:33 +03:00
Roland Westrelin
ed9e8b9ff2 8134031: Incorrect JIT compilation of complex code with inlining and escape analysis
Bad rewiring of memory edges when we split unique types during EA

Reviewed-by: kvn
2015-08-31 17:20:08 +02:00
Roland Westrelin
7ef7c96fde 8134468: Lucene test failures with 32 bit JDK 9b78, Server compiler
Test that checks whether an array load falls into the range of an arraycopy is incorrect on 32bits

Reviewed-by: iveresov, kvn
2015-09-02 10:00:27 +02:00
Aleksey Shipilev
7c7692856a 8134758: Final String field values should be trusted as stable
Reviewed-by: kvn, thartmann
2015-09-01 19:48:10 +03:00
Aleksey Shipilev
e3007b79ad 8076758: new StringBuilder().append(String).toString() should be recognized by OptimizeStringConcat
Reviewed-by: kvn, thartmann
2015-09-01 12:57:41 +03:00