aboutsummaryrefslogtreecommitdiffstats
path: root/erts
diff options
context:
space:
mode:
authorSverker Eriksson <[email protected]>2018-01-24 15:00:05 +0100
committerSverker Eriksson <[email protected]>2018-01-24 15:00:05 +0100
commit27da13e1e94961e68b049aab4a14a14d69b4ce16 (patch)
tree773e8c2115efba9d1f73ad33fc14bdd5311d591f /erts
parent50ecc771a493c3ae7bb75a392e50dfb3c05c0ffc (diff)
parentd57d91427e1ddb09cbf55cac2014a368fe717b46 (diff)
downloadotp-27da13e1e94961e68b049aab4a14a14d69b4ce16.tar.gz
otp-27da13e1e94961e68b049aab4a14a14d69b4ce16.tar.bz2
otp-27da13e1e94961e68b049aab4a14a14d69b4ce16.zip
Merge branch 'sverker/hipe-load-fixing/OTP-14891' into maint
Diffstat (limited to 'erts')
-rw-r--r--erts/emulator/beam/beam_load.c2
-rw-r--r--erts/emulator/hipe/hipe_bif0.c3
2 files changed, 4 insertions, 1 deletions
diff --git a/erts/emulator/beam/beam_load.c b/erts/emulator/beam/beam_load.c
index 494b7543ec..a4e226d459 100644
--- a/erts/emulator/beam/beam_load.c
+++ b/erts/emulator/beam/beam_load.c
@@ -6621,6 +6621,8 @@ int erts_commit_hipe_patch_load(Eterm hipe_magic_bin)
hipe_stp->new_hipe_refs = NULL;
hipe_stp->new_hipe_sdesc = NULL;
+ hipe_redirect_to_module(modp);
+
return 1;
}
diff --git a/erts/emulator/hipe/hipe_bif0.c b/erts/emulator/hipe/hipe_bif0.c
index 94bc563fda..d8427a4c36 100644
--- a/erts/emulator/hipe/hipe_bif0.c
+++ b/erts/emulator/hipe/hipe_bif0.c
@@ -1773,7 +1773,8 @@ void hipe_redirect_to_module(Module* modp)
struct hipe_mfa_info *p;
struct hipe_ref_head* refh;
- ERTS_SMP_LC_ASSERT(erts_smp_thr_progress_is_blocking());
+ ERTS_SMP_LC_ASSERT(erts_smp_thr_progress_is_blocking() ||
+ erts_is_multi_scheduling_blocked());
for (p = mod2mfa_get(modp); p; p = p->next_in_mod) {
if (p->new_address) {