-
Notifications
You must be signed in to change notification settings - Fork 5k
[clr-interp] Implement CEE_LOCALLOC
and frame data allocator for dynamic stack allocations
#114860
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
Merged
janvorli
merged 28 commits into
dotnet:main
from
kotlarmilos:feature/coreclr-interp-opcode-localloc
Apr 28, 2025
Merged
Changes from all commits
Commits
Show all changes
28 commits
Select commit
Hold shift + click to select a range
1fb49a3
Implement localloc in the interpreter
kotlarmilos e5fb653
Add comment
kotlarmilos 6b81d9b
Implement FrameDataAllocator for dynamic stack allocations
kotlarmilos 43f4481
Merge branch 'main' of github.com:kotlarmilos/runtime into feature/co…
kotlarmilos f660365
Fix merge conflicts
kotlarmilos e59cace
Initialize local variables to zero if the flag is set
kotlarmilos 7c649a8
Initialize local variables based on the CORINFO_OPT_INIT_LOCALS. Move…
kotlarmilos 1d1e226
Implement FrameDataFragment destructor
kotlarmilos cb0b212
Handle memory allocation failure in frame data allocation
kotlarmilos 581e856
Fix typo
kotlarmilos e72e0e3
Add preprocessor directive FEATURE_INTERPRETER
kotlarmilos 50e94f6
Fix windows build
kotlarmilos dfb170b
If size is 0 allocates a zero-length item and returns a valid pointer…
kotlarmilos c3bc007
Update frame allocator to use InterpMethodContextFrame
kotlarmilos c91b99d
Throw OutOfMemory exception if alloc fails
kotlarmilos 2bfe64f
Revert assert changes
kotlarmilos c08ab74
Update FrameDataAllocator to return nullptr if alloc fails
kotlarmilos 7f42176
Check if infosLen is >0
kotlarmilos df20036
Use consistent naming for frame pointers
kotlarmilos 8dc3223
Test __SIZEOF_POINTER__ for pointer size checks
kotlarmilos cd3d5b7
Replace __SIZEOF_POINTER__ with TARGET_64BIT
kotlarmilos bbb4345
Encapsulate FrameDataAllocator structs into class and make them private
kotlarmilos 4b8c03c
Implement destructor for InterpThreadContext to free FrameDataAllocator
kotlarmilos db6355f
Move InterpThreadContext instance to the CoreCLR Thread and implement…
kotlarmilos 0e97a9c
Move InterpThreadContext destructor call to OnThreadTerminate
kotlarmilos 980eb78
Refactor Alloc to accept size by value instead of pointer
kotlarmilos d203e02
Merge branch 'main' into feature/coreclr-interp-opcode-localloc
kotlarmilos 902e4d0
Fix typo
kotlarmilos 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.
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.