[OT][Q][VM][ENH][RFH][COMP] Request For Help : CompilerPlugin

John M McIntosh johnmci at smalltalkconsulting.com
Fri Apr 5 23:21:17 UTC 2002


>On Friday, April 5, 2002, at 09:45  Uhr, Hans-Martin Mosner wrote:
>
>>In our current MacOS X VisualWorks port, we implement a queue for 
>>graphics operations again (out of necessity: the event handling 
>>thread is unsuitable to run the VM, some MacOS X graphics 
>>operations just don't work correctly when done from the second 
>>thread, so we need to pass graphics back from the VM thread to the 
>>primary thread). I'd really like to know how that VM would perform 
>>on a dual processor machine where these threads are really 
>>concurrent.
>
>Welche Version ist das?  Ich habe mir im Februar einen Dual G4 gegoennt...
>
>Viele Gruesse,
>
>Marcel

Hans-Martin.
If you look at the Squeak C code you'll see I now run with two 
threads, one for the UI, and the other for the VM.

However I had to implement a event queue to allow applescript calls 
to execute on the UI thread to avoid deadlocks in the carbon UI code.

Also I had Alain Fischer report:

I have seen some message in the Console of Mac OS X:
Mar 10 02:25:12 localhost /Users/fischer/Develop/Squeak/Squeak 
3.2.5Beta7.app/Contents/MacOS/Squeak VM Opt: kCGErrorFailure : 
CGSNewRegionWithQDRgn: Unable to complete region operation
I don't know for the moment how to reproduce these messages.


I think these are conflicts with the UI thread doing a flushwindow, 
and the squeak VM thread current writting to the port. Mm I think 
there is some code around to lock the port to prevent the issue but 
I've not looked into it yet. Issue for the carbon port is we are 
doing flush window buffer by region, and the UI event thread is doing 
a flush window buffer every 1/60 too.

I realize of course the rules might/are different under Cocoa.

Also you should note the thread about structures, versus globals and 
the impact on how GCC creates assembler. Mind I'm wanting to see if 
GCC 3.x is way better in that regard.


-- 
--
===========================================================================
John M. McIntosh <johnmci at smalltalkconsulting.com> 1-800-477-2659
Corporate Smalltalk Consulting Ltd.  http://www.smalltalkconsulting.com
===========================================================================



More information about the Squeak-dev mailing list