summaryrefslogtreecommitdiff
path: root/Source/JavaScriptCore/llint/LLIntExceptions.cpp
diff options
context:
space:
mode:
authorKonstantin Tokarev <annulen@yandex.ru>2016-08-25 19:20:41 +0300
committerKonstantin Tokarev <annulen@yandex.ru>2017-02-02 12:30:55 +0000
commit6882a04fb36642862b11efe514251d32070c3d65 (patch)
treeb7959826000b061fd5ccc7512035c7478742f7b0 /Source/JavaScriptCore/llint/LLIntExceptions.cpp
parentab6df191029eeeb0b0f16f127d553265659f739e (diff)
downloadqtwebkit-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.cpp49
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)