Mac 3.8.6b6 posted for testing

John M McIntosh johnmci at smalltalkconsulting.com
Sat Feb 19 19:26:03 UTC 2005


I've posted a macintosh VM 3.8.6b6 that includes a fix for a reported  
problem of a sharp noise being played under certain conditions.
I have also recompiled the VM under OS-9 for classic users, they should  
confirm thing still work as expected since it's been awhile since I  
last shipped a full revision of
the os-9 classic VM.

I've stuck them on my idisk
http://homepage.mac.com/johnmci/FileSharing.html

or see the following ftp directory for zip files.

ftp://www.smalltalkconsulting.com/


3.8.6b6			sqMacMIDI.c add #def so I can compile under code warrior os-9  
again
				sqMacEncoding.c, sqMacEncoding.h  Minor changes so I can compile  
user code warrior os-9 again
				sqMacUnixInterfaceSound.c  Fix problem with empty buffer being full  
of junk under certain conditions, that causes a sharp sound  bite.

3.8.6b5			Change to JMM & AR GC instrumentation patch, collect a few  
less statistics. Also change carbon VM to use Unix/Quartz sound driver
				which interfaces to Core Audio stuff.

3.8.6b4			Ensure VMMaker 3.8b2 - the VM code classes and tools for  
building a working vm for Squeak version  > 3.8-6461. is incorporated.
				Add Andreas's GC improvement changes for
				* primitiveIsYoung: This answers the question whether an object  
currently lives in young or in old space.

				* primitiveIsRoot: Answers the question whether any given object is  
currently a root for young space.

				* primitiveRootTable: Answers a snapshot of the current root table.  
Useful to examine the roots table if the analysis requires complex  
other operations during which the root table might be modified itself.  
Note that since this primitive can cause GC there is a small chance  
that it will give an inaccurate answer.

				* primitiveRootTableAt: Answers a single element of the root table  
(by one-based index). This primitive can be used to quickly scan the  
root table for certain objects.

				* primitiveSetGCSemaphore: Indicates a semaphore (index) to be  
signaled whenever a garbage collection occurs. I can see at least two  
uses uses for the GC semaphore: running cleanup actions (for example  
after full GCs occured) and dynamic parameter tuning for the GC  
algorithm itself.

				Add John's changes for

				Smalltalk setGCBiasToGrowGCLimit: 16*1024*1024. "Set growth limit  
before full GC to 16MB"

				Smalltalk setGCBiasToGrow: 1.
				Set bias to grow upto GCLimit, this can avoid a problem where we  
attempt to avoid growing but results in thousands of incremental GC  
events as
				we approach a knee in a curve of space used versus the  
growth/compaction decision.


3.8.6b3			Add in logic for become: to fix issues with changes to  
become: logic.

3.8.6b2			sqMacWindow.c  reduce number of lock/unlock pixel events and  
flush no more than 91 fps, with flush check every 1/50 or 1/60 and 1/5  
of a second. this
				shaves another 50% off making drawing pixels 1.3% of the time  
originally taken.

3.8.6b1			sqMacWindow.c, sqUIEvents.c, changed logic to flush screen  
every 125 fps, this makes pixel level drawing complete in 2% of the  
time originally taken.

--
======================================================================== 
===
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