Pending Mac VM 3.7.3b4
John M McIntosh
johnmci at mac.com
Fri Apr 23 20:58:06 UTC 2004
I'll post the final copy once I generate the combined VM. This will
happen later tonight.
I have however posted the mac source code changes to sourceforge.
Numerous changes for Unicode file name support, and proper support
for keyup/keydown on os-x.
sqVirtualMachine.c VM_PROXY_MINOR set to 6 to support isArray =
interp.c New VMMaker code update, major change is to use
dispatchFunctionPointerOnin logic to dispatch
primitive calls, versus going via a jumptable/case statement. Also
Tim reviewed the usage of the
millisecond clock and improved things so we don't need to check the
clock on every prim call. This
makes the RISC and other platforms faster. However it only has
minor effect on the os-x carbon VM
because of how the cheap millisecond clock is implemented.
sqMacDirectory.c Change dir_Lookup // HFS+ imposes Unicode2.1
decomposed UTF-8 encoding on all path elements
Per request from Tetsuya HAYASHI <tetha at st.rim.or.jp>
sqMacEncoding.c Alter SetVMPath() per request from Tetsuya HAYASHI ,
add support for
sqMacFileLogic.c Alter makeFSSpec(), get kCFStringNormalizationFormD
Alter PathToFile(), get kCFStringNormalizationFormKC path name
Alter QuicklyMakePath() get kCFStringNormalizationFormKC path name
New routine unicode2NativePascalString()
Alter makeOSXPath, get kCFStringNormalizationFormKD path name
Alter resolveLongName, get kCFStringNormalizationFormKC path name
Alter FSMakeFSSpecCompat(), call unicode2NativePascalString to
normalize path name
sqMacMemory.c Allow browser plugin to allocate 512MB of VM space for
image under os-x.
sqMacUIAppleEvents.c Use CFStringGetSystemEncoding versus suggested
plist.info suggestion because the encoding info is quite right yet at
this point in the startup time.
sqMacUIEvents.c Key Up is now reported as an event when the key is
released. Earlier os-x carbon VMs would report the key up after the
keystroke was processed by Text Services, which was incorrect. We
also deal with Key repeat correctly and don't send
another key down event. This change has made it possible to
properly support Morphic games where key up/down state is
important to game interaction.
sqMacWindow.c Fix crash in ShowWindow(). This was due to a pthread race
condition between the UI thread and interp.c.
Fixed by using UI callback to handle the show screen call. Would
show up as a crash before window appeared.
3.7.3bx Earlier versions of 3.7.3 were released to confirm the file
changes for Japanese users worked correctly, and to
confirm that the keyUp logic changes worked as desired.
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