Vladimir Kozlov
02d586e13e
8259398: Super word not applied to a loop with byteArrayViewVarHandle
...
Reviewed-by: vlivanov, thartmann, chagedorn
2021-02-01 15:48:10 +00:00
Christian Hagedorn
aec037721c
8257498: Remove useless skeleton predicates
...
Reviewed-by: roland, thartmann
2021-02-01 09:39:31 +00:00
Vladimir Kozlov
6415d3b82b
8259584: SuperWord::fix_commutative_inputs checks in_bb(fin1) instead of in_bb(fin2)
...
Reviewed-by: shade
2021-01-29 16:16:14 +00:00
Igor Veresov
1519632597
8251462: Simplify compilation policy
...
Reviewed-by: cjplummer, kvn
2021-01-28 20:51:12 +00:00
Roland Westrelin
11d6467c50
8260407: cmp != __null && cmp->Opcode() == Op_CmpL failure with -XX:StressLongCountedLoop=200000000 in lucene
...
Reviewed-by: thartmann, kvn
2021-01-28 12:27:40 +00:00
Ioi Lam
396a496f3c
8260467: Move well-known classes from systemDictionary.hpp to vmClasses.hpp
...
Reviewed-by: dholmes, coleenp
2021-01-28 04:24:04 +00:00
Jesper Wilhelmsson
62ffe75b1f
Merge
2021-01-28 03:38:32 +00:00
Jesper Wilhelmsson
c52212b146
Merge
2021-01-27 20:56:26 +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
Xin Liu
19b6f61bd2
8260334: Remove deprecated sv_for_node_id() from Compile
...
Reviewed-by: neliasso, chagedorn, thartmann, phh
2021-01-26 20:52:19 +00:00
Vladimir Ivanov
81e730e5f1
8259276: C2: Empty expression stack when reexecuting tableswitch/lookupswitch instructions after deoptimization
...
Reviewed-by: dlong, kvn, thartmann
2021-01-25 20:02:56 +00:00
Christian Hagedorn
c5ab7c3214
8260284: C2: assert(_base == Int) failed: Not an Int
...
Reviewed-by: thartmann, kvn
2021-01-25 17:09:52 +00:00
Thomas Stuefe
ca20c63c04
8259710: Inlining trace leaks memory
...
Reviewed-by: thartmann, neliasso
2021-01-25 10:50:39 +00:00
Yasumasa Suenaga
09489e28bd
8260338: Some fields in HaltNode is not cloned
...
Reviewed-by: xliu, neliasso, thartmann
2021-01-25 09:12:49 +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
a1a851b6db
Merge
2021-01-19 05:43:27 +00:00
Xin Liu
533a2d398b
8258961: move some fields of SafePointNode from public to protected
...
Reviewed-by: thartmann, kvn
2021-01-18 22:34:05 +00:00
Roman Kennke
e60c992699
8259849: Shenandoah: Rename store-val to IU-barrier
...
Reviewed-by: zgu, shade
2021-01-18 15:29:54 +00:00
Roland Westrelin
d5ca3b3fd5
8259641: C2: assert(early->dominates(LCA)) failed: early is high enough
...
Reviewed-by: chagedorn, thartmann
2021-01-18 07:54:48 +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
Tobias Hartmann
8b8b1f9a37
8259706: C2 compilation fails with assert(vtable_index == Method::invalid_vtable_index) failed: correct sentinel value
...
Reviewed-by: lucy, chagedorn
2021-01-14 07:23:09 +00:00
Hao Sun
5513f9893b
8258010: Debug build failure with clang-10 due to -Wdeprecated-copy
...
Reviewed-by: xliu, kvn, kbarrett
2021-01-14 04:11:20 +00:00
Jesper Wilhelmsson
51e14f2e2a
Merge
2021-01-14 01:29:47 +00:00
Nils Eliasson
5567530916
8258272: LoadVectorMaskedNode can't be replaced by zero con
...
Reviewed-by: chagedorn, vlivanov
2021-01-13 09:16:08 +00:00
Roberto Castañeda Lozano
417e1d1a4e
8259061: C2: assert(found) failed: memory-writing node is not placed in its original loop or an ancestor of it
...
Remove assertion that is too general, that is, it can fail on compilations where
C2 generates correct code otherwise.
Reviewed-by: chagedorn, thartmann, kvn
2021-01-13 07:22:30 +00:00
Xiaohong Gong
1cf2378bda
8259353: VectorReinterpretNode is incorrectly optimized out
...
Reviewed-by: vlivanov, njian
2021-01-13 05:48:08 +00:00
Aleksey Shipilev
4697cfa4b0
8259576: Misplaced curly brace in Matcher::find_shared_post_visit
...
Reviewed-by: lucy, thartmann
2021-01-12 10:52:36 +00:00
Christian Hagedorn
a3561ae8a4
8258243: C2: assert failed ("Bad derived pointer") with -XX:+VerifyRegisterAllocator
...
Reviewed-by: kvn, thartmann
2021-01-12 08:18:45 +00:00
Harold Seigel
cf3e4bfdb5
8258838: Remove JVM option UseStackBanging
...
Reviewed-by: dholmes, coleenp, kvn
2021-01-11 18:18:13 +00:00
Jesper Wilhelmsson
56a354eb55
Merge
2021-01-07 23:51:21 +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
Christian Hagedorn
c1fb521694
8259227: C2 crashes with SIGFPE due to a division that floats above its zero check
...
Reviewed-by: kvn, thartmann
2021-01-07 15:02:45 +00:00
Tobias Hartmann
0e6de4eb57
8259339: AllocateUninitializedArray C2 intrinsic fails with void.class input
...
Reviewed-by: kvn, chagedorn
2021-01-07 12:15:23 +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
Wang Huang
554e60c400
8258989: JVM is failed to inline in jdk.internal.vm.vector.VectorSupport::convert
...
Co-authored-by: He Xuejin <hexuejin2@huawei.com>
Reviewed-by: vlivanov, thartmann
2021-01-06 01:49:15 +00:00
Roland Westrelin
6775113ce8
8258393: Shenandoah: "graph should be schedulable" assert failure
...
Reviewed-by: rkennke, thartmann
2021-01-05 13:06:54 +00:00
Christian Hagedorn
9f1516492c
8259049: Uninitialized variable after JDK-8257513
...
Reviewed-by: kvn, thartmann
2021-01-05 09:54:18 +00:00
Hao Sun
dd8996c5f5
8258946: Fix optimization-unstable code involving signed integer overflow
...
Reviewed-by: thartmann, kvn
2021-01-05 07:31:44 +00:00
Ioi Lam
5ea960728c
8258459: Decouple gc_globals.hpp from globals.hpp
...
Reviewed-by: lfoltan, coleenp
2021-01-05 05:57:08 +00:00
Claes Redestad
9d160aa1b7
8257815: Replace global log2 functions with efficient implementations
...
Reviewed-by: kbarrett, stefank
2021-01-04 21:01:25 +00:00
Jesper Wilhelmsson
f2bad3a0be
Merge
2020-12-22 21:16:59 +00:00
Vladimir Ivanov
772addfd24
8258790: C2: Crash on empty macro node list
...
Reviewed-by: kvn, chagedorn
2020-12-22 12:12:21 +00:00
Xin Liu
30b9ff660f
8258653: CallJavaNode::_bci is not in use
...
Reviewed-by: kvn, vlivanov
2020-12-21 23:27:33 +00:00
Roberto Castañeda Lozano
4e8338eb13
8255763: C2: OSR miscompilation caused by invalid memory instruction placement
...
Disable GCM hoisting of memory-writing nodes for irreducible CFGs. This prevents
GCM from wrongly "hoisting" stores into descendants of their original loop. Such
an "inverted hoisting" can happen due to CFGLoop::compute_freq()'s inaccurate
estimation of frequencies for irreducible CFGs.
Extend CFG verification code by checking that memory-writing nodes are placed in
either their original loop or an ancestor.
Add tests for the reducible and irreducible cases. The former was already
handled correctly before the change (the frequency estimation model prevents
"inverted hoisting" for reducible CFGs), and is just added for coverage.
This change addresses the specific miscompilation issue in a conservative way,
for simplicity and safety. Future work includes investigating if only the
illegal blocks can be discarded as candidates for GCM hoisting, and refining
frequency estimation for irreducible CFGs.
Reviewed-by: kvn, chagedorn
2020-12-21 13:04:24 +00:00
Christian Hagedorn
8e42efaada
8257513: C2: assert((constant_addr - _masm.code()->consts()->start()) == con.offset())
...
Reviewed-by: kvn, thartmann
2020-12-21 08:06:48 +00:00