http://code.google.com/p/cog/issues/list
On Wed, Mar 16, 2011 at 8:03 AM, Stéphane Ducasse <[email protected] > wrote: > ken > > it would be good to enter a bug entry on the cog vm bug tracker. > > Stef > > On Mar 15, 2011, at 11:19 PM, Ken Treis wrote: > > > For kicks, I tried running the GemStone tools in a Cog VM. It *almost* > works. Apparently this sort of call: > > > >> apiGciPerform: anOopType a: aString a: anArray a: anInteger > >> > >> <apicall: OopType64 'GciPerform' (OopType64 char* ulong long) > > >> ^self externalCallFailed > > > > ... works differently now. In the old (non-Cog) VM, it return an instance > of OopType64. In Cog, it returns a SmallInteger. > > > > The function itself returns a uint64_t, so apparently the OopType64 class > (a subclass of ExternalStructure) is being used to trick the FFI into > automatically wrapping the return value in the way we want. > > > > 1. Is this trick no longer supported/legit (assuming it ever was)? > > 2. Is there a better way to accomplish the same thing, or do we just have > to do the wrapping ourselves now? > > > > I'm pretty new to the FFI, so forgive me if the premise is wrong. All I > know is that it doesn't work the way it used to. :) > > > > -- > > Ken Treis > > Miriam Technologies, Inc. > > > > > > >
