From: Doug MacEachern Date: Sun, 25 Jul 1999 15:49:00 +0000 (-0700) Subject: B::clearsym X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=2b8dc4d2eb8ad36cf53b962575087dfa9dc6d602;p=p5sagit%2Fp5-mst-13.2.git B::clearsym Message-ID: p4raw-id: //depot/perl@4129 --- diff --git a/ext/B/B.pm b/ext/B/B.pm index e4730cd..2187e59 100644 --- a/ext/B/B.pm +++ b/ext/B/B.pm @@ -107,6 +107,11 @@ sub timing_info { } my %symtable; + +sub clearsym { + %symtable = (); +} + sub savesym { my ($obj, $value) = @_; # warn(sprintf("savesym: sym_%x => %s\n", $$obj, $value)); # debug diff --git a/ext/B/B/Bblock.pm b/ext/B/B/Bblock.pm index d2ef78f..b914bc6 100644 --- a/ext/B/B/Bblock.pm +++ b/ext/B/B/Bblock.pm @@ -129,6 +129,7 @@ sub B::PMOP::mark_if_leader { sub compile { my @options = @_; + B::clearsym(); if (@options) { return sub { my $objname; diff --git a/ext/B/B/Debug.pm b/ext/B/B/Debug.pm index 7563626..8910068 100644 --- a/ext/B/B/Debug.pm +++ b/ext/B/B/Debug.pm @@ -247,6 +247,7 @@ sub B::SPECIAL::debug { sub compile { my $order = shift; + B::clearsym(); if ($order eq "exec") { return sub { walkoptree_exec(main_start, "debug") } } else { diff --git a/ext/B/B/Terse.pm b/ext/B/B/Terse.pm index 93757f3..35bf9b8 100644 --- a/ext/B/B/Terse.pm +++ b/ext/B/B/Terse.pm @@ -17,6 +17,7 @@ sub terse { sub compile { my $order = shift; my @options = @_; + B::clearsym(); if (@options) { return sub { my $objname;