Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:Ledest:erlang:25
erlang
0185-Use-correct-mask-for-is_boolean-1-code.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File 0185-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/arm/instr_common.cpp b/erts/emulator/beam/jit/arm/instr_common.cpp index 639545ec68..1ba846c4ce 100644 --- a/erts/emulator/beam/jit/arm/instr_common.cpp +++ b/erts/emulator/beam/jit/arm/instr_common.cpp @@ -848,7 +848,7 @@ void BeamModuleAssembler::emit_is_boolean(const ArgLabel &Fail, ERTS_CT_ASSERT(am_true == make_atom(1)); auto src = load_source(Src, TMP1); - a.and_(TMP1, src.reg, imm(~(am_true & ~_TAG_IMMED1_MASK))); + a.and_(TMP1, src.reg, imm(~(am_true & ~_TAG_IMMED2_MASK))); a.cmp(TMP1, imm(am_false)); a.b_ne(resolve_beam_label(Fail, disp1MB)); } 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 @@ -903,7 +903,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(resolve_beam_label(Fail)); } -- 2.35.3
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor