-
Notifications
You must be signed in to change notification settings - Fork 6.2k
8318446: C2: optimize stores into primitive arrays by combining values into larger store #16245
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Closed
Closed
Changes from all commits
Commits
Show all changes
69 commits
Select commit
Hold shift + click to select a range
e8b9fe0
8318446
eme64 6576b5d
first version of test
eme64 6d2830a
passing test TestMergeStores.java
eme64 ad36aa0
added extra phase, still debugging
eme64 cc78c7b
redo RC and more things
eme64 0be5cc4
casting issues
eme64 976492c
whitespace and a few more tests
eme64 47d15cb
short tests
eme64 aea572d
int and long tests
eme64 1d879c7
renambe benchmark
eme64 5ffb650
manual merge from master
eme64 6228537
remove ConvI2L Identity optimization - it is problematic
eme64 e894282
empty line
eme64 a6566e6
improved address comparison
eme64 cfed5ba
check if adr is not AddP
eme64 874c127
fix hash deletion assert
eme64 2728370
fix long shift issue
eme64 4d9b3db
unsafe only shows class on some platforms
eme64 365aaaf
Merge branch 'master' into JDK-8318446
eme64 631ceeb
Removed RC collapsing. Instead, I now look through RC
eme64 3ab2729
fix bad if problem
eme64 23ff845
improved the benchmark
eme64 c2ca305
add LE-API to bench
eme64 c70b846
rename array
eme64 974fc9b
add short and int examples to bench
eme64 b8024ba
swap number and type
eme64 da39822
make sure the unsafe accesses are always recognized
eme64 25edcb4
Merge branch 'master' into JDK-8318446
eme64 7be8c42
merge manually
eme64 adca9e2
fix flag initialization issue
eme64 e5a9341
Add Release/Volatile/Opaque store test, limit optimization to little-…
eme64 42a24bd
remove commented out debug code
eme64 83290c5
Add diagnostic flag MergeStores
eme64 85c9aa3
Suggestions by Tobias
eme64 8822fb6
made trace flag develop
eme64 2a660e0
add UseUnalignedAccesses for shipilev
eme64 0151731
New version with ArrayPointer
eme64 f310e7a
cosmetic fixes
eme64 0522e4b
fix invalid case
eme64 c272894
make it happen in post_loop_opts
eme64 8b3a276
add test300
eme64 bacdba0
mismatched access test
eme64 9e642aa
allow only array stores of same type as container
eme64 638c80f
WIP test with out of bounds exception
eme64 4a3ee85
fix test for trapping examples
eme64 07c233f
Merge branch 'master' into JDK-8318446
eme64 796d950
a little bit of casting for debug printing code
eme64 d97fa2b
Merge branch 'master' into JDK-8318446
eme64 118c366
WIP refactoring, in broken state
eme64 de4d90a
is_adjacent_input_pair
eme64 2ea6973
refactor combining the stores
eme64 b68789f
fixed small issue
eme64 b282ea3
fixed small issue v2
eme64 318608c
cfg_status_for_pair refactoring
eme64 fa3ebc9
add IR rule to two tests
eme64 6677eca
rm dead code
eme64 8b344e3
some cosmetics
eme64 763a2f6
merged_input_value
eme64 6d3ab7e
a bit more stuff
eme64 330d674
improve comments
eme64 637b368
improve comments, and extract collect_merge_list
eme64 52d8cf8
extract make_merged_store
eme64 6cd7c34
renamings
eme64 acb06ea
beautify and ASCII art for make_merged_store
eme64 920bb26
extract trace
eme64 c548fe8
extract Status::make
eme64 c85cce1
handle UseUnalignedAccesses in test, and a few cosmetics
eme64 d622c57
fix copyright, add comment about RCE and RC smearing
eme64 93bf2dd
improve RC comment for Vladimir
eme64 File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Probably need to do this in a separate RFE. Looks like a few data-structures get allocated over
comp_arenain one constructor andResourceAreain the other.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this still relevant?