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
Roman Kennke
03ab1404f0
8221766: Load-reference barriers for Shenandoah
...
Reviewed-by: kvn, erikj, aph, shade
2019-04-02 23:00:22 +02:00
Vivek Deshpande
996968d480
8216050: Superword optimization fails with assert(0 <= i && i < _len) failed: illegal index
...
Fix for the crash by matching the operands by swapping to right positions.
Reviewed-by: thartmann, kvn
2019-01-15 11:19:14 -08:00
Patric Hedlin
a17df8d45b
8210392: assert(Compile::current()->live_nodes() < Compile::current()->max_node_limit()) failed: Live Node limit exceeded limit
...
Avoid excessive split-if.
Reviewed-by: thartmann, neliasso
2018-12-18 10:12:28 +01:00
Vivek Deshpande
05e175bf1b
8214751: X86: Support for VNNI Instructions
...
Co-authored-by: Razvan A Lupusoru <razvan.a.lupusoru@intel.com>
Reviewed-by: kvn
2018-12-12 14:48:34 -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
cd0aafe76a
8214362: C2: gc interface entry point for split if
...
Reviewed-by: rkennke, thartmann
2018-11-27 14:49:13 +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
04c961659f
8210390: C2 still crashes with "assert(mode == ControlAroundStripMined && use == sfpt) failed: missed a node"
...
Reviewed-by: thartmann, kvn
2018-09-12 16:38:13 +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
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
Roland Westrelin
ff2c589b63
8202747: C2: assert(mode == ControlAroundStripMined && use == sfpt) failed: missed a node
...
Reviewed-by: neliasso, kvn
2018-06-11 14:16:43 +02:00
Roland Westrelin
76bb390810
8202950: C2: assert(found_sfpt) failed: no node in loop that's not input to safepoint
...
Reviewed-by: neliasso, kvn
2018-05-24 09:59:57 +02:00
Erik Österlund
53ec88908c
8202377: Modularize C2 GC barriers
...
Reviewed-by: neliasso, roland
2018-05-18 14:51:06 +02:00
Roland Westrelin
fd4f430f62
8199784: PhaseIdealLoop::place_near_use() might return wrong control with loop strip mining
...
Reviewed-by: kvn
2018-03-21 20:15:00 -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
Razvan A Lupusoru
b96c85c640
8192846: Support cmov vectorization for float
...
Reviewed-by: kvn
2017-12-05 09:49:23 -08:00
Roland Westrelin
386e258e20
8186027: C2: loop strip mining
...
Reviewed-by: kvn, neliasso
2017-11-28 11:59:16 +01:00
Roland Westrelin
eb10d407d3
8191887: assert(b->is_Bool()) in PhaseIdealLoop::clone_iff() due to Opaque4 node
...
Add special handling for graph shape If->Opaque4->Bool->CmpP
Reviewed-by: kvn
2017-11-27 16:05:11 -08:00
Tobias Hartmann
34622112b6
8189067: SuperWord optimization crashes with "assert(out == prev || prev == __null) failed: no branches off of store slice"
...
Only move the store if the LCA of all users is outside of the loop. Re-enable UseSubwordForMaxVector.
Reviewed-by: kvn, roland
2017-10-13 14:02:01 +02:00
Roland Westrelin
844e594fec
8187822: C2 conditonal move optimization might create broken graph
...
Reviewed-by: kvn
2017-09-27 16:17:47 +02:00
Erik Joelsson
3789983e89
8187443: Forest Consolidation: Move files to unified layout
...
Reviewed-by: darcy, ihse
2017-09-12 19:03:39 +02:00