-
Notifications
You must be signed in to change notification settings - Fork 1k
Growable vectors with R supporting growable vectors #7343
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
base: truehash
Are you sure you want to change the base?
Conversation
The resulting data.tables now have GROWABLE_BIT set, therefore: - the finalizer is not needed on R >= 3.4 - duplicates of data.tables (which are not over-allocated) now have TRUELENGTH of 0 instead of whatever it was before, which is detected earlier in selfrefok() As a result, assign.c only uses TRUELENGTH on R < 3.4.
Since dogroups() relies on being able to shrink vectors it hasn't allocated, introduce make_growable() and is_growable() to adapt. Since dogroups() relies on SD and SDall having shared columns, use the setgrowable() wrapper on the R side at the time when SD and SDall are being created. (In the ALTREP case, setgrowable() will re-create the columns.)
This helps avoid false positive warnings about unreachable places in the code.
Currently broken: - 1 errors out of 11637 - won't work with expression vectors at all
Co-Authored-By: Benjamin Schwendinger <[email protected]>
SETLENGTH is left in frollapply.c rather than growable_resize(), is it intentional? |
remove growable_altrep define Co-authored-by: aitap <[email protected]>
Co-authored-by: aitap <[email protected]>
Didn't touch that yet. Not sure if exchanging |
|
You were right 👍. Exchanging
|
Towards #6180
Depends on #6694
Supersedes #6697