aboutsummaryrefslogtreecommitdiffstats
path: root/erts/preloaded/src/init.erl
diff options
context:
space:
mode:
authorSverker Eriksson <[email protected]>2012-08-23 18:46:59 +0200
committerSverker Eriksson <[email protected]>2012-08-23 18:46:59 +0200
commit9a9dee8bf12212830be738932c4cdb45f2db2260 (patch)
tree3cdf6f4bd99c28022741841995064d06d335277d /erts/preloaded/src/init.erl
parenta94308cb1e1aa727a126e99b5a8714490dd3de16 (diff)
parent439fe7b93743528782fbe1ff00dc65d08cb25a56 (diff)
downloadotp-9a9dee8bf12212830be738932c4cdb45f2db2260.tar.gz
otp-9a9dee8bf12212830be738932c4cdb45f2db2260.tar.bz2
otp-9a9dee8bf12212830be738932c4cdb45f2db2260.zip
Merge branch 'sverk/hipelibs-code_server-crash-maint' into maint
* sverk/hipelibs-code_server-crash-maint: Fix init:restart with hipelibs kernel: Disable hipe compilation for hipe_unified_loader
Diffstat (limited to 'erts/preloaded/src/init.erl')
-rw-r--r--erts/preloaded/src/init.erl8
1 files changed, 8 insertions, 0 deletions
diff --git a/erts/preloaded/src/init.erl b/erts/preloaded/src/init.erl
index 708991e261..185b62a899 100644
--- a/erts/preloaded/src/init.erl
+++ b/erts/preloaded/src/init.erl
@@ -635,8 +635,16 @@ do_unload([M|Mods]) ->
catch erlang:purge_module(M),
do_unload(Mods);
do_unload([]) ->
+ purge_all_hipe_refs(),
ok.
+purge_all_hipe_refs() ->
+ case erlang:system_info(hipe_architecture) of
+ undefined -> ok;
+ _ -> hipe_bifs:remove_refs_from(all)
+ end.
+
+
sub([H|T],L) -> sub(T,del(H,L));
sub([],L) -> L.