diff options
author | Raphael Kubo da Costa <rakuco@FreeBSD.org> | 2013-04-28 18:58:04 (GMT) |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-04-29 17:44:54 (GMT) |
commit | 1e4242a39cc43d8f55e68cc004945b10d2aca948 (patch) | |
tree | f8052b12c581301c04c885c1d788149cad3bc51e /src/3rdparty | |
parent | 87a840080732727c3017084a3fe8eb5acd30a746 (diff) | |
download | Qt-1e4242a39cc43d8f55e68cc004945b10d2aca948.zip Qt-1e4242a39cc43d8f55e68cc004945b10d2aca948.tar.gz Qt-1e4242a39cc43d8f55e68cc004945b10d2aca948.tar.bz2 |
Bring in WebKit r74029 to fix the build with clang.
------------------------------------------------------------------------
r74029 | cwzwarich@webkit.org | 2010-12-14 18:57:14 +0200 (Tue, 14 Dec 2010) | 12 lines
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.
------------------------------------------------------------------------
Cherry-picked from qtscript/c85662167123b433a69a662212c67ce03e44a25a.
Change-Id: I21ee882961264d131cebdee04cb641c0d0de3d18
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Diffstat (limited to 'src/3rdparty')
-rw-r--r-- | src/3rdparty/javascriptcore/JavaScriptCore/interpreter/Interpreter.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/interpreter/Interpreter.cpp b/src/3rdparty/javascriptcore/JavaScriptCore/interpreter/Interpreter.cpp index 2164b1d..187d409 100644 --- a/src/3rdparty/javascriptcore/JavaScriptCore/interpreter/Interpreter.cpp +++ b/src/3rdparty/javascriptcore/JavaScriptCore/interpreter/Interpreter.cpp @@ -2493,8 +2493,10 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi 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->r(dst) = result; vPC += OPCODE_LENGTH(op_get_by_pname); |