Commit graph

144 commits

Author SHA1 Message Date
Vladimir Kozlov
a74a839af0 8276571: C2: pass compilation options as structure
Reviewed-by: shade, chagedorn
2021-11-05 16:07:25 +00:00
Christian Hagedorn
36b89a1893 8274785: ciReplay: Potential crash due to uninitialized Compile::_ilt variable
Reviewed-by: neliasso, kvn
2021-10-08 14:51:18 +00:00
Tobias Holenstein
66ce09f51e 8272703: StressSeed should be set via FLAG_SET_ERGO
Reviewed-by: chagedorn, thartmann
2021-09-23 12:55:42 +00:00
Roland Westrelin
1d2458db34 8266550: C2: mirror TypeOopPtr/TypeInstPtr/TypeAryPtr with TypeKlassPtr/TypeInstKlassPtr/TypeAryKlassPtr
Reviewed-by: vlivanov, thartmann
2021-09-14 08:35:09 +00:00
Vladimir Ivanov
f7e9f56e23 8273359: CI: ciInstanceKlass::get_canonical_holder() doesn't respect instance size
Reviewed-by: kvn
2021-09-08 16:17:56 +00:00
Roland Westrelin
6afcf5f5a2 8270886: Crash in PhaseIdealLoop::verify_strip_mined_scheduling
Reviewed-by: kvn, thartmann
2021-07-29 07:34:20 +00:00
Dean Long
034788a02c 8270925: replay dump using CICrashAt does not include inlining data
Reviewed-by: kvn, thartmann
2021-07-28 18:50:21 +00:00
Yi Yang
072fe486c9 8270901: Typo PHASE_CPP in CompilerPhaseType
Reviewed-by: jiefu
2021-07-28 08:03:29 +00:00
Nils Eliasson
b8a16e931b 8268884: C2: Compile::remove_speculative_types must iterate top-down
Reviewed-by: roland, kvn
2021-06-29 18:38:25 +00:00
Vladimir Kozlov
8d09596f27 8269304: Regression ~5% in 2005 in b27
Reviewed-by: dlong, roland
2021-06-28 15:52:09 +00:00
Roland Westrelin
4d545a1f86 8267988: C2: assert(!addp->is_AddP() || addp->in(AddPNode::Base)->is_top() || addp->in(AddPNode::Base) == n->in(AddPNode::Base)) failed: Base pointers must match (addp 1301)
Reviewed-by: chagedorn, vlivanov, kvn
2021-06-16 07:36:07 +00:00
Vladimir Kozlov
4d8b5c70df 8268347: C2: nested locks optimization may create unbalanced monitor enter/exit code
Reviewed-by: roland, vlivanov, dcubed
2021-06-14 23:41:50 +00:00
Jatin Bhateja
b05c40ca3b 8266951: Partial in-lining for vectorized mismatch operation using AVX512 masked instructions
Reviewed-by: psandoz, vlivanov
2021-06-05 18:07:14 +00:00
Sandhya Viswanathan
9f05c411e6 8265783: Create a separate library for x86 Intel SVML assembly intrinsics
Co-authored-by: Sandhya Viswanathan <sviswanathan@openjdk.org>
Co-authored-by: Rahul Kandu <rkandu@openjdk.org>
Co-authored-by: Razvan Lupusoru <rlupusoru@openjdk.org>
Co-authored-by: Magnus Ihse Bursie <ihse@openjdk.org>
Co-authored-by: Jie Fu <jiefu@openjdk.org>
Co-authored-by: Ahmet Akkas <ahmet.akkas@intel.com>
Co-authored-by: Marius Cornea <marius.cornea@intel.com>
Reviewed-by: erikj, kvn, psandoz
2021-06-03 20:03:36 +00:00
Tobias Hartmann
ce88b33488 8266615: C2 incorrectly folds subtype checks involving an interface array
Reviewed-by: kvn, neliasso
2021-05-18 12:21:24 +00:00
Claes Redestad
616244f43a 8266937: Remove Compile::reshape_address
Reviewed-by: kvn
2021-05-11 22:45:27 +00:00
Claes Redestad
c665dba591 8266561: Remove Compile::_save_argument_registers
Reviewed-by: kvn, thartmann
2021-05-06 12:57:44 +00:00
Aleksey Shipilev
6018336fc5 8259316: [REDO] C1/C2 compiler support for blackholes
Reviewed-by: vlivanov, kvn, iignatyev
2021-05-05 14:27:21 +00:00
Tobias Hartmann
b65190483c 8266438: Compile::remove_useless_nodes does not remove opaque nodes
Reviewed-by: vlivanov, chagedorn
2021-05-04 09:42:16 +00:00
Vladimir Ivanov
f86b70c391 8266328: C2: Remove InlineWarmCalls
Reviewed-by: kvn, iveresov
2021-04-30 22:17:04 +00:00
Yi Yang
fbfd4ea3ce 8265914: Duplicated NotANode and not_a_node
Reviewed-by: thartmann
2021-04-27 13:00:08 +00:00
Roberto Castañeda Lozano
b3a319c834 8264842: IGV: different nodes sharing idx are treated as equal
Introduce IGV-specific node identifier and encapsulate it in IGV by showing a
configurable 'short node text' string instead.

Reviewed-by: iveresov, kvn
2021-04-23 07:29:54 +00:00
Ioi Lam
17202c89d5 8264748: Do not include arguments.hpp from compilerDefinitions.hpp
Reviewed-by: gziemski, stefank
2021-04-07 05:37:37 +00:00
Jatin Bhateja
f084bd2f61 8262355: Support for AVX-512 opmask register allocation.
Reviewed-by: vlivanov, njian, kvn
2021-04-04 17:47:23 +00:00
Tobias Hartmann
3516c2650c 8263591: Two C2 compiler phases with the name "after matching"
Reviewed-by: neliasso, chagedorn
2021-03-29 12:41:09 +00:00
Roland Westrelin
fd3a33a856 8263189: C2: assert(!had_error) failed: bad dominance
Reviewed-by: kvn, thartmann
2021-03-23 08:15:47 +00:00
Yi Yang
3f31a6baa9 8263775: C2: igv_print() crash unexpectedly when called from debugger
Reviewed-by: chagedorn
2021-03-18 13:07:57 +00:00
Roland Westrelin
20297a1beb 8263577: C2: reachable nodes shouldn't have dead uses at the end of optimizations
Reviewed-by: vlivanov, neliasso
2021-03-16 08:20:52 +00:00
Rahul Raghavan
4b5be40ab9 8238812: assert(false) failed: bad AD file
Reviewed-by: thartmann, chagedorn, roland
2021-03-10 15:59:38 +00:00
Roland Westrelin
2c0507ecd6 8261812: C2 compilation fails with assert(!had_error) failed: bad dominance
Reviewed-by: kvn, thartmann
2021-03-05 15:43:24 +00:00
Roland Westrelin
6baecf39d5 8259937: guarantee(loc != NULL) failed: missing saved register with native invoker
Reviewed-by: kvn, jvernee, vlivanov
2021-03-01 15:11:25 +00:00
Christian Hagedorn
aec037721c 8257498: Remove useless skeleton predicates
Reviewed-by: roland, thartmann
2021-02-01 09:39:31 +00:00
Jesper Wilhelmsson
62ffe75b1f Merge 2021-01-28 03:38:32 +00:00
Roberto Castañeda Lozano
f353fcf256 8258894: C2: Forbid GCM to move stores into loops
Prevent GCM from placing memory-writing nodes (such as stores) into loops deeper
than their home loop (determined by their control input). Such placements are
invalid, as they cause memory definitions to interfere, and risk causing
miscompilations. This change complements JDK-8255763, which only addresses
invalid placements in irreducible CFGs.

Add control input to stores in generated stubs to ensure that all memory-writing
nodes have control inputs from which their home block can be derived.

Add a battery of simplified fuzzer test cases where, before this change, GCM
moves stores into deeper loops.

Reviewed-by: thartmann, kvn
2021-01-27 15:08:39 +00:00
Vladimir Ivanov
e28e11119d 8260370: C2: LoopLimit node is not eliminated
Reviewed-by: kvn, thartmann
2021-01-27 10:29:59 +00:00
Thomas Stuefe
1c77046811 8260404: jvm_io.h include missing in a number of files
Reviewed-by: shade, iklam, dholmes
2021-01-27 07:34:46 +00:00
Thomas Stuefe
ca20c63c04 8259710: Inlining trace leaks memory
Reviewed-by: thartmann, neliasso
2021-01-25 10:50:39 +00:00
Dan Lemmond
7be9113b1c 8255216: Change _directive->BreakAtCompileOption to env()->break_at_compile()
Reviewed-by: kvn, phh
2021-01-22 20:33:44 +00:00
Jesper Wilhelmsson
d701babb06 Merge 2021-01-15 03:10:55 +00:00
Vladimir Ivanov
0148adf20e 8255120: C2: assert(outer->outcnt() >= phis + 2 && outer->outcnt() <= phis + 2 + stores + 1) failed: only phis
Reviewed-by: thartmann
2021-01-14 17:18:44 +00:00
Jesper Wilhelmsson
555641ede5 Merge 2021-01-07 21:17:35 +00:00
Roberto Castañeda Lozano
bc56541424 8256535: C2: randomize CCP processing order for stress testing
Add 'StressCCP' option to randomize the selection of the node to be examined in
each CCP iteration.

Reviewed-by: chagedorn, kvn, thartmann
2021-01-07 20:43:48 +00:00
Roberto Castañeda Lozano
d8ad63019a 8258772: Some runtime/cds tests fail with +LogCompilation or +StressX
Emit warning about TraceDependencies results in
ClassHierarchyWalker::count_find_witness_calls() only if TraceDependencies is
actually enabled. Use standard warning() function instead of ad hoc printing.
Remove warning about using Stress(LCM|GCM|IGVN) without LogCompilation in
Compile::Compile(), and add the information to the description of the StressSeed
option instead. These changes prevent false test failures when using
LogCompilation or Stress(LCM|GCM|IGVN).

Reviewed-by: chagedorn, kvn, thartmann
2021-01-07 18:57:58 +00:00
Aleksey Shipilev
ad45678719 8258558: Revert changes for JDK-8252505 and related issues
Reviewed-by: kvn
2021-01-06 13:27:57 +00:00
Ioi Lam
59f4c4aad5 8258075: Use auto variable declarations for enum iteration
Reviewed-by: jrose, ccheung
2020-12-16 19:39:24 +00:00
Ioi Lam
80dac5a87c 8257912: Convert enum iteration to use range-based for loops
Reviewed-by: kbarrett, tschatzl, gziemski
2020-12-10 20:33:13 +00:00
Vladimir Ivanov
62c7788b29 8257211: C2: Enable call devirtualization during post-parse phase
Reviewed-by: kvn, neliasso, thartmann
2020-12-07 22:50:38 +00:00
Aleksey Shipilev
e590618962 8252505: C1/C2 compiler support for blackholes
Reviewed-by: vlivanov, aph
2020-12-06 17:43:34 +00:00
Vladimir Ivanov
fd6756ee2b 8257634: C2: Introduce IncrementalInliningForceCleanup diagnostic flag
Reviewed-by: kvn, adityam, thartmann
2020-12-04 09:24:08 +00:00
Roland Westrelin
3d460bd295 8256655: rework long counted loop handling
Reviewed-by: kvn, thartmann, vlivanov
2020-12-01 07:30:51 +00:00