On 7 Jun 2013, at 16:29, Luboš Doležel <[email protected]> wrote:

> for toll-free bridging in CoreBase, I need a way to detect whether the 
> incoming pointer is a small object encoded in a pointer and act accordingly 
> (treat it as an ObjC object and avoid reading it).

In objc/runtime.h, there is a constant SMALL_OBJECT_MASK.  If ptr & 
SMALL_OBJECT_MASK == 0, then the pointer is not a small object.

On 32-bit platforms, the low bit of the pointer will be 0.  On 64-bit 
platforms, the low 3 bits will always be zero.

David


_______________________________________________
Gnustep-dev mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/gnustep-dev

Reply via email to