aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator/beam/beam_load.c
diff options
context:
space:
mode:
authorSverker Eriksson <[email protected]>2016-09-20 16:16:50 +0200
committerSverker Eriksson <[email protected]>2016-10-14 14:29:16 +0200
commit966098ceb9dd9d18e9bcd37cd06b96045903e320 (patch)
treed1b5690ffb2005d0f2201058011c54f45902b5ac /erts/emulator/beam/beam_load.c
parente36c8d49359db1622ad381f705c54d460c4fb5e9 (diff)
downloadotp-966098ceb9dd9d18e9bcd37cd06b96045903e320.tar.gz
otp-966098ceb9dd9d18e9bcd37cd06b96045903e320.tar.bz2
otp-966098ceb9dd9d18e9bcd37cd06b96045903e320.zip
erts: Move new hipe ref and sdesc lists to loader state
Diffstat (limited to 'erts/emulator/beam/beam_load.c')
-rw-r--r--erts/emulator/beam/beam_load.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/erts/emulator/beam/beam_load.c b/erts/emulator/beam/beam_load.c
index 7d29f393e5..0eb390bf4c 100644
--- a/erts/emulator/beam/beam_load.c
+++ b/erts/emulator/beam/beam_load.c
@@ -1126,11 +1126,8 @@ stub_insert_new_code(Process *c_p, ErtsProcLocks c_p_locks,
modp->curr.code_length = size;
modp->curr.catches = BEAM_CATCHES_NIL; /* Will be filled in later. */
#if defined(HIPE)
- DBG_TRACE_MFA(make_atom(modp->module), 0, 0, "insert_new_code new_hipe_refs = %p", modp->new_hipe_refs);
- modp->curr.first_hipe_ref = modp->new_hipe_refs;
- modp->curr.first_hipe_sdesc = modp->new_hipe_sdesc;
- modp->new_hipe_refs = NULL;
- modp->new_hipe_sdesc = NULL;
+ DBG_TRACE_MFA(make_atom(modp->module), 0, 0, "insert_new_code "
+ "first_hipe_ref = %p", hipe_code->first_hipe_ref);
modp->curr.hipe_code = hipe_code;
#endif
@@ -6498,6 +6495,8 @@ erts_make_stub_module(Process* p, Eterm hipe_magic_bin, Eterm Beam, Eterm Info)
hipe_code->text_segment = hipe_stp->text_segment;
hipe_code->text_segment_size = hipe_stp->text_segment_size;
hipe_code->data_segment = hipe_stp->data_segment;
+ hipe_code->first_hipe_ref = hipe_stp->new_hipe_refs;
+ hipe_code->first_hipe_sdesc = hipe_stp->new_hipe_sdesc;
/*
* Insert the module in the module table.
@@ -6524,6 +6523,8 @@ erts_make_stub_module(Process* p, Eterm hipe_magic_bin, Eterm Beam, Eterm Info)
/* Prevent code from being freed */
hipe_stp->text_segment = 0;
hipe_stp->data_segment = 0;
+ hipe_stp->new_hipe_refs = NULL;
+ hipe_stp->new_hipe_sdesc = NULL;
erts_free_aligned_binary_bytes(temp_alloc);
free_loader_state(magic);