3 ms·
It seems that the tag is in the low bits, and for VUE displaced low bits are stored in the offset field instead.
by lifthrasiir 5y ago
It seems that the tag is in the low bits, and for VUE displaced low bits are stored in the offset field instead.
- jws 5y agoDefinitely low bits: #define DATA(buf) ((char*)((intptr_t)((buf)->data) << BFT_TYPE_BITS)) Older programmers tend to raise an eyebrow at added computation like the "<<", but here in 2022 we need to remember that we are about to do a memory access and even if it's in L1 cache, that "<<" is basically free by comparison.
- TickleSteve 5y agoMost microcontrollers do not have cache of this form (rather a simple read-ahead buffer at most). Microcontrollers are also one of the targets of this type of library and the shift absolutely will have an effect.