diff options
author | Konstantin Tokarev <annulen@yandex.ru> | 2016-08-25 19:20:41 +0300 |
---|---|---|
committer | Konstantin Tokarev <annulen@yandex.ru> | 2017-02-02 12:30:55 +0000 |
commit | 6882a04fb36642862b11efe514251d32070c3d65 (patch) | |
tree | b7959826000b061fd5ccc7512035c7478742f7b0 /Source/JavaScriptCore/llint/LLIntExceptions.cpp | |
parent | ab6df191029eeeb0b0f16f127d553265659f739e (diff) | |
download | qtwebkit-6882a04fb36642862b11efe514251d32070c3d65.tar.gz |
Imported QtWebKit TP3 (git b57bc6801f1876c3220d5a4bfea33d620d477443)
Change-Id: I3b1d8a2808782c9f34d50240000e20cb38d3680f
Reviewed-by: Konstantin Tokarev <annulen@yandex.ru>
Diffstat (limited to 'Source/JavaScriptCore/llint/LLIntExceptions.cpp')
-rw-r--r-- | Source/JavaScriptCore/llint/LLIntExceptions.cpp | 49 |
1 files changed, 7 insertions, 42 deletions
diff --git a/Source/JavaScriptCore/llint/LLIntExceptions.cpp b/Source/JavaScriptCore/llint/LLIntExceptions.cpp index d88c16e7e..039936e73 100644 --- a/Source/JavaScriptCore/llint/LLIntExceptions.cpp +++ b/Source/JavaScriptCore/llint/LLIntExceptions.cpp @@ -25,74 +25,39 @@ #include "config.h" #include "LLIntExceptions.h" - -#if ENABLE(LLINT) - #include "CallFrame.h" #include "CodeBlock.h" #include "Instruction.h" -#include "JITExceptions.h" #include "LLIntCommon.h" #include "LowLevelInterpreter.h" -#include "Operations.h" +#include "JSCInlines.h" namespace JSC { namespace LLInt { -static void fixupPCforExceptionIfNeeded(ExecState* exec) -{ - CodeBlock* codeBlock = exec->codeBlock(); - ASSERT(!!codeBlock); - Instruction* pc = exec->currentVPC(); - exec->setCurrentVPC(codeBlock->adjustPCIfAtCallSite(pc)); -} - -void interpreterThrowInCaller(ExecState* exec, ReturnAddressPtr pc) -{ - VM* vm = &exec->vm(); - NativeCallFrameTracer tracer(vm, exec); -#if LLINT_SLOW_PATH_TRACING - dataLog("Throwing exception ", vm->exception, ".\n"); -#endif - fixupPCforExceptionIfNeeded(exec); - genericThrow( - vm, exec, vm->exception, - exec->codeBlock()->bytecodeOffset(exec, pc)); -} - Instruction* returnToThrowForThrownException(ExecState* exec) { UNUSED_PARAM(exec); return LLInt::exceptionInstructions(); } -static void doThrow(ExecState* exec, Instruction* pc) -{ - VM* vm = &exec->vm(); - NativeCallFrameTracer tracer(vm, exec); - fixupPCforExceptionIfNeeded(exec); - genericThrow(vm, exec, vm->exception, pc - exec->codeBlock()->instructions().begin()); -} - -Instruction* returnToThrow(ExecState* exec, Instruction* pc) +Instruction* returnToThrow(ExecState* exec) { + UNUSED_PARAM(exec); #if LLINT_SLOW_PATH_TRACING VM* vm = &exec->vm(); - dataLog("Throwing exception ", vm->exception, " (returnToThrow).\n"); + dataLog("Throwing exception ", vm->exception(), " (returnToThrow).\n"); #endif - doThrow(exec, pc); return LLInt::exceptionInstructions(); } -void* callToThrow(ExecState* exec, Instruction* pc) +void* callToThrow(ExecState* exec) { + UNUSED_PARAM(exec); #if LLINT_SLOW_PATH_TRACING VM* vm = &exec->vm(); - dataLog("Throwing exception ", vm->exception, " (callToThrow).\n"); + dataLog("Throwing exception ", vm->exception(), " (callToThrow).\n"); #endif - doThrow(exec, pc); return LLInt::getCodePtr(llint_throw_during_call_trampoline); } } } // namespace JSC::LLInt - -#endif // ENABLE(LLINT) |