2 # ***** BEGIN LICENSE BLOCK *****
3 # Version: MPL 1.1/GPL 2.0/LGPL 2.1
5 # The contents of this file are subject to the Mozilla Public License Version
6 # 1.1 (the "License"); you may not use this file except in compliance with
7 # the License. You may obtain a copy of the License at
8 # http://www.mozilla.org/MPL/
10 # Software distributed under the License is distributed on an "AS IS" basis,
11 # WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
12 # for the specific language governing rights and limitations under the
15 # The Original Code is [Open Source Virtual Machine].
17 # The Initial Developer of the Original Code is
18 # Adobe System Incorporated.
19 # Portions created by the Initial Developer are Copyright (C) 2007
20 # the Initial Developer. All Rights Reserved.
25 # Alternatively, the contents of this file may be used under the terms of
26 # either the GNU General Public License Version 2 or later (the "GPL"), or
27 # the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
28 # in which case the provisions of the GPL or the LGPL are applicable instead
29 # of those above. If you wish to allow use of your version of this file only
30 # under the terms of either the GPL or the LGPL, and not to allow others to
31 # use your version of this file under the terms of the MPL, indicate your
32 # decision by deleting the provisions above and replace them with the notice
33 # and other provisions required by the GPL or the LGPL. If you do not delete
34 # the provisions above, a recipient may use your version of this file under
35 # the terms of any one of the MPL, the GPL or the LGPL.
37 # ***** END LICENSE BLOCK *****
40 file="../platform/win32/obj_9/shell/Release/avmplus.map"
41 #file="../objdir-release/shell/avmshell.map"
47 grep -e '^ 0001:00...... ' -e '^ 0002:00...... ' -e '^ 0003:00...... ' <$file |
48 sed -e's/^ 0001:00/1/' -e 's/^ 0002:00/2/' -e 's/^ 0003:00/3/' |
50 awk '{ print $3, $0 }' |
54 addr=strtonum("0x" $1)
55 if (saveaddr > 0 && addr > saveaddr) {
57 # print per-function size
58 #print size, file, addr, saveaddr, $1
59 filetotal[file] += size
68 # read the module definitions
69 while (getline <"modules.txt" > 0) {
73 for (n in filetotal) { if (index(n,$2)==1) map[n] = mod }
79 # group files into modules
82 filetotal[mod] += filetotal[n]
86 # print per-module size
87 printf "%-7d %-12s 100.0%\n",total,"total"
88 for (f in filetotal) {
90 printf("%-7d %-12s %.1f%%\n",filetotal[f], f, 100*(filetotal[f]/total))