Commit Graph

2511 Commits

Author SHA1 Message Date
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
Harold Seigel
e080ce9212 8252545: runtime/ErrorHandling/TestHeapDumpOnOutOfMemoryError.java timed out
Reviewed-by: stuefe, coleenp
2021-01-26 13:17:08 +00:00
Jesper Wilhelmsson
6f2a394314 Merge 2021-01-23 03:15:43 +00:00
Harold Seigel
f928265e81 8260009: InstanceKlass::has_as_permitted_subclass() fails if subclass was redefined
Reviewed-by: lfoltan, sspitsyn, dholmes
2021-01-22 13:52:05 +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
Aleksey Shipilev
c3c6662528 8259954: gc/shenandoah/mxbeans tests fail with -Xcomp
Reviewed-by: rkennke, zgu
2021-01-21 13:32:45 +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
Tobias Hartmann
7c32ffea51 8258383: vmTestbase/gc/g1/unloading/tests/unloading_compilation_level[1,2,3] time out without TieredCompilation
Reviewed-by: kvn
2021-01-20 11:48:27 +00:00
Jesper Wilhelmsson
a1a851b6db Merge 2021-01-19 05:43:27 +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
Leonid Mesnik
d7d34dd964 8259799: vmTestbase/nsk/jvmti/Breakpoint/breakpoint001 is incorrect
Reviewed-by: iignatyev, sspitsyn, cjplummer
2021-01-15 19:33:23 +00:00
Thomas Stuefe
bbac91a4b4 8257959: Add gtest run with -XX:+UseLargePages
Reviewed-by: lfoltan, tschatzl
2021-01-15 14:51:34 +00:00
Jesper Wilhelmsson
d701babb06 Merge 2021-01-15 03:10:55 +00:00
Yasumasa Suenaga
90960c5f22 8252657: JVMTI agent is not unloaded when Agent_OnAttach is failed
Reviewed-by: dholmes, sspitsyn
2021-01-15 02:47:30 +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
Daniel D. Daugherty
be57cf149e 8226416: MonitorUsedDeflationThreshold can cause repeated async deflation requests
Reviewed-by: dholmes, coleenp
2021-01-14 14:23:27 +00:00
Jesper Wilhelmsson
51e14f2e2a Merge 2021-01-14 01:29:47 +00:00
Daniel D. Daugherty
5926d75fa1 8259719: ProblemList runtime/cds/appcds/jigsaw/modulepath/ModulePathAndCP_JFR.java on Windows
Reviewed-by: pliden
2021-01-13 19:52:04 +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
Calvin Cheung
15dd8f3aa4 8259275: JRuby crashes while resolving invokedynamic instruction
Reviewed-by: iklam, minqi, lfoltan
2021-01-13 05:51:52 +00:00
Richard Reingruber
a6ab9e4740 8258576: Try to get zerobased CCS if heap is above 32 and CDS is disabled
Reviewed-by: mdoerr, stuefe
2021-01-12 08:35:12 +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
David Holmes
7e6677b532 8259446: runtime/jni/checked/TestCheckedReleaseArrayElements.java fails with stderr not empty
Reviewed-by: dcubed
2021-01-08 22:25:21 +00:00
Thomas Schatzl
b549cbd392 8258481: gc.g1.plab.TestPLABPromotion fails on Linux x86
Reviewed-by: sjohanss, kbarrett
2021-01-08 10:52:08 +00:00
David Holmes
712014c595 8258077: Using -Xcheck:jni can lead to a double-free after JDK-8193234
Reviewed-by: dcubed, hseigel
2021-01-08 04:11:22 +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
Daniel D. Daugherty
c0540ffda9 8231627: ThreadsListHandleInErrorHandlingTest.java fails in printing all threads
Reviewed-by: eosterlund, coleenp, pchilanomate, sspitsyn
2021-01-06 14:34:55 +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
Roland Westrelin
6775113ce8 8258393: Shenandoah: "graph should be schedulable" assert failure
Reviewed-by: rkennke, thartmann
2021-01-05 13:06:54 +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
57217b58bf Merge 2020-12-24 08:28:24 +00:00
Daniel D. Daugherty
8b37c2c58f 8257468: runtime/whitebox/TestWBDeflateIdleMonitors.java fails with Monitor should be deflated.: expected true to equal false
Reviewed-by: hseigel
2020-12-23 22:02:09 +00:00
Daniel D. Daugherty
e46edb5528 8258911: ProblemList serviceability/attach/RemovingUnixDomainSocketTest.java on Linux-X64
Reviewed-by: amenkov
2020-12-23 20:30:27 +00:00
Hao Sun
4ea88512dd 8257928: Test image build failure with clang-10 due to -Wmisleading-indentation
Reviewed-by: amenkov, cjplummer
2020-12-23 01:32:05 +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
Roger Riggs
1dae45d745 8250523: Remove abortOnException diagnostic option from TestHumongousNonArrayAllocation.java
Reviewed-by: kbarrett
2020-12-18 16:34:17 +00:00
Nils Eliasson
7320e051ea 8258647: TestCharVect2 is very slow
Reviewed-by: vlivanov, kvn
2020-12-17 22:43:00 +00:00