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