[Vm-dev] [commit][3318] JMM - Use gnuified vm, fixes for various compiler complaints about integer cast for 64 bit, adjustments to compiler schemes to build 32/32 + 64/64 apps, update copyright dates.

commits at squeakvm.org commits at squeakvm.org
Sun May 3 21:57:17 UTC 2015


Revision: 3318
Author:   johnmci
Date:     2015-05-03 14:57:16 -0700 (Sun, 03 May 2015)
Log Message:
-----------
JMM - Use gnuified vm, fixes for various compiler complaints about integer cast for 64 bit, adjustments to compiler schemes to build 32/32 + 64/64 apps, update copyright dates.

Modified Paths:
--------------
    trunk/platforms/iOS/vm/Common/Classes/sqSqueakFileDirectoryAPI.m
    trunk/platforms/iOS/vm/OSX/Credits.rtf
    trunk/platforms/iOS/vm/OSX/SqueakOSXAppDelegate.m
    trunk/platforms/iOS/vm/OSX/plugins/HostWindowPlugin/sqMacHostWindow.m
    trunk/platforms/iOS/vm/SqueakPureObjc-Info 64x64.plist
    trunk/platforms/iOS/vm/SqueakPureObjc.xcodeproj/project.pbxproj
    trunk/platforms/iOS/vm/SqueakPureObjc.xcodeproj/project.xcworkspace/xcuserdata/johnmci.xcuserdatad/UserInterfaceState.xcuserstate
    trunk/platforms/iOS/vm/SqueakPureObjc.xcodeproj/xcuserdata/johnmci.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist
    trunk/platforms/iOS/vm/SqueakPureObjc.xcodeproj/xcuserdata/johnmci.xcuserdatad/xcschemes/SqueakNoOGLIPhone.xcscheme
    trunk/platforms/iOS/vm/SqueakPureObjc.xcodeproj/xcuserdata/johnmci.xcuserdatad/xcschemes/SqueakPureObjc.xcscheme
    trunk/platforms/iOS/vm/SqueakPureObjc.xcodeproj/xcuserdata/johnmci.xcuserdatad/xcschemes/SqueakPureObjc64*64.xcscheme
    trunk/platforms/iOS/vm/SqueakPureObjc_Prefix.pch
    trunk/platforms/iOS/vm/src/vm/interp.c

Modified: trunk/platforms/iOS/vm/Common/Classes/sqSqueakFileDirectoryAPI.m
===================================================================
--- trunk/platforms/iOS/vm/Common/Classes/sqSqueakFileDirectoryAPI.m	2015-05-03 03:11:13 UTC (rev 3317)
+++ trunk/platforms/iOS/vm/Common/Classes/sqSqueakFileDirectoryAPI.m	2015-05-03 21:57:16 UTC (rev 3318)
@@ -56,13 +56,11 @@
 	 filenameSize is size of file name
 	 fType and fCreator is type and creator codes (4 bytes preallocated)
 	 */
-    @autoreleasepool {
     sqInt status = [gDelegateApp.squeakApplication.fileDirectoryLogic dir_GetMacFileTypeAndCreator: filename
                                                                                           fileNameSize: filenameSize
                                                                                                  fType: fType
                                                                                               fCreator: fCreator];
 	return status;
-    }
 }
 
 sqInt dir_SetMacFileTypeAndCreator(char *filename, sqInt filenameSize, char *fType, char *fCreator) {
@@ -71,14 +69,12 @@
 	 filenameSize is size of file name
 	 fType and fCreator is type and creator codes (4 bytes)
 	 */
-    @autoreleasepool {
 	sqInt status = [gDelegateApp.squeakApplication.fileDirectoryLogic dir_SetMacFileTypeAndCreator: filename
 			fileNameSize: filenameSize
 			fType: fType
 			fCreator: fCreator];
 
 	return status;
-    }
 }
 
 sqInt dir_Delimitor(void)
@@ -103,7 +99,6 @@
 	/*Implementation notes
 	 if pathStringLength = 0 then we use the current working directory
 	 if pathStringLength > 0 then we resolve the pathString and alias */
-    @autoreleasepool {
     sqInt status =
 			[gDelegateApp.squeakApplication.fileDirectoryLogic dir_Lookup: pathString 
 			length: pathStringLength 
@@ -115,14 +110,12 @@
 			isDirectory: isDirectory 
 			sizeIfFile: sizeIfFile];
 	return status;
-    }
 }
 
 sqInt dir_EntryLookup(char *pathString, sqInt pathStringLength, char* nameString, sqInt nameStringLength,
 /* outputs: */  char *name, sqInt *nameLength, sqInt *creationDate, sqInt *modificationDate,
 					  sqInt *isDirectory, squeakFileOffsetType *sizeIfFile)
 {
-	@autoreleasepool {
 	sqInt status =
 	[gDelegateApp.squeakApplication.fileDirectoryLogic dir_EntryLookup: pathString 
 														   length: pathStringLength 
@@ -135,31 +128,25 @@
 													  isDirectory: isDirectory 
 													   sizeIfFile: sizeIfFile];
 	return status;
-    }
 }
 
 sqInt dir_Create(char *pathString, sqInt pathStringLength){
 	//API Documented
-    @autoreleasepool {
 	sqInt status = [gDelegateApp.squeakApplication.fileDirectoryLogic
 			dir_Create: pathString 
 			length: pathStringLength];
 	return status;
-    }
 }
 
 sqInt dir_Delete(char *pathString, sqInt pathStringLength){
-    @autoreleasepool {
 	sqInt status = [gDelegateApp.squeakApplication.fileDirectoryLogic
 			dir_Delete: pathString 
 			length: pathStringLength];
 	return status;
-    }
 }
 
 NSString* createFilePathFromString(char * aFilenameString,
 									sqInt filenameLength, sqInt resolveAlias) {
-	@autoreleasepool {
 	NSString * filePath = [[NSString alloc] initWithBytes: aFilenameString length: (NSUInteger) filenameLength encoding: NSUTF8StringEncoding];
 	if (!filePath) {
 		return NULL;
@@ -173,7 +160,6 @@
 		filePath = [newFilePath stringByAppendingPathComponent: [filePath lastPathComponent]];
 	}
 	return filePath;
-    }
 }
 
 sqInt sqGetFilenameFromString(char * aCharBuffer, char * aFilenameString,

Modified: trunk/platforms/iOS/vm/OSX/Credits.rtf
===================================================================
--- trunk/platforms/iOS/vm/OSX/Credits.rtf	2015-05-03 03:11:13 UTC (rev 3317)
+++ trunk/platforms/iOS/vm/OSX/Credits.rtf	2015-05-03 21:57:16 UTC (rev 3318)
@@ -1,6 +1,7 @@
-{\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf320
+{\rtf1\ansi\ansicpg1252\cocoartf1347\cocoasubrtf570
 {\fonttbl\f0\fswiss\fcharset0 Helvetica;}
 {\colortbl;\red255\green255\blue255;}
+\viewkind0
 \pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\qc
 
 \f0\fs22 \cf0 Thanks to the European Smalltalk User Group\
@@ -8,7 +9,7 @@
 and the Cocoa OS-X rewrite for 64 bits.\
 \
 OS-X & iOS port: John M McIntosh.\
-Copyright (c) 2009-2010 Corporate Smalltalk Consulting Ltd.\
+Copyright (c) 2009-2015 Corporate Smalltalk Consulting Ltd.\
 \
 With some code by Ian Piumarta, \
 clues from Marcel Weiher's Cocoa port,\

Modified: trunk/platforms/iOS/vm/OSX/SqueakOSXAppDelegate.m
===================================================================
--- trunk/platforms/iOS/vm/OSX/SqueakOSXAppDelegate.m	2015-05-03 03:11:13 UTC (rev 3317)
+++ trunk/platforms/iOS/vm/OSX/SqueakOSXAppDelegate.m	2015-05-03 21:57:16 UTC (rev 3318)
@@ -70,7 +70,8 @@
 		self.window.delegate =  windowHandler;
 		self.window.contentResizeIncrements = NSMakeSize(8.0f,8.0f);
 		[self.squeakApplication setupEventQueue];
-		
+        extern sqInt initializeImageFormatVersionIfNeeded(void);
+        initializeImageFormatVersionIfNeeded();
 		[self singleThreadStart];
 //	[self workerThreadStart];
 	

Modified: trunk/platforms/iOS/vm/OSX/plugins/HostWindowPlugin/sqMacHostWindow.m
===================================================================
--- trunk/platforms/iOS/vm/OSX/plugins/HostWindowPlugin/sqMacHostWindow.m	2015-05-03 03:11:13 UTC (rev 3317)
+++ trunk/platforms/iOS/vm/OSX/plugins/HostWindowPlugin/sqMacHostWindow.m	2015-05-03 21:57:16 UTC (rev 3318)
@@ -55,7 +55,7 @@
 	return -1;
 }
 
-int closeWindow(int windowIndex) {
+sqInt closeWindow(sqInt windowIndex) {
 	NSWindow	*windowHandle = windowHandleFromIndex(windowIndex);
 	if(windowHandle == NULL) 
 		return 0;

Modified: trunk/platforms/iOS/vm/SqueakPureObjc-Info 64x64.plist
===================================================================
--- trunk/platforms/iOS/vm/SqueakPureObjc-Info 64x64.plist	2015-05-03 03:11:13 UTC (rev 3317)
+++ trunk/platforms/iOS/vm/SqueakPureObjc-Info 64x64.plist	2015-05-03 21:57:16 UTC (rev 3318)
@@ -366,7 +366,7 @@
 	<key>CFBundleSignature</key>
 	<string>FAST</string>
 	<key>CFBundleVersion</key>
-	<string>30.0</string>
+	<string>31.0</string>
 	<key>LSApplicationCategoryType</key>
 	<string>public.app-category.developer-tools</string>
 	<key>LSBackgroundOnly</key>

Modified: trunk/platforms/iOS/vm/SqueakPureObjc.xcodeproj/project.pbxproj
===================================================================
--- trunk/platforms/iOS/vm/SqueakPureObjc.xcodeproj/project.pbxproj	2015-05-03 03:11:13 UTC (rev 3317)
+++ trunk/platforms/iOS/vm/SqueakPureObjc.xcodeproj/project.pbxproj	2015-05-03 21:57:16 UTC (rev 3318)
@@ -72,6 +72,31 @@
 		9458525C10F043EB001401E7 /* sqSqueakIPhoneApplication+clipboard.m in Sources */ = {isa = PBXBuildFile; fileRef = 9458525B10F043EB001401E7 /* sqSqueakIPhoneApplication+clipboard.m */; };
 		945C95FF0E97084C00529DC1 /* aio.c in Sources */ = {isa = PBXBuildFile; fileRef = 94883B2A0E0C2A5E005A4738 /* aio.c */; };
 		9463943F0E95845000015851 /* squeakSUnitTester.m in Sources */ = {isa = PBXBuildFile; fileRef = 9463943E0E95845000015851 /* squeakSUnitTester.m */; };
+		9463C1BF1AEE13F3009C5CE5 /* ADPCMCodecPlugin.c in Sources */ = {isa = PBXBuildFile; fileRef = 94E658E40DDD03FE00358328 /* ADPCMCodecPlugin.c */; };
+		9463C1C01AEE145C009C5CE5 /* B2DPlugin.c in Sources */ = {isa = PBXBuildFile; fileRef = 94E658E60DDD03FE00358328 /* B2DPlugin.c */; };
+		9463C1C11AEE1472009C5CE5 /* BMPReadWriterPlugin.c in Sources */ = {isa = PBXBuildFile; fileRef = 94E658EC0DDD03FE00358328 /* BMPReadWriterPlugin.c */; };
+		9463C1C21AEE149A009C5CE5 /* BitBltPlugin.c in Sources */ = {isa = PBXBuildFile; fileRef = 94E658EA0DDD03FE00358328 /* BitBltPlugin.c */; };
+		9463C1C31AEE14CD009C5CE5 /* DSAPrims.c in Sources */ = {isa = PBXBuildFile; fileRef = 94E658F00DDD03FE00358328 /* DSAPrims.c */; };
+		9463C1C41AEE14DF009C5CE5 /* DropPlugin.c in Sources */ = {isa = PBXBuildFile; fileRef = 946DA8D210C0C30D00F26F56 /* DropPlugin.c */; };
+		9463C1C51AEE150B009C5CE5 /* FFTPlugin.c in Sources */ = {isa = PBXBuildFile; fileRef = 94E658F20DDD03FE00358328 /* FFTPlugin.c */; };
+		9463C1C61AEE154A009C5CE5 /* FilePlugin.c in Sources */ = {isa = PBXBuildFile; fileRef = 94E658F40DDD03FE00358328 /* FilePlugin.c */; };
+		9463C1C71AEE155A009C5CE5 /* FloatArrayPlugin.c in Sources */ = {isa = PBXBuildFile; fileRef = 94E658F60DDD03FE00358328 /* FloatArrayPlugin.c */; };
+		9463C1C81AEE156E009C5CE5 /* GeniePlugin.c in Sources */ = {isa = PBXBuildFile; fileRef = 94E658F80DDD03FE00358328 /* GeniePlugin.c */; };
+		9463C1C91AEE157B009C5CE5 /* JPEGReadWriter2Plugin.c in Sources */ = {isa = PBXBuildFile; fileRef = 94E659000DDD03FE00358328 /* JPEGReadWriter2Plugin.c */; };
+		9463C1CA1AEE1588009C5CE5 /* JPEGReaderPlugin.c in Sources */ = {isa = PBXBuildFile; fileRef = 94E658FE0DDD03FE00358328 /* JPEGReaderPlugin.c */; };
+		9463C1CB1AEE1594009C5CE5 /* Klatt.c in Sources */ = {isa = PBXBuildFile; fileRef = 94E659020DDD03FE00358328 /* Klatt.c */; };
+		9463C1CC1AEE15AD009C5CE5 /* Matrix2x3Plugin.c in Sources */ = {isa = PBXBuildFile; fileRef = 94E659060DDD03FE00358328 /* Matrix2x3Plugin.c */; };
+		9463C1CD1AEE15BC009C5CE5 /* MiscPrimitivePlugin.c in Sources */ = {isa = PBXBuildFile; fileRef = 94E6590A0DDD03FE00358328 /* MiscPrimitivePlugin.c */; };
+		9463C1CE1AEE15C5009C5CE5 /* RePlugin.c in Sources */ = {isa = PBXBuildFile; fileRef = 94E6590C0DDD03FE00358328 /* RePlugin.c */; };
+		9463C1CF1AEE15EE009C5CE5 /* SecurityPlugin.c in Sources */ = {isa = PBXBuildFile; fileRef = 94E6590E0DDD03FE00358328 /* SecurityPlugin.c */; };
+		9463C1D01AEE15FB009C5CE5 /* SoundCodecPrims.c in Sources */ = {isa = PBXBuildFile; fileRef = 94E659120DDD03FE00358328 /* SoundCodecPrims.c */; };
+		9463C1D11AEE1607009C5CE5 /* SoundPlugin.c in Sources */ = {isa = PBXBuildFile; fileRef = 94E659160DDD03FE00358328 /* SoundPlugin.c */; };
+		9463C1D21AEE1618009C5CE5 /* StarSqueakPlugin.c in Sources */ = {isa = PBXBuildFile; fileRef = 94E6591A0DDD03FE00358328 /* StarSqueakPlugin.c */; };
+		9463C1D31AEE1630009C5CE5 /* SoundGenerationPlugin.c in Sources */ = {isa = PBXBuildFile; fileRef = 94E659140DDD03FE00358328 /* SoundGenerationPlugin.c */; };
+		9463C1D41AEE1688009C5CE5 /* chartables.c in Sources */ = {isa = PBXBuildFile; fileRef = 94E65A290DDD053900358328 /* chartables.c */; };
+		9463C1D51AEE168C009C5CE5 /* get.c in Sources */ = {isa = PBXBuildFile; fileRef = 94E65A2B0DDD053900358328 /* get.c */; };
+		9463C1D61AEE168F009C5CE5 /* pcre.c in Sources */ = {isa = PBXBuildFile; fileRef = 94E65A2E0DDD053900358328 /* pcre.c */; };
+		9463C1D71AEE1693009C5CE5 /* study.c in Sources */ = {isa = PBXBuildFile; fileRef = 94E65A340DDD053900358328 /* study.c */; };
 		946DA8D310C0C30D00F26F56 /* DropPlugin.c in Sources */ = {isa = PBXBuildFile; fileRef = 946DA8D210C0C30D00F26F56 /* DropPlugin.c */; };
 		946DA91510C0C71100F26F56 /* sqSqueakOSXDropAPI.m in Sources */ = {isa = PBXBuildFile; fileRef = 946DA91410C0C71100F26F56 /* sqSqueakOSXDropAPI.m */; };
 		946DAA0010C0D35500F26F56 /* sqMacUnixExternalPrims.m in Sources */ = {isa = PBXBuildFile; fileRef = 946DA9FF10C0D35500F26F56 /* sqMacUnixExternalPrims.m */; };
@@ -2596,9 +2621,11 @@
 				9487742810C64DD800E4AEC5 /* Error.c in Sources */,
 				9487742910C64DD800E4AEC5 /* jcapimin.c in Sources */,
 				9487742A10C64DD800E4AEC5 /* jcapistd.c in Sources */,
+				9463C1CF1AEE15EE009C5CE5 /* SecurityPlugin.c in Sources */,
 				942875511AEC5624007958BD /* ObjectiveCPlugin.c in Sources */,
 				9487742B10C64DD800E4AEC5 /* jccoefct.c in Sources */,
 				9487742C10C64DD800E4AEC5 /* jccolor.c in Sources */,
+				9463C1BF1AEE13F3009C5CE5 /* ADPCMCodecPlugin.c in Sources */,
 				9487742D10C64DD800E4AEC5 /* jcdctmgr.c in Sources */,
 				9487742E10C64DD800E4AEC5 /* jchuff.c in Sources */,
 				9487742F10C64DD800E4AEC5 /* jcinit.c in Sources */,
@@ -2611,6 +2638,7 @@
 				9487743610C64DD800E4AEC5 /* jcprepct.c in Sources */,
 				9487743710C64DD800E4AEC5 /* jcsample.c in Sources */,
 				9487743810C64DD800E4AEC5 /* jctrans.c in Sources */,
+				9463C1C31AEE14CD009C5CE5 /* DSAPrims.c in Sources */,
 				9487743910C64DD800E4AEC5 /* jdapimin.c in Sources */,
 				94C3176C1AD49B020096E59D /* sqUnixLocale.c in Sources */,
 				9487743A10C64DD800E4AEC5 /* jdapistd.c in Sources */,
@@ -2620,7 +2648,10 @@
 				9487743E10C64DD800E4AEC5 /* jdcolor.c in Sources */,
 				9487743F10C64DD800E4AEC5 /* jddctmgr.c in Sources */,
 				9487744010C64DD800E4AEC5 /* jdhuff.c in Sources */,
+				9463C1C21AEE149A009C5CE5 /* BitBltPlugin.c in Sources */,
+				9463C1C81AEE156E009C5CE5 /* GeniePlugin.c in Sources */,
 				9487744110C64DD800E4AEC5 /* jdinput.c in Sources */,
+				9463C1CE1AEE15C5009C5CE5 /* RePlugin.c in Sources */,
 				9487744210C64DD800E4AEC5 /* jdmainct.c in Sources */,
 				94C3175E1AD49A030096E59D /* sqUnixSerial.c in Sources */,
 				9487744310C64DD800E4AEC5 /* jdmarker.c in Sources */,
@@ -2633,12 +2664,15 @@
 				9487744910C64DD800E4AEC5 /* jdtrans.c in Sources */,
 				9487744A10C64DD800E4AEC5 /* jerror.c in Sources */,
 				9487744B10C64DD800E4AEC5 /* jfdctflt.c in Sources */,
+				9463C1CB1AEE1594009C5CE5 /* Klatt.c in Sources */,
+				9463C1D41AEE1688009C5CE5 /* chartables.c in Sources */,
 				9487744C10C64DD800E4AEC5 /* jfdctfst.c in Sources */,
 				9487744D10C64DD800E4AEC5 /* jfdctint.c in Sources */,
 				9487744E10C64DD800E4AEC5 /* jidctflt.c in Sources */,
 				9487744F10C64DD800E4AEC5 /* jidctfst.c in Sources */,
 				9487745010C64DD800E4AEC5 /* jidctint.c in Sources */,
 				9487745110C64DD800E4AEC5 /* jidctred.c in Sources */,
+				9463C1CD1AEE15BC009C5CE5 /* MiscPrimitivePlugin.c in Sources */,
 				9487745210C64DD800E4AEC5 /* jmemdatadst.c in Sources */,
 				9487745310C64DD800E4AEC5 /* jmemdatasrc.c in Sources */,
 				9487745410C64DD800E4AEC5 /* jmemmgr.c in Sources */,
@@ -2647,12 +2681,15 @@
 				9487745710C64DD800E4AEC5 /* jquant2.c in Sources */,
 				9487745810C64DD800E4AEC5 /* jutils.c in Sources */,
 				9487745910C64DD800E4AEC5 /* b3dAlloc.c in Sources */,
+				9463C1C91AEE157B009C5CE5 /* JPEGReadWriter2Plugin.c in Sources */,
 				9487745A10C64DD800E4AEC5 /* b3dDraw.c in Sources */,
 				9487745B10C64DD800E4AEC5 /* b3dInit.c in Sources */,
+				9463C1D61AEE168F009C5CE5 /* pcre.c in Sources */,
 				9487745C10C64DD800E4AEC5 /* b3dMain.c in Sources */,
 				94D921591AC6327200A5970F /* interp.c in Sources */,
 				9487745D10C64DD800E4AEC5 /* b3dRemap.c in Sources */,
 				9487745E10C64DD800E4AEC5 /* sqSoundCodecPluginBasicPrims.c in Sources */,
+				9463C1D01AEE15FB009C5CE5 /* SoundCodecPrims.c in Sources */,
 				9487746310C64DD800E4AEC5 /* sqUnixUUID.c in Sources */,
 				94D9215B1AC6337D00A5970F /* sqManualSurface.c in Sources */,
 				9487746410C64DD800E4AEC5 /* sqSqueakMainApplication+imageReadWrite.m in Sources */,
@@ -2662,23 +2699,30 @@
 				9487746910C64DD800E4AEC5 /* sqMacV2Time.c in Sources */,
 				9487746A10C64DD800E4AEC5 /* sqSqueakFileDirectoryAPI.m in Sources */,
 				9487746B10C64DD800E4AEC5 /* sqSqueakFileDirectoryInterface.m in Sources */,
+				9463C1D21AEE1618009C5CE5 /* StarSqueakPlugin.c in Sources */,
 				9487746C10C64DD800E4AEC5 /* sqSqueakMainApp.m in Sources */,
 				94C3175A1AD499630096E59D /* sqUnixAsynchFile.c in Sources */,
 				9487746D10C64DD800E4AEC5 /* sqSqueakMainApplication+vmAndImagePath.m in Sources */,
 				9487746E10C64DD800E4AEC5 /* sqSqueakMainApplication.m in Sources */,
 				9487746F10C64DD800E4AEC5 /* sqSqueakAttributesAPI.m in Sources */,
 				9487747010C64DD800E4AEC5 /* sqSqueakEventsAPI.m in Sources */,
+				9463C1C01AEE145C009C5CE5 /* B2DPlugin.c in Sources */,
 				9487747110C64DD800E4AEC5 /* sqSqueakScreenAndWindow.m in Sources */,
 				9487747210C64DD800E4AEC5 /* sqSqueakAppDelegate.m in Sources */,
 				9487747310C64DD800E4AEC5 /* sqSqueakVmAndImagePathAPI.m in Sources */,
 				9487747410C64DD800E4AEC5 /* sqSqueakMainApplication+attributes.m in Sources */,
+				9463C1D11AEE1607009C5CE5 /* SoundPlugin.c in Sources */,
 				9487747610C64DD800E4AEC5 /* sqUnixSocket.c in Sources */,
 				9487747710C64DD800E4AEC5 /* sqSqueakMainApplication+events.m in Sources */,
 				9487747810C64DD800E4AEC5 /* sqSqueakSoundAPI.m in Sources */,
 				9487747910C64DD800E4AEC5 /* sqSqueakMainApplication+sound.m in Sources */,
+				9463C1C61AEE154A009C5CE5 /* FilePlugin.c in Sources */,
 				9487747A10C64DD800E4AEC5 /* sqSqueakInfoPlistInterface.m in Sources */,
+				9463C1D31AEE1630009C5CE5 /* SoundGenerationPlugin.c in Sources */,
+				9463C1C11AEE1472009C5CE5 /* BMPReadWriterPlugin.c in Sources */,
 				9487747C10C64DD800E4AEC5 /* squeakSUnitTester.m in Sources */,
 				9487747D10C64DD800E4AEC5 /* aio.c in Sources */,
+				9463C1CA1AEE1588009C5CE5 /* JPEGReaderPlugin.c in Sources */,
 				9487747F10C64DD800E4AEC5 /* sqSqueakSoundCoreAudioAPI.m in Sources */,
 				9487748010C64DD800E4AEC5 /* sqSqueakSoundCoreAudio.m in Sources */,
 				9487748110C64DD800E4AEC5 /* squeakProxy.m in Sources */,
@@ -2689,11 +2733,14 @@
 				9487748510C64DD800E4AEC5 /* sqMacSecurity.c in Sources */,
 				9487748610C64DD800E4AEC5 /* sqSqueakOSXApplication.m in Sources */,
 				9487748910C64DD800E4AEC5 /* sqSqueakOSXFileDirectoryInterface.m in Sources */,
+				9463C1C71AEE155A009C5CE5 /* FloatArrayPlugin.c in Sources */,
 				9487748A10C64DD800E4AEC5 /* sqSqueakOSXApplication+attributes.m in Sources */,
+				9463C1C41AEE14DF009C5CE5 /* DropPlugin.c in Sources */,
 				94C3176A1AD49B020096E59D /* sqUnixJoystickTablet.c in Sources */,
 				9487748B10C64DD800E4AEC5 /* sqSqueakOSXInfoPlistInterface.m in Sources */,
 				9487748C10C64DD800E4AEC5 /* sqSqueakOSXApplication+imageReadWrite.m in Sources */,
 				9487748D10C64DD800E4AEC5 /* sqSqueakOSXScreenAndWindow.m in Sources */,
+				9463C1D51AEE168C009C5CE5 /* get.c in Sources */,
 				9487748E10C64DD800E4AEC5 /* sqSqueakOSXNSView.m in Sources */,
 				9487748F10C64DD800E4AEC5 /* macintoshosxextra.c in Sources */,
 				9487749010C64DD800E4AEC5 /* sqSqueakOSXApplication+cursor.m in Sources */,
@@ -2707,17 +2754,20 @@
 				9487749610C64DD800E4AEC5 /* sqSqueakOSXClipboardAPI.m in Sources */,
 				9487749710C64DD800E4AEC5 /* sqSqueakOSXApplication+clipboard.m in Sources */,
 				9487749810C64DD800E4AEC5 /* sqSqueakOSXSoundCoreAudio.m in Sources */,
+				9463C1C51AEE150B009C5CE5 /* FFTPlugin.c in Sources */,
 				9487749A10C64DD800E4AEC5 /* sqSqueakOSXDropAPI.m in Sources */,
 				9487749B10C64DD800E4AEC5 /* sqMacUnixExternalPrims.m in Sources */,
 				94D921561AC6320300A5970F /* SocketPlugin.c in Sources */,
 				94C315341AD4949B0096E59D /* AsynchFilePlugin.c in Sources */,
 				94C317541AD495CD0096E59D /* LocalePlugin.c in Sources */,
+				9463C1CC1AEE15AD009C5CE5 /* Matrix2x3Plugin.c in Sources */,
 				9402DD6010CE0C16005C2102 /* SqViewBitmapConversion.m in Sources */,
 				9402DD7010CE0E91005C2102 /* SqViewClut.m in Sources */,
 				94D3654F10CEC86C00805023 /* BitMapConversionLogicFromX11.c in Sources */,
 				944069CE10E6B63200353B27 /* MacMenubarPlugin.c in Sources */,
 				94B9533510E6BD7100DC476A /* MacMenuOS9ToOSX.m in Sources */,
 				94C317511AD495CD0096E59D /* JoystickTabletPlugin.c in Sources */,
+				9463C1D71AEE1693009C5CE5 /* study.c in Sources */,
 				94584FDB10F02378001401E7 /* sqMacExtendedClipboard.m in Sources */,
 				943B9CA11235C5120056205E /* sqMacHostWindow.m in Sources */,
 			);
@@ -2749,7 +2799,6 @@
 		947E5F3610A9FD0400D3B69E /* Debug */ = {
 			isa = XCBuildConfiguration;
 			buildSettings = {
-				ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
 				CLANG_ANALYZER_SECURITY_INSECUREAPI_RAND = YES;
 				CLANG_ANALYZER_SECURITY_INSECUREAPI_STRCPY = YES;
 				COPY_PHASE_STRIP = NO;
@@ -2761,7 +2810,6 @@
 				HEADER_SEARCH_PATHS = /usr/include/uuid;
 				MACOSX_DEPLOYMENT_TARGET = 10.7;
 				ONLY_ACTIVE_ARCH = YES;
-				SDKROOT = macosx;
 				SEPARATE_STRIP = YES;
 			};
 			name = Debug;
@@ -2787,6 +2835,15 @@
 					"ISQUEAK_IMAGE=\"iPhone\"",
 					"ISQUEAK_SOURCES=\"PharoV10\"",
 				);
+				"GCC_PREPROCESSOR_DEFINITIONS[sdk=*]" = (
+					TARGET_OS_IS_IPHONE,
+					USE_INLINE_MEMORY_ACCESSORS,
+					HAVE_SYS_TIME_H,
+					HAVE_NANOSLEEP,
+					SQUEAK_BUILTIN_PLUGIN,
+					"ISQUEAK_IMAGE=\"iPhone\"",
+					"ISQUEAK_SOURCES=\"PharoV10\"",
+				);
 				GCC_THUMB_SUPPORT = "";
 				INFOPLIST_FILE = "Info-iPhone.plist";
 				IPHONEOS_DEPLOYMENT_TARGET = 7.0;
@@ -2802,7 +2859,6 @@
 			isa = XCBuildConfiguration;
 			buildSettings = {
 				ALWAYS_SEARCH_USER_PATHS = NO;
-				ARCHS = "$(ARCHS_STANDARD_64_BIT)";
 				CLANG_ENABLE_OBJC_ARC = YES;
 				CODE_SIGN_IDENTITY = "Developer ID Application";
 				COMBINE_HIDPI_IMAGES = YES;
@@ -2821,15 +2877,11 @@
 					HAVE_SYS_TIME_H,
 					HAVE_NANOSLEEP,
 					SQUEAK_BUILTIN_PLUGIN,
-					NO_ISNAN,
+					"SQ_VI_BYTES_PER_WORD=4",
 				);
-				GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
 				GCC_WARN_64_TO_32_BIT_CONVERSION = NO;
 				INFOPLIST_FILE = "SqueakPureObjc-Info.plist";
-				MACOSX_DEPLOYMENT_TARGET = 10.7;
-				ONLY_ACTIVE_ARCH = YES;
 				PRODUCT_NAME = Squeak;
-				SDKROOT = macosx;
 			};
 			name = Debug;
 		};
@@ -2837,7 +2889,6 @@
 			isa = XCBuildConfiguration;
 			buildSettings = {
 				ALWAYS_SEARCH_USER_PATHS = NO;
-				ARCHS = "$(ARCHS_STANDARD_64_BIT)";
 				CLANG_ENABLE_OBJC_ARC = YES;
 				CODE_SIGN_IDENTITY = "Developer ID Application";
 				"CODE_SIGN_IDENTITY[sdk=macosx*]" = "iPhone Distribution: Corporate Smalltalk Consulting Ltd";
@@ -2856,25 +2907,17 @@
 					HAVE_SYS_TIME_H,
 					HAVE_NANOSLEEP,
 					SQUEAK_BUILTIN_PLUGIN,
-					NO_ISNAN,
+					"SQ_VI_BYTES_PER_WORD=4",
 				);
-				GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
-				"GCC_VERSION[arch=i386]" = com.apple.compilers.llvm.clang.1_0;
-				"GCC_VERSION[arch=ppc]" = com.apple.compilers.llvm.clang.1_0;
-				"GCC_VERSION[arch=x86_64]" = com.apple.compilers.llvm.clang.1_0;
 				INFOPLIST_FILE = "SqueakPureObjc-Info.plist";
-				MACOSX_DEPLOYMENT_TARGET = 10.7;
-				ONLY_ACTIVE_ARCH = NO;
 				PRODUCT_NAME = Squeak;
 				"PROVISIONING_PROFILE[sdk=macosx*]" = "3a8c5546-20a8-40a9-afb4-4218872c980c";
-				SDKROOT = macosx;
 			};
 			name = Distribution;
 		};
 		9480CD150E5C7D9300C32178 /* Distribution */ = {
 			isa = XCBuildConfiguration;
 			buildSettings = {
-				ARCHS = "$(ARCHS_STANDARD_32_BIT)";
 				CLANG_ANALYZER_SECURITY_INSECUREAPI_RAND = YES;
 				CLANG_ANALYZER_SECURITY_INSECUREAPI_STRCPY = YES;
 				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
@@ -2886,7 +2929,6 @@
 				HEADER_SEARCH_PATHS = /usr/include/uuid;
 				MACOSX_DEPLOYMENT_TARGET = 10.7;
 				"PROVISIONING_PROFILE[sdk=iphoneos*]" = "65867c1c-f0f6-4de4-84cd-3e77826cb368";
-				SDKROOT = macosx;
 				SEPARATE_STRIP = YES;
 			};
 			name = Distribution;
@@ -2928,10 +2970,8 @@
 			isa = XCBuildConfiguration;
 			buildSettings = {
 				ALWAYS_SEARCH_USER_PATHS = NO;
-				ARCHS = "$(ARCHS_STANDARD_64_BIT)";
 				CODE_SIGN_IDENTITY = "Developer ID Application";
 				COMBINE_HIDPI_IMAGES = YES;
-				COPY_PHASE_STRIP = NO;
 				FRAMEWORK_SEARCH_PATHS = (
 					"$(inherited)",
 					"$(PROJECT_DIR)",
@@ -2946,14 +2986,13 @@
 					HAVE_SYS_TIME_H,
 					HAVE_NANOSLEEP,
 					SQUEAK_BUILTIN_PLUGIN,
+					"SQ_VI_BYTES_PER_WORD=8",
 				);
-				GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
 				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
 				INFOPLIST_FILE = "SqueakPureObjc-Info 64x64.plist";
-				MACOSX_DEPLOYMENT_TARGET = 10.7;
 				OTHER_CFLAGS = "";
 				PRODUCT_NAME = Squeak;
-				SDKROOT = macosx;
+				VALID_ARCHS = x86_64;
 			};
 			name = Debug;
 		};
@@ -2961,11 +3000,9 @@
 			isa = XCBuildConfiguration;
 			buildSettings = {
 				ALWAYS_SEARCH_USER_PATHS = NO;
-				ARCHS = "$(ARCHS_STANDARD_64_BIT)";
 				CODE_SIGN_IDENTITY = "Developer ID Application";
-				"CODE_SIGN_IDENTITY[sdk=macosx*]" = "Developer ID Application";
+				"CODE_SIGN_IDENTITY[sdk=macosx*]" = "iPhone Distribution: Corporate Smalltalk Consulting Ltd (DTYH6QWG79)";
 				COMBINE_HIDPI_IMAGES = YES;
-				COPY_PHASE_STRIP = YES;
 				FRAMEWORK_SEARCH_PATHS = (
 					"$(inherited)",
 					"$(PROJECT_DIR)",
@@ -2976,20 +3013,18 @@
 				GCC_PREFIX_HEADER = SqueakPureObjc_Prefix.pch;
 				GCC_PREPROCESSOR_DEFINITIONS = (
 					BUILD_FOR_OSX,
-					USE_INLINE_MEMORY_ACCESSORS,
 					HAVE_SYS_TIME_H,
 					HAVE_NANOSLEEP,
 					SQUEAK_BUILTIN_PLUGIN,
-					NO_ISNAN,
+					"SQ_VI_BYTES_PER_WORD=8",
+					USE_INLINE_MEMORY_ACCESSORS,
 				);
-				GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
 				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
 				INFOPLIST_FILE = "SqueakPureObjc-Info 64x64.plist";
-				MACOSX_DEPLOYMENT_TARGET = 10.7;
 				OTHER_CFLAGS = "";
 				PRODUCT_NAME = Squeak;
-				"PROVISIONING_PROFILE[sdk=macosx*]" = "";
-				SDKROOT = macosx;
+				"PROVISIONING_PROFILE[sdk=macosx*]" = "3a8c5546-20a8-40a9-afb4-4218872c980c";
+				VALID_ARCHS = x86_64;
 			};
 			name = Distribution;
 		};

Modified: trunk/platforms/iOS/vm/SqueakPureObjc.xcodeproj/project.xcworkspace/xcuserdata/johnmci.xcuserdatad/UserInterfaceState.xcuserstate
===================================================================
(Binary files differ)

Modified: trunk/platforms/iOS/vm/SqueakPureObjc.xcodeproj/xcuserdata/johnmci.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist
===================================================================
--- trunk/platforms/iOS/vm/SqueakPureObjc.xcodeproj/xcuserdata/johnmci.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist	2015-05-03 03:11:13 UTC (rev 3317)
+++ trunk/platforms/iOS/vm/SqueakPureObjc.xcodeproj/xcuserdata/johnmci.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist	2015-05-03 21:57:16 UTC (rev 3318)
@@ -179,5 +179,21 @@
             landmarkType = "5">
          </BreakpointContent>
       </BreakpointProxy>
+      <BreakpointProxy
+         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
+         <BreakpointContent
+            shouldBeEnabled = "Yes"
+            ignoreCount = "0"
+            continueAfterRunningActions = "No"
+            filePath = "iPhone/sqMacV2Memory.c"
+            timestampString = "451791413.950783"
+            startingColumnNumber = "9223372036854775807"
+            endingColumnNumber = "9223372036854775807"
+            startingLineNumber = "118"
+            endingLineNumber = "118"
+            landmarkName = "sqAllocateMemoryMac()"
+            landmarkType = "7">
+         </BreakpointContent>
+      </BreakpointProxy>
    </Breakpoints>
 </Bucket>

Modified: trunk/platforms/iOS/vm/SqueakPureObjc.xcodeproj/xcuserdata/johnmci.xcuserdatad/xcschemes/SqueakNoOGLIPhone.xcscheme
===================================================================
--- trunk/platforms/iOS/vm/SqueakPureObjc.xcodeproj/xcuserdata/johnmci.xcuserdatad/xcschemes/SqueakNoOGLIPhone.xcscheme	2015-05-03 03:11:13 UTC (rev 3317)
+++ trunk/platforms/iOS/vm/SqueakPureObjc.xcodeproj/xcuserdata/johnmci.xcuserdatad/xcschemes/SqueakNoOGLIPhone.xcscheme	2015-05-03 21:57:16 UTC (rev 3318)
@@ -32,7 +32,7 @@
    </TestAction>
    <LaunchAction
       selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
-      selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.GDB"
+      selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
       displayScaleIsEnabled = "NO"
       displayScale = "1.00"
       launchStyle = "0"
@@ -41,7 +41,8 @@
       ignoresPersistentStateOnLaunch = "NO"
       debugDocumentVersioning = "YES"
       allowLocationSimulation = "YES">
-      <BuildableProductRunnable>
+      <BuildableProductRunnable
+         runnableDebuggingMode = "0">
          <BuildableReference
             BuildableIdentifier = "primary"
             BlueprintIdentifier = "1D6058900D05DD3D006BFB54"
@@ -78,7 +79,8 @@
       useCustomWorkingDirectory = "NO"
       buildConfiguration = "Debug"
       debugDocumentVersioning = "YES">
-      <BuildableProductRunnable>
+      <BuildableProductRunnable
+         runnableDebuggingMode = "0">
          <BuildableReference
             BuildableIdentifier = "primary"
             BlueprintIdentifier = "1D6058900D05DD3D006BFB54"
@@ -92,7 +94,7 @@
       buildConfiguration = "Debug">
    </AnalyzeAction>
    <ArchiveAction
-      buildConfiguration = "Debug"
+      buildConfiguration = "Distribution"
       revealArchiveInOrganizer = "YES">
    </ArchiveAction>
 </Scheme>

Modified: trunk/platforms/iOS/vm/SqueakPureObjc.xcodeproj/xcuserdata/johnmci.xcuserdatad/xcschemes/SqueakPureObjc.xcscheme
===================================================================
--- trunk/platforms/iOS/vm/SqueakPureObjc.xcodeproj/xcuserdata/johnmci.xcuserdatad/xcschemes/SqueakPureObjc.xcscheme	2015-05-03 03:11:13 UTC (rev 3317)
+++ trunk/platforms/iOS/vm/SqueakPureObjc.xcodeproj/xcuserdata/johnmci.xcuserdatad/xcschemes/SqueakPureObjc.xcscheme	2015-05-03 21:57:16 UTC (rev 3318)
@@ -32,7 +32,7 @@
    </TestAction>
    <LaunchAction
       selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
-      selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.GDB"
+      selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
       displayScaleIsEnabled = "NO"
       displayScale = "1.00"
       launchStyle = "0"
@@ -41,7 +41,8 @@
       ignoresPersistentStateOnLaunch = "NO"
       debugDocumentVersioning = "YES"
       allowLocationSimulation = "YES">
-      <BuildableProductRunnable>
+      <BuildableProductRunnable
+         runnableDebuggingMode = "0">
          <BuildableReference
             BuildableIdentifier = "primary"
             BlueprintIdentifier = "947E626F10AA098300D3B69E"
@@ -130,7 +131,8 @@
       useCustomWorkingDirectory = "NO"
       buildConfiguration = "Debug"
       debugDocumentVersioning = "YES">
-      <BuildableProductRunnable>
+      <BuildableProductRunnable
+         runnableDebuggingMode = "0">
          <BuildableReference
             BuildableIdentifier = "primary"
             BlueprintIdentifier = "947E626F10AA098300D3B69E"
@@ -144,7 +146,7 @@
       buildConfiguration = "Debug">
    </AnalyzeAction>
    <ArchiveAction
-      buildConfiguration = "Debug"
+      buildConfiguration = "Distribution"
       revealArchiveInOrganizer = "YES">
    </ArchiveAction>
 </Scheme>

Modified: trunk/platforms/iOS/vm/SqueakPureObjc.xcodeproj/xcuserdata/johnmci.xcuserdatad/xcschemes/SqueakPureObjc64*64.xcscheme
===================================================================
--- trunk/platforms/iOS/vm/SqueakPureObjc.xcodeproj/xcuserdata/johnmci.xcuserdatad/xcschemes/SqueakPureObjc64*64.xcscheme	2015-05-03 03:11:13 UTC (rev 3317)
+++ trunk/platforms/iOS/vm/SqueakPureObjc.xcodeproj/xcuserdata/johnmci.xcuserdatad/xcschemes/SqueakPureObjc64*64.xcscheme	2015-05-03 21:57:16 UTC (rev 3318)
@@ -32,7 +32,7 @@
    </TestAction>
    <LaunchAction
       selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
-      selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.GDB"
+      selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
       displayScaleIsEnabled = "NO"
       displayScale = "1.00"
       launchStyle = "0"
@@ -41,7 +41,8 @@
       ignoresPersistentStateOnLaunch = "NO"
       debugDocumentVersioning = "YES"
       allowLocationSimulation = "YES">
-      <BuildableProductRunnable>
+      <BuildableProductRunnable
+         runnableDebuggingMode = "0">
          <BuildableReference
             BuildableIdentifier = "primary"
             BlueprintIdentifier = "948773F910C64DD800E4AEC5"
@@ -61,7 +62,8 @@
       useCustomWorkingDirectory = "NO"
       buildConfiguration = "Debug"
       debugDocumentVersioning = "YES">
-      <BuildableProductRunnable>
+      <BuildableProductRunnable
+         runnableDebuggingMode = "0">
          <BuildableReference
             BuildableIdentifier = "primary"
             BlueprintIdentifier = "948773F910C64DD800E4AEC5"
@@ -75,7 +77,7 @@
       buildConfiguration = "Debug">
    </AnalyzeAction>
    <ArchiveAction
-      buildConfiguration = "Debug"
+      buildConfiguration = "Distribution"
       revealArchiveInOrganizer = "YES">
    </ArchiveAction>
 </Scheme>

Modified: trunk/platforms/iOS/vm/SqueakPureObjc_Prefix.pch
===================================================================
--- trunk/platforms/iOS/vm/SqueakPureObjc_Prefix.pch	2015-05-03 03:11:13 UTC (rev 3317)
+++ trunk/platforms/iOS/vm/SqueakPureObjc_Prefix.pch	2015-05-03 21:57:16 UTC (rev 3318)
@@ -1,5 +1,5 @@
 //
-// Prefix header for all source files of the 'Untitled2' target in the 'Untitled2' project
+// Prefix header for all source files of the 'SqueakPureObjC' target in the 'SqueakPureObjC' project
 //
 
 #ifdef __OBJC__

Modified: trunk/platforms/iOS/vm/src/vm/interp.c
===================================================================
--- trunk/platforms/iOS/vm/src/vm/interp.c	2015-05-03 03:11:13 UTC (rev 3317)
+++ trunk/platforms/iOS/vm/src/vm/interp.c	2015-05-03 21:57:16 UTC (rev 3318)
@@ -1,28991 +1,28996 @@
-/* Smalltalk from Squeak4.5 with VMMaker 4.13.12 translated as C source on 28 March 2015 8:15:47 pm */
-/* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker-dtl.359 uuid: 3d5b8023-e045-437f-a85a-02036bc57e00
-   from
-	Interpreter VMMaker-dtl.359 uuid: 3d5b8023-e045-437f-a85a-02036bc57e00
- */
-static char __buildInfo[] = "Interpreter VMMaker-dtl.359 uuid: 3d5b8023-e045-437f-a85a-02036bc57e00 " __DATE__ ;
-char *__interpBuildInfo = __buildInfo;
-
-
-
-#if 1
-# define SQ_USE_GLOBAL_STRUCT 1
-#else
-# define SQ_USE_GLOBAL_STRUCT 0
-#endif
-
-#include "sq.h"
-#include <setjmp.h>
-
-#ifndef assert
- #include <assert.h>
-#endif
-
-#ifndef allocateMemoryMinimumImageFileHeaderSize
- /* Called by Interpreter>>allocateMemory:minimum:imageFile:headerSize: */
- /* Default definition if not previously defined in config.h */
- #define allocateMemoryMinimumImageFileHeaderSize(heapSize, minimumMemory, fileStream, headerSize) \
-    sqAllocateMemory(minimumMemory, heapSize)
-#endif
-
-#ifndef sqImageFileReadEntireImage
- /* Called by Interpreter>>sqImage:read:size:length: */
- /* Default definition if not previously defined in config.h */
- #define sqImageFileReadEntireImage(memoryAddress, elementSize,  length, fileStream) \
-    sqImageFileRead(memoryAddress, elementSize,  length, fileStream)
-#endif
-
-#ifndef error
- /* error() function called from Interpreter */
- /* Default definition if not previously defined in config.h */
- #define error(str) defaultErrorProc(str)
-#endif
-
-#ifndef ioMicroSecondClock
- /* Called by Interpreter>>primitiveMicrosecondClock and GC methods */
- /* Default definition if not previously defined in config.h */
- #define ioMicroSecondClock ioMSecs
-#endif
-
-#ifndef ioUtcWithOffset
- /* Called by Interpreter>>primitiveUtcWithOffset */
- /* Default definition if not previously defined in config.h */
- #define ioUtcWithOffset(clock, offset) setMicroSecondsandOffset(clock, offset)
-#endif
-
-#include "sqMemoryAccess.h"
-
-sqInt printCallStack(void);
-void defaultErrorProc(char *s) {
-	/* Print an error message and exit. */
-	static sqInt printingStack = false;
-
-	printf("\n%s\n\n", s);
-	if (!printingStack) {
-		/* flag prevents recursive error when trying to print a broken stack */
-		printingStack = true;
-		printCallStack();
-	}
-	exit(-1);
-}
-
-/*** Constants ***/
-#define ActiveProcessIndex 1
-#define AtCacheFixedFields 4
-#define AtCacheFmt 3
-#define AtCacheMask 28
-#define AtCacheOop 1
-#define AtCacheSize 2
-#define AtCacheTotalSize 64
-#define AtPutBase 32
-#define BlockArgumentCountIndex 3
-#define Byte0Mask 0xFF
-#define Byte1Mask 0xFF00
-#define Byte1Shift 8
-#define Byte1ShiftNegated -8
-#define Byte2Mask 0xFF0000
-#define Byte3Mask 0xFF000000U
-#define Byte3Shift 24
-#define Byte3ShiftNegated -24
-#define Byte4Mask 0xFF00000000ULL
-#define Byte4Shift 32
-#define Byte4ShiftNegated -32
-#define Byte5Mask 0xFF0000000000ULL
-#define Byte5Shift 40
-#define Byte5ShiftNegated -40
-#define Byte6Mask 0xFF000000000000ULL
-#define Byte7Mask 0xFF00000000000000ULL
-#define Byte7Shift 56
-#define Byte7ShiftNegated -56
-#define Bytes3to0Mask 0xFFFFFFFFU
-#define Bytes7to4Mask 0xFFFFFFFF00000000ULL
-#define CacheProbeMax 3
-#define CallerIndex 0
-#define CharacterTable 24
-#define CharacterValueIndex 0
-#define ClassAlien 52
-#define ClassArray 7
-#define ClassBitmap 4
-#define ClassBlockClosure 36
-#define ClassBlockContext 11
-#define ClassByteArray 26
-#define ClassCharacter 19
-#define ClassExternalAddress 43
-#define ClassExternalData 45
-#define ClassExternalFunction 46
-#define ClassExternalLibrary 47
-#define ClassExternalStructure 44
-#define ClassFloat 9
-#define ClassInteger 5
-#define ClassLargeNegativeInteger 42
-#define ClassLargeNegativeIntegerCompactIndex 4
-#define ClassLargePositiveInteger 13
-#define ClassLargePositiveIntegerCompactIndex 5
-#define ClassMessage 15
-#define ClassMethodContext 10
-#define ClassPoint 12
-#define ClassSemaphore 18
-#define ClassString 6
-#define ClassUnsafeAlien 54
-#define ClassWeakFinalizer 55
-#define ClosureFirstCopiedValueIndex 3
-#define ClosureIndex 4
-#define ClosureNumArgsIndex 2
-#define ClosureOuterContextIndex 0
-#define ClosureStartPCIndex 1
-#define CompactClassMask 0x1F000
-#define CompactClasses 28
-#define ConstMinusOne -1
-#define ConstOne 3
-#define ConstTwo 5
-#define ConstZero 1
-#define ContextFixedSizePlusHeader 7
-#define CrossedX 258
-#define CtxtTempFrameStart 6
-#define DoAssertionChecks 0
-#define DoBalanceChecks 0
-#define Done 4
-#define EndOfRun 257
-#define ExcessSignalsIndex 2
-#define ExternalObjectsArray 38
-#define ExtraRootSize 2048
-#define FalseObject 1
-#define FirstLinkIndex 0
-#define GCTopMarker 3
-#define HashBits 0x1FFE0000
-#define HashBitsOffset 17
-#define HashMaskUnshifted 0xFFF
-#define HeaderIndex 0
-#define HeaderTypeClass 1
-#define HeaderTypeFree 2
-#define HeaderTypeGC 2
-#define HeaderTypeShort 3
-#define HeaderTypeSizeAndClass 0
-#define HomeIndex 5
-#define InitialIPIndex 4
-#define InstanceSpecificationIndex 2
-#define InstructionPointerIndex 1
-#define InterpreterSourceVersion "4.13.12"
-#define InvokeCallbackSelector 53
-#define LargeContextBit 0x40000
-#define LastLinkIndex 1
-#define LiteralStart 1
-#define MaxExternalPrimitiveTableSize 4096
-#define MaxJumpBuf 32
-#define MaxPrimitiveIndex 575
-#define MessageArgumentsIndex 1
-#define MessageDictionaryIndex 1
-#define MessageLookupClassIndex 2
-#define MessageSelectorIndex 0
-#define MethodArrayIndex 1
-#define MethodCacheClass 2
-#define MethodCacheEntries 512
-#define MethodCacheEntrySize 8
-#define MethodCacheMask 0xFF8
-#define MethodCacheMethod 3
-#define MethodCacheNative 5
-#define MethodCachePrim 4
-#define MethodCachePrimFunction 6
-#define MethodCacheSelector 1
-#define MethodCacheSize 4096
-#define MethodIndex 3
-#define MillisecondClockMask 0x1FFFFFFF
-#define MyListIndex 3
-#define NextLinkIndex 0
-#define NilContext 1
-#define NilObject 0
-#define PrimErrBadArgument 3
-#define PrimErrBadIndex 4
-#define PrimErrBadNumArgs 5
-#define PrimErrNoMemory 9
-#define PrimErrTableIndex 51
-#define PrimitiveExternalCallIndex 117
-#define PriorityIndex 2
-#define ProcessListsIndex 0
-#define ProcessSignalingLowSpace 22
-#define ReceiverIndex 5
-#define RootTableRedZone 2400
-#define RootTableSize 2500
-#define SchedulerAssociation 3
-#define SelectorAboutToReturn 48
-#define SelectorCannotInterpret 34
-#define SelectorCannotReturn 21
-#define SelectorDoesNotUnderstand 20
-#define SelectorMustBeBoolean 25
-#define SelectorRunWithIn 49
-#define SelectorStart 2
-#define SemaphoresToSignalSize 500
-#define SenderIndex 0
-#define SpecialSelectors 23
-#define StackPointerIndex 2
-#define StartField 1
-#define StartObj 2
-#define SuperclassIndex 0
-#define SuspendedContextIndex 1
-#define TempFrameStart 6
-#define TheDisplay 14
-#define TheFinalizationSemaphore 41
-#define TheInterruptSemaphore 30
-#define TheLowSpaceSemaphore 17
-#define TheTimerSemaphore 29
-#define TrueObject 2
-#define TypeMask 3
-#define Upward 3
-#define ValueIndex 1
-#define XIndex 0
-#define YIndex 1
-
-/*** Function Prototypes ***/
-sqInt activateNewClosureMethod(sqInt blockClosure);
-sqInt activateNewMethod(void);
-#pragma export on
-EXPORT(sqInt) addHighPriorityTickee(void *ticker, unsigned periodms);
-EXPORT(sqInt) addSynchronousTickee(void *ticker, unsigned periodms, unsigned roundms);
-EXPORT(sqInt) addGCRoot(sqInt *varLoc);
-#pragma export off
-sqInt addNewMethodToCache(void);
-sqInt addToExternalPrimitiveTable(void (*functionAddress)(void));
-sqInt addressCouldBeObj(sqInt address);
-sqInt adjustAllOopsBy(sqInt bytesToShift);
-sqInt allYoungand(sqInt array1, sqInt array2);
-sqInt allocateChunk(sqInt byteSize);
-sqInt allocateOrRecycleContext(sqInt needsLarge);
-#pragma export on
-EXPORT(sqInt) amInVMThread(void);
-#pragma export off
-sqInt argumentCountOf(sqInt methodPointer);
-void * arrayValueOf(sqInt arrayOop);
-sqInt asciiOfCharacter(sqInt characterObj);
-sqInt balancedStackafterPrimitivewithArgs(sqInt delta, sqInt primIdx, sqInt nArgs);
-sqInt beRootIfOld(sqInt oop);
-sqInt beRootWhileForwarding(sqInt oop);
-sqInt becomewith(sqInt array1, sqInt array2);
-sqInt becomewithtwoWaycopyHash(sqInt array1, sqInt array2, sqInt twoWayFlag, sqInt copyHashFlag);
-sqInt biasToGrow(void);
-sqInt booleanValueOf(sqInt obj);
-sqInt byteSizeOf(sqInt oop);
-sqInt byteSwapByteObjectsFromto(sqInt startOop, sqInt stopAddr);
-sqInt byteSwapped(sqInt w);
-sqInt callExternalPrimitive(void (*functionID)(void));
-#pragma export on
-EXPORT(sqInt) callInterpreter(void);
-EXPORT(sqInt) callbackEnter(sqInt *callbackID);
-EXPORT(sqInt) callbackLeave(sqInt cbID);
-#pragma export off
-sqInt changeClassOfto(sqInt rcvr, sqInt argClass);
-sqInt characterForAscii(sqInt ascii);
-sqInt characterTable(void);
-sqInt checkForInterrupts(void);
-sqInt checkImageVersionFromstartingAt(sqImageFile  f, squeakFileOffsetType  imageOffset);
-sqInt checkedIntegerValueOf(sqInt intOop);
-sqInt checkedLongAt(sqInt byteAddress);
-sqInt classAlien(void);
-sqInt classArray(void);
-sqInt classBitmap(void);
-sqInt classByteArray(void);
-sqInt classCharacter(void);
-sqInt classExternalAddress(void);
-sqInt classExternalData(void);
-sqInt classExternalFunction(void);
-sqInt classExternalLibrary(void);
-sqInt classExternalStructure(void);
-sqInt classFloat(void);
-sqInt classLargeNegativeInteger(void);
-sqInt classLargePositiveInteger(void);
-sqInt classNameOfIs(sqInt aClass, char *className);
-sqInt classPoint(void);
-sqInt classSemaphore(void);
-sqInt classSmallInteger(void);
-sqInt classString(void);
-sqInt classUnsafeAlien(void);
-sqInt clone(sqInt oop);
-sqInt commonAt(sqInt stringy);
-sqInt commonAtPut(sqInt stringy);
-sqInt commonVariableatcacheIndex(sqInt rcvr, sqInt index, sqInt atIx);
-sqInt compare31or32Bitsequal(sqInt obj1, sqInt obj2);
-sqInt compilerCreateActualMessagestoringArgs(sqInt aMessage, sqInt argArray);
-sqInt compilerFlushCache(sqInt aCompiledMethod);
-sqInt compilerMapFromto(sqInt memStart, sqInt memEnd);
-sqInt compilerMark(void);
-sqInt compilerPostGC(void);
-sqInt compilerPostSnapshot(void);
-sqInt compilerPreGC(sqInt fullGCFlag);
-sqInt compilerPreSnapshot(void);
-sqInt compilerProcessChange(void);
-sqInt compilerProcessChangeto(sqInt oldProc, sqInt newProc);
-sqInt compilerTranslateMethod(void);
-sqInt containOnlyOopsand(sqInt array1, sqInt array2);
-sqInt contexthasSender(sqInt thisCntx, sqInt aContext);
-sqInt copyBits(void);
-sqInt copyBitsFromtoat(sqInt x0, sqInt x1, sqInt y);
-sqInt copyObjtoSegmentaddrstopAtsaveOopAtheaderAt(sqInt oop, sqInt segmentWordArray, sqInt lastSeg, sqInt stopAddr, sqInt oopPtr, sqInt hdrPtr);
-sqInt createActualMessageTo(sqInt aClass);
-sqInt dispatchFunctionPointer(void (*aFunctionPointer)(void));
-sqInt dispatchFunctionPointerOnin(sqInt primIdx, void (*primTable[])(void));
-sqInt displayBitsOfLeftTopRightBottom(sqInt aForm, sqInt l, sqInt t, sqInt r, sqInt b);
-sqInt displayObject(void);
-sqInt doPrimitiveDivby(sqInt rcvr, sqInt arg);
-sqInt doPrimitiveModby(sqInt rcvr, sqInt arg);
-sqInt dummyReferToProxy(void);
-#pragma export on
-EXPORT(sqInt) dumpImage(char *fileName);
-#pragma export off
-sqInt executeNewMethodFromCache(void);
-#pragma export on
-EXPORT(sqInt) extraHeaderBytes(sqInt oopOrChunk);
-#pragma export off
-sqInt failed(void);
-sqInt falseObject(void);
-void * fetchArrayofObject(sqInt fieldIndex, sqInt objectPointer);
-sqInt fetchClassOf(sqInt oop);
-sqInt fetchClassOfNonInt(sqInt oop);
-double fetchFloatofObject(sqInt fieldIndex, sqInt objectPointer);
-sqInt fetchIntegerofObject(sqInt fieldIndex, sqInt objectPointer);
-sqInt fetchLong32ofObject(sqInt fieldIndex, sqInt oop);
-sqInt fetchPointerofObject(sqInt fieldIndex, sqInt oop);
-sqInt fetchStackPointerOf(sqInt aContext);
-sqInt fetchWordLengthOf(sqInt objectPointer);
-sqInt finalizeReference(usqInt oop);
-sqInt findClassOfMethodforReceiver(sqInt meth, sqInt rcvr);
-sqInt findNewMethodInClass(sqInt class);
-sqInt findSelectorOfMethodforReceiver(sqInt meth, sqInt rcvr);
-sqInt firstAccessibleObject(void);
-char * firstFixedField(sqInt oop);
-char * firstIndexableField(sqInt oop);
-double floatArg(sqInt index);
-sqInt floatObjectOf(double  aFloat);
-double floatValueOf(sqInt oop);
-sqInt flushExternalPrimitiveOf(sqInt methodPtr);
-sqInt flushExternalPrimitives(void);
-sqInt forceInterruptCheck(void);
-sqInt fullDisplayUpdate(void);
-sqInt fullGC(void);
-sqInt fwdBlockValid(sqInt addr);
-sqInt fwdTableInit(sqInt blkSize);
-sqInt fwdTableSize(sqInt blkSize);
-sqInt getCurrentBytecode(void);
-sqInt getFullScreenFlag(void);
-sqInt getInterruptCheckCounter(void);
-sqInt getInterruptKeycode(void);
-sqInt getInterruptPending(void);
-sqInt getLongFromFileswap(sqImageFile  aFile, sqInt swapFlag);
-sqInt getNextWakeupTick(void);
-sqInt getSavedWindowSize(void);
-#pragma export on
-EXPORT(sqInt) getStackPointer(void);
-#pragma export off
-sqInt getThisSessionID(void);
-sqInt growObjectMemory(usqInt delta);
-sqInt heapMapAtWord(sqInt wordPointer);
-sqInt imageSegmentVersion(void);
-sqInt incCompBody(void);
-sqInt incCompMakeFwd(void);
-sqInt incCompMove(sqInt bytesFreed);
-sqInt includesBehaviorThatOf(sqInt aClass, sqInt aSuperclass);
-sqInt incrementalGC(void);
-sqInt initCompilerHooks(void);
-sqInt initializeImageFormatVersionIfNeeded(void);
-sqInt initializeInterpreter(sqInt bytesToShift);
-sqInt initializeMemoryFirstFree(usqInt firstFree);
-sqInt initializeObjectMemory(sqInt bytesToShift);
-sqInt installinAtCacheatstring(sqInt rcvr, sqInt *cache, sqInt atIx, sqInt stringy);
-sqInt instanceSizeOf(sqInt classObj);
-sqInt instantiateClassindexableSize(sqInt classPointer, sqInt size);
-sqInt instantiateContextsizeInBytes(sqInt classPointer, sqInt sizeInBytes);
-sqInt instantiateSmallClasssizeInBytes(sqInt classPointer, sqInt sizeInBytes);
-sqInt integerArg(sqInt index);
-sqInt integerObjectOf(sqInt value);
-sqInt integerValueOf(sqInt objectPointer);
-#pragma export on
-EXPORT(sqInt) internalIsImmutable(sqInt oop);
-EXPORT(sqInt) internalIsMutable(sqInt oop);
-#pragma export off
-sqInt interpret(void);
-sqInt ioFilenamefromStringofLengthresolveAliases(char *aCharBuffer, char *aFilenameString, sqInt filenameLength, sqInt aBoolean);
-#pragma export on
-EXPORT(usqLong) ioUTCMicroseconds(void);
-#pragma export off
-sqInt isKindOf(sqInt oop, char *className);
-sqInt isKindOfClass(sqInt oop, sqInt aClass);
-sqInt isMemberOf(sqInt oop, char *className);
-sqInt isArray(sqInt oop);
-sqInt isBigEnder(void);
-sqInt isBytes(sqInt oop);
-sqInt isExcessiveAllocationRequestshift(sqInt size, sqInt bits);
-sqInt isFloatObject(sqInt oop);
-sqInt isHandlerMarked(sqInt aContext);
-sqInt isInMemory(sqInt address);
-sqInt isIndexable(sqInt oop);
-sqInt isIntegerObject(sqInt objectPointer);
-sqInt isIntegerValue(sqInt intValue);
-sqInt isNegativeIntegerValueOf(sqInt oop);
-sqInt isPointers(sqInt oop);
-sqInt isWeak(sqInt oop);
-sqInt isWords(sqInt oop);
-sqInt isWordsOrBytes(sqInt oop);
-sqInt isWordsOrBytesNonInt(sqInt oop);
-sqInt isYoung(sqInt oop);
-sqInt lastPointerOf(sqInt oop);
-sqInt lengthOf(sqInt oop);
-sqInt literalofMethod(sqInt offset, sqInt methodPointer);
-sqInt literalCountOf(sqInt methodPointer);
-sqInt literalCountOfHeader(sqInt headerPointer);
-sqInt loadBitBltFrom(sqInt bb);
-sqInt loadInitialContext(void);
-sqInt lookupInMethodCacheSelclass(sqInt selector, sqInt class);
-sqInt lookupMethodInClass(sqInt class);
-sqInt lookupMethodInDictionary(sqInt dictionary);
-sqInt lookupMethodNoMNUEtcInClass(sqInt class);
-sqInt lowestFreeAfter(sqInt chunk);
-sqInt magnitude64BitIntegerForneg(usqLong magnitude, sqInt isNegative);
-usqLong magnitude64BitValueOf(sqInt oop);
-sqInt makePointwithxValueyValue(sqInt xValue, sqInt yValue);
-sqInt mapPointersInObjectsFromto(sqInt memStart, sqInt memEnd);
-sqInt markAndTrace(sqInt oop);
-sqInt markAndTraceInterpreterOops(sqInt fullGCFlag);
-sqInt markPhase(void);
-sqInt methodArg(sqInt index);
-sqInt methodArgumentCount(void);
-sqInt methodPrimitiveIndex(void);
-sqInt methodReturnValue(sqInt oop);
-#pragma export on
-EXPORT(sqInt) moduleUnloaded(char *aModuleName);
-#pragma export off
-sqInt nilObject(void);
-sqInt nonWeakFieldsOf(sqInt oop);
-sqInt normalizeFloatOrderingInImage(void);
-sqInt noteAsRootheaderLoc(sqInt oop, sqInt headerLoc);
-sqInt nullCompilerHook(void);
-sqInt objectAfter(sqInt oop);
-sqInt objectArg(sqInt index);
-sqInt obsoleteDontUseThisFetchWordofObject(sqInt fieldIndex, sqInt oop);
-sqInt okayFields(sqInt oop);
-sqInt okayOop(sqInt signedOop);
-sqInt oopisGreaterThan(sqInt anOop, sqInt otherOop);
-sqInt oopisGreaterThanOrEqualTo(sqInt anOop, sqInt otherOop);
-sqInt oopisLessThan(sqInt anOop, sqInt otherOop);
-sqInt oopHasAcceptableClass(sqInt signedOop);
-sqInt oopHasOkayClass(sqInt signedOop);
-sqInt pop(sqInt nItems);
-sqInt popthenPush(sqInt nItems, sqInt oop);
-double popFloat(void);
-sqInt popRemappableOop(void);
-sqInt popStack(void);
-sqInt positive32BitIntegerFor(sqInt integerValue);
-sqInt positive32BitValueOf(sqInt oop);
-sqInt positive64BitIntegerFor(sqLong integerValue);
-sqLong positive64BitValueOf(sqInt oop);
-sqInt possibleRootStoreIntovalue(sqInt oop, sqInt valueObj);
-sqInt postGCAction(void);
-sqInt prepareForwardingTableForBecomingwithtwoWay(sqInt array1, sqInt array2, sqInt twoWayFlag);
-sqInt primitiveAdd(void);
-#pragma export on
-EXPORT(sqInt) primitiveAddLargeIntegers(void);
-#pragma export off
-sqInt primitiveAdoptInstance(void);
-#pragma export on
-EXPORT(sqInt) primitiveAllObjects(void);
-#pragma export off
-sqInt primitiveArctan(void);
-sqInt primitiveArrayBecome(void);
-sqInt primitiveArrayBecomeOneWay(void);
-sqInt primitiveArrayBecomeOneWayCopyHash(void);
-sqInt primitiveAsFloat(void);
-void primitiveAsOop(void);
-sqInt primitiveAt(void);
-sqInt primitiveAtPut(void);
-sqInt primitiveBeCursor(void);
-sqInt primitiveBeDisplay(void);
-sqInt primitiveBeep(void);
-sqInt primitiveBehaviorHash(void);
-sqInt primitiveBitAnd(void);
-#pragma export on
-EXPORT(sqInt) primitiveBitAndLargeIntegers(void);
-#pragma export off
-sqInt primitiveBitOr(void);
-#pragma export on
-EXPORT(sqInt) primitiveBitOrLargeIntegers(void);
-#pragma export off
-sqInt primitiveBitShift(void);
-#pragma export on
-EXPORT(sqInt) primitiveBitShiftLargeIntegers(void);
-#pragma export off

@@ Diff output truncated at 50000 characters. @@


More information about the Vm-dev mailing list