-
Notifications
You must be signed in to change notification settings - Fork 86
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
Paged memory allocation #461
Closed
Closed
Changes from all commits
Commits
Show all changes
44 commits
Select commit
Hold shift + click to select a range
9c62f31
WIP
Dentosal 9f2263d
WIP
Dentosal 22641f1
WIP
Dentosal dbe3ccb
Clean up memory handling
Dentosal 0e8ef42
Make tests compile
Dentosal 9263918
Bugfix: heap allocation was not actually done
Dentosal a159d05
fmt
Dentosal aba5ab0
Bugfix: infinite loop when allocating the last memory page
Dentosal 3f9115f
More test fixes
Dentosal 5d92a8e
clippy
Dentosal 509b559
Bugfix: MemoryRange::split_at
Dentosal 20e796b
bugfix: Allocate stack space when doing calls
Dentosal 6019b6a
vm reset/init function
Dentosal 943e085
Bug and test fixes
Dentosal 40ee7cc
Fix log test case
Dentosal 1cde4a6
All known bugs fixed
Dentosal aae1561
Move memory range to own module, add unit tests
Dentosal 9598e9e
More docs, refactoring
Dentosal 97d62c8
bugfix: cfs(i) shouldn't allow sp < ssp, was broken in master as well
Dentosal 1ceecd9
Factor out potentially problematic Word as usize casts
Dentosal b153e68
make internal_contract_addr return a typed pointer
Dentosal 8215227
Actually charge for the allocated memory pages
Dentosal 42814f9
Add InstructionLocation methods without debug feature
Dentosal f3587b3
Merge branch 'master' into dento/paged-memory
Dentosal 5a87fb3
clippy
Dentosal 3efbb85
Huge refactoring
Dentosal 3d467ab
Fix issues with memory initialization and access checks
Dentosal 1688eef
Move PC incrementing to a single location
Dentosal c2436bc
Fix/cleanup crypto opcode tests
Dentosal cde908b
Fix logd test case
Dentosal 0c39471
Restore writable-target-register checks
Dentosal 0d4efc3
Tighten rules around empty memory ranges, and fix meq access checks
Dentosal 0b227e1
Register writability check fixes
Dentosal 0ed033b
Fix memory size for variable_output_updates_in_memory test
Dentosal 444c44a
Add some gas for predicate test for allocation
Dentosal bd6ff25
Add some gas to change amount tests so that they run
Dentosal 4c1bfb6
One more test was out of ~~fuel~~ gas
Dentosal bfe43f8
Restore old error-triggering order for LDC with a missing contract input
Dentosal 6ca2bc8
Fix stack allocation permissions during LDC
Dentosal aae1f59
Use more specific error
Dentosal 5530968
Fix an issue of mint,burn introduced earlier
Dentosal 0f3e234
Restore diffing functionality
Dentosal ea000bd
optimization: remove intermediate allocation from memory copy
Dentosal 878bb39
Fix heap memory order on new page allocation by using VecDeque
Dentosal 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.
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.
Why do we want to change it in this PR?
I'm okay with treating all unknown numbers as unknown, but the idea was don't allow panic with a value of zero because it means something is wrong in our internal logic=) And my question is do we need it in this PR or can we do that in another?