> all comparisons which check "are these two values the same object" are going to require masking, because your comparison instructions (xor, subtract, compare, ...) will not ignore any of the bits.
Wouldn’t two pointers to the same object also have the same tag? I don’t understand why you would need to mask it.
The article shows a reference count field. Presumably, two pointers to the same object could differ in the reference count, which would require masking for them to compare equal.
Wouldn’t two pointers to the same object also have the same tag? I don’t understand why you would need to mask it.