-
-
Notifications
You must be signed in to change notification settings - Fork 3.1k
[mypyc] Add irbuild support for vec types #20724
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
Open
JukkaL
wants to merge
174
commits into
master
Choose a base branch
from
mypyc-vec
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
+2,175
−47
Open
Changes from all commits
Commits
Show all changes
174 commits
Select commit
Hold shift + click to select a range
05f6781
[vec] Basic vec support
JukkaL 398b483
Various fixes
JukkaL 33c4167
Fix vec test case
JukkaL 93d4deb
Fix vec comprehensions
JukkaL ad81180
Fix type applications
JukkaL f2be756
Support some borrowing with vecs
JukkaL 5205ae7
Update a few test cases
JukkaL e7a79d7
Add TODO
JukkaL a77c41a
[WIP] Start work on new representation for vecs
JukkaL ee21534
Support vec[i64] remove()
JukkaL c3138ba
Support vec instances in attributes
JukkaL a3d6267
Support vec[i64] pop with new repr
JukkaL 6421384
Some partial support for vec[t]
JukkaL 1c30eda
Some partial support for vec[t | None]
JukkaL a70dbfe
Test updates
JukkaL 466cc85
More vec[t] operations
JukkaL 6bdadc7
Format code
JukkaL c22a744
[mypyc] Add SetElement op for initializing struct values
JukkaL 2a902c5
Add initial nested vec support
JukkaL 3da9b66
Add vec tests
JukkaL 8be74b6
Fix compile errors during vec construction
JukkaL 3724b5a
Update test case
JukkaL e2c04a6
Support vec get item in more cases
JukkaL a737f7c
Fix set item
JukkaL f866775
Fix serialization
JukkaL 1f6fba9
Update tests
JukkaL 3efe0d8
Update test case
JukkaL c58b49e
Add pop test case
JukkaL 2aa90b9
Update test case
JukkaL 4657d71
Fix refcounting of item type + update tests
JukkaL cfe392b
Refactor vec irbuild tests
JukkaL 575b130
Add vec test case
JukkaL a54532e
Fix always defined attribute analysis
JukkaL 0417298
WIP make benchmarks compile (not working)
JukkaL c9be612
Format code
JukkaL db880bf
Properly support vec error values
JukkaL 158a609
Fix vec remove
JukkaL 14f98ef
Fix nested vec get item
JukkaL ed24c70
Update some tests
JukkaL 3028f66
Implement unboxing
JukkaL 24764bf
Split vec tests into multiple files
JukkaL d165baa
Add comments to tests
JukkaL 58a64ae
Fix set item + add some run tests
JukkaL 2bcf03b
Add test cases
JukkaL 0af2531
Add test cases
JukkaL 1f8c36a
Test contains
JukkaL ca6025a
Add run tests
JukkaL 6e13589
Refactor
JukkaL f9e14e8
Support construction from an arbitrary iterable
JukkaL a24fa35
Test remove
JukkaL 542ed50
Add test case for pop
JukkaL 2749467
Add initial vec[t] run tests
JukkaL bb4e022
Add test cases for optional items
JukkaL 15e5610
Start adding nested vec test cases
JukkaL 0d61437
Don't support vec[...] | None as item type, to match runtime
JukkaL e60aca1
Allow empty vec[t] and vec[t | None] to be represented with a NULL buf
JukkaL 1c727f2
Use the latest alloc API that accepts capacity as well
JukkaL 9312489
Make operator assignment faster
JukkaL d23195d
Add some checks for vec item types (incomplete)
JukkaL 517975b
Check vec item types during construction
JukkaL f7b0791
Enable nested vec test cases
JukkaL ec4512c
Fix step size calculation for nested vecs
JukkaL d65bf6d
Enable test cases
JukkaL afffa93
Fix tests after rebase
JukkaL 08b1826
Support nested vec pop
JukkaL 8f5745b
Add tests for double nested vecs
JukkaL 56b86a4
Test nested vec[i64]
JukkaL d00fb06
Add tests
JukkaL e897f29
Support negative indexes
JukkaL 0099332
Update irbuild tests for negative indexing
JukkaL 812ecc3
Detect additional invalid vec item types
JukkaL 87d8f7d
Support final vec values
JukkaL 588c5da
Test vec as default argument value
JukkaL b37ee5c
Test vec as tuple item
JukkaL ac8a09a
Fix wrapper functions
JukkaL cddaea6
Fix memory corruption bug
JukkaL d09b2d2
Fix vec argument type checking in wrapper functions
JukkaL fda4c6b
Update to work with the latest vec implementation
JukkaL 39189ac
Only import vec capsule if needed
JukkaL 85ec9ae
Fix self check
JukkaL 58a0b6f
WIP add failing test
JukkaL 4287e8b
Support fast list vec comprehensions (from list/tuple)
JukkaL ea8490f
Support fast comprehensions iterating over vecs
JukkaL 269325b
Support additional item types in vec creation
JukkaL db6b555
Support append with additional item types
JukkaL e514bd2
Support pop with additional item types
JukkaL c300cd4
Support additional item types with remove
JukkaL eb8af92
Support slicing with additional item types
JukkaL 5a3ab6c
Support construction of vec with misc item types from a list expression
JukkaL e388eca
Test for loop over vec[float]
JukkaL de27f6d
Fix vec item size calculation and update tests
JukkaL 603ab44
Update tests
JukkaL 504f1ac
Fix nested vecs and boxing vecs
JukkaL 61b6931
Fix vec unboxing with additional item types
JukkaL 6b2fd35
Fix vec remove
JukkaL e35763b
Minimal runtime support for new vec item types (no tests)
JukkaL ca07aab
Add a run test for additional item types
JukkaL b4f084b
Add run test case
JukkaL a26b5ba
Add run tests
JukkaL 02d083a
Fixes to nested vecs with specialized item types
JukkaL 262148d
Test unboxing
JukkaL 45c4241
Test for loop
JukkaL 8c074eb
Add comprehension tests
JukkaL a6503d1
Fix duplicate visit_set_element methods after rebase
JukkaL 9d4adb1
Fix issues due to rebase
JukkaL 260393e
Fix self check errors
JukkaL fda233c
Fix self check
JukkaL f8f7cd2
Update irbuild tests to pass
JukkaL a9edd69
Update some vec irbuild test outputs
JukkaL 77f584a
Fix a few vec test failures
JukkaL d852e56
Update a few vec irbuild test outputs
JukkaL 8da6403
Update a few vec tests
JukkaL bb9a4b7
WIP update symbolic link to vecs.h
JukkaL d051c75
Update vecs.h references to librt_vecs.h
JukkaL bfaf5d7
Remove temporary vecs.pyi
JukkaL 55e7c20
Remove redundant vecs stub
JukkaL 9ec2344
Update vecs references in mypy to librt.vecs
JukkaL 8c500fa
Update vecs references in mypyc to librt.vecs
JukkaL 1e0bf8e
Fix mypyc self check
JukkaL 4419de8
Fix irbuild tests
JukkaL f1fb682
Fix vec capsule in generated code (WIP)
JukkaL 4a5df85
Steal first arg of pop and remove
JukkaL 1811d5f
Fix vec[i64] run tests using primitives
JukkaL 9758bcc
Fix slicing that returns an empty vec
JukkaL e925a03
Fix additional vec run tests
JukkaL 4ab4515
Fix nested vec run tests
JukkaL 5b0c9fd
Fix more tests
JukkaL 1016b2f
Fix more tests
JukkaL 242ab7c
Rename some test files
JukkaL e892e72
Fix issues caused by rebase
JukkaL f889502
Revert test fixture change
JukkaL e730c32
Lint
JukkaL 0859c40
Move to a more standard capsule mechanism
JukkaL 2c9ddbc
Delete unused vecusage module and tests
JukkaL 536591b
Fix attribute type capsule deps
JukkaL 9d21735
WIP fix 32-bit
JukkaL c5fd68c
WIP
JukkaL f3ee70b
WIP
JukkaL a79ef03
ircheck: Allow pointer arithmetic even though it's unsigned + signed
JukkaL 06f3133
Lint
JukkaL 7c1fbc7
Add range check helper and int coercion to ssize_t
JukkaL d2a9420
Coerce set item index to ssize_t
JukkaL 4bd4885
Remove temporary test case
JukkaL 6e5c3a4
Also coerce on get item
JukkaL fb1d828
WIP
JukkaL 025fc69
WIP
JukkaL 830e510
WIP
JukkaL e189985
WIP
JukkaL 4c93663
WIP
JukkaL 91d92f5
WIP
JukkaL 5548217
WIP attempt at fixing 32-bit issue
JukkaL 4c26e03
WIP Fix 32-bit
JukkaL 81b2356
[mypyc] Support isinstance with librt.vecs.vec objects
JukkaL d080171
Test unions with vec[i64]
JukkaL 3723b4d
Remove unused 'struct_type' attr
JukkaL 0d96118
Add primitive for isinstance(x, vec)
JukkaL 86b17da
Minor cleanup
JukkaL 9277ae5
Restore deleted tests due to bad merge
JukkaL bafca40
Minor clarifications
JukkaL 7df1be7
Add missing librt_vercs_ops.py file
JukkaL 77c0646
Fix primitive dep
JukkaL e999af2
Move function to extra ops header
JukkaL 79455a5
Fix vec pop with optional item type
JukkaL d1ee773
Fix after rebase
JukkaL 2893618
Lint
JukkaL 68763a4
Remove commented out code
JukkaL fbaa99f
Remove unused param
JukkaL 8484cf8
WIP temporarily delete vec run tests
JukkaL d20ca79
WIP temporarily delete various irbuild vec tests
JukkaL ff1e2d9
WIP delete tests from test runners
JukkaL bf0866f
WIP delete codegen related changes temporarily
JukkaL d9bbaf0
WIP temporarily revert changes to refcount.test
JukkaL 5936862
Minor tweaks
JukkaL fe43e12
Fix typo
JukkaL 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.
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.