This commit is contained in:
EastDong 2023-07-13 21:40:14 +08:00
parent 18a664407f
commit 279d07e2c0
3 changed files with 6 additions and 53 deletions

View File

@ -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

View File

@ -2,16 +2,17 @@
%global qt_module qtdeclarative %global qt_module qtdeclarative
%define _lto_cflags %{nil} %define _lto_cflags %{nil}
%define short_version 6.5
# definition borrowed from qtbase # definition borrowed from qtbase
%global multilib_archs x86_64 %{ix86} %{?mips} ppc64 ppc s390x s390 sparc64 sparcv9 riscv64 %global multilib_archs x86_64 %{ix86} %{?mips} ppc64 ppc s390x s390 sparc64 sparcv9 riscv64
%global examples 1 %global examples 1
%global majmin 6.5
Summary: Qt6 - QtDeclarative component Summary: Qt6 - QtDeclarative component
Name: qt6-%{qt_module} Name: qt6-%{qt_module}
Version: 6.5.0 Version: 6.5.1
Release: 1 Release: 1
License: LGPL-3.0-only OR GPL-3.0-only WITH Qt-GPL-exception-1.0 License: LGPL-3.0-only OR GPL-3.0-only WITH Qt-GPL-exception-1.0
@ -23,13 +24,6 @@ Source0: https://download.qt.io/official_releases/qt/%{majmin}/%{version}/
# https://bugzilla.redhat.com/show_bug.cgi?id=1441343 # https://bugzilla.redhat.com/show_bug.cgi?id=1441343
Source5: qv4global_p-multilib.h Source5: qv4global_p-multilib.h
## upstream patches
### From: https://codereview.qt-project.org/c/qt/qtdeclarative/+/466808
### Cf. https://bugzilla.redhat.com/show_bug.cgi?id=2177696
Patch0: qt-QTBUG-111935-fix-V4-jit.patch
## upstreamable patches
# filter qml provides # filter qml provides
%global __provides_exclude_from ^%{_qt6_archdatadir}/qml/.*\\.so$ %global __provides_exclude_from ^%{_qt6_archdatadir}/qml/.*\\.so$
@ -318,6 +312,9 @@ make check -k -C tests ||:
%endif %endif
%changelog %changelog
* Thu Jul 13 2023 EastDong <xudong23@iscas.ac.cn> - 6.5.1-1
- update package
* Thu May 18 2023 peijiankang <peijiankang@kylinos.cn> - 6.5.0-1 * Thu May 18 2023 peijiankang <peijiankang@kylinos.cn> - 6.5.0-1
- Init Package for openEuler - Init Package for openEuler