From b1e9e47fa11f608ae16bc07f97a2acf95bf80272 Mon Sep 17 00:00:00 2001 From: Simon Hausmann Date: Fri, 1 Jun 2012 10:36:58 +0200 Subject: Imported WebKit commit 499c84c99aa98e9870fa7eaa57db476c6d160d46 (http://svn.webkit.org/repository/webkit/trunk@119200) Weekly update :). Particularly relevant changes for Qt are the use of the WebCore image decoders and direct usage of libpng/libjpeg if available in the system. --- Source/JavaScriptCore/llint/LLIntSlowPaths.cpp | 12 ++++++++++-- Source/JavaScriptCore/llint/LowLevelInterpreter32_64.asm | 8 ++++---- 2 files changed, 14 insertions(+), 6 deletions(-) (limited to 'Source/JavaScriptCore/llint') diff --git a/Source/JavaScriptCore/llint/LLIntSlowPaths.cpp b/Source/JavaScriptCore/llint/LLIntSlowPaths.cpp index 5cba5ea70..b13e84b53 100644 --- a/Source/JavaScriptCore/llint/LLIntSlowPaths.cpp +++ b/Source/JavaScriptCore/llint/LLIntSlowPaths.cpp @@ -53,8 +53,16 @@ namespace JSC { namespace LLInt { JSGlobalData& globalData = exec->globalData(); \ NativeCallFrameTracer tracer(&globalData, exec) -#define LLINT_SET_PC_FOR_STUBS() \ - exec->setCurrentVPC(pc + 1) +#ifndef NDEBUG +#define LLINT_SET_PC_FOR_STUBS() do { \ + exec->codeBlock()->bytecodeOffset(pc); \ + exec->setCurrentVPC(pc + 1); \ + } while (false) +#else +#define LLINT_SET_PC_FOR_STUBS() do { \ + exec->setCurrentVPC(pc + 1); \ + } while (false) +#endif #define LLINT_BEGIN() \ LLINT_BEGIN_NO_SET_PC(); \ diff --git a/Source/JavaScriptCore/llint/LowLevelInterpreter32_64.asm b/Source/JavaScriptCore/llint/LowLevelInterpreter32_64.asm index dd5ab674a..95b26d42f 100644 --- a/Source/JavaScriptCore/llint/LowLevelInterpreter32_64.asm +++ b/Source/JavaScriptCore/llint/LowLevelInterpreter32_64.asm @@ -1668,8 +1668,8 @@ macro nativeCallTrampoline(executableOffsetToFunction) storei CellTag, ScopeChain + TagOffset[cfr] storei t1, ScopeChain + PayloadOffset[cfr] if X86 - loadp JITStackFrame::globalData + 4[sp], t0 # Additional offset for return address - storep cfr, JSGlobalData::topCallFrame[t0] + loadp JITStackFrame::globalData + 4[sp], t3 # Additional offset for return address + storep cfr, JSGlobalData::topCallFrame[t3] peek 0, t1 storep t1, ReturnPC[cfr] move cfr, t2 # t2 = ecx @@ -1681,8 +1681,8 @@ macro nativeCallTrampoline(executableOffsetToFunction) addp 16 - 4, sp loadp JITStackFrame::globalData + 4[sp], t3 elsif ARMv7 - loadp JITStackFrame::globalData[sp], t1 - storep cfr, JSGlobalData::topCallFrame[t1] + loadp JITStackFrame::globalData[sp], t3 + storep cfr, JSGlobalData::topCallFrame[t3] move t0, t2 preserveReturnAddressAfterCall(t3) storep t3, ReturnPC[cfr] -- cgit v1.2.1