[Vm-dev] How to addGCRoot: ? help requested

Nicolas Cellier nicolas.cellier.aka.nice at gmail.com
Sun Dec 23 20:34:15 UTC 2012

I wanted to experiment a plugin and need to register a couple of
classes that some primitive will test/instantiate.
The ugly way is to pollute specialObjectArray...
But #recreateSpecialObjectsArray recommend using addGCRoot()
Fine, I'd like to try.

What I'd like to do is register my couple of classes in a
primRegister() primitive
(once for all or at each image startup, or at each snapshot, whatever...)
Then to later use the registered classes in primDoSomething().

I can see ObjectMemory>>addGCRoot: but unfortunately, absolutely no
sender of it to serve as an example...
I even don't know how to access the objectMemory from within a
SmartSyntaxInterpreterPlugin ?
I can only see a interpreterProxy and

Then how to retrieve my registered objects? they are store in the
extraRoots at some index, but that index is not returned by
Anyway, the index could change thanks to removeGCRoot:, so I'm stuck here...
I must be missing something...
Or maybe addGCRoot: is just here to prevent an Object to be garbage
collected but does not really offer a registering service...

If you know about any documentation/example hanging around or have
some clues I'll be happy that you share them !

Last note, I'm in a VMMaker oscog flavour...


More information about the Vm-dev mailing list