summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRaphael Kubo da Costa <rakuco@FreeBSD.org>2013-04-28 21:58:04 +0300
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-04-29 19:44:54 +0200
commit1e4242a39cc43d8f55e68cc004945b10d2aca948 (patch)
treef8052b12c581301c04c885c1d788149cad3bc51e
parent87a840080732727c3017084a3fe8eb5acd30a746 (diff)
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>
-rw-r--r--src/3rdparty/javascriptcore/JavaScriptCore/interpreter/Interpreter.cpp6
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 2164b1d0d1..187d4099b3 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);