1305 Commits

Author SHA1 Message Date
Vladimir Ivanov
d39c84770b 8152972: C2 crashes with SIGSEGV in LoadNode::make
Reviewed-by: kvn
2016-03-29 21:33:26 +03:00
Rahul Raghavan
9acc5ad3ce 8145348: Make intrinsics flags diagnostic
Converted product or develop intrinsics flags to diagnostic.

Reviewed-by: kvn
2016-03-28 01:08:02 -07:00
Vladimir Ivanov
661796fe3f 8152179: C2: Folding of unsigned loads is broken w/ @Stable
Reviewed-by: jrose, kvn
2016-03-28 13:49:34 +03:00
Vladimir Ivanov
3d03610bf4 8152773: C2: LoadNode properties aren't preserved when converting between signed/unsigned variants
Reviewed-by: jrose, kvn
2016-03-28 13:49:34 +03:00
Aleksey Shipilev
d8f23ea33b 8152698: Remove obsolete Unsafe.putOrdered{X} methods, usages, runtime and compiler support
Reviewed-by: kvn, psandoz
2016-03-25 15:34:30 +03:00
Zoltan Majo
3edb7b95ba Merge 2016-03-23 15:01:42 +01:00
Chris Hegarty
9978f9b065 Merge 2016-03-22 17:04:25 +00:00
Chris Hegarty
5af2dcd643 Merge 2016-03-22 10:43:58 +00:00
Zoltan Majo
5751808a6c 8148754: C2 loop unrolling fails due to unexpected graph shape
Check if graph shape is appropriate for optimization, bail out optimization if not.

Reviewed-by: kvn, twisti, shade, dnsimon
2016-03-21 09:51:20 +01:00
Alan Bateman
f30fc1c88b 8142968: Module System implementation
Initial integration of JEP 200, JEP 260, JEP 261, and JEP 282

Co-authored-by: Alex Buckley <alex.buckley@oracle.com>
Co-authored-by: Jonathan Gibbons <jonathan.gibbons@oracle.com>
Co-authored-by: Karen Kinnear <karen.kinnear@oracle.com>
Co-authored-by: Mandy Chung <mandy.chung@oracle.com>
Co-authored-by: Mark Reinhold <mark.reinhold@oracle.com>
Co-authored-by: Harold Seigel <harold.seigel@oracle.com>
Co-authored-by: Lois Foltan <lois.foltan@oracle.com>
Co-authored-by: Calvin Cheung <calvin.cheung@oracle.com>
Co-authored-by: Christian Tornqvist <christian.tornqvist@oracle.com>
Co-authored-by: Erik Joelsson <erik.joelsson@oracle.com>
Co-authored-by: George Triantafillou <george.triantafillou@oracle.com>
Co-authored-by: Igor Ignatyev <igor.ignatyev@oracle.com>
Co-authored-by: Ioi Lam <ioi.lam@oracle.com>
Co-authored-by: James Laskey <james.laskey@oracle.com>
Co-authored-by: Jean-Francois Denise <jean-francois.denise@oracle.com>
Co-authored-by: Jiangli Zhou <jiangli.zhou@oracle.com>
Co-authored-by: Markus Gronlund <markus.gronlund@oracle.com>
Co-authored-by: Serguei Spitsyn <serguei.spitsyn@oracle.com>
Co-authored-by: Staffan Larsen <staffan.larsen@oracle.com>
Co-authored-by: Sundararajan Athijegannathan <sundararajan.athijegannathan@oracle.com>
Reviewed-by: acorn, ccheung, coleenp, ctornqvi, dholmes, dsimms, gtriantafill, iklam, jiangli, mgronlun, mseledtsov, cjplummer, sspitsyn, stefank, twisti, hseigel, lfoltan, alanb, mchung, dfazunen
2016-03-17 19:04:01 +00:00
Tobias Hartmann
42ba4188b0 8151882: -XX:+Verbose prints messages even if no other flag is set
We should only print messages if PrintOpto && WizardMode is set.

Reviewed-by: kvn, neliasso
2016-03-17 09:41:46 +01:00
Tobias Hartmann
23a62fdfca 8150804: C2 Compilation fails with assert(_base >= OopPtr && _base <= AryPtr) failed: Not a Java pointer
Wait with removing casts from inputs in PhiNode::ideal() until after parsing for the type information to propagate.

Reviewed-by: kvn
2016-03-15 17:42:28 +01:00
Vladimir Ivanov
ffdd79f89c 8141420: Compiler runtime entries don't hold Klass* from being GCed
Reviewed-by: kvn, coleenp
2016-03-14 12:35:48 +03:00
Jesper Wilhelmsson
f6609ea3d2 Merge 2016-03-05 10:10:23 +01:00
Vladimir Ivanov
a1b61d2827 8150933: System::arraycopy intrinsic doesn't mark mismatched loads
Reviewed-by: kvn, shade
2016-03-01 20:06:47 +03:00
Markus Grönlund
0e44e963d2 8143226: Minor updates to Event Based tracing
Reviewed-by: jbachorik, egahlin
2016-03-01 23:46:09 +01:00
Gustavo Romero
1c2427a182 8150353: PPC64LE: Support RTM on linux
Reviewed-by: mdoerr, kvn
2016-03-07 10:03:06 -03:00
Zoltan Majo
77c73b6d4f Merge 2016-03-07 09:34:29 +01:00
Aleksey Shipilev
103aff334f 8146801: Allocating short arrays of non-constant size is slow
Reviewed-by: kvn, twisti, vlivanov
2016-03-04 01:30:11 +03:00
Aleksey Shipilev
548530cf08 8150465: Unsafe methods to produce uninitialized arrays
Reviewed-by: jrose, kvn, psandoz, aph, twisti, flar
2016-03-03 23:57:29 +03:00
Mikael Vidstedt
c40e7bc21f 8149159: Clean up Unsafe
Reviewed-by: jrose, kvn, stsmirno, chegar, aph, psandoz, redestad, twisti
2016-03-03 09:33:30 -08:00
Vladimir Ivanov
bb51ea7a06 8150543: Mismatched access detection is inaccurate
Reviewed-by: kvn, shade
2016-02-29 23:46:55 +03:00
Claes Redestad
ea5a3565b8 8150720: Cleanup code around PrintOptoStatistics
Reviewed-by: kvn, shade, vlivanov
2016-02-29 15:05:45 +01:00
Vladimir Ivanov
abebc2da5c 8150186: Folding mismatched accesses with @Stable is incorrect
Reviewed-by: kvn, jrose, shade
2016-02-26 01:58:26 +03:00
Aleksey Shipilev
0c43809cfe 8148146: Integrate new internal Unsafe entry points, and basic intrinsic support for VarHandles
Reviewed-by: psandoz, kvn, jrose, adinn, simonis, coleenp
2016-02-23 22:09:41 +03:00
Roland Westrelin
449c65bf50 8007986: GrowableArray should implement binary search
Binary search method for GrowableArray

Reviewed-by: vlivanov, jrose
2016-02-23 17:59:27 +01:00
Aleksey Shipilev
0e31a18fd1 8150180: String.value contents should be trusted
Reviewed-by: vlivanov, redestad, jrose, twisti
2016-02-23 17:55:20 +03:00
Roland Westrelin
98eca9ebe8 8148786: xml.tranform fails on x86-64
CCP computes wrong type for CountedLoop iv Phi

Reviewed-by: kvn
2016-02-17 10:59:04 +01:00
Aleksey Shipilev
03174f3030 8149813: Move trusted final field handling from C2 LoadNode::Value to shared code
Reviewed-by: thartmann, kvn
2016-02-15 23:45:15 +03:00
Vladimir Ivanov
8555d89404 Merge 2016-02-15 18:42:45 +00:00
Vladimir Ivanov
f1fe7d5aca 8148994: Replacing MH::invokeBasic with a direct call breaks LF customization
Reviewed-by: jrose, redestad
2016-02-15 20:26:50 +03:00
Roland Westrelin
0cd6070d58 8149797: Compilation fails with "assert(in_hash) failed: node should be in igvn hash table"
Node replaced by dominating dead cast during parsing

Reviewed-by: kvn
2016-02-15 15:15:56 +01:00
Tobias Hartmann
8b42758800 Merge 2016-02-15 11:52:51 +01:00
Andrew Dinn
78d37841ef 8087341: C2 doesn't optimize redundant memory operations with G1
Effect of memory barrier in post barrier is too wide

Reviewed-by: kvn, aph
2016-02-15 10:14:33 +01:00
Jesper Wilhelmsson
c6d81e192d Merge 2016-02-11 21:07:38 +01:00
Roland Westrelin
3e3ac8f318 8149543: range check CastII nodes should not be split through Phi
Splitting range check CastIIs through loop induction Phi prevents further optimizations

Reviewed-by: kvn, mcberg
2016-02-11 12:42:12 +01:00
Michael Berg
3ade110066 8149421: Vectorized Post Loops
Add vectorised post loop for counted loops with vectors.

Reviewed-by: kvn
2016-02-12 16:12:15 -08:00
Tobias Hartmann
afca49ff29 8148752: Compiled StringBuilder code throws StringIndexOutOfBoundsException
Fixed handling of long/double MH arguments in GraphBuilder::try_method_handle_inline().

Reviewed-by: roland, shade, vlivanov, kvn, twisti
2016-02-10 07:54:26 +01:00
Roland Westrelin
9d5f03332e 8143542: C2 doesn't eliminate identical checks
Two identical Ifs back to back can be merged

Reviewed-by: kvn
2016-02-03 12:36:18 +01:00
Roland Westrelin
7fa54e38e6 8137049: Code quality: reducing an trivial integer loop does not produce an optimal code
Canonicalized if shape not recognized by empty loop detection code

Reviewed-by: kvn, shade
2016-01-29 17:18:35 +01:00
Roland Westrelin
1462f0b038 8147645: get_ctrl_no_update() code is wrong
Array.fill intrinsification code doesn't mark replaced control as dead

Reviewed-by: kvn
2016-02-03 10:58:50 +01:00
Krystal Mo
415eda1274 8003585: strength reduce or eliminate range checks for power-of-two sized arrays
Change ((x & m) u<= m) to always true and ((x & (m - 1)) u< m) into (m > 0)

Reviewed-by: kvn, roland
2016-01-19 14:52:33 +01:00
Tobias Hartmann
9e2947c3c6 Merge 2016-01-29 08:47:18 +01:00
Tobias Hartmann
832443d3b0 Merge 2016-01-28 09:49:17 +01:00
Zoltan Majo
477c40e4eb 8146478: Node limit exceeded with -XX:AllocateInstancePrefetchLines=1073741823
Constrain the set of accepted values for the Allocate{PrefetchLines, InstancePrefetchLines, PrefetchStepSize, PrefetchDistance} flags. Increase macro node expansion budget.

Reviewed-by: kvn
2016-01-28 08:33:45 +01:00
Roland Westrelin
dc88c70fbb 8147853: "assert(t->meet(t0) == t) failed: Not monotonic" with sun/util/calendar/zi/TestZoneInfo310.java
Type of counted loop Phi may be saturated before special code to handle counted loops kicks in

Reviewed-by: kvn
2016-01-21 18:04:14 +01:00
Volker Simonis
f3dca540d8 8145336: PPC64: fix string intrinsics after CompactStrings change
Reviewed-by: mdoerr, aph, kvn
2016-01-20 16:33:51 +01:00
Roland Westrelin
b6658d2b5f 8146999: hotspot/test/compiler/c2/8007294/Test8007294.java test nightly failure
Uncast() fails with CheckCastPP

Reviewed-by: kvn, thartmann
2016-01-18 21:34:28 +01:00
Coleen Phillimore
f8800caf4f Merge 2016-01-14 16:26:38 -05:00
Jesper Wilhelmsson
54d0181916 Merge 2016-01-14 17:36:29 +01:00