[Vm-dev] How to return an array in a primitive ?

Mariano Martinez Peck marianopeck at gmail.com
Tue Apr 27 14:18:28 UTC 2010


As Bert says, it is safer to avoid allacations in the primitive. But
> for an example of how to do it properly, see
>  FilePlugin>>makeDirEntryName:size:createDate:modDate:isDir:fileSize:
>
> Note the use of #pushRemappableOop: and popRemappableOop, which is required
> to prevent the object pointers from changing due to garbage collection.
> Allocating an object in the primitive can and will invoke garbage
> collection, which leads to nasty intermittent bugs if you do not
> use #pushRemappableOop:.
>
>
>
Thanks Dave. I was just going to ask why it was "unsafe" but you already
answered. I was going to ask an example too, but I got it also :)

So...perfect. I just write my primitive with something similar to the
FilePlugin example.

Thank you very much to both of you.

mariano
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20100427/a4d94b93/attachment.htm


More information about the Vm-dev mailing list