parent
2319b24d24
commit
1283a36926
@ -1,44 +0,0 @@
|
|||||||
From e2bdde18d9758efdc6a0d7d106aad56995df1271 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Ulf Hermann <ulf.hermann@qt.io>
|
|
||||||
Date: Wed, 15 Mar 2023 08:59:43 +0100
|
|
||||||
Subject: [PATCH] JIT: Add missing {STORE|LOAD}_ACC() to CreateCallContext
|
|
||||||
|
|
||||||
We cannot assume anything about the accumulator register after calling
|
|
||||||
PushCallContext::call(). Also add a note about not needing to re-load
|
|
||||||
the accumulator on ThrowException.
|
|
||||||
|
|
||||||
Pick-to: 6.5 6.2 5.15
|
|
||||||
Fixes: QTBUG-111935
|
|
||||||
Change-Id: I7196585e1d2697c215f4fe87d8d7ac9b98b622a3
|
|
||||||
---
|
|
||||||
src/qml/jit/qv4baselinejit.cpp | 4 ++++
|
|
||||||
1 file changed, 4 insertions(+)
|
|
||||||
|
|
||||||
diff --git a/src/qml/jit/qv4baselinejit.cpp b/src/qml/jit/qv4baselinejit.cpp
|
|
||||||
index 14e183adb8..1d65169dce 100644
|
|
||||||
--- a/src/qml/jit/qv4baselinejit.cpp
|
|
||||||
+++ b/src/qml/jit/qv4baselinejit.cpp
|
|
||||||
@@ -506,6 +506,8 @@ void BaselineJIT::generate_ThrowException()
|
|
||||||
as->passEngineAsArg(0);
|
|
||||||
BASELINEJIT_GENERATE_RUNTIME_CALL(ThrowException, CallResultDestination::Ignore);
|
|
||||||
as->gotoCatchException();
|
|
||||||
+
|
|
||||||
+ // LOAD_ACC(); <- not needed here since it would be unreachable.
|
|
||||||
}
|
|
||||||
|
|
||||||
void BaselineJIT::generate_GetException() { as->getException(); }
|
|
||||||
@@ -513,9 +515,11 @@ void BaselineJIT::generate_SetException() { as->setException(); }
|
|
||||||
|
|
||||||
void BaselineJIT::generate_CreateCallContext()
|
|
||||||
{
|
|
||||||
+ STORE_ACC();
|
|
||||||
as->prepareCallWithArgCount(1);
|
|
||||||
as->passCppFrameAsArg(0);
|
|
||||||
BASELINEJIT_GENERATE_RUNTIME_CALL(PushCallContext, CallResultDestination::Ignore);
|
|
||||||
+ LOAD_ACC();
|
|
||||||
}
|
|
||||||
|
|
||||||
void BaselineJIT::generate_PushCatchContext(int index, int name) { as->pushCatchContext(index, name); }
|
|
||||||
--
|
|
||||||
2.39.2
|
|
||||||
|
|
@ -1 +1 @@
|
|||||||
SHA512 (qtdeclarative-everywhere-src-6.5.0.tar.xz) = df31f08be3849b2775c1fbeb72f9922f7fa64b8b18b506e5ce309b718cfaeef9bb7225cb55610c8cf695f85e5fc0430461f1317b335358b4196b5e48242a7d00
|
SHA512 (qtdeclarative-everywhere-src-6.5.1.tar.xz) = 7ec840e42b1042263aa41c5d339cfa8a7921e3c5f217e710df0737b2c5c44b1e6c0fae155af934087f5a623d9370f30f83ec5691eb473e52b46486f4938173c7
|
||||||
|
Loading…
Reference in new issue