It depends on the application, those bits may be materialized across architectures. The objective was maximizing safety in all contexts.
My perspective is biased by the requirements of high-assurance systems.
My perspective is biased by the requirements of high-assurance systems.
Kinda weird to materialize pointers across architectures rather than indices.
But in any case surely the relevant consideration is “fewest number of free pointer bits on any single platform”. And not “intersection of free bits across all platforms”. Right?
Otherwise they're right, it's not the intersection that matters but just the total bits available
You can’t cram 8 bits of tag in 7 bits if the latter is all the architecture has available. Hence why you have to design for the smallest reliable target.