Revision: 3476 Author: johnmci Date: 2015-10-19 16:15:48 -0700 (Mon, 19 Oct 2015) Log Message: ----------- JMM - ensure SqueakCogSpur32x86 will build, start work on leaks under 32bit non-arc systems
Modified Paths: -------------- branches/Cog/build.macos32x86/squeak.cog.spur/SqueakCogSpur32x86.plist branches/Cog/build.macos32x86/squeak.cog.spur/SqueakCogSpur32x86.xcodeproj/project.pbxproj branches/Cog/build.macos32x86/squeak.cog.spur/SqueakCogSpur32x86.xcodeproj/xcuserdata/johnmci.xcuserdatad/xcschemes/SqueakCogSpur32x86.xcscheme branches/Cog/build.macos32x86/squeak.cog.spur/SqueakCogSpur32x86.xcworkspace/xcuserdata/johnmci.xcuserdatad/UserInterfaceState.xcuserstate branches/Cog/platforms/iOS/vm/Common/Classes/sqSqueakFileDirectoryAPI.m branches/Cog/platforms/iOS/vm/Common/Classes/sqSqueakFileDirectoryInterface.m branches/Cog/platforms/iOS/vm/OSX/sqMacUnixExternalPrims.m branches/Cog/platforms/iOS/vm/OSX/sqSqueakOSXApplication+cursor.m branches/Cog/platforms/iOS/vm/SqueakPureObjc_Prefix.pch
Modified: branches/Cog/build.macos32x86/squeak.cog.spur/SqueakCogSpur32x86.plist =================================================================== --- branches/Cog/build.macos32x86/squeak.cog.spur/SqueakCogSpur32x86.plist 2015-10-16 17:59:15 UTC (rev 3475) +++ branches/Cog/build.macos32x86/squeak.cog.spur/SqueakCogSpur32x86.plist 2015-10-19 23:15:48 UTC (rev 3476) @@ -380,7 +380,7 @@ <key>CFBundleExecutable</key> <string>Squeak</string> <key>CFBundleGetInfoString</key> - <string>Squeak Stack 5.0.0 http://www.mirandabanda.org</string> + <string>Squeak Cog Spur http://www.mirandabanda.org</string> <key>CFBundleIdentifier</key> <string>org.squeak.osx6464.cog</string> <key>CFBundleInfoDictionaryVersion</key>
Modified: branches/Cog/build.macos32x86/squeak.cog.spur/SqueakCogSpur32x86.xcodeproj/project.pbxproj =================================================================== --- branches/Cog/build.macos32x86/squeak.cog.spur/SqueakCogSpur32x86.xcodeproj/project.pbxproj 2015-10-16 17:59:15 UTC (rev 3475) +++ branches/Cog/build.macos32x86/squeak.cog.spur/SqueakCogSpur32x86.xcodeproj/project.pbxproj 2015-10-19 23:15:48 UTC (rev 3476) @@ -11,6 +11,7 @@ 9402DD7010CE0E91005C2102 /* SqViewClut.m in Sources */ = {isa = PBXBuildFile; fileRef = 9402DD6F10CE0E91005C2102 /* SqViewClut.m */; }; 9422C3B51AFFFAC500448DC0 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = 9422C3B31AFFFAC500448DC0 /* Localizable.strings */; }; 943B9CA11235C5120056205E /* sqMacHostWindow.m in Sources */ = {isa = PBXBuildFile; fileRef = 943B9C9E1235C5120056205E /* sqMacHostWindow.m */; }; + 944154941BD595710062FCDE /* sqMacUnixExternalPrims.m in Sources */ = {isa = PBXBuildFile; fileRef = 946DA9FF10C0D35500F26F56 /* sqMacUnixExternalPrims.m */; settings = {ASSET_TAGS = (); }; }; 94502E951BB609AC00EA8942 /* sqUnixSpurMemory.c in Sources */ = {isa = PBXBuildFile; fileRef = 94502E941BB609AC00EA8942 /* sqUnixSpurMemory.c */; settings = {ASSET_TAGS = (); }; }; 94502E971BB71A9200EA8942 /* sqSqueakMainApplication+imageReadWrite.m in Sources */ = {isa = PBXBuildFile; fileRef = 94A0E8840DE5EF430071C8B9 /* sqSqueakMainApplication+imageReadWrite.m */; settings = {ASSET_TAGS = (); }; }; 94584FDB10F02378001401E7 /* sqMacExtendedClipboard.m in Sources */ = {isa = PBXBuildFile; fileRef = 94584FD910F02378001401E7 /* sqMacExtendedClipboard.m */; }; @@ -149,7 +150,6 @@ 9487749710C64DD800E4AEC5 /* sqSqueakOSXApplication+clipboard.m in Sources */ = {isa = PBXBuildFile; fileRef = 9428BB0510BB478600DAD287 /* sqSqueakOSXApplication+clipboard.m */; }; 9487749810C64DD800E4AEC5 /* sqSqueakOSXSoundCoreAudio.m in Sources */ = {isa = PBXBuildFile; fileRef = 94C4B82F10C06F8800CD4F90 /* sqSqueakOSXSoundCoreAudio.m */; }; 9487749A10C64DD800E4AEC5 /* sqSqueakOSXDropAPI.m in Sources */ = {isa = PBXBuildFile; fileRef = 946DA91410C0C71100F26F56 /* sqSqueakOSXDropAPI.m */; }; - 9487749B10C64DD800E4AEC5 /* sqMacUnixExternalPrims.m in Sources */ = {isa = PBXBuildFile; fileRef = 946DA9FF10C0D35500F26F56 /* sqMacUnixExternalPrims.m */; }; 9487749D10C64DD800E4AEC5 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 947E61C210AA03C300D3B69E /* Cocoa.framework */; }; 9487749E10C64DD800E4AEC5 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1D30AB110D05D00D00671497 /* Foundation.framework */; }; 9487749F10C64DD800E4AEC5 /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 945550000DF1BC6A00FB176B /* AudioToolbox.framework */; }; @@ -1757,6 +1757,7 @@ 9463C1C41AEE14DF009C5CE5 /* DropPlugin.c in Sources */, 94BB09781BB480AC0016BFDF /* HostWindowPlugin.c in Sources */, 94C3176A1AD49B020096E59D /* sqUnixJoystickTablet.c in Sources */, + 944154941BD595710062FCDE /* sqMacUnixExternalPrims.m in Sources */, 9487748C10C64DD800E4AEC5 /* sqSqueakOSXApplication+imageReadWrite.m in Sources */, 94502E971BB71A9200EA8942 /* sqSqueakMainApplication+imageReadWrite.m in Sources */, 94FA4CD61BB4D43900C1BE8F /* b3dDraw.c in Sources */, @@ -1780,7 +1781,6 @@ 94FA4CD51BB4D43900C1BE8F /* b3dAlloc.c 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 */,
Modified: branches/Cog/build.macos32x86/squeak.cog.spur/SqueakCogSpur32x86.xcodeproj/xcuserdata/johnmci.xcuserdatad/xcschemes/SqueakCogSpur32x86.xcscheme =================================================================== --- branches/Cog/build.macos32x86/squeak.cog.spur/SqueakCogSpur32x86.xcodeproj/xcuserdata/johnmci.xcuserdatad/xcschemes/SqueakCogSpur32x86.xcscheme 2015-10-16 17:59:15 UTC (rev 3475) +++ branches/Cog/build.macos32x86/squeak.cog.spur/SqueakCogSpur32x86.xcodeproj/xcuserdata/johnmci.xcuserdatad/xcschemes/SqueakCogSpur32x86.xcscheme 2015-10-19 23:15:48 UTC (rev 3476) @@ -64,6 +64,11 @@ </BuildableReference> </BuildableProductRunnable> <AdditionalOptions> + <AdditionalOption + key = "NSZombieEnabled" + value = "YES" + isEnabled = "YES"> + </AdditionalOption> </AdditionalOptions> </LaunchAction> <ProfileAction @@ -80,8 +85,8 @@ BuildableIdentifier = "primary" BlueprintIdentifier = "948773F910C64DD800E4AEC5" BuildableName = "Squeak.app" - BlueprintName = "SqueakPureObjc64x64" - ReferencedContainer = "container:SqueakPureObjc.xcodeproj"> + BlueprintName = "SqueakCogSpur32x86" + ReferencedContainer = "container:SqueakCogSpur32x86.xcodeproj"> </BuildableReference> </BuildableProductRunnable> </ProfileAction>
Modified: branches/Cog/build.macos32x86/squeak.cog.spur/SqueakCogSpur32x86.xcworkspace/xcuserdata/johnmci.xcuserdatad/UserInterfaceState.xcuserstate =================================================================== (Binary files differ)
Modified: branches/Cog/platforms/iOS/vm/Common/Classes/sqSqueakFileDirectoryAPI.m =================================================================== --- branches/Cog/platforms/iOS/vm/Common/Classes/sqSqueakFileDirectoryAPI.m 2015-10-16 17:59:15 UTC (rev 3475) +++ branches/Cog/platforms/iOS/vm/Common/Classes/sqSqueakFileDirectoryAPI.m 2015-10-19 23:15:48 UTC (rev 3476) @@ -86,13 +86,25 @@ /* outputs */ char *name, sqInt *nameLength, sqInt *creationDate, sqInt *modificationDate, sqInt *isDirectory, squeakFileOffsetType *sizeIfFile, sqInt *posixPermissions, sqInt *isSymlink); +#if !defined(PharoVM) +# define PharoVM 0 +#endif
+#if PharoVM sqInt dir_Lookup(char *pathString, sqInt pathStringLength, sqInt index, -/* outputs: */ char *name, sqInt *nameLength, sqInt *creationDate, sqInt *modificationDate, - sqInt *isDirectory, squeakFileOffsetType *sizeIfFile) { - sqInt posixPermissions; - sqInt isSymlink; - sqInt status = dir_Lookup2(pathString, pathStringLength, index, name, nameLength, creationDate, modificationDate, isDirectory, sizeIfFile,&posixPermissions,&isSymlink); + /* outputs: */ + char *name, sqInt *nameLength, sqInt *creationDate, sqInt *modificationDate, + sqInt *isDirectory, squeakFileOffsetType *sizeIfFile, sqInt *posixPermissionsVar, sqInt *isSymlinkVar) +#else +sqInt dir_Lookup(char *pathString, sqInt pathStringLength, sqInt index, + /* outputs: */ + char *name, sqInt *nameLength, sqInt *creationDate, sqInt *modificationDate, + sqInt *isDirectory, squeakFileOffsetType *sizeIfFile) +#define posixPermissionsVar nil +#define isSymlinkVar nil +#endif +{ + sqInt status = dir_Lookup2(pathString, pathStringLength, index, name, nameLength, creationDate, modificationDate, isDirectory, sizeIfFile,posixPermissionsVar,isSymlinkVar); return status; }
@@ -129,13 +141,19 @@ return status; }
+#if PharoVM sqInt dir_EntryLookup(char *pathString, sqInt pathStringLength, char* nameString, sqInt nameStringLength, -/* outputs: */ char *name, sqInt *nameLength, sqInt *creationDate, sqInt *modificationDate, - sqInt *isDirectory, squeakFileOffsetType *sizeIfFile, sqInt *posixPermissions, sqInt *isSymlink) + /* outputs: */ + char *name, sqInt *nameLength, sqInt *creationDate, sqInt *modificationDate, + sqInt *isDirectory, squeakFileOffsetType *sizeIfFile, sqInt *posixPermissionsVar, sqInt *isSymlinkVar) +#else +sqInt dir_EntryLookup(char *pathString, sqInt pathStringLength, char* nameString, sqInt nameStringLength, + /* outputs: */ + char *name, sqInt *nameLength, sqInt *creationDate, sqInt *modificationDate, + sqInt *isDirectory, squeakFileOffsetType *sizeIfFile) +#endif { -#if !defined(PharoVM) -# define PharoVM 0 -#endif + /*Implementation notes if pathStringLength = 0 then we use the current working directory if pathStringLength > 0 then we resolve the pathString and alias */ @@ -151,8 +169,8 @@ modificationDate: modificationDate isDirectory: isDirectory sizeIfFile: sizeIfFile - posixPermissions: (PharoVM ? posixPermissions : 0) - isSymlink: (PharoVM ? isSymlink : 0)]; + posixPermissions: (PharoVM ? posixPermissionsVar : nil) + isSymlink: (PharoVM ? isSymlinkVar : nil)]; return status; }
@@ -175,16 +193,20 @@ sqInt filenameLength, sqInt resolveAlias) { NSString * filePath = [[NSString alloc] initWithBytes: aFilenameString length: (NSUInteger) filenameLength encoding: NSUTF8StringEncoding]; if (!filePath) { + [filePath RELEASEOBJ]; return NULL; } + NSString *oldFilePath = filePath; if (resolveAlias) { filePath = [gDelegateApp.squeakApplication.fileDirectoryLogic resolvedAliasFiles: filePath]; + [oldFilePath RELEASEOBJ]; } else { NSString *owningDirectoryPath = [filePath stringByDeletingLastPathComponent]; NSString *newFilePath = [gDelegateApp.squeakApplication.fileDirectoryLogic resolvedAliasFiles: owningDirectoryPath]; filePath = [newFilePath stringByAppendingPathComponent: [filePath lastPathComponent]]; } + [oldFilePath RELEASEOBJ]; return filePath; }
Modified: branches/Cog/platforms/iOS/vm/Common/Classes/sqSqueakFileDirectoryInterface.m =================================================================== --- branches/Cog/platforms/iOS/vm/Common/Classes/sqSqueakFileDirectoryInterface.m 2015-10-16 17:59:15 UTC (rev 3475) +++ branches/Cog/platforms/iOS/vm/Common/Classes/sqSqueakFileDirectoryInterface.m 2015-10-19 23:15:48 UTC (rev 3476) @@ -133,8 +133,8 @@ if (nameStringLength <= 0 || pathStringLength <= 0) return BAD_PATH;
- directoryPath = [[NSString alloc] initWithBytes: pathString length: (NSUInteger) pathStringLength encoding: NSUTF8StringEncoding]; - fileName = [[NSString alloc] initWithBytes: nameString length: (NSUInteger) nameStringLength encoding: NSUTF8StringEncoding]; + directoryPath = [[[NSString alloc] initWithBytes: pathString length: (NSUInteger) pathStringLength encoding: NSUTF8StringEncoding] AUTORELEASEOBJ]; + fileName = [[[NSString alloc] initWithBytes: nameString length: (NSUInteger) nameStringLength encoding: NSUTF8StringEncoding] AUTORELEASEOBJ]; if (![directoryPath hasSuffix: @"/"]) { directoryPath = [directoryPath stringByAppendingString: @"/"]; @@ -190,7 +190,7 @@ } if (pathStringLength > 0) { - directoryPath = [[NSString alloc] initWithBytes: pathString length: (NSUInteger) pathStringLength encoding: NSUTF8StringEncoding]; + directoryPath = [[[NSString alloc] initWithBytes: pathString length: (NSUInteger) pathStringLength encoding: NSUTF8StringEncoding] AUTORELEASEOBJ]; } if (directoryPath == NULL) { return BAD_PATH;
Modified: branches/Cog/platforms/iOS/vm/OSX/sqMacUnixExternalPrims.m =================================================================== --- branches/Cog/platforms/iOS/vm/OSX/sqMacUnixExternalPrims.m 2015-10-16 17:59:15 UTC (rev 3475) +++ branches/Cog/platforms/iOS/vm/OSX/sqMacUnixExternalPrims.m 2015-10-19 23:15:48 UTC (rev 3476) @@ -208,7 +208,7 @@ OSErr err = FSFindFolder(kSystemDomain, kFrameworksFolderType, false, &frameworksFolderRef); #pragma unused(err) NSURL *myURLRef = (NSURL *) CFBridgingRelease(CFURLCreateFromFSRef(kCFAllocatorDefault, &frameworksFolderRef)); - systemFolder = [myURLRef path]; + systemFolder = [[myURLRef path] RETAINOBJ]; } pluginNameLength = strlen(pluginName);
Modified: branches/Cog/platforms/iOS/vm/OSX/sqSqueakOSXApplication+cursor.m =================================================================== --- branches/Cog/platforms/iOS/vm/OSX/sqSqueakOSXApplication+cursor.m 2015-10-16 17:59:15 UTC (rev 3475) +++ branches/Cog/platforms/iOS/vm/OSX/sqSqueakOSXApplication+cursor.m 2015-10-19 23:15:48 UTC (rev 3476) @@ -62,13 +62,13 @@ return; @autoreleasepool { - NSBitmapImageRep *bitmap= [[NSBitmapImageRep alloc] + NSBitmapImageRep *bitmap= [[[NSBitmapImageRep alloc] initWithBitmapDataPlanes: NULL pixelsWide: 16 pixelsHigh: 16 bitsPerSample: 1 samplesPerPixel: 2 hasAlpha: YES isPlanar: YES colorSpaceName: NSCalibratedBlackColorSpace bytesPerRow: 2 - bitsPerPixel: 0]; + bitsPerPixel: 0] AUTORELEASEOBJ];
unsigned char* planes[5]; [bitmap getBitmapDataPlanes:planes]; @@ -93,7 +93,7 @@ mask[i*2 + 1]= (word >> 16) & 0xFF; }
- NSImage *image = [[NSImage alloc] init]; + NSImage *image = [[[NSImage alloc] init] AUTORELEASEOBJ]; [image addRepresentation: bitmap]; @@ -125,13 +125,13 @@ @autoreleasepool { - NSBitmapImageRep *bitmap= [[NSBitmapImageRep alloc] + NSBitmapImageRep *bitmap= [[[NSBitmapImageRep alloc] initWithBitmapDataPlanes: NULL pixelsWide: extentX pixelsHigh: extentY bitsPerSample: 8 samplesPerPixel: 4 hasAlpha: YES isPlanar: NO colorSpaceName: NSCalibratedRGBColorSpace bytesPerRow: extentX * 4 - bitsPerPixel: 0]; + bitsPerPixel: 0] AUTORELEASEOBJ]; unsigned int *planes[5]; [bitmap getBitmapDataPlanes: (unsigned char **) planes]; unsigned int *src= (unsigned int*) pointerForOop(cursorBitsIndex); @@ -144,7 +144,7 @@ *dst= (*src & 0xFF00FF00) | ((*src & 0x000000FF) << 16) | ((*src & 0x00FF0000) >> 16); // BGRA to RGBA #endif } - NSImage *image= [[NSImage alloc] init]; + NSImage *image= [[[NSImage alloc] init] AUTORELEASEOBJ]; [image addRepresentation: bitmap]; NSPoint hotSpot= { -offsetX, -offsetY }; self.squeakHasCursor = YES;
Modified: branches/Cog/platforms/iOS/vm/SqueakPureObjc_Prefix.pch =================================================================== --- branches/Cog/platforms/iOS/vm/SqueakPureObjc_Prefix.pch 2015-10-16 17:59:15 UTC (rev 3475) +++ branches/Cog/platforms/iOS/vm/SqueakPureObjc_Prefix.pch 2015-10-19 23:15:48 UTC (rev 3476) @@ -5,3 +5,14 @@ #ifdef __OBJC__ #import <Cocoa/Cocoa.h> #endif + +#if __has_feature(objc_arc) +#define RELEASEOBJ +#define RETAINOBJ +#define AUTORELEASEOBJ +#else +#define RELEASEOBJ release +#define RETAINOBJ retain +#define AUTORELEASEOBJ autorelease + +#endif \ No newline at end of file
vm-dev@lists.squeakfoundation.org