gnustep-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: How to correctly determine a small object?


From: David Chisnall
Subject: Re: How to correctly determine a small object?
Date: Fri, 7 Jun 2013 21:10:23 +0100

On 7 Jun 2013, at 16:29, Luboš Doležel <address@hidden> 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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]