aboutsummaryrefslogtreecommitdiffstats
path: root/qv4isel_llvm.cpp
diff options
context:
space:
mode:
authorLars Knoll <lars.knoll@digia.com>2012-10-22 00:18:31 +0200
committerLars Knoll <lars.knoll@digia.com>2012-10-24 08:46:49 +0200
commit5f06c71bc1bf146977b6a189491f73ddf8792777 (patch)
treeb4d83b72d235d0adb03db75bce910d2d1278c502 /qv4isel_llvm.cpp
parent2c62e69b8d1b49dd440f17c7de2f93be970699cb (diff)
Proper exception handling
Implement exceptions using setjmp/longjmp. The advantage is that this removes all exception handling overhead from regular code, the only code that still has a (very small) overhead is the try{} catch() {} statement. Change-Id: I43d6a60dfc9dfd4b7a20d2e99ab0a9315b4d8a2f Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Diffstat (limited to 'qv4isel_llvm.cpp')
-rw-r--r--qv4isel_llvm.cpp7
1 files changed, 0 insertions, 7 deletions
diff --git a/qv4isel_llvm.cpp b/qv4isel_llvm.cpp
index eae3bc46a3..040111f5ac 100644
--- a/qv4isel_llvm.cpp
+++ b/qv4isel_llvm.cpp
@@ -935,13 +935,6 @@ void LLVMInstructionSelection::genCallName(IR::Call *e, llvm::Value *result)
_llvmValue = llvm::UndefValue::get(_valueTy);
return;
- case IR::Name::builtin_rethrow:
- CreateCall2(_llvmModule->getFunction("__qmljs_llvm_rethrow"),
- _llvmFunction->arg_begin(), result);
- _llvmValue = CreateLoad(result);
- return;
- }
-
Q_UNREACHABLE();
} else {
llvm::Value *name = getIdentifier(*base->id);