170 Commits

Author SHA1 Message Date
Quan Anh Mai
f444d17d80 Early return when not a heap access 2026-01-12 21:56:16 +07:00
Quan Anh Mai
06fb10fecf Fix escape at store 2025-12-29 21:43:47 +07:00
Quan Anh Mai
5a34377d29 Fix outdated and unclear comments 2025-12-28 18:48:23 +07:00
Quan Anh Mai
b2b2e5c2c7 copyright year, return, comments, whitespace 2025-12-28 14:24:56 +07:00
Quan Anh Mai
4efb6d4487 Merge branch 'master' into loadfoldingigvn 2025-12-28 14:16:42 +07:00
Quan Anh Mai
c546d216b0 ea of phis and nested objects 2025-12-23 17:41:15 +00:00
Quan Anh Mai
440b459cec Add a flag to turn off the feature 2025-12-22 20:10:48 +07:00
Christian Hagedorn
9862f8f0d3 8373513: C2: Move ProjNode::other_if_proj() to IfProjNode
Reviewed-by: epeter, roland
2025-12-17 13:38:37 +00:00
Quan Anh Mai
0eb6e9fbf5 Much more comments, refactor the data into a separate class 2025-12-16 11:43:35 +07:00
Quan Anh Mai
31d96537f2 Cheaper and stronger assert, add test for devirtualization 2025-12-14 19:18:15 +07:00
Quan Anh Mai
622ad5a7ac consistently use phase->value during IGVN 2025-12-13 23:18:43 +07:00
Quan Anh Mai
ce3ca6ae45 safepoints do not have a memory output 2025-12-13 22:04:39 +07:00
Quan Anh Mai
918d7fe726 be even more rigorous 2025-12-13 21:47:51 +07:00
Quan Anh Mai
b6b326636e Take into consideration dead paths 2025-12-13 17:07:41 +07:00
Quan Anh Mai
0cfc9aeece missing comment 2025-12-13 14:24:28 +07:00
Quan Anh Mai
d808220145 More conservative and exhaustive analysis, better explanations 2025-12-13 14:13:54 +07:00
Quan Anh Mai
c70bacac61 Aggressively fold loads from objects that have not escaped 2025-12-13 09:47:21 +07:00
Coleen Phillimore
13e32bf166 8372098: Move AccessFlags to InstanceKlass
Reviewed-by: liach, vlivanov, dlong, sspitsyn
2025-12-04 22:39:58 +00:00
Aleksey Shipilev
10f262a6ad 8371804: C2: Tighten up LoadNode::Value comments after JDK-8346184
Reviewed-by: kvn, vlivanov
2025-11-14 15:31:28 +00:00
Roland Westrelin
e6546683a8 8327963: C2: fix construction of memory graph around Initialize node to prevent incorrect execution if allocation is removed
Co-authored-by: Emanuel Peter <epeter@openjdk.org>
Co-authored-by: Roberto Castañeda Lozano <rcastanedalo@openjdk.org>
Reviewed-by: epeter, rcastanedalo
2025-11-04 11:17:56 +00:00
Daniel Lundén
39211e7fac 8369569: Rename methods in regmask.hpp to conform with HotSpot coding style
Reviewed-by: aseoane, rcastanedalo, epeter
2025-10-20 07:49:01 +00:00
Damon Fenacci
991f8e6f38 8360031: C2 compilation asserts in MemBarNode::remove
Reviewed-by: dlong, kvn, shade
2025-10-09 06:21:08 +00:00
Coleen Phillimore
ee3665bca0 8364187: Make getClassAccessFlagsRaw non-native
Reviewed-by: thartmann, rriggs, liach
2025-08-01 15:21:45 +00:00
Manuel Hässig
9ae39b62b9 8355276: Sort C2 includes
Reviewed-by: kvn, thartmann
2025-06-23 07:47:17 +00:00
Saranya Natarajan
74a2c831a2 8352620: C2: rename MemNode::memory_type() to MemNode::value_basic_type()
Reviewed-by: rcastanedalo, thartmann
2025-04-24 09:33:15 +00:00
Marc Chevalier
a1d566ce4b 8348853: Fold layout helper check for objects implementing non-array interfaces
Reviewed-by: thartmann, roland
2025-04-09 09:28:36 +00:00
Cesar Soares Lucas
b045e3fbd7 8352681: C2 compilation hits asserts "must set the initial type just once"
Reviewed-by: chagedorn, dfenacci
2025-04-09 05:34:01 +00:00
Marc Chevalier
bdcac98673 8347459: C2: missing transformation for chain of shifts/multiplications by constants
Reviewed-by: dfenacci, epeter
2025-03-25 10:15:55 +00:00
Emanuel Peter
4cf63160ad 8351414: C2: MergeStores must happen after RangeCheck smearing
Reviewed-by: chagedorn, qamai
2025-03-11 07:10:31 +00:00
Kuai Wei
5928209280 8347405: MergeStores with reverse bytes order value
Co-authored-by: Richard Reingruber <rrich@openjdk.org>
Reviewed-by: epeter, thartmann
2025-03-11 02:07:19 +00:00
Coleen Phillimore
c9cadbd23f 8346567: Make Class.getModifiers() non-native
Reviewed-by: alanb, vlivanov, yzheng, dlong
2025-02-10 12:44:30 +00:00
Quan Anh Mai
e9278de3f8 8348411: C2: Remove the control input of LoadKlassNode and LoadNKlassNode
Reviewed-by: vlivanov, epeter
2025-02-08 04:20:46 +00:00
Stefan Karlsson
c33c1cfe73 8347909: Automatic precompiled.hpp inclusion
Reviewed-by: lkorinth, erikj, dholmes, ihse
2025-01-21 10:21:24 +00:00
Emanuel Peter
0f426e4a6d 8343685: C2 SuperWord: refactor VPointer with MemPointer
Co-authored-by: Christian Hagedorn <chagedorn@openjdk.org>
Reviewed-by: kvn, chagedorn
2025-01-21 07:05:05 +00:00
Coleen Phillimore
379d05bcc1 8346990: Remove INTX_FORMAT and UINTX_FORMAT macros
Reviewed-by: kbarrett, dholmes, matsaave
2025-01-13 22:01:54 +00:00
Roland Westrelin
9cf7d42b65 8346184: C2: assert(has_node(i)) failed during split thru phi
Reviewed-by: thartmann, chagedorn
2025-01-10 16:47:51 +00:00
Coleen Phillimore
6ee2bd2f33 8347147: [REDO] AccessFlags can be u2 in metadata
Co-authored-by: Amit Kumar <amitkumar@openjdk.org>
Reviewed-by: vlivanov, yzheng
2025-01-08 19:48:25 +00:00
David Holmes
021c476409 8347148: [BACKOUT] AccessFlags can be u2 in metadata
Reviewed-by: coleenp
2025-01-08 00:37:27 +00:00
Coleen Phillimore
098afc8b7d 8339113: AccessFlags can be u2 in metadata
Co-authored-by: Amit Kumar <amitkumar@openjdk.org>
Reviewed-by: sspitsyn, vlivanov, yzheng, dlong, dholmes
2025-01-07 22:03:38 +00:00
Roman Kennke
44ec501a41 8305895: Implement JEP 450: Compact Object Headers (Experimental)
Co-authored-by: Sandhya Viswanathan <sviswanathan@openjdk.org>
Co-authored-by: Martin Doerr <mdoerr@openjdk.org>
Co-authored-by: Hamlin Li <mli@openjdk.org>
Co-authored-by: Thomas Stuefe <stuefe@openjdk.org>
Co-authored-by: Amit Kumar <amitkumar@openjdk.org>
Co-authored-by: Stefan Karlsson <stefank@openjdk.org>
Co-authored-by: Coleen Phillimore <coleenp@openjdk.org>
Co-authored-by: Axel Boldt-Christmas <aboldtch@openjdk.org>
Reviewed-by: coleenp, stefank, stuefe, phh, ihse, lmesnik, tschatzl, matsaave, rcastanedalo, vpaprotski, yzheng, egahlin
2024-11-08 17:21:39 +00:00
Emanuel Peter
f3671beefb 8335392: C2 MergeStores: enhanced pointer parsing
Co-authored-by: Christian Hagedorn <chagedorn@openjdk.org>
Reviewed-by: kvn, chagedorn
2024-11-05 11:46:40 +00:00
Roberto Castañeda Lozano
16042556f3 8341619: C2: remove unused StoreCM node
Reviewed-by: chagedorn, thartmann, kvn
2024-10-10 08:34:10 +00:00
Roberto Castañeda Lozano
0b467e902d 8334060: Implementation of Late Barrier Expansion for G1
Co-authored-by: Roberto Castañeda Lozano <rcastanedalo@openjdk.org>
Co-authored-by: Erik Österlund <eosterlund@openjdk.org>
Co-authored-by: Siyao Liu <siyao.l.liu@oracle.com>
Co-authored-by: Kim Barrett <kbarrett@openjdk.org>
Co-authored-by: Amit Kumar <amitkumar@openjdk.org>
Co-authored-by: Martin Doerr <mdoerr@openjdk.org>
Co-authored-by: Feilong Jiang <fjiang@openjdk.org>
Co-authored-by: Sergey Nazarkin <snazarki@openjdk.org>
Reviewed-by: kvn, tschatzl, fyang, ayang, kbarrett
2024-10-03 08:36:33 +00:00
Coleen Phillimore
0cfd08f55a 8339112: Move JVM Klass flags out of AccessFlags
Reviewed-by: matsaave, cjplummer, dlong, thartmann, yzheng
2024-09-04 15:48:32 +00:00
Qizheng Xing
965dd1acd0 8333334: C2: Make result of Node::dominates more precise to enhance scalar replacement
Reviewed-by: chagedorn, kvn, thartmann
2024-08-23 09:30:47 +00:00
Neethu Prasad
1cb27f7e23 8334230: Optimize C2 classes layout
Reviewed-by: shade, kvn, thartmann
2024-07-30 14:08:17 +00:00
Kim Barrett
388fcf03c0 8336349: Fix more simple -Wzero-as-null-pointer-constant warnings in C2 code
Reviewed-by: kvn, shade
2024-07-15 16:00:00 +00:00
Emanuel Peter
9046d7aee3 8335390: C2 MergeStores: wrong result with Unsafe
Reviewed-by: thartmann, chagedorn, kvn
2024-07-02 08:20:26 +00:00
Richard Reingruber
f7862bd6b9 8331311: C2: Big Endian Port of 8318446: optimize stores into primitive arrays by combining values into larger store
Reviewed-by: epeter, kvn
2024-06-07 06:16:03 +00:00
Damon Fenacci
2ea365c945 8333099: Missing check for is_LoadVector in StoreNode::Identity
Reviewed-by: chagedorn, thartmann
2024-05-30 05:11:32 +00:00