Porting issues
Vincent Coetzee
vincent.coetzee at ebucks.com
Wed Jan 28 07:50:38 UTC 2004
Hi there
Thanks for all the answers, and please excuse my ignorance but what is
a DNU and where do I buy one <grin> ?
Thanks again.
Vincent
On Jan 28, 2004, at 9:41 AM, Andreas Raab wrote:
>> Is there an easy way to find the oop of a class with a particular name
>> from within the VM ?
>
> Depends. If there's a well-known set of classes you need access to,
> you can
> stick them into the VM's special objects array (check out
> Smalltalk>>recreateSpecialObjectsArray and in particular the FFI
> classes
> which are put in there - this should give you a good example). If you
> need
> to find these classes dynamically - that's a much harder problem. Your
> best
> choice might be to introduce a simple registry in the image and stick
> the
> registry into splObjects.
>
>> What is the approved way of storing pointer oops into instance
>> variables, is it storePointer:ofObject:withValue ?
>
> Yes.
>
>> Is there some vague documentation about the nature of the "boot"
>> process in the image, i.e. I understand that one can track the process
>> via reading what happens after a snapshot in SystemDictionary, but
>> there is a lot of very convoluted code there and I seem to be getting
>> strange behavior, in that my port is correctly calling ioScreenSize,
>> and ioHasDisplayDepth, but ioForceDisplayUpdate and ioShowDisplay,
>> never seem to get called.
>
> Speaking from experience with porting Squeak, most likely you're
> running
> into some error which prevents those methods from being called. If you
> can,
> augment your VM in a way that prints out occurances of DNU to see
> what's
> happening (most errors ultimately result in a DNU somewhere so if you
> print
> a call stack you should be able to figure out what is going wrong).
>
> Cheers,
> - Andreas
>
>
More information about the Squeak-dev
mailing list
|