diff options
author | Gurusamy Sarathy <gsar@cpan.org> | 1999-11-13 02:17:53 +0000 |
---|---|---|
committer | Gurusamy Sarathy <gsar@cpan.org> | 1999-11-13 02:17:53 +0000 |
commit | 971a9dd36d83520d7040365d2791ad56b6d39411 (patch) | |
tree | 2bb4f700b96a8e36132040891ef26db29f3d45a9 /ext | |
parent | 11faa288e292c27cb2ddc4ccdc483b523d26ce19 (diff) | |
download | perl-971a9dd36d83520d7040365d2791ad56b6d39411.tar.gz |
cloned interpreters now actually run and pass all but 55/10386
subtests; various subtle bugs, new and old, observed when running
cloned interpreters have been fixed
still to do:
| * dup psig_ptr table
| * merge PADOP GVs support with "our" SVs (existing PADOPs are too
| simple-minded and grab one pad entry each, heavily bloating
| the pad by not avoiding dups)
| * overloaded constants are not really immutable--they need to
| be PADOPs
| * allocator for constants and OPs need to be spelled differently
| (shared vs interpreter-local allocations)
| * optree refcounting is still missing locking (macros are in place)
| * curstackinfo, {mark,scope,save,ret}stack need to be cloned so
| perl_clone() can be called from within runops*()
p4raw-id: //depot/perl@4553
Diffstat (limited to 'ext')
-rw-r--r-- | ext/Devel/DProf/DProf.xs | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/ext/Devel/DProf/DProf.xs b/ext/Devel/DProf/DProf.xs index c751127f08..381919fafe 100644 --- a/ext/Devel/DProf/DProf.xs +++ b/ext/Devel/DProf/DProf.xs @@ -106,7 +106,6 @@ dprof_times(struct tms *t) XS(XS_Devel__DProf_END); /* used by prof_mark() */ -static SV * Sub; /* pointer to $DB::sub */ static PerlIO *fp; /* pointer to tmon.out file */ /* Added -JH */ @@ -255,6 +254,7 @@ prof_mark( opcode ptype ) STRLEN len; SV *sv; U32 id; + SV *Sub = GvSV(DBsub); /* name of current sub */ if( SAVE_STACK ){ if( profstack_ix + 5 > profstack_max ){ @@ -552,6 +552,7 @@ XS(XS_DB_sub) dXSARGS; dORIGMARK; HV *oldstash = curstash; + SV *Sub = GvSV(DBsub); /* name of current sub */ SP -= items; @@ -605,6 +606,7 @@ XS(XS_DB_goto) dORIGMARK; HV *oldstash = curstash; + SV *Sub = GvSV(DBsub); /* name of current sub */ /* SP -= items; added by xsubpp */ DBG_SUB_NOTIFY( "XS DBsub(%s)\n", SvPV(Sub, na) ); @@ -662,7 +664,6 @@ BOOT: dowarn = warn_tmp; } - Sub = GvSV(DBsub); /* name of current sub */ sv_setiv( DBsingle, 0 ); /* disable DB single-stepping */ { |