Commit Graph

883 Commits

Author SHA1 Message Date
Igor Ignatyev
f75dd80254 8266230: mark hotspot compiler/c2 tests which ignore VM flags
Reviewed-by: kvn
2021-04-28 20:47:57 +00:00
Igor Ignatyev
73cfc26dc2 8266232: compiler.c1.TestRangeCheckEliminated should be run in driver mode
Reviewed-by: kvn
2021-04-28 19:50:22 +00:00
Igor Ignatyev
3f9879f1cd 8266190: mark hotspot compiler/codecache tests which ignore VM flags
Reviewed-by: kvn
2021-04-28 18:47:19 +00:00
Igor Ignatyev
c71c26859f 8266165: TestNoWarningLoopStripMiningIterSet is runnable only on VM w/ G1, Shenandoah, Z and Epsilon
Reviewed-by: roland
2021-04-28 16:30:27 +00:00
Igor Ignatyev
8954befd77 8266188: mark hotspot compiler/cpuflags tests which ignore VM flags
Reviewed-by: chagedorn, thartmann
2021-04-28 15:46:16 +00:00
Igor Ignatyev
19d3c451b8 8266184: a few compiler/debug tests don't check exit code
Reviewed-by: thartmann
2021-04-28 15:45:23 +00:00
Jie Fu
75a2354dc2 8266028: C2 computes -0.0 for Math.pow(-0.0, 0.5)
Reviewed-by: aph, neliasso, kvn
2021-04-28 06:16:47 +00:00
Igor Ignatyev
6b5e5d7a2c 8266181: compiler/eliminateAutobox/TestEliminateBoxInDebugInfo should be in driver mode
Reviewed-by: kvn
2021-04-28 04:01:42 +00:00
Igor Ignatyev
81b1502701 8266161: mark hotspot compiler/rtm tests which ignore VM flags
Reviewed-by: kvn
2021-04-28 03:43:41 +00:00
Igor Ignatyev
4a8324d48b 8266180: compiler/vectorapi/TestVectorErgonomics should be run in driver mode
Reviewed-by: jiefu, kvn, epavlova
2021-04-28 03:43:08 +00:00
Igor Ignatyev
0601aba545 8266175: mark hotspot compiler/jsr292 tests which ignore VM flags
Reviewed-by: kvn
2021-04-28 03:42:07 +00:00
Igor Ignatyev
69ad8ac537 8266169: mark hotspot compiler/jvmci tests which ignore VM flags
Reviewed-by: kvn
2021-04-28 03:41:27 +00:00
Igor Ignatyev
1a2a570c8d 8266166: mark hotspot compiler/linkage tests which ignore VM flags
Reviewed-by: kvn
2021-04-28 03:40:47 +00:00
Igor Ignatyev
5ee58b0496 8266164: mark hotspot compiler/loopstripmining tests which ignore VM flags
Reviewed-by: kvn
2021-04-28 03:39:47 +00:00
Jie Fu
889d246681 8265917: Different values computed by C2 and interpreter/C1 for Math.pow(x, 2.0) on x86_32
Reviewed-by: kvn, thartmann
2021-04-28 03:10:28 +00:00
Igor Ignatyev
30b1354085 8266153: mark hotspot compiler/onSpinWait tests which ignore VM flags
Reviewed-by: kvn
2021-04-27 23:58:15 +00:00
Igor Ignatyev
eeddb30344 8266150: mark hotspot compiler/arguments tests which ignore VM flags
Reviewed-by: kvn
2021-04-27 23:54:45 +00:00
Igor Ignatyev
feb18d292f 8266149: mark hotspot compiler/startup tests which ignore VM flags
Reviewed-by: kvn
2021-04-27 23:54:09 +00:00
Igor Ignatyev
eb72950cfd 8266154: mark hotspot compiler/oracle tests which ignore VM flags
Reviewed-by: kvn
2021-04-27 23:51:39 +00:00
Igor Ignatyev
7f4a9f68bf 8266088: compiler/arguments/TestPrintOptoAssemblyLineNumbers test should user driver mode
Reviewed-by: kvn
2021-04-27 20:58:48 +00:00
Tobias Hartmann
ab2aec2afb 8265938: C2's conditional move optimization does not handle top Phi
Reviewed-by: chagedorn, kvn, iignatyev
2021-04-27 17:10:53 +00:00
Vladimir Ivanov
b2628d15b5 8263972: C2: LoadVector/StoreVector type mismatch in MemNode::can_see_stored_value()
Reviewed-by: kvn, thartmann
2021-04-27 16:34:28 +00:00
Vladimir Kozlov
4785e112ae 8264806: Remove the experimental JIT compiler
Reviewed-by: iignatyev, erikj
2021-04-27 06:23:21 +00:00
Vladimir Kozlov
694acedf18 8264805: Remove the experimental Ahead-of-Time Compiler
Reviewed-by: coleenp, erikj, stefank, iignatyev, dholmes, aph, shade, iklam, mchung, iveresov
2021-04-27 01:12:18 +00:00
Tom Rodriguez
852a41d718 8258625: [JVMCI] refactor and unify JVMCI readFieldValue path
Reviewed-by: kvn
2021-04-26 20:00:23 +00:00
Doug Simon
7df0c10a4d 8265480: add basic JVMCI support for JEP 309: Dynamic Class-File Constants
Reviewed-by: kvn, psandoz
2021-04-22 15:59:12 +00:00
Roberto Castañeda Lozano
d81b0461b7 8263227: C2: inconsistent spilling due to dead nodes in exception block
Eliminate dead nodes created by call-catch cleanup even if they have multiple
projections. Assert that definitions dominate uses and projections are scheduled
next to their parent nodes.

Reviewed-by: neliasso, kvn
2021-04-20 10:06:49 +00:00
Jie Fu
b64a3fb946 8265325: Optimize StubRoutines::dpow() for Math.pow(x, 0.5)
Reviewed-by: kvn, neliasso
2021-04-19 10:45:20 +00:00
Evgeny Nikitin
694e1cdcb8 8262060: compiler/whitebox/BlockingCompilation.java timed out
Reviewed-by: iignatyev
2021-04-16 14:33:27 +00:00
Roland Westrelin
7137328006 8264958: C2 compilation fails with assert "n is later than its clone"
Reviewed-by: neliasso, thartmann
2021-04-16 11:34:45 +00:00
Vladimir Ivanov
b3782ead36 8264918: [JVMCI] getVtableIndexForInterfaceMethod doesn't check that type and method are related
Reviewed-by: kvn
2021-04-09 10:46:12 +00:00
Wang Huang
eab84554e8 8261137: Optimization of Box nodes in uncommon_trap
Co-authored-by: Wu Yan <wuyan34@huawei.com>
Co-authored-by: Ai Jiaming <aijiaming1@huawei.com>
Reviewed-by: kvn, vlivanov, thartmann
2021-04-07 10:48:17 +00:00
Hui Shi
011f6d13ab 8264223: CodeHeap::verify fails extra_hops assertion in fastdebug test
Reviewed-by: lucy, shade
2021-04-01 10:43:45 +00:00
Christian Hagedorn
ab6faa607b 8263582: WB_IsMethodCompilable ignores compiler directives
Reviewed-by: iveresov, kvn, neliasso
2021-03-31 06:33:45 +00:00
Hui Shi
21e7402b04 8263707: C1 RangeCheckEliminator support constant array and NewMultiArray
Reviewed-by: thartmann, neliasso
2021-03-30 16:04:59 +00:00
Roland Westrelin
d2a63f259e 8264360: Loop strip mining verification fails with "should be on the backedge"
Reviewed-by: kvn, thartmann
2021-03-30 07:58:49 +00:00
Roland Westrelin
8100a20e98 8263971: C2 crashes with SIGFPE with -XX:+StressGCM and -XX:+StressIGVN
Reviewed-by: chagedorn, thartmann
2021-03-30 07:40:49 +00:00
Tobias Hartmann
3caea470e1 8262739: String inflation C2 intrinsic prevents insertion of anti-dependencies
Reviewed-by: neliasso, chagedorn
2021-03-29 12:40:11 +00:00
Christian Hagedorn
aefc1560b5 8264179: [TESTBUG] Some compiler tests fail when running without C2
Reviewed-by: kvn, jiefu
2021-03-29 08:03:47 +00:00
Pengfei Li
2fa6a3c47c 8264006: Fix AOT library loading on CPUs with 256-byte dcache line
Reviewed-by: kvn, dholmes, aph
2021-03-29 01:09:43 +00:00
Doug Simon
5a930c42de 8264135: UnsafeGetStableArrayElement should account for different JIT implementation details
Reviewed-by: vlivanov, never
2021-03-26 10:11:02 +00:00
Richard Reingruber
9689863ac0 8262295: C2: Out-of-Bounds Array Load from Clone Source
Reviewed-by: kvn, roland, neliasso, thartmann
2021-03-25 06:52:03 +00:00
Wang Huang
6e3a158a65 8263352: assert(use == polladr) failed: the use should be a safepoint polling
Co-authored-by: Wang Huang <whuang@openjdk.org>
Co-authored-by: Wu Yan <wuyan34@huawei.com>
Reviewed-by: kvn
2021-03-24 06:30:50 +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
Evgeny Nikitin
0b03d04792 8167015: compiler/codecache/jmx/PoolsIndependenceTest.java timeout
Reviewed-by: kvn, thartmann
2021-03-23 06:55:05 +00:00
Marcus G K Williams
7b6efd3b86 8263904: compiler/intrinsics/bmi/verifycode/BzhiTestI2L.java fails on x86_32
Reviewed-by: kvn, thartmann
2021-03-23 06:51:12 +00:00
Jie Fu
a5e7a890fe 8263904: compiler/intrinsics/bmi/verifycode/BzhiTestI2L.java fails on x86_32
Reviewed-by: kvn
2021-03-22 23:14:07 +00:00
Vladimir Kozlov
f84b52b84d 8263897: compiler/c2/aarch64/TestVolatilesSerial.java failed with "java.lang.RuntimeException: Wrong method"
Reviewed-by: roland
2021-03-22 17:03:12 +00:00
Jamsheed Mohammed C M
ff52f2989f 8260716: Assert in MacroAssembler::clear_mem with -XX:-IdealizeClearArrayNode
Reviewed-by: kvn, thartmann
2021-03-18 09:22:17 +00:00
Vladimir Kozlov
83a49ef845 8263753: two new tests from JDK-8261671 fail with "Error. can not find ClassFileInstaller in test directory or libraries"
Reviewed-by: dcubed
2021-03-17 20:00:31 +00:00
Marcus G K Williams
4f4ca0e705 8261671: X86 I2L conversion can be skipped for certain masked positive values
Reviewed-by: kvn, neliasso, vlivanov
2021-03-17 16:19:06 +00:00
Igor Ignatyev
a7aba2b61c 8263549: 8263412 can cause jtreg testlibrary split
Reviewed-by: iklam, dcubed
2021-03-13 14:51:53 +00:00
Jie Fu
bf9b5fa753 8263501: compiler/oracle/TestInvalidCompileCommand.java fails with release VMs
Reviewed-by: kvn
2021-03-12 22:56:47 +00:00
Jie Fu
ad1f605419 8263353: assert(CompilerOracle::option_matches_type(option, value)) failed: Value must match option type
Reviewed-by: neliasso, kvn
2021-03-12 02:22:34 +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
Jie Fu
e5ce97b12d 8263206: assert(*error_msg != '\0') failed: Must have error_message while parsing -XX:CompileCommand=unknown
Reviewed-by: neliasso
2021-03-09 23:32:18 +00:00
Igor Veresov
1f9ed9059f 8219555: compiler/jvmci/compilerToVM/IsMatureTest.java fails with Unexpected isMature state for multiple times invoked method: expected false to equal true
Reviewed-by: kvn
2021-03-08 18:01:27 +00:00
Igor Ignatyev
3844ce400d 8261247: some compiler/whitebox/ tests fail w/ DeoptimizeALot
Reviewed-by: kvn
2021-03-06 21:08:20 +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
Jie Fu
d91550efad 8262998: Vector API intrinsincs should not modify IR when bailing out
Reviewed-by: thartmann, vlivanov
2021-03-05 05:57:30 +00:00
Jie Fu
351889f1b5 8262508: Vector API's ergonomics is incorrect
Reviewed-by: vlivanov
2021-03-04 23:04:28 +00:00
Roberto Castañeda Lozano
4cfecceb04 8261730: C2 compilation fails with assert(store->find_edge(load) != -1) failed: missing precedence edge
Relax assertion in PhaseCFG::verify() to accept the case where a store is used
to implement an implicit null check and a load is placed in the null block.

Reviewed-by: thartmann, kvn
2021-03-04 07:48:51 +00:00
Aleksey Shipilev
7915a1fc4c 8262950: Restructure compiler/intrinsics/TestRotate.java for easier compilation
Reviewed-by: kvn
2021-03-04 07:41:22 +00:00
Dong Bo
c15801e98c 8261142: AArch64: Incorrect instruction encoding when right-shifting vectors with shift amount equals to the element width
Reviewed-by: njian, aph
2021-03-03 06:43:25 +00:00
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
Xin Liu
adf0e23aa2 8257800: CompileCommand TypedMethodOptionMatcher::parse_method_pattern() may over consume
Reviewed-by: thartmann, chagedorn, phh
2020-12-18 20:35:38 +00:00
Nils Eliasson
7320e051ea 8258647: TestCharVect2 is very slow
Reviewed-by: vlivanov, kvn
2020-12-17 22:43:00 +00:00
Jesper Wilhelmsson
f15528eb64 Merge 2020-12-17 20:41:37 +00:00
Nils Eliasson
cb5a6b1a7d 8258225: compiler/c2/cr6340864/TestIntVect.java runs faster in interpreter
Reviewed-by: vlivanov, thartmann, kvn
2020-12-17 17:50:53 +00:00
Xin Liu
83be8a902c 8247732: validate user-input intrinsic_ids in ControlIntrinsic
renew webrev to the latest jdk. fixed a typo and a bug.  Add constraints for both DisableIntrinsic and ControlIntrinsics.  Add tests to cover different use cases of them.

Reviewed-by: neliasso, thartmann
2020-12-17 10:05:09 +00:00
Christian Hagedorn
04a1e5b75b 8258505: [TESTBUG] TestDivZeroWithSplitIf.java fails due to missing UnlockDiagnosticVMOptions
Reviewed-by: thartmann, kvn, dcubed
2020-12-17 08:09:19 +00:00
Christian Hagedorn
ce36aeaac3 8257822: C2 crashes with SIGFPE due to a division that floats above its zero check
Reviewed-by: kvn, thartmann
2020-12-15 15:14:34 +00:00
Roland Westrelin
d93293f31b 8256730: Code that uses Object.checkIndex() range checks doesn't optimize well
Reviewed-by: vlivanov, thartmann
2020-12-10 08:09:08 +00:00
Aleksey Shipilev
35e81536e7 8257848: -XX:CompileCommand=blackhole,* should be diagnostic
Reviewed-by: vlivanov
2020-12-08 10:11:01 +00:00
Christian Hagedorn
1d0adbb812 8253644: C2: assert(skeleton_predicate_has_opaque(iff)) failed: unexpected
Reviewed-by: roland, kvn
2020-12-08 08:48:58 +00:00
Jie Fu
c43c224ef9 8257796: [TESTBUG] TestUseSHA512IntrinsicsOptionOnSupportedCPU.java fails on x86_32
Reviewed-by: kvn
2020-12-07 22:59:51 +00:00
Roland Westrelin
f5a582c287 8257575: C2: "failed: only phis" assert failure in loop strip mining verification
Reviewed-by: thartmann, neliasso
2020-12-07 09:38:22 +00:00
Aleksey Shipilev
05dac03f36 8257803: Add -Xbatch to compiler/blackhole tests
Reviewed-by: dholmes
2020-12-07 06:43:34 +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 Kozlov
dd0b9454a2 8257531: Super word not applied to a loop of simple Buffer operations
Reviewed-by: roland, psandoz
2020-12-04 19:23:52 +00:00
Roland Westrelin
86b65756cb 8257574: C2: "failed: parsing found no loops but there are some" assert failure
Reviewed-by: thartmann, neliasso, chagedorn
2020-12-04 12:01:53 +00:00
Christian Hagedorn
4a85514963 8257182: JCK test failures in integer / long rotation tests
Reviewed-by: mdoerr, vlivanov, thartmann, kvn
2020-12-04 08:10:31 +00:00
Volker Simonis
d3f3c32282 8255742: PrintInlining as compiler directive doesn't print virtual calls
Reviewed-by: thartmann, kvn
2020-12-03 18:02:05 +00:00
Tobias Hartmann
129c37700f 8257594: C2 compiled checkcast of non-null object triggers endless deoptimization/recompilation cycle
Reviewed-by: roland, vlivanov
2020-12-03 13:42:19 +00:00
Nick Gasson
4169d96e24 8257143: Enable JVMCI code installation tests on AArch64
Reviewed-by: burban, kvn
2020-12-03 07:26:10 +00:00
Doug Simon
7e37c7c544 8257471: fatal error: Fatal exception in JVMCI: Exception during JVMCI compiler initialization
Reviewed-by: kvn, never
2020-12-02 10:14:46 +00:00
Vladimir Kozlov
816e8f83b8 8256999: Add C2 intrinsic for Reference.refersTo and PhantomReference::refersTo
Reviewed-by: pliden, vlivanov, rkennke, eosterlund, shade
2020-11-29 20:27:01 +00:00
Doug Simon
c5d95071df 8257220: [JVMCI] option validation should not result in a heavy-weight VM crash
Reviewed-by: kvn
2020-11-29 16:52:14 +00:00
Aleksey Shipilev
a14f02d8e5 8256267: Relax compiler/floatingpoint/NaNTest.java for x86_32 and lower -XX:+UseSSE
Reviewed-by: kvn, iignatyev
2020-11-25 20:01:00 +00:00
Nils Eliasson
cfb175dfdf 8256508: Improve CompileCommand flag
Reviewed-by: redestad, kvn
2020-11-25 14:20:35 +00:00
Tobias Hartmann
1c4c99eae2 8256823: C2 compilation fails with "assert(isShiftCount(imm8 >> 1)) failed: illegal shift count"
Reviewed-by: vlivanov, kvn, chagedorn
2020-11-24 16:52:13 +00:00
jasontatton-aws
b99fd4c7d6 8033441: print line numbers with -XX:+PrintOptoAssembly
Reviewed-by: jiefu, thartmann
2020-11-20 12:51:47 +00:00
Roberto Castañeda Lozano
eb35ade9a0 6232281: -XX:-UseLoopSafepoints causes assert(v_false,"Parse::remove_useless_nodes missed this node")
Check for nodes missed by remove_useless_nodes() only if PhaseRemoveUseless has
actually been run. This makes it possible to use -XX:-UseLoopSafepoints without
crashing trivially, although implicit assumptions in other parts of C2 about the
existence of loop safepoints might lead to more subtle failures for more complex
methods.

Reviewed-by: neliasso, thartmann, kvn
2020-11-20 12:06:36 +00:00
Tobias Hartmann
f504f419d3 8256385: C2: fatal error: modified node is not on IGVN._worklist
Reviewed-by: chagedorn, roland
2020-11-18 11:53:25 +00:00
Dong Bo
b0b9dd27b8 8256318: AArch64: Add support for floating-point absolute difference
Reviewed-by: aph
2020-11-18 10:14:20 +00:00
Roland Westrelin
a7422ac2f4 8255150: Add utility methods to check long indexes and ranges
Co-authored-by: Paul Sandoz <psandoz@openjdk.org>
Reviewed-by: jvernee, dlong, vlivanov
2020-11-17 10:37:27 +00:00
Christian Hagedorn
5dbfae0176 8255058: C1: assert(is_virtual()) failed: type check
Reviewed-by: neliasso, kvn
2020-11-17 09:16:06 +00:00
Boris Ulasevich
f611fdfee8 8254016: Test8237524 fails with -XX:-CompactStrings option
Reviewed-by: shade
2020-11-16 14:58:14 +00:00
Roland Westrelin
ea576ddbd4 8254887: C2: assert(cl->trip_count() > 0) failed: peeling a fully unrolled loop
Reviewed-by: chagedorn, thartmann
2020-11-13 08:19:33 +00:00
Corey Ashford
ccb48b7203 8248188: Add IntrinsicCandidate and API for Base64 decoding
8248188: Add IntrinsicCandidate and API for Base64 decoding, add Power64LE intrinsic implementation.

This patch set encompasses the following commits:

Adds a new intrinsic candidate to the java.lang.Base64 class - decodeBlock(), and provides a flexible API for the intrinsic. The API is similar to the existing encodeBlock intrinsic.

Adds the code in HotSpot to check and martial the new intrinsic's arguments to the arch-specific intrinsic implementation.

Adds a Power64LE-specific implementation of the decodeBlock intrinsic.

Adds a JMH microbenchmark for both Base64 encoding and encoding.

Enhances the JTReg hotspot intrinsic "TestBase64.java" regression test to more fully test both decoding and encoding.

Reviewed-by: rriggs, mdoerr, kvn
2020-11-11 21:31:07 +00:00
Roberto Castañeda Lozano
432c387e21 8254317: C2: Resource consumption of ConvI2LNode::Ideal() grows exponentially
Prevent exponential number of calls to ConvI2LNode::Ideal() when AddIs are used
multiple times by other AddIs in the optimization ConvI2L(AddI(x, y)) ->
AddL(ConvI2L(x), ConvI2L(y)). This is achieved by (1) reusing existing ConvI2Ls
if possible rather than eagerly creating new ones and (2) postponing the
optimization of newly created ConvI2Ls. Remove hook node solution introduced in
8217359, since this is subsumed by (2). Use phase->is_IterGVN() rather than
can_reshape to check if ConvI2LNode::Ideal() is called within iterative GVN, for
clarity. Add regression tests that cover different shapes and sizes of AddI
subgraphs, implicitly checking (by not timing out) that there is no
combinatorial explosion.

Co-authored-by: Vladimir Ivanov <vlivanov@openjdk.org>
Reviewed-by: vlivanov, kvn
2020-11-11 10:18:36 +00:00
Nils Eliasson
e281b13597 8255011: [TESTBUG] compiler/codecache/stress/UnexpectedDeoptimizationAllTest.java timed out
Change CodeCacheStressRunner to have a 60 second test time

Reviewed-by: iignatyev
2020-11-10 11:25:53 +00:00
Vladimir Kozlov
2f7d34f205 8255616: Disable AOT and Graal in Oracle OpenJDK
Reviewed-by: iignatyev, vlivanov, iveresov, ihse
2020-11-02 16:04:46 +00:00
Vladimir Kozlov
56eb5f54f4 8255466: C2 crashes at ciObject::get_oop() const+0x0
Reviewed-by: vlivanov
2020-10-29 22:34:14 +00:00
Vladimir Kozlov
a7fa1b70f2 8251994: VM crashed running TestComplexAddrExpr.java test with -XX:UseAVX=X
Reviewed-by: shade, redestad
2020-10-26 19:40:48 +00:00
Fei Yang
5ec1b80c4a 8255287: aarch64: fix SVE patterns for vector shift count
Co-authored-by: Yanhong Zhu <zhuyanhong2@huawei.com>
Reviewed-by: adinn
2020-10-23 13:16:37 +00:00
Ningsheng Jian
ac1748e786 8254670: SVE test uses linux-specific api
Reviewed-by: adinn, vkempik
2020-10-23 10:06:40 +00:00
Vladimir Ivanov
e52156d730 8255067: Restore Copyright line in file modified by 8253191
Reviewed-by: kvn, shade
2020-10-23 08:33:14 +00:00
Fei Yang
b25d894015 8252204: AArch64: Implement SHA3 accelerator/intrinsic
Co-authored-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Co-authored-by: Dong Bo <dongbo4@huawei.com>
Reviewed-by: aph, kvn
2020-10-22 04:38:39 +00:00
Roland Westrelin
294e0705fa 8254998: C2: assert(!n->as_Loop()->is_transformed_long_loop()) failure with -XX:StressLongCountedLoop=1
Reviewed-by: vlivanov, kvn, thartmann
2020-10-20 11:53:41 +00:00
Roberto Castañeda Lozano
98ec4a6792 8254805: compiler/debug/TestStressCM.java is still failing
Use the code motion trace produced by TraceOptoPipelining (excluding traces of
stubs) to assert that two compilations with the same seed cause StressLCM and
StressGCM to take the same randomized decisions. Previously, the entire output
produced by PrintOptoStatistics was used instead, which has shown to be too
fragile. Also, disable inlining in both TestStressCM.java and the similar
TestStressIGVN.java to prevent flaky behavior, and run both tests for ten
different seeds to improve coverage.

Reviewed-by: kvn, thartmann
2020-10-20 06:08:25 +00:00
Doug Simon
f42c03226f 8254793: [JVMCI] improve speculation encoding
Reviewed-by: kvn, dlong, never
2020-10-19 19:06:23 +00:00
Erik Joelsson
0b5101658d 8253660: Need better error report when artifact resolution fails in AotCompiler.java
Reviewed-by: ihse
2020-10-19 17:40:54 +00:00
Tobias Hartmann
7c0d417027 8251535: Partial peeling at unsigned test adds incorrect loop exit check
Reviewed-by: chagedorn, neliasso, kvn
2020-10-16 06:25:33 +00:00
Jason Tatton (AWS)
f71e8a6198 8173585: Intrinsify StringLatin1.indexOf(char)
Reviewed-by: neliasso
2020-10-14 12:58:21 +00:00
Roberto Castañeda Lozano
b509e31e5f 8254602: compiler/debug/TestStressCM.java failed with "RuntimeException: got the same optimization stats for different seeds: expected 45"
Remove test assertion checking that different random seeds lead to different
code motion decisions. This was the case for the specific pair of random seeds,
IR fed to code motion, and target platforms tested originally; but does not need
to hold in general. Remove similar test assertion in IGVN randomization test
case. Re-enable the test case.

Reviewed-by: shade, kvn
2020-10-14 08:07:59 +00:00
Roberto Castañeda Lozano
05459df0c7 8253765: C2: Control randomization in StressLCM and StressGCM
Use the compilation-local seed in 'StressLCM' and 'StressGCM' rather than the
global one. As a consequence, these options use by default a fresh seed in every
compilation, unless 'StressSeed=N' is specified, in which case they behave
deterministically. Annotate tests that use 'StressLCM' and 'StressGCM' with the
'stress' and 'randomness' keys to reflect this change in default behavior.

Reviewed-by: kvn, thartmann
2020-10-12 11:40:50 +00:00
Christian Hagedorn
54bbe76ed0 8251544: CTW: C2 fails with assert(no_dead_loop) failed: dead loop detected
Reviewed-by: kvn, roland
2020-10-12 08:18:13 +00:00
Jatin Bhateja
4b5ac3abac 8252847: Optimize primitive arrayCopy stubs using AVX-512 masked instructions
Reviewed-by: neliasso, kvn
2020-10-10 06:29:38 +00:00
Evgeny Nikitin
52e45a3677 8229186: Improve error messages for TestStringIntrinsics failures
Reviewed-by: iignatyev, lmesnik
2020-10-09 16:48:49 +00:00
Vladimir Ivanov
6d13c766bf 8253191: C2: Masked byte comparisons with large masks produce wrong result on x86
Reviewed-by: thartmann
2020-10-08 12:41:46 +00:00
Roberto Castañeda Lozano
a191c586dc 8253404: C2: assert(C->live_nodes() <= C->max_node_limit()) failed: Live Node limit exceeded limit
Record nodes as dead in Node::destruct() if their index cannot be directly
reclaimed. This prevents the "Live Node limit exceeded limit" assertion failure
by improving the accuracy of Compile::live_nodes() when "hook" nodes in
ConvI2LNode::Ideal() are created and deleted non-consecutively.

This addition might result in multiple calls to compile::record_dead_node() for
the same node (e.g. from PhaseIdealLoop::spinup()), but this is safe, as
compile::record_dead_node() is idempotent.

Reviewed-by: neliasso, thartmann
2020-10-08 12:30:38 +00:00
Roland Westrelin
f86037207c 8253566: clazz.isAssignableFrom will return false for interface implementors
Reviewed-by: kvn, thartmann, neliasso
2020-10-08 09:33:42 +00:00
Roland Westrelin
76a5852776 8253756: C2 CompilerThread0 crash in Node::add_req(Node*)
Reviewed-by: vlivanov, thartmann
2020-10-08 08:39:40 +00:00
Igor Ignatyev
5a9bd41e79 8254102: use ProcessHandle::pid instead of ManagementFactory::getRuntimeMXBean to get pid in tests
Reviewed-by: rriggs, shade
2020-10-07 18:51:52 +00:00
Doug Simon
04ca660e81 8253874: [JVMCI] added test omitted in 8252881
Reviewed-by: shade
2020-10-07 09:14:43 +00:00
Xin Liu
ea5a2b15a0 8251464: make Node::dump(int depth) support indent
Reviewed-by: thartmann
2020-10-02 13:45:29 +00:00
Philippe Marschall
2a406f3ce5 8138732: Rename @HotSpotIntrinsicCandidate to @IntrinsicCandidate and move it to the jdk.internal.vm.annotation package
Reviewed-by: dholmes, alanb, psandoz, kvn, egahlin
2020-09-30 20:05:07 +00:00
Jie Fu
9c17a35e50 8253748: StressIGV tests fail with release VMs
Reviewed-by: thartmann
2020-09-29 06:37:46 +00:00
Wang Zhuo
276fcee795 8252835: Revert fix for JDK-8246051
Reviewed-by: psandoz, dholmes, mikael
2020-09-28 07:34:01 +00:00
Roberto Castaneda Lozano
fed3636f12 8252219: C2: Randomize IGVN worklist for stress testing
Add 'StressIGVN' option to let C2 randomize IGVN worklist order. When enabled,
the worklist is shuffled before each main run of the IGVN loop. Also add
'StressSeed=N' option to specify the seed. If the seed is not specified, a
random one is generated. In either case, the seed is logged if 'LogCompilation'
is enabled. The new options are declared as production+diagnostic for
consistency with the existing 'StressLCM' and 'StressGCM' options.

Reviewed-by: kvn, chagedorn, thartmann
2020-09-28 06:44:58 +00:00
Alex Menkov
3320fc0f52 8253372: [TESTBUG] update tests which require jvmti - hotspot
Reviewed-by: sspitsyn, iklam
2020-09-23 21:11:31 +00:00
Vladimir Kozlov
1438ce097f 8252188: Crash in OrINode::Ideal(PhaseGVN*, bool)+0x8b9
Reviewed-by: vlivanov, thartmann, jbhateja
2020-09-19 16:06:35 +00:00
Igor Ignatyev
41d29b752b 8252774: remove jdk.test.lib.FileInstaller action from graalunit tests
Reviewed-by: shade, epavlova
2020-09-10 13:25:29 +00:00
Igor Ignatyev
5b30a83133 8252778: remove jdk.test.lib.FileInstaller action from compiler/c2/stemmer test
Reviewed-by: shade, epavlova
2020-09-10 13:23:01 +00:00
Aleksey Shipilev
91a20ca7e5 8252695: Shenandoah: clean up Graal enabled/disabled filter in tests
Reviewed-by: zgu
2020-09-08 17:42:38 +00:00
Evgeny Nikitin
2cceeedfe1 8166554: Avoid compilation blocking in OverloadCompileQueueTest.java
Reviewed-by: shade
2020-09-08 08:24:35 +00:00
Filipp Zhinkin
70d5cac961 8251152: ARM32: jtreg c2 Test8202414 test crash
Some CPUs (like ARM32) does not support unaligned memory accesses. To avoid JVM crashes tests that perform such accesses should be skipped on corresponding platforms.

Reviewed-by: iignatyev, clanger
2020-09-07 15:33:27 +00:00
Christoph Langer
cc5039e19e 8252837: Cleanup SAP Copyright file headers
Reviewed-by: dholmes
2020-09-07 07:30:10 +00:00
Ningsheng Jian
9b5a9b6189 8231441: AArch64: Initial SVE backend support
Co-authored-by: Joshua Zhu <joshua.zhu@arm.com>
Co-authored-by: Yang Zhang <yang.zhang@arm.com>
Reviewed-by: adinn, pli, ihse, vlivanov, eosterlund
2020-09-02 09:45:44 +08:00
Dmitry Chuyko
35ea00085f 8251525: AARCH64: Faster Math.signum(fp)
Reviewed-by: aph, vlivanov, adinn
2020-09-03 14:54:43 +03:00
Christian Hagedorn
8d30bb03ee 8249607: C2: assert(!had_error) failed: bad dominance
Fix prevented igvn optimization in SplitIf for LoadNodes which resulted in dominanance errors with loop strip mining.

Reviewed-by: roland, kvn
2020-08-31 12:10:25 +02:00
Roland Westrelin
c663323043 8252292: 8240795 may cause anti-dependence to be missed
Reviewed-by: thartmann, kvn
2020-08-24 11:29:40 +02:00
Roland Westrelin
6a85e1454d 8241486: G1/Z give warning when using LoopStripMiningIter and turn off LoopStripMiningIter (0)
Reviewed-by: thartmann, kvn
2020-08-21 17:41:57 +02:00
Jie Fu
c31bcc58b0 8252404: compiler/c1/TestTraceLinearScanLevel.java fails with release VMs
Reviewed-by: kvn, thartmann
2020-08-27 10:35:00 +08:00
Christian Hagedorn
6c4a27ccb1 8251093: Improve C1 register allocator logging and debugging support
Various printing and debug improvements to better analyze C1 register allocator problems.

Reviewed-by: kvn, thartmann
2020-08-26 13:46:46 +02:00
Aleksey Shipilev
2462995662 8252120: compiler/oracle/TestCompileCommand.java misspells "occured"
Reviewed-by: iignatyev
2020-08-21 09:38:27 +02:00
Evgeny Nikitin
714db70bf3 8251349: Add TestCaseImpl to OverloadCompileQueueTest.java's build dependencies
Reviewed-by: iignatyev, kvn
2020-08-10 20:31:27 +02:00
Christian Hagedorn
552a73301c 8248791: sun/util/resources/cldr/TimeZoneNamesTest.java fails with -XX:-ReduceInitialCardMarks -XX:-ReduceBulkZeroing
Fix wrong replacement of loads by zero for non-completed InitializationNodes belonging to a clone when ReduceBulkZeroing is disabled.

Reviewed-by: kvn, thartmann
2020-08-14 10:30:51 +02:00
Tobias Hartmann
191e1e6075 8251458: Parse::do_lookupswitch fails with "assert(_cnt >= 0) failed"
Limit the counter value to max_jint.

Reviewed-by: kvn, vlivanov, chagedorn
2020-08-13 16:01:45 +02:00
Tobias Hartmann
51b3bd2c2e 8251456: [TESTBUG] compiler/vectorization/TestVectorsNotSavedAtSafepoint.java failed OutOfMemoryError
Removed allocation of large arrays to avoid OOME.

Reviewed-by: kvn, chagedorn
2020-08-13 15:59:12 +02:00