File 0555-Use-correct-mask-for-is_boolean-1-code.patch of Package erlang
From dad5ac25503a4d1411350844941973f935aee0f7 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Bj=C3=B6rn=20Gustavsson?= <bjorn@erlang.org>
Date: Mon, 7 Nov 2022 04:59:02 +0100
Subject: [PATCH 5/5] Use correct mask for is_boolean/1 code
Use the correct mask _TAG_IMMED2_MASK. (Using _TAG_IMMED1_MASK
happens to work by sheer luck.)
---
erts/emulator/beam/jit/arm/instr_common.cpp | 2 +-
erts/emulator/beam/jit/x86/instr_common.cpp | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/erts/emulator/beam/jit/x86/instr_common.cpp b/erts/emulator/beam/jit/x86/instr_common.cpp
index 248afc9e14..360b77c5a9 100644
--- a/erts/emulator/beam/jit/x86/instr_common.cpp
+++ b/erts/emulator/beam/jit/x86/instr_common.cpp
@@ -816,7 +816,7 @@ void BeamModuleAssembler::emit_is_boolean(const ArgLabel &Fail,
mov_arg(ARG1, Src);
- a.and_(ARG1, imm(~(am_true & ~_TAG_IMMED1_MASK)));
+ a.and_(ARG1, imm(~(am_true & ~_TAG_IMMED2_MASK)));
a.cmp(ARG1, imm(am_false));
a.jne(labels[Fail.getValue()]);
}
--
2.35.3