summaryrefslogtreecommitdiff
path: root/pp_ctl.c
diff options
context:
space:
mode:
authorNicholas Clark <nick@ccl4.org>2006-12-01 22:51:22 +0000
committerNicholas Clark <nick@ccl4.org>2006-12-01 22:51:22 +0000
commit005a8a35ce5b6191102f848d17a5c617740a685c (patch)
treee37187ba38761daa9b8ddf12d4e36cecd9ab07ab /pp_ctl.c
parenta9ef256d686ebab6464dfd2ad06eb0aff1240f34 (diff)
downloadperl-005a8a35ce5b6191102f848d17a5c617740a685c.tar.gz
Make get_db_sub non-static, and call it from pp_goto, which allows the
removal of duplicate code. (The conversion of GvSV(PL_DBsub) to GvSVn(PL_DBsub) implicit in this change should fix a failure with Devel::SmallProf.) p4raw-id: //depot/perl@29434
Diffstat (limited to 'pp_ctl.c')
-rw-r--r--pp_ctl.c16
1 files changed, 1 insertions, 15 deletions
diff --git a/pp_ctl.c b/pp_ctl.c
index 5cbf0a87ab..11554c9486 100644
--- a/pp_ctl.c
+++ b/pp_ctl.c
@@ -2475,21 +2475,7 @@ PP(pp_goto)
}
}
if (PERLDB_SUB) { /* Checking curstash breaks DProf. */
- /*
- * We do not care about using sv to call CV;
- * it's for informational purposes only.
- */
- SV * const sv = GvSV(PL_DBsub);
- save_item(sv);
- if (PERLDB_SUB_NN) {
- const int type = SvTYPE(sv);
- if (type < SVt_PVIV && type != SVt_IV)
- sv_upgrade(sv, SVt_PVIV);
- (void)SvIOK_on(sv);
- SvIV_set(sv, PTR2IV(cv)); /* Do it the quickest way */
- } else {
- gv_efullname3(sv, CvGV(cv), NULL);
- }
+ Perl_get_db_sub(aTHX_ NULL, cv);
if (PERLDB_GOTO) {
CV * const gotocv = get_cv("DB::goto", FALSE);
if (gotocv) {