aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator/utils/loaded
diff options
context:
space:
mode:
authorMicael Karlberg <[email protected]>2011-02-28 11:44:35 +0100
committerMicael Karlberg <[email protected]>2011-02-28 11:44:35 +0100
commit26eae94979083f6ae272b76589bce256b792e487 (patch)
tree1ac07672c29efd352f2009908c1b441a31b74c24 /erts/emulator/utils/loaded
parent9671856faa243ee4567f4059fba28fd85b5d9baa (diff)
parente170c7f2ce8e0ac2cd45c922afc138305ca34b79 (diff)
downloadotp-26eae94979083f6ae272b76589bce256b792e487.tar.gz
otp-26eae94979083f6ae272b76589bce256b792e487.tar.bz2
otp-26eae94979083f6ae272b76589bce256b792e487.zip
Merge branch 'dev' into bmk/megaco/miscellaneous_dialyzer/OTP-9075
Had to fix a bunch of CopyRight end-dates (in erts files)...
Diffstat (limited to 'erts/emulator/utils/loaded')
-rw-r--r--erts/emulator/utils/loaded44
1 files changed, 44 insertions, 0 deletions
diff --git a/erts/emulator/utils/loaded b/erts/emulator/utils/loaded
new file mode 100644
index 0000000000..99a66e7fdb
--- /dev/null
+++ b/erts/emulator/utils/loaded
@@ -0,0 +1,44 @@
+%% -*- erlang -*-
+%%
+%% %CopyrightBegin%
+%%
+%% Copyright Ericsson AB 1998-2010. All Rights Reserved.
+%%
+%% The contents of this file are subject to the Erlang Public License,
+%% Version 1.1, (the "License"); you may not use this file except in
+%% compliance with the License. You should have received a copy of the
+%% Erlang Public License along with this software. If not, it can be
+%% retrieved online at http://www.erlang.org/.
+%%
+%% Software distributed under the License is distributed on an "AS IS"
+%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+%% the License for the specific language governing rights and limitations
+%% under the License.
+%%
+%% %CopyrightEnd%
+%%
+
+%% Run like:
+%% $ERL_TOP/bin/escript erts/emulator/utils/loaded
+
+-mode(compile).
+
+main(_) ->
+ LibDir = code:lib_dir(),
+ io:format("Library root is ~s\n", [LibDir]),
+ Wc = filename:join(LibDir, "*/ebin/*.beam"),
+ Beams = filelib:wildcard(Wc),
+ BeamFileSize = lists:sum([filelib:file_size(Beam) || Beam <- Beams]),
+ io:format("~w BEAM files containing ~w bytes\n",
+ [length(Beams),BeamFileSize]),
+ Ms = [list_to_atom(filename:rootname(filename:basename(Beam))) ||
+ Beam <- Beams],
+ [{module,_} = code:ensure_loaded(M) || M <- Ms],
+ <<"Current code: ",T/binary>> = erlang:system_info(loaded),
+ Digits = grab_digits(T),
+ io:format("~w modules comprising ~s words when loaded\n",
+ [length(Ms),Digits]).
+
+grab_digits(<<H,T/binary>>) when $0 =< H, H =< $9 ->
+ [H|grab_digits(T)];
+grab_digits(<<$\n,_/binary>>) -> [].