diff options
author | Björn Gustavsson <[email protected]> | 2016-03-21 14:10:02 +0100 |
---|---|---|
committer | Björn Gustavsson <[email protected]> | 2016-03-21 14:10:02 +0100 |
commit | 181c4e084b0be39a9dbef5c83b3056f5079ff144 (patch) | |
tree | 30eba1194e50f75d02de25fcd11a6182c2214382 /lib/sasl/src/systools_make.erl | |
parent | e369312640200396b277e2e63378f86ff965d166 (diff) | |
parent | 3c3c984aa9443a1ac1464473fd50e721e4d43b1f (diff) | |
download | otp-181c4e084b0be39a9dbef5c83b3056f5079ff144.tar.gz otp-181c4e084b0be39a9dbef5c83b3056f5079ff144.tar.bz2 otp-181c4e084b0be39a9dbef5c83b3056f5079ff144.zip |
Merge branch 'bjorn/optimize-start-up/OTP-13368'
* bjorn/optimize-start-up/OTP-13368:
Update preloaded modules
init: Load modules in parallel using the new loader BIFs
systools_make: Add commonly used modules to mandatory_modules/0
compile: Pre-load compiler modules when invoked from 'erlc'
Diffstat (limited to 'lib/sasl/src/systools_make.erl')
-rw-r--r-- | lib/sasl/src/systools_make.erl | 39 |
1 files changed, 30 insertions, 9 deletions
diff --git a/lib/sasl/src/systools_make.erl b/lib/sasl/src/systools_make.erl index d207dc15bb..154374cd8c 100644 --- a/lib/sasl/src/systools_make.erl +++ b/lib/sasl/src/systools_make.erl @@ -1453,16 +1453,37 @@ behave([H|T]) -> behave([]) -> []. -%%______________________________________________________________________ -%% mandatory modules; this modules must be loaded before processes -%% can be started. These are a collection of modules from the kernel -%% and stdlib applications. -%% Nowadays, error_handler dynamically loads almost every module. -%% The error_handler self must still be there though. - mandatory_modules() -> - %% Sorted - [error_handler]. + [error_handler, %Truly mandatory. + + %% Modules that are almost always needed. Listing them here + %% helps the init module to load them faster. Modules not + %% listed here will be loaded by the error_handler module. + %% + %% Keep this list sorted. + application, + application_controller, + application_master, + code, + code_server, + erl_eval, + erl_lint, + erl_parse, + error_logger, + ets, + file, + filename, + file_server, + file_io_server, + gen, + gen_event, + gen_server, + heart, + kernel, + lists, + proc_lib, + supervisor + ]. %%______________________________________________________________________ %% This is the modules that are preloaded into the Erlang system. |