aboutsummaryrefslogtreecommitdiff
path: root/procsizes.pl
diff options
context:
space:
mode:
Diffstat (limited to 'procsizes.pl')
-rw-r--r--procsizes.pl24
1 files changed, 24 insertions, 0 deletions
diff --git a/procsizes.pl b/procsizes.pl
new file mode 100644
index 0000000..287cf46
--- /dev/null
+++ b/procsizes.pl
@@ -0,0 +1,24 @@
+#!/usr/bin/perl -w
+
+open IN, "<taipan.lst" or die $!;
+
+while(<IN>) {
+ (/^([0-9A-F]{6})/) && (eval "\$addr = 0x$1");
+ if(/\.proc\s+_(\w+)/) {
+ $proc = $1;
+ $start{$proc} = $addr;
+ } elsif(/\.endproc/) {
+ $end{$proc} = $addr - 1;
+ $proc = "";
+ }
+}
+
+for(sort keys %start) {
+ $len{$_} = $end{$_} - $start{$_} + 1;
+}
+
+for(sort { $len{$a} <=> $len{$b} } keys %len) {
+ printf "% 32s % d\n", $_, $len{$_};
+ $total += $len{$_};
+}
+printf "% 32s % d\n", "Total:", $total;