Claes Redestad
2d30a10138
8257069: C2: Clarify and sanity test RegMask/RegMaskIterator
...
Reviewed-by: jvernee, kvn
2020-11-26 13:42:55 +00:00
Nils Eliasson
cfb175dfdf
8256508: Improve CompileCommand flag
...
Reviewed-by: redestad, kvn
2020-11-25 14:20:35 +00:00
Christian Hagedorn
7aed9b65d0
8256016: Dacapo24H.java failed with "assert(false) failed: unscheduable graph"
...
Reviewed-by: kvn, vlivanov
2020-11-25 14:00:40 +00:00
Jatin Bhateja
0d91f0a1df
8252848: Optimize small primitive arrayCopy operations through partial inlining using AVX-512 masked instructions
...
Reviewed-by: neliasso, kvn
2020-11-25 06:08:19 +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
Claes Redestad
fa3cfcd0cd
8256883: C2: Add a RegMask iterator
...
Reviewed-by: kvn, pliden, eosterlund
2020-11-24 14:35:51 +00:00
Claes Redestad
f55ae9595e
8256858: C2: Devirtualize PhaseIterGVN-specific methods
...
Reviewed-by: kvn, thartmann
2020-11-24 14:33:47 +00:00
Maurizio Cimadamore
0fb31dbf3a
8254231: Implementation of Foreign Linker API (Incubator)
...
Reviewed-by: coleenp, ihse, dholmes, vlivanov
2020-11-23 11:00:38 +00:00
Claes Redestad
b450e7c1c5
8256827: C2: Avoid reallocations by pre-sizing lists in post_allocate_copy_removal
...
Reviewed-by: kvn, thartmann
2020-11-23 10:18:40 +00:00
Christian Hagedorn
e4a32bea9f
8251925: C2: RenaissanceStressTest fails with assert(!had_error): bad dominance
...
Reviewed-by: kvn, thartmann
2020-11-23 08:37:09 +00:00
Vladimir Ivanov
41c05876bc
8255367: C2: Deoptimization during vector box construction is broken
...
Reviewed-by: thartmann, kvn
2020-11-20 21:16:34 +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
Tobias Hartmann
5bcf898b97
8256478: C2 compilation fails with assert(t1->isa_long()) failed: Type must be a long
...
Reviewed-by: roland, chagedorn, kvn
2020-11-18 11:52:47 +00:00
Claes Redestad
f7f3447496
8256453: C2: Reduce State footprint
...
Reviewed-by: neliasso, kvn
2020-11-18 10:31:13 +00:00
Dongbo He
ef3ddb1d03
8255448: Fastdebug JVM crashes with Vector API when PrintAssembly is turned on
...
Co-authored-by: Huang Wang <wanghuang3@huawei.com>
Reviewed-by: vlivanov
2020-11-18 01:10:11 +00:00
Claes Redestad
654ad27418
8256392: C2: Various Node cleanups
...
Reviewed-by: neliasso, thartmann, vlivanov
2020-11-17 12:24:42 +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
Tobias Hartmann
6d878565f8
8256325: Remove duplicate asserts in PhaseMacroExpand::expand_macro_nodes
...
Reviewed-by: shade, redestad
2020-11-17 09:37:36 +00:00
Claes Redestad
1228517261
8256274: C2: Optimize copying of the shared type dictionary
...
Reviewed-by: neliasso, kvn
2020-11-17 07:15:04 +00:00
Eric Liu
30a2ad5501
8254872: Optimize Rotate on AArch64
...
Reviewed-by: aph, kvn
2020-11-17 01:55:09 +00:00
Claes Redestad
6e35bcbf03
8256205: Simplify compiler calling convention handling
...
Reviewed-by: kvn, neliasso
2020-11-16 19:39:36 +00:00
Aleksey Shipilev
b4d0186718
8253525: Implement getInstanceSize/sizeOf intrinsics
...
Reviewed-by: kvn, sspitsyn
2020-11-13 08:20:11 +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
Claes Redestad
19bade0280
8256238: Remove Matcher::pass_original_key_for_aes
...
Reviewed-by: thartmann, chagedorn
2020-11-12 14:21:24 +00:00
Claes Redestad
f7685a4639
8256203: Simplify RegMask::Empty
...
Reviewed-by: thartmann, chagedorn
2020-11-12 14:20:48 +00:00
Roland Westrelin
70c7b1d93c
8250607: C2: Filter type in PhiNode::Value() for induction variables of trip-counted integer loops
...
Reviewed-by: chagedorn, thartmann
2020-11-12 14:15:40 +00:00
Ioi Lam
2f06893a29
8252526: Remove excessive inclusion of jvmti.h and jvmtiExport.hpp
...
Reviewed-by: ihse, kbarrett
2020-11-12 01:45:27 +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
Martin Doerr
436019b8bb
8256166: [C2] Registers get confused on Big Endian after 8221404
...
Reviewed-by: redestad, thartmann
2020-11-11 15:28:09 +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
Claes Redestad
6ae5e5b6b7
8221404: C2: Convert RegMask and IndexSet to use uintptr_t
...
Reviewed-by: kvn, thartmann
2020-11-10 16:48:21 +00:00
Jie Fu
a1d4b9f35b
8256009: Remove src/hotspot/share/adlc/Test/i486.ad
...
Reviewed-by: shade, thartmann
2020-11-10 13:49:01 +00:00
Xin Liu
6a183fbbc3
8255562: delete UseRDPCForConstantTableBase
...
Reviewed-by: simonis
2020-11-08 15:03:57 +00:00
Tobias Hartmann
eb85b8da32
8255665: C2 should aggressively remove temporary hook nodes
...
Reviewed-by: chagedorn, kvn
2020-11-05 08:02:47 +00:00
Tobias Hartmann
15805741f1
8255672: Replace PhaseTransform::eqv by pointer equality check
...
Reviewed-by: chagedorn, redestad, kvn
2020-11-03 07:17:58 +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
Jason Tatton (AWS)
1a5e6c98c2
8253101: Clean up CallStaticJavaNode EA flags
...
Reviewed-by: kvn
2020-10-28 22:44:52 +00:00
Igor Veresov
0425889885
8255429: Remove C2-based profiling
...
Reviewed-by: kvn, neliasso, vlivanov
2020-10-28 16:22:07 +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
Vladimir Ivanov
83a91bfaed
8253734: C2: Optimize Move nodes
...
Reviewed-by: thartmann, neliasso, kvn
2020-10-26 17:24:08 +00:00
Aleksey Shipilev
69188188f4
8255265: IdealLoopTree::iteration_split_impl does not use should_align
...
Reviewed-by: thartmann, kvn
2020-10-26 07:16:10 +00:00
Patric Hedlin
f279ddfa06
8248411: [aarch64] Insufficient error handling when CodeBuffer is exhausted
...
Reviewed-by: adinn
2020-10-22 15:56:56 +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
Sandhya Viswanathan
365f19c8e1
8254790: SIGSEGV in string_indexof_char and stringL_indexof_char intrinsics
...
Reviewed-by: kvn, thartmann
2020-10-21 16:24:30 +00:00
Vladimir Ivanov
7e2640432b
8255000: C2: Unify IGVN processing when loop opts are over
...
Reviewed-by: neliasso, iveresov, kvn
2020-10-21 08:09:00 +00:00
Vladimir Ivanov
27230fae24
8255026: C2: Miscellaneous cleanups in Compile and PhaseIdealLoop code
...
Reviewed-by: thartmann, neliasso, redestad
2020-10-21 07:34:54 +00:00
Ningsheng Jian
42a6eadb85
8254884: Make sure jvm does not crash with Arm SVE and Vector API
...
Reviewed-by: vlivanov, adinn
2020-10-21 01:15:13 +00:00
Tobias Hartmann
cfb02d4854
8250861: Crash in MinINode::Ideal(PhaseGVN*, bool)
...
Added missing NULL checks.
Reviewed-by: kvn, chagedorn
2020-10-20 14:58:40 -07:00