[type] [refactor] Decouple quant from SNode 3/n: Extend bit pointers #5232
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.
Related issue = #4857
The original bit pointer is like:
When creating a new bit pointer, the
byte_ptr
is always cast intoi8 *
first. Then a physical type needs to get passed alongside to allow access of its pointee.As you may have noticed, the
byte_ptr
is not a pointer to a byte, but simply a byte-level pointer, which can point to any primitive type. Therefore, there is actually no need to forcebyte_ptr
asi8 *
. Then info of its physical type can be easily preserved by extending the definition of bit pointers:After this change, logic around bit pointers can get simplified a lot.