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