Stefan Karlsson
e4b27a48a0
8183574: Unify the is_power_of_2 functions
...
Reviewed-by: kbarrett, redestad
2020-02-17 10:03:17 +01:00
Roland Westrelin
1af059d4cb
8231291: C2: loop opts before EA should maximally unroll loops
...
Reviewed-by: kvn, vlivanov
2019-12-20 17:17:37 +01:00
Jesper Wilhelmsson
b936939454
Merge
2020-01-20 18:05:07 +01:00
Roland Westrelin
995fae6d4b
8235584: UseProfiledLoopPredicate fails with assert(_phase->get_loop(c) == loop) failed: have to be in the same loop
...
Reviewed-by: thartmann, neliasso
2020-01-10 17:50:51 +01:00
Patric Hedlin
9549cd2877
8235870: C2 crashes in IdealLoopTree::est_loop_flow_merge_sz()
...
Reviewed-by: thartmann
2020-01-13 11:26:44 +01:00
Nils Eliasson
e1b94b1635
8235653: Clean-up BarrierSetC2
...
Reviewed-by: redestad, rkennke, thartmann
2019-12-11 14:08:20 +01:00
Tobias Hartmann
642d2ddcbc
8235452: Strip mined loop verification fails with assert(is_OuterStripMinedLoop()) failed: invalid node class
...
Do not try to verify strip mining if the strip mined loop is malformed.
Reviewed-by: roland, vlivanov
2019-12-11 10:42:44 +01:00
Claes Redestad
06cb195865
8234331: Add robust and optimized utility for rounding up to next power of two
...
Reviewed-by: eosterlund, stuefe, jrose
2019-12-06 18:05:36 +01:00
Jesper Wilhelmsson
d34f561de0
Merge
2020-01-15 20:41:46 +01:00
Roland Westrelin
8d2e11397a
8237007: Shenandoah: assert(_base == Tuple) failure during C2 compilation
...
Reviewed-by: thartmann, rkennke
2020-01-09 17:26:26 +01:00
Claes Redestad
12adeca887
8233708: VectorSet cleanup
...
Reviewed-by: neliasso, shade, thartmann
2019-11-07 12:12:39 +01:00
Erik Österlund
42885307f6
8230565: ZGC: Redesign C2 load barrier to expand on the MachNode level
...
Co-authored-by: Per Liden <per.liden@oracle.com>
Co-authored-by: Stefan Karlsson <stefan.karlsson@oracle.com>
Co-authored-by: Nils Eliasson <nils.eliasson@oracle.com>
Reviewed-by: pliden, stefank, neliasso
2019-10-09 12:30:06 +00:00
Roland Westrelin
703760bbec
8231550: C2: ShouldNotReachHere() in verify_strip_mined_scheduling
...
Reviewed-by: vlivanov, thartmann
2019-10-02 17:32:08 +02:00
Patric Hedlin
8275b17b07
8229499: Node budget assert in fuzzed test
...
Reviewed-by: thartmann, neliasso
2019-09-12 11:44:51 +02:00
Christian Hagedorn
2c3973af9b
8225653: Provide more information when hitting SIGILL from HaltNode
...
Add information string for each HaltNode which is printed if hit at runtime.
Reviewed-by: vlivanov, thartmann
2019-09-10 08:43:33 +02:00
Erik Österlund
a8842c9f59
8225642: ZGC: Crash due to bad oops being spilled to stack in load barriers
...
Co-authored-by: Stuart Monteith <stuart.monteith@linaro.org>
Reviewed-by: neliasso, pliden
2019-07-02 11:33:05 +02:00
Patric Hedlin
ca29203cac
8225475: Node budget asserts on x86_32/64
...
Make the (ad-hoc) loop cloning size estimate more pessimistic.
Reviewed-by: shade
2019-06-25 11:43:36 +02:00
Nils Eliasson
75e9d0a290
8224675: Late GC barrier insertion for ZGC
...
Reviewed-by: roland, eosterlund, pliden
2019-02-14 14:54:05 +01:00
Patric Hedlin
d222b01dee
8223363: Bad node estimate assertion failure
...
8223502: Node estimate for loop unswitching is not correct: assert(delta <= 2 * required) failed: Bad node estimate
8224648: assert(!exceeding_node_budget()) failed: Too many NODES required! failure with ctw
Tighten the node estimates. New est_loop_clone_sz() implementation that will compute a "fan-out" complexity estimate as part of the size estimate (to better estimate complex loop body size after cloning). New est_loop_unroll_sz() function, used to estimate the size of a loop body att full/maximal unrolling. Correction to node budget final tests and asserts.
Reviewed-by: neliasso, kvn
2019-05-28 14:56:58 +02:00
Patric Hedlin
e08506e683
8216137: assert failed: Live node limit exceeded
...
8219520: assert failed: Live node limit exceeded
Adding simplistic node budget support for loop-transformations. This /should/attempts to/ resolve most cases of: "assert(Compile::current()->live_nodes() < Compile::current()->max_node_limit()) failed: Live Node limit exceeded limit".
Reviewed-by: vlivanov, neliasso
2019-04-17 14:57:53 +02:00
Patric Hedlin
f4faee7bae
8223140: Clean-up in 'ok_to_convert()'
...
Simplify logic in function. Added precond/postcond macros.
Reviewed-by: vlivanov, neliasso
2019-04-17 14:55:11 +02:00
Patric Hedlin
205085d8d5
8223138: Small clean-up in loop-tree support
...
Rename predicate 'is_inner()' to 'is_innermost()' to be accurate. Added 'is_root()' predicate for root parent test in loop-tree. Changed definition of 'is_loop()' to always lazy-read the tail, since it should never be NULL. Cleanup of 'tail()' definition.
Reviewed-by: vlivanov, neliasso
2019-05-02 11:05:47 +02:00
Patric Hedlin
fcbca82247
8223137: Rename predicate 'do_unroll_only()' to 'is_unroll_only()'
...
Reviewed-by: vlivanov
2019-04-17 14:52:25 +02:00
Roman Kennke
03ab1404f0
8221766: Load-reference barriers for Shenandoah
...
Reviewed-by: kvn, erikj, aph, shade
2019-04-02 23:00:22 +02:00
Roland Westrelin
3ec1137c1f
8220374: C2: LoopStripMining doesn't strip as expected
...
Reviewed-by: rkennke, thartmann, mdoerr
2019-03-12 15:42:32 +01:00
Vladimir Ivanov
40c61cce4b
8218874: C2: Unsafe to access PhaseIdealLoop outside of constructors
...
Reviewed-by: thartmann, kvn
2019-02-14 15:27:12 -08:00
Roman Kennke
8b62a2ee9d
8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
...
Co-authored-by: Christine Flood <chf@redhat.com>
Co-authored-by: Aleksey Shipilev <shade@redhat.com>
Co-authored-by: Roland Westrelin <rwestrel@redhat.com>
Co-authored-by: Zhenygu Gu <zgu@redhat.com>
Co-authored-by: Andrew Haley <aph@redhat.com>
Co-authored-by: Andrew Dinn <adinn@redhat.com>
Co-authored-by: Mario Torre <mtorre@redhat.com>
Reviewed-by: kvn, roland, shade, coleenp, lmesnik, pliden, jgeorge, ihse, erikj
2018-12-10 15:47:44 +01:00
Roland Westrelin
8849b1c7b7
8214172: GC interface entry points for loop opts
...
Reviewed-by: kvn, rkennke
2018-11-27 09:35:02 +01:00
Roland Westrelin
8f4456e77a
8211451: ~2.5% regression on compression benchmark starting with 12-b11
...
Reviewed-by: kvn, thartmann
2018-11-08 10:20:04 +01:00
Roland Westrelin
b146cbfc10
8213779: Loop opts anti dependent store detection should ignore uncommon trap calls
...
Reviewed-by: kvn
2018-11-13 09:59:50 +01:00
Roman Kennke
9ba72c0c2c
8213381: Hook to allow GC to inject Node::Ideal() calls
...
Reviewed-by: kvn, eosterlund, roland
2018-11-06 23:03:05 +01:00
Roland Westrelin
40af989884
8209686: cleanup arguments to PhaseIdealLoop() constructor
...
Reviewed-by: thartmann, kvn, pliden
2018-08-22 10:36:39 +02:00
Roland Westrelin
8c2d9b5ff0
8202123: C2 Crash in Node::in(unsigned int) const+0x14
...
Reviewed-by: kvn, thartmann
2018-06-29 17:59:44 +02:00
Roland Westrelin
7d7184e505
8205515: assert(opcode == Op_RangeCheck) failed: no other if variant here
...
Reviewed-by: thartmann, kvn
2018-07-02 10:44:46 +02:00
Roland Westrelin
97dd8bf743
8203197: C2: consider all paths in loop body for loop predication
...
Reviewed-by: kvn, neliasso
2018-06-19 09:08:39 +02:00
Per Lidén
e7af7a4aef
8204210: Implementation: JEP 333: ZGC: A Scalable Low-Latency Garbage Collector (Experimental)
...
Co-authored-by: Stefan Karlsson <stefan.karlsson@oracle.com>
Co-authored-by: Erik Osterlund <erik.osterlund@oracle.com>
Co-authored-by: Mikael Gerdin <mikael.gerdin@oracle.com>
Co-authored-by: Kim Barrett <kim.barrett@oracle.com>
Co-authored-by: Nils Eliasson <nils.eliasson@oracle.com>
Co-authored-by: Rickard Backman <rickard.backman@oracle.com>
Co-authored-by: Roland Westrelin <rwestrel@redhat.com>
Co-authored-by: Coleen Phillimore <coleen.phillimore@oracle.com>
Co-authored-by: Robbin Ehn <robbin.ehn@oracle.com>
Co-authored-by: Gerard Ziemski <gerard.ziemski@oracle.com>
Co-authored-by: Hugh Wilkinson <hugh.wilkinson@intel.com>
Co-authored-by: Sandhya Viswanathan <sandhya.viswanathan@intel.com>
Co-authored-by: Bill Wheeler <bill.npo.wheeler@intel.com>
Co-authored-by: Vinay K. Awasthi <vinay.k.awasthi@intel.com>
Co-authored-by: Yasumasa Suenaga <yasuenag@gmail.com>
Reviewed-by: pliden, stefank, eosterlund, ehelin, sjohanss, rbackman, coleenp, ihse, jgeorge, lmesnik, rkennke
2018-06-12 17:40:28 +02:00
Nils Eliasson
8c75c07f8c
8203425: assert(is_Loop()) failed: invalid node class
...
Revert 8203215
Reviewed-by: thartmann
2018-06-08 14:50:18 +02:00
Nils Eliasson
fbbbc35d32
8203215: IdealLoopTree::split_outer_loop leaves phi-nodes with only one input
...
Make sure the phis are transformed
Reviewed-by: roland, kvn, rbackman
2018-05-17 12:08:32 +02:00
Nils Eliasson
d822b86df8
8193935: Illegal countedLoops transformation
...
Truncation can sometimes not be removed
Reviewed-by: kvn
2018-05-14 14:10:52 +02:00
Nils Eliasson
86728689bf
8201532: Update idom to get correct dom depth calculation
...
Assert due to dom depth calculation on old idom
Reviewed-by: roland
2018-05-14 14:10:50 +02:00
Roland Westrelin
98db6d11f3
8193130: Bad graph when unrolled loop bounds conflicts with range checks
...
Reviewed-by: kvn, thartmann
2018-03-22 20:21:19 -07:00
Roland Westrelin
4f8c5b6949
8197563: assert(is_Loop()) crash in PhaseIdealLoop::try_move_store_before_loop()
...
Don't move store out of the loop if head is not a LoopNode.
Reviewed-by: kvn, thartmann
2018-02-13 16:57:01 +01:00
Roland Westrelin
d244b3ccd1
8196296: Lucene test crashes C2 compilation
...
Prevent merging of back to back ifs if one is a counted loop end.
Reviewed-by: kvn, thartmann
2018-01-30 09:08:44 +01:00
Dean Long
4f496a5786
8194992: Null pointer dereference in MultiNode::proj_out related to loopexit()
...
Reviewed-by: kvn, thartmann
2018-01-18 10:05:32 -08:00
Dean Long
4714dab4cb
8194988: 8 Null pointer dereference defect groups related to MultiNode::proj_out()
...
Reviewed-by: kvn
2018-01-17 14:25:47 -08:00
Roland Westrelin
b9cffe68c2
8194993: Loop Strip Mining has some leftover debugging code
...
Removed debugging code.
Reviewed-by: thartmann
2018-01-15 09:21:49 +01:00
Roland Westrelin
2067aa56eb
8193597: sun/nio/cs/TestStringCoding.java fails intermittently with getBytes(csn) failed -> GBK
...
Should not change loop limit check of outer loop.
Reviewed-by: thartmann
2018-01-15 09:19:53 +01:00
Roland Westrelin
bf92da2c82
8194914: Compilation fails with "node not on backedge" in OuterStripMinedLoopNode::adjust_strip_mined_loop
...
Modified assert which is too strong.
Reviewed-by: thartmann
2018-01-15 09:17:25 +01:00
Roland Westrelin
386e258e20
8186027: C2: loop strip mining
...
Reviewed-by: kvn, neliasso
2017-11-28 11:59:16 +01:00
Erik Joelsson
3789983e89
8187443: Forest Consolidation: Move files to unified layout
...
Reviewed-by: darcy, ihse
2017-09-12 19:03:39 +02:00