Unreviewed, rolling out r141809.
authorcommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 4 Feb 2013 22:35:23 +0000 (22:35 +0000)
committercommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 4 Feb 2013 22:35:23 +0000 (22:35 +0000)
http://trac.webkit.org/changeset/141809
https://bugs.webkit.org/show_bug.cgi?id=108860

ARC isn't supported on 32-bit. (Requested by mhahnenberg on
#webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2013-02-04

* API/tests/testapi.mm:
(+[TestObject testObject]):
(testObjectiveCAPI):
* JavaScriptCore.xcodeproj/project.pbxproj:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141815 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Source/JavaScriptCore/API/tests/testapi.mm
Source/JavaScriptCore/ChangeLog
Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj

index 074e3b773a90f2205783250f616c1a2f7bc1cacd..2c69cdfae59c973b922dd279d06e77d1f31590b9 100644 (file)
@@ -25,8 +25,8 @@
 
 #import "JavaScriptCore.h"
 
-extern "C" bool _Block_has_signature(id);
-extern "C" const char * _Block_signature(id);
+extern "C" bool _Block_has_signature(void *);
+extern "C" const char * _Block_signature(void *);
 
 extern int failed;
 extern "C" void testObjectiveCAPI(void);
@@ -69,21 +69,9 @@ JSExportAs(testArgumentTypes,
 @synthesize variable;
 @synthesize six;
 @synthesize point;
--(id)init
-{
-    self = [super init];
-    if (!self)
-        return nil;
-    NSLog(@"test object %p initialized", self);
-    return self;
-}
--(void)dealloc
-{
-    NSLog(@"test object %p deallocated", self);
-}
 + (id)testObject
 {
-    return [[TestObject alloc] init];
+    return [[[TestObject alloc] init] autorelease];
 }
 + (NSString *)classTest
 {
@@ -148,26 +136,26 @@ void testObjectiveCAPI()
     NSLog(@"Testing Objective-C API");
 
     @autoreleasepool {
-        JSContext *context = [[JSContext alloc] init];
+        JSContext *context = [[[JSContext alloc] init] autorelease];
         JSValue *result = [context evaluateScript:@"2 + 2"];
         checkResult(@"2 + 2", [result isNumber] && [result toInt32] == 4);
     }
 
     @autoreleasepool {
-        JSContext *context = [[JSContext alloc] init];
+        JSContext *context = [[[JSContext alloc] init] autorelease];
         NSString *result = [NSString stringWithFormat:@"Two plus two is %@", [context evaluateScript:@"2 + 2"]];
         checkResult(@"stringWithFormat", [result isEqual:@"Two plus two is 4"]);
     }
 
     @autoreleasepool {
-        JSContext *context = [[JSContext alloc] init];
+        JSContext *context = [[[JSContext alloc] init] autorelease];
         context[@"message"] = @"Hello";
         JSValue *result = [context evaluateScript:@"message + ', World!'"];
         checkResult(@"Hello, World!", [result isString] && [result isEqualToObject:@"Hello, World!"]);
     }
 
     @autoreleasepool {
-        JSContext *context = [[JSContext alloc] init];
+        JSContext *context = [[[JSContext alloc] init] autorelease];
         JSValue *result = [context evaluateScript:@"({ x:42 })"];
         checkResult(@"({ x:42 })", [result isObject] && [result[@"x"] isEqualToObject:@42]);
         id obj = [result toObject];
@@ -177,7 +165,7 @@ void testObjectiveCAPI()
     }
 
     @autoreleasepool {
-        JSContext *context = [[JSContext alloc] init];
+        JSContext *context = [[[JSContext alloc] init] autorelease];
         __block int result;
         context[@"blockCallback"] = ^(int value){
             result = value;
@@ -188,7 +176,7 @@ void testObjectiveCAPI()
 
     if (blockSignatureContainsClass()) {
         @autoreleasepool {
-            JSContext *context = [[JSContext alloc] init];
+            JSContext *context = [[[JSContext alloc] init] autorelease];
             __block bool result = false;
             context[@"blockCallback"] = ^(NSString *value){
                 result = [@"42" isEqualToString:value] == YES;
@@ -200,14 +188,14 @@ void testObjectiveCAPI()
         NSLog(@"Skipping 'blockCallback(NSString *)' test case");
 
     @autoreleasepool {
-        JSContext *context = [[JSContext alloc] init];
+        JSContext *context = [[[JSContext alloc] init] autorelease];
         checkResult(@"!context.exception", !context.exception);
         [context evaluateScript:@"!@#$%^&*() THIS IS NOT VALID JAVASCRIPT SYNTAX !@#$%^&*()"];
         checkResult(@"context.exception", context.exception);
     }
 
     @autoreleasepool {
-        JSContext *context = [[JSContext alloc] init];
+        JSContext *context = [[[JSContext alloc] init] autorelease];
         __block bool caught = false;
         context.exceptionHandler = ^(JSContext *context, JSValue *exception) {
             (void)context;
@@ -219,7 +207,7 @@ void testObjectiveCAPI()
     }
 
     @autoreleasepool {
-        JSContext *context = [[JSContext alloc] init];
+        JSContext *context = [[[JSContext alloc] init] autorelease];
         context[@"callback"] = ^{
             JSContext *context = [JSContext currentContext];
             context.exception = [JSValue valueWithNewErrorFromMessage:@"Something went wrong." inContext:context];
@@ -230,7 +218,7 @@ void testObjectiveCAPI()
     }
 
     @autoreleasepool {
-        JSContext *context = [[JSContext alloc] init];
+        JSContext *context = [[[JSContext alloc] init] autorelease];
         context[@"callback"] = ^{
             JSContext *context = [JSContext currentContext];
             [context evaluateScript:@"!@#$%^&*() THIS IS NOT VALID JAVASCRIPT SYNTAX !@#$%^&*()"];
@@ -241,7 +229,7 @@ void testObjectiveCAPI()
     }
 
     @autoreleasepool {
-        JSContext *context = [[JSContext alloc] init];
+        JSContext *context = [[[JSContext alloc] init] autorelease];
         [context evaluateScript:
             @"function sum(array) { \
                 var result = 0; \
@@ -256,7 +244,7 @@ void testObjectiveCAPI()
     }
 
     @autoreleasepool {
-        JSContext *context = [[JSContext alloc] init];
+        JSContext *context = [[[JSContext alloc] init] autorelease];
         JSValue *mulAddFunction = [context evaluateScript:
             @"(function(array, object) { \
                 var result = []; \
@@ -269,7 +257,7 @@ void testObjectiveCAPI()
     }
 
     @autoreleasepool {
-        JSContext *context = [[JSContext alloc] init];        
+        JSContext *context = [[[JSContext alloc] init] autorelease];        
         JSValue *array = [JSValue valueWithNewArrayInContext:context];
         checkResult(@"arrayLengthEmpty", [[array[@"length"] toNumber] unsignedIntegerValue] == 0);
         JSValue *value1 = [JSValue valueWithInt32:42 inContext:context];
@@ -297,7 +285,7 @@ void testObjectiveCAPI()
     }
 
     @autoreleasepool {
-        JSContext *context = [[JSContext alloc] init];
+        JSContext *context = [[[JSContext alloc] init] autorelease];
         JSValue *object = [JSValue valueWithNewObjectInContext:context];
 
         object[@"point"] = @{ @"x":@1, @"y":@2 };
@@ -313,7 +301,7 @@ void testObjectiveCAPI()
     }
 
     @autoreleasepool {
-        JSContext *context = [[JSContext alloc] init];
+        JSContext *context = [[[JSContext alloc] init] autorelease];
         TextXYZ *testXYZ = [[TextXYZ alloc] init];
         context[@"testXYZ"] = testXYZ;
         testXYZ.x = 3;
@@ -327,7 +315,7 @@ void testObjectiveCAPI()
     }
 
     @autoreleasepool {
-        JSContext *context = [[JSContext alloc] init];
+        JSContext *context = [[[JSContext alloc] init] autorelease];
         [context[@"Object"][@"prototype"] defineProperty:@"getterProperty" descriptor:@{
             JSPropertyDescriptorGetKey:^{
                 return [JSContext currentThis][@"x"];
@@ -339,7 +327,7 @@ void testObjectiveCAPI()
     }
 
     @autoreleasepool {
-        JSContext *context = [[JSContext alloc] init];
+        JSContext *context = [[[JSContext alloc] init] autorelease];
         context[@"concatenate"] = ^{
             NSArray *arguments = [JSContext currentArguments];
             if (![arguments count])
@@ -354,7 +342,7 @@ void testObjectiveCAPI()
     }
 
     @autoreleasepool {
-        JSContext *context = [[JSContext alloc] init];
+        JSContext *context = [[[JSContext alloc] init] autorelease];
         context[@"foo"] = @YES;
         checkResult(@"@YES is boolean", [context[@"foo"] isBoolean]);
         JSValue *result = [context evaluateScript:@"typeof foo"];
@@ -362,7 +350,7 @@ void testObjectiveCAPI()
     }
 
     @autoreleasepool {
-        JSContext *context = [[JSContext alloc] init];
+        JSContext *context = [[[JSContext alloc] init] autorelease];
         TestObject* testObject = [TestObject testObject];
         context[@"testObject"] = testObject;
         JSValue *result = [context evaluateScript:@"String(testObject)"];
@@ -370,7 +358,7 @@ void testObjectiveCAPI()
     }
 
     @autoreleasepool {
-        JSContext *context = [[JSContext alloc] init];
+        JSContext *context = [[[JSContext alloc] init] autorelease];
         TestObject* testObject = [TestObject testObject];
         context[@"testObject"] = testObject;
         JSValue *result = [context evaluateScript:@"String(testObject.__proto__)"];
@@ -378,27 +366,27 @@ void testObjectiveCAPI()
     }
 
     @autoreleasepool {
-        JSContext *context = [[JSContext alloc] init];
+        JSContext *context = [[[JSContext alloc] init] autorelease];
         context[@"TestObject"] = [TestObject class];
         JSValue *result = [context evaluateScript:@"String(TestObject)"];
         checkResult(@"String(TestObject)", [result isEqualToObject:@"[object TestObjectConstructor]"]);
     }
 
     @autoreleasepool {
-        JSContext *context = [[JSContext alloc] init];
+        JSContext *context = [[[JSContext alloc] init] autorelease];
         JSValue* value = [JSValue valueWithObject:[TestObject class] inContext:context];
         checkResult(@"[value toObject] == [TestObject class]", [value toObject] == [TestObject class]);
     }
 
     @autoreleasepool {
-        JSContext *context = [[JSContext alloc] init];
+        JSContext *context = [[[JSContext alloc] init] autorelease];
         context[@"TestObject"] = [TestObject class];
         JSValue *result = [context evaluateScript:@"TestObject.parentTest()"];
         checkResult(@"TestObject.parentTest()", [result isEqualToObject:@"TestObject"]);
     }
 
     @autoreleasepool {
-        JSContext *context = [[JSContext alloc] init];
+        JSContext *context = [[[JSContext alloc] init] autorelease];
         TestObject* testObject = [TestObject testObject];
         context[@"testObjectA"] = testObject;
         context[@"testObjectB"] = testObject;
@@ -407,7 +395,7 @@ void testObjectiveCAPI()
     }
 
     @autoreleasepool {
-        JSContext *context = [[JSContext alloc] init];
+        JSContext *context = [[[JSContext alloc] init] autorelease];
         TestObject* testObject = [TestObject testObject];
         context[@"testObject"] = testObject;
         testObject.point = (CGPoint){3,4};
@@ -417,7 +405,7 @@ void testObjectiveCAPI()
     }
 
     @autoreleasepool {
-        JSContext *context = [[JSContext alloc] init];
+        JSContext *context = [[[JSContext alloc] init] autorelease];
         TestObject* testObject = [TestObject testObject];
         testObject.six = 6;
         context[@"testObject"] = testObject;
@@ -427,7 +415,7 @@ void testObjectiveCAPI()
     }
 
     @autoreleasepool {
-        JSContext *context = [[JSContext alloc] init];
+        JSContext *context = [[[JSContext alloc] init] autorelease];
         TestObject* testObject = [TestObject testObject];
         context[@"testObject"] = testObject;
         context[@"testObject"][@"variable"] = @4;
@@ -436,21 +424,21 @@ void testObjectiveCAPI()
     }
 
     @autoreleasepool {
-        JSContext *context = [[JSContext alloc] init];
+        JSContext *context = [[[JSContext alloc] init] autorelease];
         context[@"point"] = @{ @"x":@6, @"y":@7 };
         JSValue *result = [context evaluateScript:@"point.x + ',' + point.y"];
         checkResult(@"point.x + ',' + point.y", [result isEqualToObject:@"6,7"]);
     }
 
     @autoreleasepool {
-        JSContext *context = [[JSContext alloc] init];
+        JSContext *context = [[[JSContext alloc] init] autorelease];
         context[@"point"] = @{ @"x":@6, @"y":@7 };
         JSValue *result = [context evaluateScript:@"point.x + ',' + point.y"];
         checkResult(@"point.x + ',' + point.y", [result isEqualToObject:@"6,7"]);
     }
 
     @autoreleasepool {
-        JSContext *context = [[JSContext alloc] init];
+        JSContext *context = [[[JSContext alloc] init] autorelease];
         TestObject* testObject = [TestObject testObject];
         context[@"testObject"] = testObject;
         JSValue *result = [context evaluateScript:@"testObject.getString()"];
@@ -458,7 +446,7 @@ void testObjectiveCAPI()
     }
 
     @autoreleasepool {
-        JSContext *context = [[JSContext alloc] init];
+        JSContext *context = [[[JSContext alloc] init] autorelease];
         TestObject* testObject = [TestObject testObject];
         context[@"testObject"] = testObject;
         JSValue *result = [context evaluateScript:@"testObject.testArgumentTypes(101,0.5,true,'foo',666,[false,'bar',false],{x:'baz'})"];
@@ -466,7 +454,7 @@ void testObjectiveCAPI()
     }
 
     @autoreleasepool {
-        JSContext *context = [[JSContext alloc] init];
+        JSContext *context = [[[JSContext alloc] init] autorelease];
         TestObject* testObject = [TestObject testObject];
         context[@"testObject"] = testObject;
         JSValue *result = [context evaluateScript:@"testObject.getString.call(testObject)"];
@@ -474,7 +462,7 @@ void testObjectiveCAPI()
     }
 
     @autoreleasepool {
-        JSContext *context = [[JSContext alloc] init];
+        JSContext *context = [[[JSContext alloc] init] autorelease];
         TestObject* testObject = [TestObject testObject];
         context[@"testObject"] = testObject;
         checkResult(@"testObject.getString.call({}) pre", !context.exception);
@@ -483,7 +471,7 @@ void testObjectiveCAPI()
     }
 
     @autoreleasepool {
-        JSContext *context = [[JSContext alloc] init];
+        JSContext *context = [[[JSContext alloc] init] autorelease];
         TestObject* testObject = [TestObject testObject];
         context[@"testObject"] = testObject;
         JSValue *result = [context evaluateScript:@"var result = 0; testObject.callback(function(x){ result = x; }); result"];
@@ -499,6 +487,8 @@ void testObjectiveCAPI()
         JSValue *result = [context1 evaluateScript:@"passValueBetweenContexts"];
         checkResult(@"result.context == context1", result.context == context1);
         checkResult(@"[value isEqualToObject:result]", [value isEqualToObject:result]);
+        [context1 release];
+        [context2 release];
     }
 }
 
index 247d8f4efeb6e7b54dbad130536094e79b0e792a..901f874d88a8fc29ed0180cd63d66ffb57c14192 100644 (file)
@@ -1,3 +1,17 @@
+2013-02-04  Sheriff Bot  <webkit.review.bot@gmail.com>
+
+        Unreviewed, rolling out r141809.
+        http://trac.webkit.org/changeset/141809
+        https://bugs.webkit.org/show_bug.cgi?id=108860
+
+        ARC isn't supported on 32-bit. (Requested by mhahnenberg on
+        #webkit).
+
+        * API/tests/testapi.mm:
+        (+[TestObject testObject]):
+        (testObjectiveCAPI):
+        * JavaScriptCore.xcodeproj/project.pbxproj:
+
 2013-02-04  Mark Hahnenberg  <mhahnenberg@apple.com>
 
         Objective-C API: testapi.mm should use ARC
index 401f9855c5a8de28e5c98bb13cd224f0ffbb149a..f76a7f0315d81777aad26b7135dfd52845e573bc 100644 (file)
                        isa = XCBuildConfiguration;
                        baseConfigurationReference = BC021BF2136900C300FC5467 /* ToolExecutable.xcconfig */;
                        buildSettings = {
-                               CLANG_ENABLE_OBJC_ARC = YES;
-                               GCC_ENABLE_OBJC_GC_macosx = NO;
                        };
                        name = Debug;
                };
                        isa = XCBuildConfiguration;
                        baseConfigurationReference = BC021BF2136900C300FC5467 /* ToolExecutable.xcconfig */;
                        buildSettings = {
-                               CLANG_ENABLE_OBJC_ARC = YES;
-                               GCC_ENABLE_OBJC_GC_macosx = NO;
                        };
                        name = Release;
                };
                        isa = XCBuildConfiguration;
                        baseConfigurationReference = BC021BF2136900C300FC5467 /* ToolExecutable.xcconfig */;
                        buildSettings = {
-                               CLANG_ENABLE_OBJC_ARC = YES;
-                               GCC_ENABLE_OBJC_GC_macosx = NO;
                        };
                        name = Production;
                };
                        isa = XCBuildConfiguration;
                        baseConfigurationReference = BC021BF2136900C300FC5467 /* ToolExecutable.xcconfig */;
                        buildSettings = {
-                               CLANG_ENABLE_OBJC_ARC = YES;
-                               GCC_ENABLE_OBJC_GC_macosx = NO;
                        };
                        name = Profiling;
                };