diff options
author | Björn Gustavsson <[email protected]> | 2012-01-12 20:12:59 +0100 |
---|---|---|
committer | Sverker Eriksson <[email protected]> | 2012-02-21 12:23:08 +0100 |
commit | 64bcf5db63d73fe09298dac8cf5f6cad33fe7253 (patch) | |
tree | 8a9ec2d51b32bb2da2b97de4077e0dc6d956cd25 /erts/emulator/beam/bif.tab | |
parent | 5d4759518008a3bdd9c7e9d2adde94a4bd01169e (diff) | |
download | otp-64bcf5db63d73fe09298dac8cf5f6cad33fe7253.tar.gz otp-64bcf5db63d73fe09298dac8cf5f6cad33fe7253.tar.bz2 otp-64bcf5db63d73fe09298dac8cf5f6cad33fe7253.zip |
Break apart erlang:load_module/2 into two separate BIFs
Introduce two new BIFs, erlang:prepare_loading/2 and
erlang:finish_loading/1, and re-implement erlang:load_module/2 in
Erlang code.
We have two reasons for doing this:
* To facilitate suspending a process if another process
is already doing code loading.
* In the future, we can implement parallel and atomic loading
of several modules. Atomic loading works except for modules with
on_load handlers. Because of that issue, erlang:finish_loading/2
will currently only accept a list with a single magic binary.
Diffstat (limited to 'erts/emulator/beam/bif.tab')
-rw-r--r-- | erts/emulator/beam/bif.tab | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/erts/emulator/beam/bif.tab b/erts/emulator/beam/bif.tab index 8cc568b16c..7f874a2d9c 100644 --- a/erts/emulator/beam/bif.tab +++ b/erts/emulator/beam/bif.tab @@ -142,8 +142,6 @@ bif erlang:list_to_pid/1 bif 'erl.lang.proc':string_to_pid/1 ebif_string_to_pid_1 list_to_pid_1 bif erlang:list_to_tuple/1 bif 'erl.lang.tuple':from_list/1 ebif_list_to_tuple_1 -bif erlang:load_module/2 -bif 'erl.system.code':load/2 ebif_load_module_2 bif erlang:loaded/0 bif 'erl.system.code':loaded/0 ebif_loaded_0 bif erlang:localtime/0 @@ -812,6 +810,13 @@ bif erlang:check_old_code/1 # bif erlang:universaltime_to_posixtime/1 bif erlang:posixtime_to_universaltime/1 + +# +# New in R16B. +# +bif erlang:prepare_loading/2 +bif erlang:finish_loading/1 + # # Obsolete # |