-
Notifications
You must be signed in to change notification settings - Fork 6.3k
8316694: Implement relocation of nmethod within CodeCache #23573
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
114 commits
Select commit
Hold shift + click to select a range
4e44bb0
Add replace nmethod function
chadrako e8ecbc3
Clear inline caches
chadrako f6755f6
Fix bug when updating method pointer
chadrako daf4169
Remove getNumNMethods
chadrako 887c4e2
Rename replaceNMethod to relocateNMethod
chadrako a62c7b0
Clean up
chadrako b659ddf
Add nmethod::is_relocatable()
chadrako 925ce03
Add check for already in correct heap
chadrako bc69b57
Run tests with all GCs
chadrako 54c43fb
Run RelocateNMethod.java with all GCs
chadrako 3a0937d
Merge branch 'master' into JDK-8316694-Final
chadrako 566c37a
Updates after JDK-8343789
chadrako 3a77f48
Only run RelocateNMethodMultiplePaths on debug builds
chadrako 7137a07
Exclude OSR
chadrako 10b2079
Replace copy constructor with clone function
chadrako 8a2b55b
Remove isRelocation flag
chadrako 69d941b
Add PRODUCT check
chadrako 80734cd
Share immutable data between copied nmethods
chadrako 7b448c6
Fix build issues
chadrako 54e6988
Remove relocate all
chadrako 899707e
Remove old copy constructor from header file
chadrako 354ba3b
Remove current code heap check
chadrako 328c5f6
Immutable data references updates
chadrako 9391eaf
Update tests
chadrako 8f12fd3
Cast dest to void star
chadrako 917046b
Remove DISABLED_WARNINGS
chadrako 3b8d093
revert
chadrako c882762
Fix copywrite
chadrako 0531335
Fix windows build
chadrako a7f3240
Relocate nmethod at safepoint
chadrako e12e2c1
Fix call sites and change relocation to opt in
chadrako 8e53ed1
Undo AsmRemarks and DbgStrings reuse
chadrako 4121768
Style
chadrako 27e4151
Remove whitespace
chadrako 61ed055
Use methodHandle for VM_Operation so pointer is not stale
chadrako 0d4d31f
Hold Compile_lock
chadrako 5552a86
Add null check in StressNMethodRelocation
chadrako 1c6db6c
Fix branch range check
chadrako 027f524
Move post init and remove no entrant check
chadrako bd143f5
Relocate without safepoint
chadrako 077369b
Add additional is_relocatable checks
chadrako c78a811
Remove max branch range patch
chadrako 11db34d
Merge remote-tracking branch 'origin/master' into JDK-8316694-Final-n…
chadrako 97b9d76
Remove set call dest assert
chadrako e18be51
Fix branch_range revert
chadrako 10b58df
Remove StressNMethodRelocation
chadrako a1a2bda
Exclude JVMCI nmethods
chadrako 2610a0e
Only hold NMethodState_lock when needed
chadrako 21a86e6
Add relocate_nmethod_mirror
chadrako c636119
Unexclude JVMCI methods
chadrako a1dfc47
Fix JVMCI nmethod data
chadrako c18eac9
Add nullptr check to relocate
chadrako 1581403
Remove unnecessary include
chadrako 9ca3563
Fix null check
chadrako 0813725
Create nmethod relocation stress test
chadrako e81296d
Exclude JVMCI methods
chadrako 398a4dc
Update tests
chadrako edefbf6
Only exclude JVMCI methods that contain a mirror
chadrako a0134a8
Add JVMCINMethodData::has_mirror()
chadrako 54aedbe
Update assert note in nmethod::clear_inline_caches
chadrako 4e74918
Fix incorrect destination set if no trampoline available
chadrako 37f2fbc
Add type for immutable_data_references
chadrako c5ff58f
Add requires GC to tests
chadrako ec06bb5
Remove gc on allocation
chadrako d3bdb1f
Small fix
chadrako ec6821f
Fix comment
chadrako 6d053dc
Move ICache::invalidate_range
chadrako 9f75307
Change to ImmutableDataReferences
chadrako 14bcbbf
Use ptrdiff_t instead of int
chadrako 37fb2fa
Fix is_safe
chadrako 8ac5c24
Update DeoptimizeRelocatedNMethod to call relocated function
chadrako 7f558f6
Remove 0 from relocateNMethodFromAddr0
chadrako 39a476d
Update nm valid check
chadrako eed3d43
Update ImmutableDataReferences
chadrako b0dad66
Update immutable_data_references naming
chadrako 4e80e35
Fix test copywrite
chadrako 3c3211d
Publish JVMTI events
chadrako a21b6ac
Log relocated nmethod
chadrako b3358bd
Add test to verify JVMTI events during nmethod relocation
chadrako 4091740
Move far branch fix to fix_relocation_after_move
chadrako 60005e5
Move far branch fix to fix_relocation_after_move
chadrako 03bfce8
Only check branch distance for aarch64 and riscv
chadrako 6173fdb
Merge remote-tracking branch 'origin/master' into JDK-8316694-Final
chadrako d5e566c
Use new _metadata_size instead of _jvmci_data_size
chadrako 50f0edb
Print address as pointer
chadrako b02e8bd
Use set_destination_mt_safe
chadrako 292ab74
Fix pointer printing
chadrako e51a1a0
Merge remote-tracking branch 'origin/master' into JDK-8316694-Final
chadrako ff5c6d9
Update how call sites are fixed
chadrako 70e4164
Merge remote-tracking branch 'origin/master' into JDK-8316694-Final
chadrako a6302fd
Let trampolines fix their owners
chadrako c3245fb
Enclose ImmutableDataReferencesCounterSize in parentheses
chadrako 0f4ff96
Update justification for skipping CallRelocation
chadrako e7f75d5
Merge branch 'master' into JDK-8316694-Final
chadrako 66d73c1
Typo
chadrako 68a9876
Remove aarch64 trampoline check
chadrako 371e130
Add nmethod copy constructor
chadrako 3683470
Revert is_always_within_branch_range changes
chadrako 1dcf47e
Require caller to hold locks
chadrako 4d782af
Reorder is_relocatable checks
chadrako fbfa27b
Add assert before freeing immutable data
chadrako 27991b2
Rename method to nm
chadrako b257ea5
Update NMethod.java with immutable data changes
chadrako 1b001df
Fix spacing
chadrako d4e3dd3
Use CompiledICLocker instead of CompiledIC_lock
chadrako cc8d286
Lock nmethod::relocate behind experimental flag
chadrako 24c3568
Merge remote-tracking branch 'origin/master' into JDK-8316694-Final
chadrako 3344a72
Fix WB_RelocateNMethodFromAddr to not use stale nmethod pointer
chadrako 668eb4a
Merge remote-tracking branch 'origin/master' into JDK-8316694-Final
chadrako 023472c
Refactor JVMTI test
chadrako 03a6958
Merge remote-tracking branch 'origin/master' into JDK-8316694-Final
chadrako a205163
Fix NMethodRelocationTest.java logging race
chadrako bf18a4c
Fix race when not installed nmethod is deoptimized
chadrako 104661c
Merge remote-tracking branch 'origin/master' into JDK-8316694-Final
chadrako 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
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.
Uh oh!
There was an error while loading. Please reload this page.