Commit Graph

117 Commits

Author SHA1 Message Date
Quan Anh Mai
703a6ef591 8283699: Improve the peephole mechanism of hotspot
Reviewed-by: kvn, dlong
2022-10-12 00:31:04 +00:00
Zhiqiang Zang
5dd851d872 8281453: New optimization: convert ~x into -1-x when ~x is used in an arithmetic expression
Reviewed-by: kvn
2022-10-06 22:15:20 +00:00
Fei Gao
aa48705ddd 8289422: Fix and re-enable vector conditional move
Reviewed-by: thartmann, kvn
2022-09-27 01:24:17 +00:00
Quan Anh Mai
01e7b88199 8290917: x86: Memory-operand arithmetic instructions have too low costs
Reviewed-by: kvn, sviswanathan, jbhateja
2022-09-16 20:07:59 +00:00
Pengfei Li
211fab8d36 8291669: [REDO] Fix array range check hoisting for some scaled loop iv
Reviewed-by: roland, thartmann
2022-09-14 14:20:39 +00:00
Hao Sun
cbee0bc9ef 8292587: AArch64: Support SVE fabd instruction
Reviewed-by: njian, fgao, ngasson
2022-09-13 02:19:02 +00:00
Eric Caspole
3a090777ba 8291337: Reduce runtime of vm.lamdba microbenchmarks
Reviewed-by: rriggs
2022-08-15 16:08:39 +00:00
Eric Caspole
1b66cecd31 8291729: Reduce runtime of vm.compiler microbenchmarks
Reviewed-by: kvn
2022-08-03 18:01:26 +00:00
Pengfei Li
a2cff2634c 8291597: [BACKOUT] JDK-8289996: Fix array range check hoisting for some scaled loop iv
Reviewed-by: kvn, thartmann
2022-08-02 06:50:55 +00:00
Eric Caspole
f0f78a9125 8290894: Reduce runtime of vm.lang microbenchmarks
Reviewed-by: rriggs
2022-07-26 20:06:35 +00:00
Pengfei Li
893909558b 8289996: Fix array range check hoisting for some scaled loop iv
Co-authored-by: John R Rose <jrose@openjdk.org>
Reviewed-by: roland, kvn, thartmann
2022-07-26 13:45:38 +00:00
Bhavana Kilambi
89458e36af 8288107: Auto-vectorization for integer min/max
Reviewed-by: kvn, ngasson
2022-07-20 15:36:39 +00:00
Fei Gao
a1795901ee 8283091: Support type conversion between different data sizes in SLP
Reviewed-by: kvn, sviswanathan
2022-06-16 02:40:59 +00:00
Claes Redestad
7e948f7ccb 8287903: Reduce runtime of java.math microbenchmarks
Reviewed-by: ecaspole, aph
2022-06-09 13:11:15 +00:00
Fei Gao
24fe8ad74c 8283307: Vectorize unsigned shift right on signed subword types
Reviewed-by: jiefu, pli, sviswanathan, kvn
2022-06-06 02:02:10 +00:00
wanghaomin
d65fba412e 8286452: The array length of testSmallConstArray should be small and const
Reviewed-by: redestad
2022-05-17 02:17:08 +00:00
Claes Redestad
1586bf862b 8286401: Address possibly lossy conversions in Microbenchmarks
Reviewed-by: shade, ecaspole
2022-05-11 20:51:57 +00:00
Pengfei Li
ea83b4455b 8280510: AArch64: Vectorize operations with loop induction variable
Reviewed-by: adinn, thartmann
2022-04-28 14:13:24 +00:00
Roland Westrelin
32593df392 8279888: Local variable independently used by multiple loops can interfere with loop optimizations
Co-authored-by: Claes Redestad <redestad@openjdk.org>
Reviewed-by: thartmann, kvn
2022-04-25 09:30:00 +00:00
Fei Yang
835c7e8d6d 8283907: Fix Huawei copyright in various files
Reviewed-by: mli
2022-03-31 00:46:44 +00:00
Quan Anh Mai
d8c55725e0 8282204: Use lea instructions for arithmetic operations on x86_64
Reviewed-by: jiefu, sviswanathan, thartmann
2022-03-23 09:45:23 +00:00
Swati Sharma
08cadb4754 8271195: Use largest available large page size smaller than LargePageSizeInBytes when available
Co-authored-by: Jatin Bhateja <jbhateja@openjdk.org>
Reviewed-by: ayang, tschatzl
2022-03-16 09:48:09 +00:00
Hao Sun
49245131e9 8265263: AArch64: Combine vneg with right shift count
Reviewed-by: adinn, dlong
2022-03-09 00:52:01 +00:00
Roland Westrelin
0dba170791 8278518: String(byte[], int, int, Charset) constructor and String.translateEscapes() miss bounds check elimination
Co-authored-by: Sergey Tsypanov <stsypanov@openjdk.org>
Reviewed-by: kvn, jrose
2022-01-27 08:44:58 +00:00
Zhiqiang Zang
0bf95a1a73 8279607: Existing optimization "~x+1" -> "-x" can be generalized to "~x+c" -> "(c-1)-x".
Reviewed-by: thartmann, kvn
2022-01-20 07:38:04 +00:00
Vamsi Parasa
c4518e257c 8278868: Add x86 vectorization support for Long.bitCount()
Reviewed-by: jbhateja, sviswanathan, kvn
2022-01-11 18:47:42 +00:00
Jie Fu
6a42fbaf9b 8279258: Auto-vectorization enhancement for two-dimensional array operations
Reviewed-by: neliasso, kvn
2022-01-07 00:04:51 +00:00
Jatin Bhateja
8703f14808 8273322: Enhance macro logic optimization for masked logic operations.
Reviewed-by: kvn, sviswanathan
2022-01-06 18:41:06 +00:00
Zhiqiang Zang
f326305396 8278114: New addnode ideal optimization: converting "x + x" into "x << 1"
Reviewed-by: kvn, redestad
2022-01-05 00:38:59 +00:00
Vladimir Kozlov
a1dfe57249 8276455: C2: iterative EA
Reviewed-by: iveresov, neliasso, roland
2021-12-14 19:24:13 +00:00
Zhiqiang Zang
352435581e 8277882: New subnode ideal optimization: converting "c0 - (x + c1)" into "(c0 - c1) - x"
Reviewed-by: dlong, iveresov
2021-12-09 00:18:59 +00:00
Xin Liu
21d9ca6cd9 8274983: C1 optimizes the invocation of private interface methods
Reviewed-by: dlong, iveresov
2021-11-30 18:55:24 +00:00
Faye Gao
9aa30de4bb 8275317: AArch64: Support some type conversion vectorization in SLP
Reviewed-by: thartmann, ngasson
2021-11-17 08:19:46 +00:00
MeryKitty
f3eb5014aa 8276162: Optimise unsigned comparison pattern
Reviewed-by: thartmann, kvn
2021-11-16 14:09:53 +00:00
Jie Fu
0ab910d626 8276066: Reset LoopPercentProfileLimit for x86 due to suboptimal performance
Reviewed-by: thartmann, kvn
2021-11-03 22:45:50 +00:00
Aleksey Shipilev
5a768f75c9 8276054: JMH benchmarks for Fences
Reviewed-by: redestad
2021-10-28 17:32:39 +00:00
Marcus G K Williams
87d2761f1b 8271883: Math CopySign optimization for x86
Reviewed-by: jbhateja, sviswanathan, kvn
2021-08-14 00:34:51 +00:00
Andrew Haley
6c68ce2d39 8270947: AArch64: C1: use zero_words to initialize all objects
Reviewed-by: ngasson, adinn
2021-07-30 18:02:11 +00:00
Yi Yang
afe957cd97 8268698: Use Objects.check{Index,FromToIndex,FromIndexSize} for java.base
Reviewed-by: mchung, rriggs
2021-07-13 02:23:16 +00:00
Patricio Chilano Mateo
2fd7943ec1 8256425: Obsolete Biased Locking in JDK 18
Reviewed-by: kvn, dholmes, dcubed, rrich
2021-06-24 18:54:41 +00:00
Yi Yang
4e6748c543 8267687: ModXNode::Ideal optimization is better than Parse::do_irem
Reviewed-by: neliasso, kvn
2021-06-04 23:29:35 +00:00
Wang Huang
599d07c0db 8263006: Add optimization for Max(*)Node and Min(*)Node
Co-authored-by: Wang Huang <whuang@openjdk.org>
Co-authored-by: Wu Yan <wuyan34@huawei.com>
Reviewed-by: kvn
2021-05-14 17:16:28 +00:00
Marcus G K Williams
ff65920cd1 8265491: Math Signum optimization for x86
Reviewed-by: jiefu, jbhateja, neliasso
2021-05-03 16:28:14 +00:00
Eric Caspole
6225ae636e 8264466: Cut-paste error in InterfaceCalls JMH
Reviewed-by: shade, thartmann
2021-03-31 15:20:05 +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
Sergey Bylokhov
f279ff9d2f 8261010: Delete the Netbeans "default" license header
Reviewed-by: iris, psadhukhan
2021-02-03 23:13:12 +00:00
Dong Bo
ccac7aaea3 8258932: AArch64: Enhance floating-point Min/MaxReductionV with fminp/fmaxp
Reviewed-by: aph
2021-01-12 13:27:47 +00:00
Jatin Bhateja
c11525a45e 8257772: Vectorizing clear memory operation using AVX-512 masked operations
Reviewed-by: thartmann, kvn
2020-12-17 04:42:19 +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
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
Dong Bo
f71f9dc93a 8255949: AArch64: Add support for vectorized shift right and accumulate
Reviewed-by: aph
2020-11-10 01:24:25 +00:00
Boris Ulasevich
4a1d4be729 8248870: AARCH64: I2L/L2I conversions can be skipped for masked positive values
Reviewed-by: aph
2020-07-24 08:21:11 -04:00
Boris Ulasevich
6d137a3616 8248043: Need to eliminate excessive i2l conversions
Reviewed-by: redestad, kvn, iveresov
2020-07-06 04:44:25 -04:00
Boris Ulasevich
48c0ce3b4b 8247408: IdealGraph bit check expression canonicalization
Reviewed-by: aph, kvn, adinn
2020-06-29 07:26:10 -04:00
Pengfei Li
ac4f14c386 8247307: C2: Loop array fill stub routines are not called
Ignore safepoint polling use of CountedLoopNode when matching loop array fill pattern.

Reviewed-by: kvn, thartmann
2020-06-28 06:15:31 +00:00
Eric Caspole
a351ebd40b 8245043: Simplified contention benchmark
Reviewed-by: shade, skuksenko
2020-06-04 13:16:38 -04:00
Jatin Bhateja
5532b27d22 8241040: Support for AVX-512 Ternary Logic Instruction
A new pass has been added which folds expression tree involving vector boolean logic operations into a MacroLogic node.

Reviewed-by: vlivanov, neliasso
2020-04-02 22:38:23 +05:30
Sandhya Viswanathan
398ce2948c 8240248: Extend superword reduction optimizations for x86
Add support for and, or, xor reduction

Co-authored-by: Shravya Rukmannagari <shravya.rukmannagari@intel.com>
Reviewed-by: vlivanov, thartmann
2020-03-23 10:26:40 -07:00
Nils Eliasson
b59f630249 8237581: Improve allocation expansion
Reviewed-by: vlivanov, redestad
2020-02-06 11:21:39 +01:00
Mikael Vidstedt
3318314c7c 8237589: Fix copyright header formatting
Reviewed-by: jjg, serb, iris, jwilhelm
2020-01-21 14:23:01 -08:00
Bernard Blaser
b8b88853a5 8214239: Missing x86_64.ad patterns for clearing and setting long vector bits
Reviewed-by: kvn, vlivanov, jrose, sviswanathan
2019-11-13 11:21:15 +01:00
Brent Christian
916bbc23b7 8221623: Add StackWalker micro benchmarks to jdk repo
Reviewed-by: dfuchs, mchung, redestad
2019-09-25 14:33:44 -07:00
Shravya Rukmannagari
19d1cb63bb 8225626: JMH Test Support for JDK-8222074
Micros for new SuperWord optimizations

Reviewed-by: vlivanov, ecaspole
2019-07-08 17:57:33 -04:00
Jatin Bhateja
c2ec1085e1 8217561: X86: Add floating-point Math.min/max intrinsics
Implementation taking care of +/-0.0 and NaN which uses a specific pattern for reductions

Reviewed-by: aph, kvn, neliasso, sviswanathan, adinn
2019-03-07 15:27:42 +01:00
Nick Gasson
288ebae13c 8217368: AArch64: C2 recursive stack locking optimisation not triggered
Reviewed-by: aph, drwhite
2019-01-22 15:33:34 +08:00
Nick Gasson
2cf4de1a7b 8216350: AArch64: monitor unlock fast path not called
Reviewed-by: aph, drwhite, fyang
2019-01-10 17:08:44 +08:00
Claes Redestad
7a30c97753 8061281: Microbenchmark suite build support, directory layout and sample benchmarks
8061282: Migrate jmh-jdk-microbenchmarks into the JDK

Co-authored-by: Magnus Ihse Bursie <magnus.ihse.bursie@oracle.com>
Co-authored-by: Erik Joelsson <erik.joelsson@oracle.com>
Co-authored-by: Staffan Friberg <sfriberg@kth.se>
Reviewed-by: ecaspole, mchung, erikj, ihse
2018-11-16 23:39:51 +01:00