pending mac os-x browser plugin 3.8.8b3
John M McIntosh
johnmci at smalltalkconsulting.com
Thu Jun 16 04:20:09 UTC 2005
I've migrated the netscape plugin NPSqueak.bundle from 3.7.5b1 to
3.8.8b3.
This change covers a lot of ground, however it should fix:
a) crashes from time to time in draw logic
b) faster updating and more CPU time to Squeak when it is busy.
c) a million other things since 3.7.5b1 to 3.8.8b3 changes cover
lots, see below.
Find a beta version at
http://homepage.mac.com/johnmci/FileSharing.html
experimental:BrowserPlugin directory
NPSqueak.bundle.zip
You should unzip the plugin and replace the NPSqueak.bundle found in
/Application/SqueakLand/Squeak/Internet/
with the new version, then restart your browser and run some tests.
3.8.8b3 sqMacNSPlugin.c Alter screen updates to 60 per
seconds, wait on each event for 15 milliseconds to give Squeak time
to update screen.
3.8.8b2 Revisions to the 32/64bit memory access to improve
VM performance
sqMacEncoding.c, Fix bug reported by
Stephan B. Wessels swessels at cox.net, crash on Tiger if squeak.image
is in resource folder
sqMacJoystickAndTablet.c More rewrites by Bert.
sqPlatformSpecific.h Add undefs for
dispatchFunctionPointer, dispatchFunctionPointerOnin
sqMacUIAppleEvents.c Fix issue with window
title not showing long image name on drag & drop image
sqMacMain.c Fix issue with window
title not showing long image name on image selection from dialog prompt.
sqMacUnixCommandLineInterface.c New, enable
command line functions and environment variables.
-help print this help message,
then exit -memory <size>[mk] use fixed heap
size (added to image size)
-pathenc <enc> set encoding for
pathnames (default: UTF-8)
or as environment variables
SQUEAK_IMAGE, SQUEAK_MEMORY, SQUEAK_PATHENC
3.8.8b1 Not released to general public
sqMacAsyncFilePrims.c (void*) for ioLoadFunction
sqMacDragDrop.c (void*) for ioLoadFunction
sqMacHostWindow.c (void*) for ioLoadFunction
sqMacJoystickAndTablet.c minor changes
sqMacSecurity.c (void*) for ioLoadFunction
sqUnixSoundMacOSXJMM.c add static to var to avoid
compiler warning
sqMacExternalPrims.c (void*) for various
module interfacing
sqMacWindows.c (void*) for ioLoadFunction
3.8.7b7 Revised and altered os-x joystick support based on
changes by Bert
Move towards 32/64bit VM logic by using latest VM Maker
sqMacExternalPrims.c (void *) usage
sqMacFileLogic.c (void *) usage
3.8.7b6 Added Dominique Dutoit hitoro at easynet.be changes
for os-x joystick support.
3.8.7b5 Fix logic to allow you to start VM from command
line, changed
sqMacFileLogic.c makeHFSFromPosixPath added to
convert posix cmd line path names to HFS
sqMacMain.c add logic to call cmd line parser
sqMacUnixCommandLineInterface.c new file logic to
parse cmd line
sqMacUnixCommandLineInterface.h
sqMacWindow.c minor changes to correct
compiler errors
3.8.7b4/b3 Limited release for testing
3.8.7b2 sqUIEvents.c changed keyUp/keyDown to supply mac
virtual keycode versus unicode, added new parm to keyChar to supply
UTF-32 Unicode.
As per Andreas request for Tweak.
3.8.7b1 sqUIEvents.c changed keyUp/keyDown logic to match
Windows pattern, key repeat becomes keyDown/keyDown/keyUp
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.
3.8.5b1 Fix issue with gnuify. The offical gnu header file
used a different #ifdef for the foo register than an altered gnu
header file I was using for
many years. This resulted in slower performance,
which is fixed in 3.8.5
3.8.4b3 Support for GC statistical data and change to how
memory is allocated and tenured.
Additional statistical information from the GC
routines
Additional primitives to set GC semaphore, and
to force a tenure
Change to make forward logic to look for "foo
become: foo" and cause a prim failure.
Earlier version of 3.8.4 where distributed to
Ffenstri testers.
sqMacHostWindow Change calls to move and size
window to use GUILocker callbacks to avoid VM crash.
sqMacWIndow.c Alter 1/2/4 bit support to pass
in bit size of target window, then copy is more efficient.
3.8.3b3 Support for Host menus and windows. Also added
back 1bit (B/W) and 2bit & 4bit color as requested by Dan Ingalls for
os-x
Earlier versions of 3.8.0/1/2/3 were distributed to
the TK4 team, not the public.
sq.h Added events, EventTypeMenu, EventTypeWindow
to handle menu and window events generated by the Host OS
and placed on the Squeak Event Queue to be read
by EventSensor
sqGnu.h Switch to the current file used by Ian for
Unix, versus older modified copy.
sqMacExternalPrims.c Cleanup of warning message
sqMacImageIO.c When you set the image name,
we set the title on window 1.
sqMacMain.c Do not create the main window
until we actually use it.
sqMacNSPlugin.c Always refer to window 1, not
sure what it means to have other windows in the plugin yet...
sqMacUIEvents.c OS-9
Pass cmd-key menu activity up
Pass update event bounding box
window events up
Pass window activate events up
Pass menu interaction activity up
Pass window events,
resize,zoom,close,move,inconize up
OS-X
Same as above
getUIToLock needs to
ReleaseEvent on the passed in event for GC reasons
sqMacUIMenuBar.c disable edit menu at start,
if later we find it enabled, don't touch, otherwise handle os-9 DA
issues.
sqmacWindow.c sqShowWindow now gets a
windowIndex parm.
ioShowDisplayOnWindow is added,
with logic to build main window at first draw time,
also fix some boundary checks,
and provide support (again) for 1/2/4 bit color under os-x
ioHasDisplayDepth() will return
true for 1/2/4/8/16/32 bit color
3.7.5b3 OpenGL fix by Bert.
Open Squeak3D.log in the currently directory, not
the root volume, also ensured this works in os9.
sqMacNSPlugin.c Alter memory check at startup to
ensure we see all 512MB, not a default of 30MB
sqMacUIMenuBar.c Don't hide menubar if squeak
screen is full screen on secondary screen.
sqMacWindow.c When you open in full screen mode,
then revert, ensure the screen is resized rationally.
Also remember screen size and
location when going into full screen so revert is sane.
--
========================================================================
===
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
|