projects
/
cacao.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
* src/vm/vm.c, src/vm/vm.h: Moved to .cpp.
[cacao.git]
/
contrib
/
log2xml.pl
diff --git
a/contrib/log2xml.pl
b/contrib/log2xml.pl
old mode 100755
(executable)
new mode 100644
(file)
index
17dc761
..
89e83cf
--- a/
contrib/log2xml.pl
+++ b/
contrib/log2xml.pl
@@
-17,9
+17,15
@@
# You may want to edit the opt_ignore options below.
#
# Author : Edwin Steiner
# You may want to edit the opt_ignore options below.
#
# Author : Edwin Steiner
-# Revision:
$Id: log2xml.pl 2306 2005-04-14 20:11:04Z edwin $
+# Revision:
#
# $Log$
#
# $Log$
+# Revision 1.5 2005/04/15 09:33:34 edwin
+# preserve indentation of log text
+#
+# Revision 1.4 2005/04/15 09:06:54 edwin
+# output more valid xml
+#
# Revision 1.3 2005/04/14 20:11:04 edwin
# typo
#
# Revision 1.3 2005/04/14 20:11:04 edwin
# typo
#
@@
-144,6
+150,17
@@
sub write_xml_leave ( $$ )
print $file "</call>\n";
}
print $file "</call>\n";
}
+sub write_xml_never_returns ( $$ )
+{
+ my ($thread,$node) = @_;
+
+ my $file = $files{$thread};
+ print $file '<never_returns';
+ print $file ' name="' . quote($node->{NAME}) . '"';
+ print $file "/>\n";
+ print $file "</call>\n";
+}
+
sub write_xml_node ( $$ )
{
my ($thread,$node) = @_;
sub write_xml_node ( $$ )
{
my ($thread,$node) = @_;
@@
-172,11
+189,13
@@
sub write_xml_header ( $ )
{
my ($file) = @_;
print $file '<?xml version="1.0"?>'."\n";
{
my ($file) = @_;
print $file '<?xml version="1.0"?>'."\n";
+ print $file "<thread>\n";
}
sub write_xml_end ( $ )
{
my ($file) = @_;
}
sub write_xml_end ( $ )
{
my ($file) = @_;
+ print $file "</thread>\n";
}
# ======================================================================
}
# ======================================================================
@@
-401,8
+420,8
@@
sub main
my $lastthread;
while (<>) {
chomp($_);
my $lastthread;
while (<>) {
chomp($_);
- if (/LOG: \[(\S+)\]
\s+
(.*)/) {
- my ($thread,$
log) = ($1,$2
);
+ if (/LOG: \[(\S+)\]
(\s*)
(.*)/) {
+ my ($thread,$
space,$log) = ($1,$2,$3
);
thread_register($thread);
$lastthread = $thread;
if ($log =~ /(1st_call|called|finished):\s*(.*)/) {
thread_register($thread);
$lastthread = $thread;
if ($log =~ /(1st_call|called|finished):\s*(.*)/) {
@@
-412,7
+431,7
@@
sub main
process_exception($thread,$1,$2);
}
else {
process_exception($thread,$1,$2);
}
else {
- process_text($thread,$log);
+ process_text($thread,$
space.$
log);
}
}
else {
}
}
else {
@@
-440,7
+459,14
@@
sub main
write_xml_frame($thread,$top);
$ign--;
}
write_xml_frame($thread,$top);
$ign--;
}
+ pop @{$stacks{$thread}} for 1..$ignore_level{$thread};
+ }
+ while (scalar @{$stacks{$thread}} > 1) {
+ my $top = $stacks{$thread}->[-1];
+ write_xml_never_returns($thread,$top);
+ pop @{$stacks{$thread}};
}
}
+ write_xml_end($files{$thread});
$files{$thread}->close();
}
print STDERR "processed $. lines\n";
$files{$thread}->close();
}
print STDERR "processed $. lines\n";