Blame SOURCES/runtime-76916-mono-s390x-opcheckthis.patch
|
|
ccd8ec |
From 7b46eae144e3a6a430155e824fc33e3f38fab427 Mon Sep 17 00:00:00 2001
|
|
|
ccd8ec |
From: Ulrich Weigand <ulrich.weigand@de.ibm.com>
|
|
|
ccd8ec |
Date: Wed, 12 Oct 2022 09:53:09 +0200
|
|
|
ccd8ec |
Subject: [PATCH] [mono][s390x] Fix wrong implementation of OP_CHECK_THIS
|
|
|
ccd8ec |
|
|
|
ccd8ec |
* Only access a single byte in memory for OP_CHECK_THIS
|
|
|
ccd8ec |
|
|
|
ccd8ec |
* Remove unnecessary ltgr instruction
|
|
|
ccd8ec |
|
|
|
ccd8ec |
* Fixes https://github.com/dotnet/runtime/issues/76915
|
|
|
ccd8ec |
---
|
|
|
ccd8ec |
src/mono/mono/mini/mini-s390x.c | 3 +--
|
|
|
ccd8ec |
1 file changed, 1 insertion(+), 2 deletions(-)
|
|
|
ccd8ec |
|
|
|
ccd8ec |
diff --git a/src/runtime/src/mono/mono/mini/mini-s390x.c b/src/runtime/src/mono/mono/mini/mini-s390x.c
|
|
|
ccd8ec |
index 7c7a936ed9701..26e6ba1d32a3b 100644
|
|
|
ccd8ec |
--- a/src/runtime/src/mono/mono/mini/mini-s390x.c
|
|
|
ccd8ec |
+++ b/src/runtime/src/mono/mono/mini/mini-s390x.c
|
|
|
ccd8ec |
@@ -3594,8 +3594,7 @@ mono_arch_output_basic_block (MonoCompile *cfg, MonoBasicBlock *bb)
|
|
|
ccd8ec |
break;
|
|
|
ccd8ec |
case OP_CHECK_THIS: {
|
|
|
ccd8ec |
/* ensure ins->sreg1 is not NULL */
|
|
|
ccd8ec |
- s390_lg (code, s390_r0, 0, ins->sreg1, 0);
|
|
|
ccd8ec |
- s390_ltgr (code, s390_r0, s390_r0);
|
|
|
ccd8ec |
+ s390_llgc (code, s390_r0, 0, ins->sreg1, 0);
|
|
|
ccd8ec |
}
|
|
|
ccd8ec |
break;
|
|
|
ccd8ec |
case OP_ARGLIST: {
|