> > De : Paolo Bonzini <[email protected]>

> > On 08/24/2010  11:05 AM, Mathieu Suen wrote:
> > >
> > > Hi,
> > >
> >  >  I got on object in C that come from smalltalk.
> > > It is a  subclass of a  CStruct.
> > >
> > > Now in the VM I got an  OOP.
> > > How do I get back  the C structure.
> > 
> >  vmProxy->OOPToCObject, or gst_oop_to_cobject,  depending on whether 
> > you're in a module or you're the one linking to  libgst.
> > 
> > > I am not inside a cCall or a primitive.
> > 
> > Where  are  you? :)
> 
> :) 
> I am inside the _gst_send_message_internal.
> I  go look how  OOPToCObject is implement.

So I used the _gst_oop_to_c_object but my object have one more instance 
variable:

CStruct subclass: CJitState [
     | codeBuffer |
     ...snip...
]

So the function _gst_oop_to_c_object does not return the expected structure. 
Instead I have one more
field in the structure.
So the cast don't work in C:

stack = (jit_stack*)_gst_oop_to_c_object(jitMethod->jitState);

What is the proper way of dealing with that?

I could just use:
(jit_stack*)_gst_oop_to_c_object(jitMethod->jitState)+1;

But don't know if is it a good idea.

Thanks


> 
> 
> Thanks
> 
> > 
> > Paolo
> > 
> 
> 
> _______________________________________________
> help-smalltalk  mailing list
> [email protected]
> http://lists.gnu.org/mailman/listinfo/help-smalltalk
> 




_______________________________________________
help-smalltalk mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/help-smalltalk

Reply via email to