347 Commits

Author SHA1 Message Date
Roland Westrelin
8ab8d45552 8212243: More gc interface tweaks for arraycopy
Reviewed-by: kvn, eosterlund
2018-11-06 10:01:27 +01:00
Roland Westrelin
8e57878e0a 8212610: Fix handling of memory in PhaseIdealLoop::clone_loop_predicates()
Reviewed-by: kvn, thartmann
2018-11-05 13:13:29 +01:00
Kuai Wei
dcb6e1dda8 8210853: JIT: C2 doesn't skip post barrier for new allocated objects
Skip copy Region node when look for last allocation

Reviewed-by: thartmann, kvn
2018-10-30 14:38:59 -07:00
Tobias Hartmann
4b27547977 8177899: Tests fail due to code cache exhaustion on machines with many cores
Implemented upper limit on CICompilerCount based on code cache size.

Reviewed-by: kvn, mdoerr
2018-10-30 09:06:08 +01:00
Thomas Stuefe
2c208aa563 8212896: AIX build breaks after 8212611
Reviewed-by: simonis, dholmes
2018-10-24 10:42:12 +02:00
Roland Westrelin
b4c401fa37 8212611: Small collection of simple changes from shenandoah
Reviewed-by: thartmann, kvn, eosterlund
2018-10-17 10:19:13 +02:00
Mandy Chung
5e6d6b8642 8207146: Rename jdk.internal.misc.Unsafe::xxxObject to xxxReference
Reviewed-by: dholmes, thartmann
2018-10-22 17:00:04 -07:00
Roman Kennke
cb17e450b3 8212603: Need to step over GC barriers in Node::eqv_uncast()
Reviewed-by: shade, kvn, eosterlund
2018-10-18 21:14:49 +02:00
Tobias Hartmann
6b83ac96ab 8210215: C2 should optimize trichotomy calculations
Ideal transformation to optimize trichotomic comparisons.

Reviewed-by: kvn, jrose
2018-10-16 14:17:19 +02:00
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