aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/jsruntime/jsruntime.pri
diff options
context:
space:
mode:
authorSimon Hausmann <simon.hausmann@digia.com>2013-10-16 10:50:08 +0200
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-10-16 16:03:54 +0200
commitc1c526aafb2fc70ac6155eb775b3784f1e2e6504 (patch)
tree824bf1c301d24d51d3197f01400c55ec8b4e17ea /src/qml/jsruntime/jsruntime.pri
parentddd9c93b084c5168d7b12396450125e7a0929c28 (diff)
Speed up stack trace generation for the JIT
It turns out that in QML it is not unusual that during early binding evaluations due to the undefined order, the evaluation tries to look up properties in objects that aren't initialized yet and thus exceptions are thrown. Eeach thrown exception saves a stack trace, which is expensive to generate when using the JIT, as it does full stack unwinding. This patch implements a more light-weight approach by storing the instruction pointer in the context before leaving JIT generated code. Change-Id: I95e1cfd01179247dfc2c1df949828f474a23161b Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Diffstat (limited to 'src/qml/jsruntime/jsruntime.pri')
-rw-r--r--src/qml/jsruntime/jsruntime.pri2
1 files changed, 0 insertions, 2 deletions
diff --git a/src/qml/jsruntime/jsruntime.pri b/src/qml/jsruntime/jsruntime.pri
index 14701feeb5..e2880c0972 100644
--- a/src/qml/jsruntime/jsruntime.pri
+++ b/src/qml/jsruntime/jsruntime.pri
@@ -45,7 +45,6 @@ SOURCES += \
$$PWD/qv4include.cpp \
$$PWD/qv4qobjectwrapper.cpp \
$$PWD/qv4qmlextensions.cpp \
- $$PWD/qv4stacktrace.cpp \
$$PWD/qv4vme_moth.cpp
HEADERS += \
@@ -96,7 +95,6 @@ HEADERS += \
$$PWD/qv4include_p.h \
$$PWD/qv4qobjectwrapper_p.h \
$$PWD/qv4qmlextensions_p.h \
- $$PWD/qv4stacktrace_p.h \
$$PWD/qv4vme_moth_p.h
# Use SSE2 floating point math on 32 bit instead of the default