[SCM] WebKit Debian packaging branch, debian/experimental, updated. upstream/1.3.3-10851-g50815da

cwzwarich at webkit.org cwzwarich at webkit.org
Wed Dec 22 18:36:34 UTC 2010


The following commit has been merged in the debian/experimental branch:
commit 252f6f8650f7ebae88c034d51fdb781783624d1a
Author: cwzwarich at webkit.org <cwzwarich at webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Tue Dec 14 16:57:14 2010 +0000

    Reviewed by Eric Seidel.
    
    Clang fails to build the JSC interpreter
    https://bugs.webkit.org/show_bug.cgi?id=51016
    
    Clang does not allow indirect gotos out of scopes with cleanup. GCC 4.2 allows
    them, but it does not correctly generate the cleanup, causing a leak if the
    cleanup decrements a reference count.
    
    * interpreter/Interpreter.cpp:
    (JSC::Interpreter::privateExecute): Put an Identifier into its own scope.
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@74029 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/JavaScriptCore/ChangeLog b/JavaScriptCore/ChangeLog
index 6bd715f..619f809 100644
--- a/JavaScriptCore/ChangeLog
+++ b/JavaScriptCore/ChangeLog
@@ -1,3 +1,17 @@
+2010-12-13  Cameron Zwarich  <zwarich at apple.com>
+
+        Reviewed by Eric Seidel.
+
+        Clang fails to build the JSC interpreter
+        https://bugs.webkit.org/show_bug.cgi?id=51016
+
+        Clang does not allow indirect gotos out of scopes with cleanup. GCC 4.2 allows
+        them, but it does not correctly generate the cleanup, causing a leak if the
+        cleanup decrements a reference count.
+
+        * interpreter/Interpreter.cpp:
+        (JSC::Interpreter::privateExecute): Put an Identifier into its own scope.
+
 2010-12-14  Carlos Garcia Campos  <cgarcia at igalia.com>
 
         Reviewed by Martin Robinson.
diff --git a/JavaScriptCore/interpreter/Interpreter.cpp b/JavaScriptCore/interpreter/Interpreter.cpp
index febdb71..57c068a 100644
--- a/JavaScriptCore/interpreter/Interpreter.cpp
+++ b/JavaScriptCore/interpreter/Interpreter.cpp
@@ -3196,8 +3196,10 @@ skip_id_custom_self:
             vPC += OPCODE_LENGTH(op_get_by_pname);
             NEXT_INSTRUCTION();
         }
-        Identifier propertyName(callFrame, subscript.toString(callFrame));
-        result = baseValue.get(callFrame, propertyName);
+        {
+            Identifier propertyName(callFrame, subscript.toString(callFrame));
+            result = baseValue.get(callFrame, propertyName);
+        }
         CHECK_FOR_EXCEPTION();
         callFrame->uncheckedR(dst) = result;
         vPC += OPCODE_LENGTH(op_get_by_pname);
diff --git a/JavaScriptCore/wtf/Platform.h b/JavaScriptCore/wtf/Platform.h
index 87a12cc..7abb41d 100644
--- a/JavaScriptCore/wtf/Platform.h
+++ b/JavaScriptCore/wtf/Platform.h
@@ -973,7 +973,7 @@
     && (CPU(X86) || CPU(X86_64) || CPU(ARM) || CPU(MIPS)) \
     && (OS(DARWIN) || !COMPILER(GCC) || GCC_VERSION_AT_LEAST(4,1,0)) \
     && !OS(WINCE)
-#define ENABLE_JIT 1
+#define ENABLE_JIT 0
 #endif
 
 /* Ensure that either the JIT or the interpreter has been enabled. */

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list