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
|