diff options
author | Björn-Egil Dahlberg <[email protected]> | 2016-07-29 14:46:14 +0200 |
---|---|---|
committer | Björn-Egil Dahlberg <[email protected]> | 2016-07-29 14:46:14 +0200 |
commit | e7302e71bf2d56e2117237bb6f0df49cefc9aad2 (patch) | |
tree | ff13db2ac78da7ff3627e0d9684f7057ed64dc39 /erts/emulator/beam/beam_bif_load.c | |
parent | bdaef83087c861dc6a0323c1e7363e6601b9986d (diff) | |
parent | 26bb8c8a2abf40e1504dfeac3e74b3582ea1877b (diff) | |
download | otp-e7302e71bf2d56e2117237bb6f0df49cefc9aad2.tar.gz otp-e7302e71bf2d56e2117237bb6f0df49cefc9aad2.tar.bz2 otp-e7302e71bf2d56e2117237bb6f0df49cefc9aad2.zip |
Merge branch 'maint'
Diffstat (limited to 'erts/emulator/beam/beam_bif_load.c')
-rw-r--r-- | erts/emulator/beam/beam_bif_load.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/erts/emulator/beam/beam_bif_load.c b/erts/emulator/beam/beam_bif_load.c index 15e878ba65..92815b2bcd 100644 --- a/erts/emulator/beam/beam_bif_load.c +++ b/erts/emulator/beam/beam_bif_load.c @@ -37,6 +37,10 @@ #include "erl_bits.h" #include "erl_thr_progress.h" +#ifdef HIPE +# include "hipe_stack.h" +#endif + static void set_default_trace_pattern(Eterm module); static Eterm check_process_code(Process* rp, Module* modp, Uint flags, int *redsp, int fcalls); static void delete_code(Module* modp); @@ -916,6 +920,10 @@ check_process_code(Process* rp, Module* modp, Uint flags, int *redsp, int fcalls } if (any_heap_ref_ptrs(rp->stop, rp->hend, literals, lit_bsize)) goto try_literal_gc; +#ifdef HIPE + if (nstack_any_heap_ref_ptrs(rp, literals, lit_bsize)) + goto try_literal_gc; +#endif if (any_heap_refs(rp->heap, rp->htop, literals, lit_bsize)) goto try_literal_gc; if (any_heap_refs(rp->old_heap, rp->old_htop, literals, lit_bsize)) |