138 Commits

Author SHA1 Message Date
Roland Westrelin
2ab522db78 8211233: MemBarNode::trailing_membar() and MemBarNode::leading_membar() need to handle dying subgraphs better
Reviewed-by: kvn, thartmann
2018-09-27 17:46:01 +02:00
Roland Westrelin
17f301f734 8210389: C2: assert(n->outcnt() != 0 || C->top() == n || n->is_Proj()) failed: No dead instructions after post-alloc
Reviewed-by: kvn, thartmann
2018-09-18 20:41:17 +02:00
Matthias Baesken
e2d7983ab8 8211929: hotspot/share/opto/parse2.cpp compile error with gcc 7.3.1
Reviewed-by: kvn, stuefe
2018-10-10 16:56:18 +02:00
Roland Westrelin
a2d1b6b720 8211232: GraphKit::make_runtime_call() sometimes attaches wrong memory state to call
Reviewed-by: kvn
2018-09-28 14:24:22 +02:00
Roland Westrelin
ce59b4b472 8210887: Tweak C2 gc api for arraycopy
Reviewed-by: kvn, thartmann
2018-09-28 10:42:40 +02:00
Roland Westrelin
03e4400864 8210885: Convert left over loads/stores to access api
Reviewed-by: thartmann, rkennke
2018-09-18 20:49:44 +02:00
Pengfei Li
dd4961b5aa 8210152: Optimize integer divisible by power-of-2 check
Integer conditional negation operation before zero check is eliminated

Reviewed-by: kvn, thartmann
2018-09-25 14:16:33 +02:00
Mikael Vidstedt
25295df059 8210848: Obsolete SyncKnobs
Reviewed-by: redestad, coleenp, dholmes, dcubed
2018-09-24 22:12:07 -07:00
Roman Kennke
0055586b61 8210752: Remaining explicit barriers for C2
Reviewed-by: roland, shade
2018-09-14 14:43:40 +02: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
Aleksey Shipilev
1194d162cb 8210963: Build failures after "8210829: Modularize allocations in C2"
Reviewed-by: rkennke, thartmann
2018-09-20 21:14:38 +02:00
Roman Kennke
8ce9db9ed5 8210829: Modularize allocations in C2
Reviewed-by: kvn, roland
2018-09-19 21:31:33 +02:00
Tobias Hartmann
8e0e188abd 8210387: C2 compilation fails with "assert(node->_last_del == _last) failed: must have deleted the edge just produced"
Refresh iterator and start from the beginning while there is progress when removing dead regions.

Reviewed-by: kvn
2018-09-12 09:23:36 +02:00
Roman Kennke
a9f2e04d54 8210187: Explicit barriers for C2
Reviewed-by: eosterlund, shade, roland, pliden
2018-08-31 16:28:52 +02:00
Roland Westrelin
052a740695 8209544: AES encrypt performance regression in jdk11b11
Reviewed-by: kvn, vlivanov
2018-09-06 16:27:07 +02:00
Erik Österlund
1c727102ab 8210158: Accessorize JFR getEventWriter() intrinsics
Reviewed-by: kvn, neliasso, roland, rbackman
2018-09-05 10:11:42 +02:00
Vladimir Kozlov
6f8114227c 8209594: guarantee(this->is8bit(imm8)) failed: Short forward jump exceeds 8-bit offset
Replace short jumps and fix other issues when generated code exceed expected range.

Reviewed-by: dlong, rasbold
2018-09-04 12:44:02 -07:00
Roland Westrelin
7135605c6f 8209691: Allow MemBar on single memory slice
Reviewed-by: kvn, vlivanov
2018-08-22 10:29:17 +02:00
Roland Westrelin
423c207dc7 8209639: assert failure in coalesce.cpp: attempted to spill a non-spillable item
Reviewed-by: neliasso, kvn
2018-08-17 17:13:12 +02:00
Tobias Hartmann
a494a819eb 8209833: C2 compilation fails with "assert(ex_map->jvms()->same_calls_as(_exceptions->jvms())) failed: all collected exceptions must come from the same place"
Deoptimize if exception is thrown in _clone intrinsic.

Reviewed-by: kvn
2018-08-24 08:17:23 +02:00
Roland Westrelin
40af989884 8209686: cleanup arguments to PhaseIdealLoop() constructor
Reviewed-by: thartmann, kvn, pliden
2018-08-22 10:36:39 +02:00
Erik Österlund
ce61e39060 8208601: Introduce native oop barriers in C2 for OopHandle
Reviewed-by: neliasso, kvn
2018-08-22 13:06:33 +02:00
Roland Westrelin
417149e74a 8209684: Intrinsics that assume some input non null should use GraphKit::must_be_not_null()
Reviewed-by: kvn, thartmann
2018-08-22 10:09:06 +02:00
Roland Westrelin
f3e518394b 8209420: Track membars for volatile accesses so they can be properly optimized
Reviewed-by: adinn, aph, thartmann
2018-08-14 16:54:47 +02:00
Lois Foltan
75ed173e15 8209301: JVM rename is_anonymous, host_klass to unsafe specific terminology ahead of Unsafe.defineAnonymousClass deprecation
Clean up VM anonymous class terminology.

Reviewed-by: coleenp, dholmes, mchung
2018-08-20 08:25:57 -04:00
Tobias Hartmann
73bcb0507e 8208275: C2 crash in Node::add_req(Node*)
Split-if optimization should not process (dead) counted loops.

Reviewed-by: roland
2018-08-17 08:21:20 +02:00
Dmitrij Pochepko
4377d3abe2 8209439: C2 library_call can potentially ignore Math.pow intrinsic or use null pointer
Reviewed-by: kvn, thartmann
2018-08-15 14:48:12 +03:00
Thomas Schatzl
e98c176026 8208670: Compiler changes to allow enabling -Wreorder
Reviewed-by: kvn
2018-08-08 15:31:06 +02:00
Jesper Wilhelmsson
4fc510cc89 Merge 2018-07-14 02:14:54 +02:00
Roland Westrelin
6dc1ccac6b 8200282: Serializing non-zero byte as zero to ByteBuffer
Arraycopy converted as a series of loads/stores uses wrong slice for loads

Reviewed-by: kvn, thartmann
2018-07-13 15:44:54 +02:00
Goetz Lindenmaier
2e682fa3cd 8207049: Minor improvements of compiler code
Reviewed-by: kvn, mdoerr
2018-07-12 16:31:28 +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
Vivek Deshpande
29cd9fe2ea 8194740: UseSubwordForMaxVector causes performance regression
Reviewed-by: kvn, thartmann
2018-07-09 13:25:08 -07:00
Nils Eliasson
9b281d9d05 8205999: C2 compilation fails with "assert(store->find_edge(load) != -1) failed: missing precedence edge"
Backout 8204157 to state before 8192992

Reviewed-by: thartmann, mdoerr
2018-07-03 09:11:00 +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
Tobias Hartmann
69438af9ec 8205940: LoadNode::find_previous_arraycopy fails with "broken allocation" assert
Removed assert which is too strong.

Reviewed-by: roland
2018-06-29 11:10:47 +02:00
Smita Kamath
3feaefd75f 8205528: Base64 encoding algorithm using AVX512 instructions
Reviewed-by: kvn, psandoz
2018-06-27 20:21:42 -07:00
Nils Eliasson
8e9f9e5583 8204157: Compiler.sunflow hangs after JDK-8192992
Treat non-loop phis as stores

Reviewed-by: thartmann
2018-06-27 18:46:30 +02:00
Nils Eliasson
76ae46a3a1 8205107: assert(c->Opcode() == Op_SafePoint) failed: broken outer loop
Don't remove safepoint belonging to OuterStripMinedLoopEndNode

Reviewed-by: kvn
2018-06-15 14:46:04 +02:00
Mikael Vidstedt
6ffd168ad1 8207011: Remove uses of the register storage class specifier
Reviewed-by: kbarrett, kvn
2018-07-12 17:29:48 -07:00
David Holmes
95bf19563b 8010319: Implementation of JEP 181: Nest-Based Access Control
Co-authored-by: Alex Buckley <alex.buckley@oracle.com>
Co-authored-by: Maurizio Mimadamore <maurizio.mimadamore@oracle.com>
Co-authored-by: Mandy Chung <mandy.chung@oracle.com>
Co-authored-by: Tobias Hartmann <tobias.hartmann@oracle.com>
Co-authored-by: Vlaidmir Ivanov <vladimir.x.ivanov@oracle.com>
Co-authored-by: Karen Kinnear <karen.kinnear@oracle.com>
Co-authored-by: Vladimir Kozlov <vladimir.kozlov@oracle.com>
Co-authored-by: John Rose <john.r.rose@oracle.com>
Co-authored-by: Daniel Smith <daniel.smith@oracle.com>
Co-authored-by: Serguei Spitsyn <serguei.spitsyn@oracle.com>
Co-authored-by: Kumar Srinivasan <kumardotsrinivasan@gmail.com>
Co-authored-by: Boris Ulasevich <boris.ulasevich@bell-sw.com>
Reviewed-by: alanb, psandoz, mchung, coleenp, acorn, mcimadamore, forax, jlahoda, sspitsyn, abuckley
2018-06-23 01:32:41 -04:00
Kim Barrett
b84c23399e 8205459: Rename Access API flag decorators
Rename OOP_NOT_NULL, IN_HEAP_ARRAY, AS_DEST_NOT_INITIALIZED

Reviewed-by: pliden, stefank
2018-06-22 17:46:58 -04:00
Tobias Hartmann
d2f70d7052 8205033: [REDO] Induction variable of over-unrolled loop conflicts with range checks
Update skeleton predicates before main loop during unrolling to remove dead code.

Reviewed-by: kvn, roland
2018-06-19 12:25:42 +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
Vladimir Kozlov
3ced42361d 8202948: C2: assert(init_offset >= 0) failed: positive offset from object start
Convert the assert into compilation check which will skip superword optimization

Reviewed-by: roland, thartmann
2018-06-15 08:28:08 -07:00
Tobias Hartmann
d01224d43e 8205034: [BACKOUT] Induction variable of over-unrolled loop conflicts with range checks
Backout fix for JDK-8203915 because it causes SIGILL failures.

Reviewed-by: shade
2018-06-14 11:22:04 +02:00
Tobias Hartmann
c9c8cc68de 8203915: Induction variable of over-unrolled loop conflicts with range checks
Update skeleton predicates before main loop during unrolling to remove dead code.

Reviewed-by: kvn, roland
2018-06-14 09:04:55 +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
Nils Eliasson
8c75c07f8c 8203425: assert(is_Loop()) failed: invalid node class
Revert 8203215

Reviewed-by: thartmann
2018-06-08 14:50:18 +02:00