File 0141-jit-Clean-up-func_info.patch of Package erlang

From 18afe00daf9378b4dd443a4a37c5a36427af7c52 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?John=20H=C3=B6gberg?= <john@erlang.org>
Date: Thu, 23 Dec 2021 20:02:05 +0100
Subject: [PATCH 1/2] jit: Clean up func_info

---
 erts/emulator/beam/jit/x86/beam_asm_module.cpp | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/erts/emulator/beam/jit/x86/beam_asm_module.cpp b/erts/emulator/beam/jit/x86/beam_asm_module.cpp
index 13c7e6a99b..995372cedb 100644
--- a/erts/emulator/beam/jit/x86/beam_asm_module.cpp
+++ b/erts/emulator/beam/jit/x86/beam_asm_module.cpp
@@ -279,9 +279,9 @@ void BeamGlobalAssembler::emit_i_func_info_shared() {
     /* Pop the ErtsCodeInfo address into ARG1 and mask out the offset added by
      * the call instruction. */
     a.pop(ARG1);
-    a.and_(ARG1, ~0x7);
+    a.and_(ARG1, imm(~0x7));
 
-    a.lea(ARG1, x86::qword_ptr(ARG1, offsetof(ErtsCodeInfo, mfa)));
+    a.add(ARG1, imm(offsetof(ErtsCodeInfo, mfa)));
 
     a.mov(x86::qword_ptr(c_p, offsetof(Process, freason)), EXC_FUNCTION_CLAUSE);
     a.mov(x86::qword_ptr(c_p, offsetof(Process, current)), ARG1);
-- 
2.31.1

openSUSE Build Service is sponsored by