-
Notifications
You must be signed in to change notification settings - Fork 4.8k
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
JIT: Added SVE GetFfr, SetFfr, LoadVectorFirstFaulting, GatherVectorFirstFaulting #105595
Merged
+3,384
−168
Merged
Changes from 82 commits
Commits
Show all changes
88 commits
Select commit
Hold shift + click to select a range
d0efc9e
Initial work
TIHan 42148fd
Merge remote-tracking branch 'upstream/main' into sve-ffr-part1
TIHan a7773ac
FirstFaulting partially works
TIHan 76b42bd
Added template
TIHan bb01e37
Trying to test first-faulting behavior
TIHan a602b24
Using BoundedMemory to test FirstFaulting behavior for LoadVector.
TIHan 60d410a
Fix size in validation
TIHan aee87d7
Added more helper functions. Added conditional select tests for LoadV…
TIHan 7f3bb3c
Added first-faulting behavior tests for GatherVectorFirstFaulting
TIHan d952ff1
Merging with main
TIHan 3923946
Added GetFfr suffix-style APIs
TIHan 461b6a3
Fixing GatherVector tests
TIHan d5b8675
Formatting
TIHan 07833e3
Feedback
TIHan ce5a9bd
Merge remote-tracking branch 'upstream/main' into sve-ffr-part1
TIHan 05fb46d
Feedback
TIHan c63f878
Ensure the P/Invokes are blittable
tannergooding a4533fe
Merging
TIHan 72d1dea
Merge remote-tracking branch 'upstream/main' into sve-ffr-part1
TIHan 6c28927
Fix build
TIHan fb2012e
Remove checking for zeroes after the fault
TIHan aca6759
Added GatherVectorFirstFaultingVectorBases test template, but current…
TIHan d781fdc
Mark GetFfr methods as side-effectful
TIHan a73fe35
Verifying expected fault result. Test weaks.
TIHan 81882a4
Merging with main
TIHan ad5ec2e
Fix build
TIHan 0f88d8e
Add tracking of FFR register
kunalspathak 10cf342
Change condition for PhysReg
kunalspathak e7507bb
jit format
kunalspathak aef79cd
Fix PoisonPage configuration while creating BoundedMemory
SwapnilGaikwad 690e7ad
Use mmap() instead of memalign() for memory allocation
SwapnilGaikwad b23fac7
review feedback
kunalspathak 0c8b688
unspill for LoadVectorFirstFaulting as well
kunalspathak 3184b77
Merging with Kunal's FFR changes
TIHan 5bb0b3d
Show error codes on failing failure
SwapnilGaikwad 823e847
Merging with main
TIHan 86715e5
Feedback
TIHan 8b0f000
Feedback
TIHan 044dbda
Feedback
TIHan 0655d4b
Feedback
TIHan 9d7f22f
Handle FFR correctly
kunalspathak 18f8f52
reuse some of the code
kunalspathak 0755372
Handle the special effect for SetFfr
kunalspathak 567a442
some fixes + test coverage
kunalspathak 3ac987d
do not zero init lvaFfrRegister
kunalspathak e8f7fcd
reverted local change
kunalspathak 77ec96c
fix build break
kunalspathak df0d4be
Fixing flags for OSX
TIHan 54ae1b2
Fixup unix impl
TIHan 62f29eb
Trying to fix build
TIHan 04c988a
Fix osx calls
TIHan 34b0aa1
Fix unix impl - forgot to use 'value'
TIHan 9c9d975
Added default impl
TIHan 921b047
Updating error messages
TIHan 50a9790
Attempt mprotect to determine which MAP_ANONYMOUS value to use
TIHan bf292ce
Attempt mprotect to determine which MAP_ANONYMOUS value to use
TIHan 59ebe26
Add a way to query MAP_ANONYMOUS
TIHan 489b919
Add a way to query MAP_ANONYMOUS
TIHan b3922ff
trying to figure out cmake reference
TIHan 5c49435
trying to figure out cmake reference
TIHan 8b49576
trying to figure out cmake reference
TIHan 754b1b5
forgot to add cpp files
TIHan dbaa496
Use MemoryMappedFile and then use mprotect
TIHan 6081591
Minor cleanup
TIHan 9219e35
Merging
TIHan 7e3057a
Added XplatVirtualAlloc, hopefully it will work
TIHan 3b25182
Fix build
TIHan 6c432b5
Merging with main
TIHan 5ce9738
Fix build
TIHan ff0fd39
Update hwintrinsiccodegenarm64.cpp
TIHan eda7fc4
Trying to fix build
TIHan 2fe1c8f
Merging with main
TIHan 801cbc4
Merging with main
TIHan 2d71632
Use SystemNative
TIHan 929b13b
fix pinvoke
TIHan 0a327c6
Get rid of writeline
TIHan 631e69c
Merge remote-tracking branch 'upstream/main' into sve-ffr-part1
TIHan e716ae5
Add mono check
TIHan 028b2c7
Fix misspelled word
TIHan 2b5215b
Check for wasm
TIHan 8924c6c
Fix build
TIHan 5e53a97
Use IsBrowser
TIHan ab8bef2
Check IsWasi
TIHan 053f918
Check IsBrowser a different way
TIHan a9eb2bc
Check IsMonoRuntime
TIHan b42767e
Feedback. Check NETFRAMEWORK
TIHan 57a5f2e
Simplify check
TIHan b02e309
Merging with main
TIHan 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 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 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 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 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 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 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 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 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.
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.
Is this code adding the extra arg that is checked for in hwintrinsiccodegenarm64.cpp which causes the wrFFR ?
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.
Hmm, now I'm wondering if this code was left over from a merge.
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.
Ok, this was not left over. @kunalspathak added this for this PR.
When looking at hwintrinsiccodegenarm64.cpp, it does seem to be the case as it checks for the num of operands.