Speed up exception propagation
authorSimon Hausmann <simon.hausmann@digia.com>
Wed, 16 Oct 2013 12:03:48 +0000 (14:03 +0200)
committerThe Qt Project <gerrit-noreply@qt-project.org>
Wed, 16 Oct 2013 14:03:57 +0000 (16:03 +0200)
commit12c3579136b6925e75cca4f3a9b8bae2e4665db7
tree17f82a28141856af0954ffe4eff20ebc679a3265
parentc1c526aafb2fc70ac6155eb775b3784f1e2e6504
Speed up exception propagation

Avoid catch (...) with re-throw as it turns that this is very slow because it
throws a new exception and the unwinder starts from scratch. Instead use stack
allocated objects and cleaning destructors to restore state before continuing
with the propagation of exceptions.

Change-Id: I6d95026bcd60b58cb6258a9dae28623a46739532
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
src/imports/localstorage/plugin.cpp
src/qml/jsruntime/qv4context.cpp
src/qml/jsruntime/qv4context_p.h
src/qml/jsruntime/qv4engine.cpp
src/qml/jsruntime/qv4engine_cxxabi.cpp
src/qml/jsruntime/qv4engine_p.h
src/qml/jsruntime/qv4function_p.h
src/qml/jsruntime/qv4functionobject.cpp
src/qml/jsruntime/qv4globalobject.cpp
src/qml/jsruntime/qv4script.cpp