File 0814-Fix-msacc-debug-bug.patch of Package erlang

From 820d288667537bb6abe09d6ca2c02d9e3aa6a106 Mon Sep 17 00:00:00 2001
From: Sverker Eriksson <sverker@erlang.org>
Date: Tue, 24 Mar 2020 13:24:52 +0000
Subject: [PATCH 1/3] Fix msacc debug bug

---
 erts/emulator/beam/beam_emu.c                 | 4 ++--
 erts/emulator/beam/erl_sched_spec_pre_alloc.h | 6 +++---
 2 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/erts/emulator/beam/beam_emu.c b/erts/emulator/beam/beam_emu.c
index ea2be00e06..5c5b85d8a9 100644
--- a/erts/emulator/beam/beam_emu.c
+++ b/erts/emulator/beam/beam_emu.c
@@ -1260,7 +1260,7 @@ void erts_dirty_process_main(ErtsSchedulerData *esdp)
 	 * This layout is determined by the NifExport struct
 	 */
 
-	ERTS_MSACC_SET_STATE_CACHED_M_X(ERTS_MSACC_STATE_NIF);
+	ERTS_MSACC_SET_STATE_CACHED_X(ERTS_MSACC_STATE_NIF);
 
 	codemfa = erts_code_to_codemfa(I);
 
@@ -1284,7 +1284,7 @@ void erts_dirty_process_main(ErtsSchedulerData *esdp)
 	PROCESS_MAIN_CHK_LOCKS(c_p);
 	ERTS_REQ_PROC_MAIN_LOCK(c_p);
 	ERTS_VERIFY_UNUSED_TEMP_ALLOC(c_p);
-	ERTS_MSACC_SET_STATE_CACHED_M_X(ERTS_MSACC_STATE_EMULATOR);
+	ERTS_MSACC_SET_STATE_CACHED_X(ERTS_MSACC_STATE_EMULATOR);
 	if (exiting)
 	    goto do_dirty_schedule;
 	ASSERT(!ERTS_PROC_IS_EXITING(c_p));
diff --git a/erts/emulator/beam/erl_sched_spec_pre_alloc.h b/erts/emulator/beam/erl_sched_spec_pre_alloc.h
index d1d141c542..38d967caec 100644
--- a/erts/emulator/beam/erl_sched_spec_pre_alloc.h
+++ b/erts/emulator/beam/erl_sched_spec_pre_alloc.h
@@ -188,7 +188,7 @@ erts_sspa_alloc(erts_sspa_data_t *data, int cix)
     erts_sspa_chunk_t *chnk;
     erts_sspa_chunk_header_t *chdr;
     erts_sspa_blk_t *res;
-    ERTS_MSACC_PUSH_AND_SET_STATE_M_X(ERTS_MSACC_STATE_ALLOC);
+    ERTS_MSACC_PUSH_AND_SET_STATE_X(ERTS_MSACC_STATE_ALLOC);
 
     chnk = erts_sspa_cix2chunk(data, cix);
     chdr = &chnk->aligned.header;
@@ -204,13 +204,13 @@ erts_sspa_alloc(erts_sspa_data_t *data, int cix)
     }
     if (chdr->local.cnt <= chdr->local.lim) {
 	res = erts_sspa_process_remote_frees(chdr, res);
-        ERTS_MSACC_POP_STATE_M_X();
+        ERTS_MSACC_POP_STATE_X();
         return (char*) res;
     }
     else if (chdr->head.no_thr_progress_check < ERTS_SSPA_FORCE_THR_CHECK_PROGRESS)
 	chdr->head.no_thr_progress_check++;
     ASSERT(res);
-    ERTS_MSACC_POP_STATE_M_X();
+    ERTS_MSACC_POP_STATE_X();
     return (char *) res;
 }
 
-- 
2.16.4

openSUSE Build Service is sponsored by