-
Notifications
You must be signed in to change notification settings - Fork 471
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
AVM: Modify StackType to provide additional information #5130
Merged
jannotti
merged 63 commits into
algorand:master
from
barnjamin:avm-stack-type-definition
May 10, 2023
Merged
Changes from 60 commits
Commits
Show all changes
63 commits
Select commit
Hold shift + click to select a range
e54d4e7
initial addition of new StackType
barnjamin 2f836a1
add more specific types to opspec proto
barnjamin d6513c2
more specific stack type for Fields
barnjamin ee56f94
make opdoc handle the new StackType and provide array of types in Arg…
barnjamin 53659cb
AVM: modify immediate arguments to get their encoding from the type i…
barnjamin 2aa92cb
use StackType to check assignability
barnjamin b966f21
adding type refinement to bytes and bzero
barnjamin e725b73
Merge branch 'master' into avm-stack-type-definition
barnjamin 8890a5a
Merge branch 'avm-stack-type-definition' into immediate-argument-details
barnjamin bdfcbee
Merge branch 'avm-stack-type-definition' into narrow-stack-types
barnjamin 79dcf29
partial cr
barnjamin 5e665af
fix assignable overlap check
barnjamin 0b2e713
modify union fn to skip assignable check and demote type to Any where…
barnjamin 0035d15
merge master
barnjamin b1dc4d8
Make union a method on StackType receiver, fix bounds on bytemath
barnjamin a85c88b
single bounds array for StackType, regen docs
barnjamin b49fb93
union stack type into all scratch slots
barnjamin 919dd26
Merge branch 'master' into avm-stack-type-definition
barnjamin 5545169
merge master back in
barnjamin aabaa2d
merge master
barnjamin 26779b2
dont modify the scratch space until we're sure there is no error
barnjamin b2170c0
add fn to refine int pseudo op
barnjamin f9b38aa
remove err from union method sig, cleanup
barnjamin ee60eea
Merge branch 'avm-stack-type-definition' into refine-int-pseudo-op
barnjamin 51a1213
amend union to allow either to be None and return the other
barnjamin 8117273
initialize scratch to zeros
barnjamin df4a7df
Merge branch 'avm-stack-type-definition' into refine-int-pseudo-op
barnjamin 5f9b73a
adding a test to check that scratch slot bounds get set appropriately
barnjamin f4b2775
specify BoxKey for box ops
barnjamin 1e938b2
fix tests
barnjamin acb52fd
regen langspec
barnjamin ec25ba5
tmp
barnjamin 93a356c
add more bounds, regen docs
barnjamin 1f225d5
rename to assignable to overlaps
barnjamin 4ec1e6c
notrack on more tests that fail at assembly time
barnjamin a1b05ad
adding more refinement to loads if we know its a const
barnjamin 12d7ade
improve naming, fix more tests
barnjamin b1bab65
add check for nones in docs
barnjamin 734d9f4
adding named types to readme
barnjamin 265d889
Merge branch 'master' of github.com:algorand/go-algorand into avm-sta…
barnjamin 70469fc
merge main
barnjamin 056b943
Merge branch 'master' of github.com:algorand/go-algorand into avm-sta…
barnjamin 3070d16
maybe sorted
barnjamin 6c10ba7
Merge branch 'master' into avm-stack-type-definition
barnjamin a7cdad3
merge up
barnjamin 88a3cb7
Update cmd/opdoc/opdoc.go
barnjamin 3d2d4f3
Apply suggestions from code review
barnjamin 7af6ed8
merge master
barnjamin abb22e5
Merge branch 'avm-stack-type-definition' of github.com:barnjamin/go-a…
barnjamin 99ea31b
regen files
barnjamin aff63f5
cleanup bounds in docs
barnjamin 9f1c07a
Apply suggestions from code review
barnjamin 7d5e89c
fix test expecting short name, tweak var names in opdoc
barnjamin 7e0a097
Merge branch 'avm-stack-type-definition' of github.com:barnjamin/go-a…
barnjamin 3ece0ef
merge up
barnjamin 133c916
use names directly, omit 'FieldGroup'
barnjamin 80c2fb4
Merge branch 'avm-stack-type-definition' of github.com:barnjamin/go-a…
barnjamin 662927e
Merge branch 'avm-stack-type-definition' into immediate-argument-details
barnjamin aa9a277
fix bools for asset/app/acct params that were lost during merge
barnjamin 76d3f0e
merging in immediate arg details
barnjamin 00f611c
fix spacing in immediate notes
barnjamin 682557e
adding descriptive comment for bounds in StackType
barnjamin d9ca502
changed names to be more descriptive
barnjamin 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
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.
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.
I think I left this as a slice so itd jsonify to nothing if its empty rather than [0,0]
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.
Oh, is this only used locally? (must be, lowercase) So yeah, I guess that's fine.
Wait, won't it only be two 0's for the constant 0? Almost seems better to show it for that rare case, since it's so meaningful.