Commit Graph

669 Commits

Author SHA1 Message Date
Roland Westrelin
ddd550ae84 8261308: C2: assert(inner->is_valid_counted_loop(T_INT) && inner->is_strip_mined()) failed: OuterStripMinedLoop should have been removed
Reviewed-by: chagedorn, kvn
2021-03-01 08:42:10 +00:00
Eric Liu
382e38dd24 8256438: AArch64: Implement match rules with ROR shift register value
Reviewed-by: aph, roland
2021-02-24 09:49:53 +00:00
Doug Simon
d2b9c227e5 8262011: [JVMCI] allow printing to tty from unattached libgraal thread
Reviewed-by: kvn, never
2021-02-23 17:01:11 +00:00
Igor Veresov
977a21add8 8261225: TieredStopAtLevel should have no effect if TieredCompilation is disabled
Reviewed-by: kvn
2021-02-19 19:44:58 +00:00
Christian Hagedorn
8418285530 8261235: C1 compilation fails with assert(res->vreg_number() == index) failed: conversion check
Reviewed-by: thartmann, kvn
2021-02-17 09:00:39 +00:00
Hui Shi
95d73129ce 8261585: Restore HandleArea used in Deoptimization::uncommon_trap
Reviewed-by: coleenp, jiefu
2021-02-13 02:47:33 +00:00
Christian Hagedorn
0a89987a96 8240281: Remove failing assertion code when selecting first memory state in SuperWord::co_locate_pack
Reviewed-by: roland, kvn, thartmann
2021-02-11 13:00:10 +00:00
Igor Veresov
0e18634b6a 8261270: MakeMethodNotCompilableTest fails with -XX:TieredStopAtLevel={1,2,3}
Reviewed-by: kvn
2021-02-07 02:24:15 +00:00
Pengfei Li
7a2db858e0 8261022: Fix incorrect result of Math.abs() with char type
Reviewed-by: thartmann, neliasso
2021-02-07 01:15:24 +00:00
Jesper Wilhelmsson
d7acfae3d2 Merge 2021-02-06 00:29:45 +00:00
Roland Westrelin
3495febf51 8260296: SA's dumpreplaydata fails
Reviewed-by: kvn, cjplummer, iignatyev
2021-02-05 09:33:54 +00:00
Roland Westrelin
4de3a6be9e 8260709: C2: assert(false) failed: unscheduable graph
Reviewed-by: thartmann, chagedorn
2021-02-04 15:11:25 +00:00
Jesper Wilhelmsson
9b7a8f1982 Merge 2021-02-04 02:06:33 +00:00
Dong Bo
5307afa9e7 8260585: AArch64: Wrong code generated for shifting right and accumulating four unsigned short integers
Reviewed-by: iveresov, dlong, njian, aph
2021-02-03 21:40:33 +00:00
Nils Eliasson
472bf629cd 8258799: [Testbug] RandomCommandsTest must check if tested directive is added via jcmd
Reviewed-by: kvn, iignatyev
2021-02-03 16:01:59 +00:00
Tobias Hartmann
fe407cf1b6 8260420: C2 compilation fails with assert(found_sfpt) failed: no node in loop that's not input to safepoint
Reviewed-by: kvn, roland, chagedorn
2021-02-02 07:23:55 +00:00
bobpengxie
54e7a642bb 8260576: Typo in compiler/runtime/safepoints/TestRegisterRestoring.java
Reviewed-by: thartmann, jiefu
2021-02-02 02:16:46 +00:00
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
casparcwang
0fdf9cdd3a 8260473: [vector] ZGC: VectorReshape test produces incorrect results with ZGC enabled
Co-authored-by: Stuart Monteith <smonteith@openjdk.org>
Co-authored-by: Wang Chao <casparcwang@tencent.com>
Reviewed-by: vlivanov, neliasso
2021-02-01 01:28:31 +00:00
Wang Huang
a117e11524 8260339: JVM crashes when executing PhaseIdealLoop::match_fill_loop
Co-authored-by: He Xuejin <hexuejin2@huawei.com>
Reviewed-by: neliasso, kvn, iignatyev
2021-01-29 08:07:21 +00:00
Igor Ignatyev
8ffdbcebad 8260608: add a regression test for 8260370
Reviewed-by: kvn
2021-01-29 04:04:23 +00:00
Igor Veresov
1519632597 8251462: Simplify compilation policy
Reviewed-by: cjplummer, kvn
2021-01-28 20:51:12 +00:00
Vladimir Kozlov
1926765f5e 8253353: Crash in C2: guarantee(n != NULL) failed: No Node
Co-authored-by: Fei Yang <fyang@openjdk.org>
Reviewed-by: vlivanov, neliasso
2021-01-28 16:16:51 +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
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
Christian Hagedorn
c5ab7c3214 8260284: C2: assert(_base == Int) failed: Not an Int
Reviewed-by: thartmann, kvn
2021-01-25 17:09:52 +00:00
Jesper Wilhelmsson
6f2a394314 Merge 2021-01-23 03:15:43 +00:00
Jie Fu
d90e06af7b 8259775: [Vector API] Incorrect code-gen for VectorReinterpret operation
Reviewed-by: rbackman, neliasso, kvn
2021-01-22 00:13:58 +00:00
Jesper Wilhelmsson
133bcb0995 Merge 2021-01-21 05:23:42 +00:00
Igor Ignatyev
0408b23bcf 8259757: add a regression test for 8259353 and 8259601
Co-authored-by: Xiaohong Gong <xgong@openjdk.org>
Co-authored-by: Igor Ignatyev <iignatyev@openjdk.org>
Reviewed-by: kvn, jiefu
2021-01-20 18:48:10 +00:00
Jesper Wilhelmsson
a1a851b6db Merge 2021-01-19 05:43:27 +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
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
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
Aleksey Shipilev
9d4e84fd41 8259565: Zero: compiler/runtime/criticalnatives fails because CriticalJNINatives is not supported
Reviewed-by: coleenp, zgu
2021-01-12 07:49:21 +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
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
Aleksey Shipilev
db6f39302b 8251944: Add Shenandoah test config to compiler/gcbarriers/UnsafeIntrinsicsTest.java
Reviewed-by: rkennke, adityam
2021-01-05 08:37:06 +00:00
Jesper Wilhelmsson
f2bad3a0be Merge 2020-12-22 21:16:59 +00:00
Roberto Castañeda Lozano
3df6ec2fbc 8258682: compiler/intrinsics/mathexact/sanity tests fail with RepeatCompilation
Normalize match and suspect counts in the verify() method by the number of
compilation repetitions, if the RepeatCompilation option is used.

Reviewed-by: kvn, chagedorn
2020-12-22 10:04:00 +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
Jesper Wilhelmsson
d234388042 Merge 2020-12-21 09:09:05 +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
Mikael Vidstedt
64644a1072 8253881: Hotspot/Serviceability Terminology Refresh
Reviewed-by: kbarrett, tschatzl, dholmes, lfoltan, dcubed
2020-12-19 02:47:28 +00:00