3.1.3 Allocation of FLI memory

Foreign objects do take up memory. If a foreign object is no longer needed, it should be deallocated using free-foreign-object. This should be done only once for each foreign object, regardless of the number of pointer objects that contain its address. After freeing a foreign object, any pointers or copies of pointers containing its address will give unpredicable results if the memory is accessed.

FLI memory is allocated using malloc() so it comes from the C heap.

The FLI pointer object itself is a Lisp object, but the memory it points to does not show up in the output of room . Therefore you must use Operating System tools to see the virtual address size of the program.

LispWorks Foreign Language Interface User Guide and Reference Manual - 14 Mar 2008