summaryrefslogtreecommitdiff
path: root/lib/skin_parser/skin_buffer_debug.pl
diff options
context:
space:
mode:
authorJonathan Gordon <rockbox@jdgordon.info>2011-09-25 12:05:03 +0000
committerJonathan Gordon <rockbox@jdgordon.info>2011-09-25 12:05:03 +0000
commit7e44438936091746fd5b192ca2fae3cd1b105713 (patch)
treef24ffcbc1612a3e8316af2b932ec41a5fa7b09ad /lib/skin_parser/skin_buffer_debug.pl
parentd7372533d07c3168715f9efdace76da1d3983fee (diff)
downloadrockbox-7e44438936091746fd5b192ca2fae3cd1b105713.zip
rockbox-7e44438936091746fd5b192ca2fae3cd1b105713.tar.gz
rockbox-7e44438936091746fd5b192ca2fae3cd1b105713.tar.bz2
rockbox-7e44438936091746fd5b192ca2fae3cd1b105713.tar.xz
Add a simple perl script to display info about what is allocating skin buffer.
To use it enable DEBUG_SKIN_ALLOCATIONS in skin_buffer.h and pipe the rockboxui output to the script git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30597 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'lib/skin_parser/skin_buffer_debug.pl')
-rwxr-xr-xlib/skin_parser/skin_buffer_debug.pl31
1 files changed, 31 insertions, 0 deletions
diff --git a/lib/skin_parser/skin_buffer_debug.pl b/lib/skin_parser/skin_buffer_debug.pl
new file mode 100755
index 0000000..6d0d1ba
--- /dev/null
+++ b/lib/skin_parser/skin_buffer_debug.pl
@@ -0,0 +1,31 @@
+#!/usr/bin/perl
+# __________ __ ___.
+# Open \______ \ ____ ____ | | _\_ |__ _______ ___
+# Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
+# Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
+# Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
+# \/ \/ \/ \/ \/
+# $Id$
+#
+
+%allocs = ();
+
+while (<>) {
+ if (/([0-9]*) (.*)$/) {
+ $key = $2;
+ $value = $1;
+ if (exists $allocs{$key}) {
+ $val = $allocs{$key}[0];
+ $count = $allocs{$key}[1];
+ $allocs{$key} = [$value + $val, $count+1]
+ } else {
+ $allocs{$key} = [$value, 1]
+ }
+ }
+}
+print "Count\tTotal cost\tLine\n";
+for my $key ( keys %allocs ) {
+ $val = $allocs{$key}[0];
+ $count = $allocs{$key}[1];
+ print "$count\t$val\t$key\n";
+}