Porting issues

Vincent Coetzee vincent.coetzee at ebucks.com
Wed Jan 28 07:53:19 UTC 2004


Sorry I forget to mention, my code for primitiveGetNextEvent is being 
called, and since the system does not have any windows open at this 
point and hence there are no OS events, I merely return an Event of 
type None, the VM then seems to repeatedly call GetNextEvent for about 
15 seconds (I have not counted the number of invocations) and then just 
stop dead. Would the reason for this be revealed by the DNU probe you 
mentioned previously.

Thanks again guys

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