aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/jit
diff options
context:
space:
mode:
authorUlf Hermann <ulf.hermann@qt.io>2023-06-23 13:19:08 +0200
committerUlf Hermann <ulf.hermann@qt.io>2023-06-23 20:49:47 +0200
commit14c5f4a1f42840bbde64e6db349002ed6cf24224 (patch)
tree930c52e2b9d5d4f425b7274ec279f8aa8e19d769 /src/qml/jit
parent779f6cf08c1bcb9d54a4e75c81a63689edab2df4 (diff)
JIT: STORE_IP() before lookups
Lookups can throw exceptions and we want those reported with correct line numbers. Pick-to: 6.6 Fixes: QTBUG-114483 Change-Id: Ie922df8a4207bd8b3746f0f3a256f6fcac0b43d6 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Diffstat (limited to 'src/qml/jit')
-rw-r--r--src/qml/jit/qv4baselinejit.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/qml/jit/qv4baselinejit.cpp b/src/qml/jit/qv4baselinejit.cpp
index 1d65169dce..d2895e8bf2 100644
--- a/src/qml/jit/qv4baselinejit.cpp
+++ b/src/qml/jit/qv4baselinejit.cpp
@@ -173,6 +173,7 @@ void BaselineJIT::generate_LoadName(int name)
void BaselineJIT::generate_LoadGlobalLookup(int index)
{
+ STORE_IP();
as->prepareCallWithArgCount(3);
as->passInt32AsArg(index, 2);
as->passFunctionAsArg(1);
@@ -182,6 +183,7 @@ void BaselineJIT::generate_LoadGlobalLookup(int index)
void BaselineJIT::generate_LoadQmlContextPropertyLookup(int index)
{
+ STORE_IP();
as->prepareCallWithArgCount(2);
as->passInt32AsArg(index, 1);
as->passEngineAsArg(0);