@@ -539,7 +539,7 @@ Perl_save_iv(pTHX_ IV *ivp)
539
539
SSPUSHIV (* ivp );
540
540
SSPUSHPTR (ivp );
541
541
SSPUSHUV (SAVEt_IV );
542
- DEBUG_lv (Perl_deb (aTHX_ "save IV %ld\n" , (long )* ivp ));
542
+ DEBUG_lv (Perl_deb (aTHX_ "save IV %ld at &%p \n" , (long )* ivp , ivp ));
543
543
}
544
544
545
545
/* Cannot use save_sptr() to store a char* since the SV** cast will
@@ -551,7 +551,7 @@ Perl_save_pptr(pTHX_ char **pptr)
551
551
PERL_ARGS_ASSERT_SAVE_PPTR ;
552
552
553
553
save_pushptrptr (* pptr , pptr , SAVEt_PPTR );
554
- DEBUG_lv (Perl_deb (aTHX_ "save PPTR\n" ));
554
+ DEBUG_lv (Perl_deb (aTHX_ "save PPTR %p at &%p \n" , * pptr , pptr ));
555
555
}
556
556
557
557
void
@@ -560,7 +560,7 @@ Perl_save_vptr(pTHX_ void *ptr)
560
560
PERL_ARGS_ASSERT_SAVE_VPTR ;
561
561
562
562
save_pushptrptr (* (char * * )ptr , ptr , SAVEt_VPTR );
563
- DEBUG_lv (Perl_deb (aTHX_ "save VPTR %p\n" , * (char * * )ptr ));
563
+ DEBUG_lv (Perl_deb (aTHX_ "save VPTR %p at &%p \n" , * (char * * )ptr , ptr ));
564
564
}
565
565
566
566
void
@@ -569,7 +569,7 @@ Perl_save_sptr(pTHX_ SV **sptr)
569
569
PERL_ARGS_ASSERT_SAVE_SPTR ;
570
570
571
571
save_pushptrptr (* sptr , sptr , SAVEt_SPTR );
572
- DEBUG_lv (Perl_deb (aTHX_ "save SPTR %p\n" , * sptr ));
572
+ DEBUG_lv (Perl_deb (aTHX_ "save SPTR %p at &%p \n" , * sptr , sptr ));
573
573
}
574
574
575
575
void
@@ -593,7 +593,7 @@ Perl_save_hptr(pTHX_ HV **hptr)
593
593
PERL_ARGS_ASSERT_SAVE_HPTR ;
594
594
595
595
save_pushptrptr (* hptr , hptr , SAVEt_HPTR );
596
- DEBUG_lv (Perl_deb (aTHX_ "save HPTR\n" ));
596
+ DEBUG_lv (Perl_deb (aTHX_ "save HPTR %p \n" , * hptr ));
597
597
}
598
598
599
599
void
@@ -602,7 +602,7 @@ Perl_save_aptr(pTHX_ AV **aptr)
602
602
PERL_ARGS_ASSERT_SAVE_APTR ;
603
603
604
604
save_pushptrptr (* aptr , aptr , SAVEt_APTR );
605
- DEBUG_lv (Perl_deb (aTHX_ "save APTR\n" ));
605
+ DEBUG_lv (Perl_deb (aTHX_ "save APTR %p \n" , * aptr ));
606
606
}
607
607
608
608
void
@@ -1006,17 +1006,17 @@ Perl_leave_scope(pTHX_ I32 base)
1006
1006
1007
1007
case SAVEt_GVSV : /* scalar slot in GV */
1008
1008
a0 = ap [0 ]; a1 = ap [1 ];
1009
+ DEBUG_lv (Perl_deb (aTHX_ "restore GVSV %p = %p %s %s\n" ,
1010
+ * a0 .any_svp , GvSV (a0 .any_gv ),
1011
+ SvPEEK (* a0 .any_svp ), SvPEEK (GvSV (a0 .any_gv ))));
1009
1012
a0 .any_svp = & GvSV (a0 .any_gv );
1010
- DEBUG_lv (Perl_deb (aTHX_ "restore GVSV %p %p %s %s\n" ,
1011
- a1 .any_sv , * a0 .any_svp ,
1012
- SvPEEK (a1 .any_sv ), SvPEEK (* a0 .any_svp )));
1013
1013
goto restore_svp ;
1014
1014
1015
1015
case SAVEt_GENERIC_SVREF : /* generic sv */
1016
1016
a0 = ap [0 ]; a1 = ap [1 ];
1017
- DEBUG_lv (Perl_deb (aTHX_ "restore GENERIC_SVREF %p %p %s %s\n" ,
1018
- a1 . any_sv , * a0 .any_svp ,
1019
- SvPEEK (a1 . any_sv ), SvPEEK (* a0 . any_svp )));
1017
+ DEBUG_lv (Perl_deb (aTHX_ "restore GENERIC_SVREF %p = %p %s %s\n" ,
1018
+ * a0 .any_svp , a1 . any_sv ,
1019
+ SvPEEK (* a0 . any_svp ), SvPEEK (a1 . any_sv )));
1020
1020
restore_svp :
1021
1021
{
1022
1022
/* do *a0.any_svp = a1 */
@@ -1033,7 +1033,7 @@ Perl_leave_scope(pTHX_ I32 base)
1033
1033
a0 = ap [0 ]; a1 = ap [1 ]; a2 = ap [2 ];
1034
1034
hv = GvSTASH (a0 .any_gv );
1035
1035
DEBUG_lv (Perl_deb (aTHX_ "restore GVSLOT %p %p %p\n" ,
1036
- a2 . any_sv , * a1 .any_svp , a0 . any_gv ));
1036
+ a0 . any_gv , * a1 .any_svp , a2 . any_sv ));
1037
1037
if (hv && HvENAME (hv ) && (
1038
1038
(a2 .any_sv && SvTYPE (a2 .any_sv ) == SVt_PVCV )
1039
1039
|| (* a1 .any_svp && SvTYPE (* a1 .any_svp ) == SVt_PVCV )
@@ -1052,7 +1052,7 @@ Perl_leave_scope(pTHX_ I32 base)
1052
1052
1053
1053
case SAVEt_AV : /* array reference */
1054
1054
a0 = ap [0 ]; a1 = ap [1 ];
1055
- DEBUG_lv (Perl_deb (aTHX_ "restore AV %p %p\n" , a1 . any_av , a0 .any_gv ));
1055
+ DEBUG_lv (Perl_deb (aTHX_ "restore AV %p = %p\n" , GvAV ( a0 . any_gv ), a1 .any_gv ));
1056
1056
SvREFCNT_dec (GvAV (a0 .any_gv ));
1057
1057
GvAV (a0 .any_gv ) = a1 .any_av ;
1058
1058
avhv_common :
@@ -1072,28 +1072,31 @@ Perl_leave_scope(pTHX_ I32 base)
1072
1072
1073
1073
case SAVEt_HV : /* hash reference */
1074
1074
a0 = ap [0 ]; a1 = ap [1 ];
1075
- DEBUG_lv (Perl_deb (aTHX_ "restore HV %p %p %s %s\n" ,
1076
- a1 .any_hv , a0 .any_gv ,
1077
- SvPEEK (a1 . any_hv ) , SvPEEK (GvHV ( a0 . any_gv ) )));
1075
+ DEBUG_lv (Perl_deb (aTHX_ "restore HV %p = %p: %s = %s\n" ,
1076
+ a0 .any_hv , a1 .any_gv ,
1077
+ SvPEEK (GvHV ( a0 . any_gv )) , SvPEEK (a1 . any_hv )));
1078
1078
SvREFCNT_dec (GvHV (a0 .any_gv ));
1079
1079
GvHV (a0 .any_gv ) = a1 .any_hv ;
1080
1080
goto avhv_common ;
1081
1081
1082
1082
case SAVEt_INT_SMALL :
1083
1083
a0 = ap [0 ];
1084
- DEBUG_lv (Perl_deb (aTHX_ "restore INT_SMALL %d\n" , (int )(uv >>SAVE_TIGHT_SHIFT )));
1084
+ DEBUG_lv (Perl_deb (aTHX_ "restore INT_SMALL %p = %d\n" , a0 .any_ptr ,
1085
+ (int )(uv >>SAVE_TIGHT_SHIFT )));
1085
1086
* (int * )a0 .any_ptr = (int )(uv >> SAVE_TIGHT_SHIFT );
1086
1087
break ;
1087
1088
1088
1089
case SAVEt_INT : /* int reference */
1089
1090
a0 = ap [0 ]; a1 = ap [1 ];
1090
- DEBUG_lv (Perl_deb (aTHX_ "restore INT %d\n" , (int )a0 .any_i32 ));
1091
+ DEBUG_lv (Perl_deb (aTHX_ "restore INT %p = %d\n" , a1 .any_ptr ,
1092
+ (int )a0 .any_i32 ));
1091
1093
* (int * )a1 .any_ptr = (int )a0 .any_i32 ;
1092
1094
break ;
1093
1095
1094
1096
case SAVEt_STRLEN : /* STRLEN/size_t ref */
1095
1097
a0 = ap [0 ]; a1 = ap [1 ];
1096
- DEBUG_lv (Perl_deb (aTHX_ "restore STRLEN %ld\n" , (long )a0 .any_iv ));
1098
+ DEBUG_lv (Perl_deb (aTHX_ "restore STRLEN %p = %ld\n" , a1 .any_ptr ,
1099
+ (long )a0 .any_iv ));
1097
1100
* (STRLEN * )a1 .any_ptr = (STRLEN )a0 .any_iv ;
1098
1101
break ;
1099
1102
@@ -1106,7 +1109,8 @@ Perl_leave_scope(pTHX_ I32 base)
1106
1109
1107
1110
case SAVEt_BOOL : /* bool reference */
1108
1111
a0 = ap [0 ];
1109
- DEBUG_lv (Perl_deb (aTHX_ "restore BOOL %d\n" , (int )(uv >>8 )));
1112
+ DEBUG_lv (Perl_deb (aTHX_ "restore BOOL %p = %d\n" ,
1113
+ a0 .any_ptr , (int )(uv >>8 )));
1110
1114
* (bool * )a0 .any_ptr = cBOOL (uv >> 8 );
1111
1115
#ifdef NO_TAINT_SUPPORT
1112
1116
PERL_UNUSED_VAR (was );
@@ -1124,14 +1128,14 @@ Perl_leave_scope(pTHX_ I32 base)
1124
1128
1125
1129
case SAVEt_I32_SMALL :
1126
1130
a0 = ap [0 ];
1127
- DEBUG_lv (Perl_deb (aTHX_ "restore I32_SMALL %d %d\n" ,
1131
+ DEBUG_lv (Perl_deb (aTHX_ "restore I32_SMALL %d = %d\n" ,
1128
1132
(int )* (I32 * )a0 .any_ptr , (int )(uv >> SAVE_TIGHT_SHIFT )));
1129
1133
* (I32 * )a0 .any_ptr = (I32 )(uv >> SAVE_TIGHT_SHIFT );
1130
1134
break ;
1131
1135
1132
1136
case SAVEt_I32 : /* I32 reference */
1133
1137
a0 = ap [0 ]; a1 = ap [1 ];
1134
- DEBUG_lv (Perl_deb (aTHX_ "restore I32 %d %d\n" ,
1138
+ DEBUG_lv (Perl_deb (aTHX_ "restore I32 %d = %d\n" ,
1135
1139
(int )* (I32 * )a1 .any_ptr , (int )a0 .any_i32 ));
1136
1140
#ifdef PERL_DEBUG_READONLY_OPS
1137
1141
if (* (I32 * )a1 .any_ptr != a0 .any_i32 )
@@ -1141,29 +1145,33 @@ Perl_leave_scope(pTHX_ I32 base)
1141
1145
1142
1146
case SAVEt_SPTR : /* SV* reference */
1143
1147
a0 = ap [0 ]; a1 = ap [1 ];
1144
- DEBUG_lv (Perl_deb (aTHX_ "restore SPTR %p %p\n" ,
1148
+ DEBUG_lv (Perl_deb (aTHX_ "restore SPTR %p = %p\n" ,
1145
1149
* a1 .any_svp , a0 .any_sv ));
1146
- * a1 .any_svp = a0 .any_sv ;
1150
+ #if 0
1151
+ DEBUG_lv (Perl_deb (aTHX_ " (%s = %s)\n" ,
1152
+ SvPEEK (* a1 .any_svp ), SvPEEK (a0 .any_sv )));
1153
+ #endif
1154
+ * a1 .any_svp = a0 .any_sv ;
1147
1155
break ;
1148
1156
1149
1157
case SAVEt_VPTR : /* random* reference */
1150
1158
case SAVEt_PPTR : /* char* reference */
1151
1159
a0 = ap [0 ]; a1 = ap [1 ];
1152
- DEBUG_lv (Perl_deb (aTHX_ "restore %sPTR %p %p\n" ,
1160
+ DEBUG_lv (Perl_deb (aTHX_ "restore %sPTR %p = %p\n" ,
1153
1161
type == SAVEt_VPTR ? "V" : "P" ,
1154
1162
* a1 .any_pvp , a0 .any_pv ));
1155
1163
* a1 .any_pvp = a0 .any_pv ;
1156
1164
break ;
1157
1165
1158
1166
case SAVEt_HPTR : /* HV* reference */
1159
1167
a0 = ap [0 ]; a1 = ap [1 ];
1160
- DEBUG_lv (Perl_deb (aTHX_ "restore HPTR %p %p\n" , * a1 .any_svp , a0 .any_hv ));
1168
+ DEBUG_lv (Perl_deb (aTHX_ "restore HPTR %p = %p\n" , * a1 .any_svp , a0 .any_hv ));
1161
1169
* (HV * * )a1 .any_ptr = a0 .any_hv ;
1162
1170
break ;
1163
1171
1164
1172
case SAVEt_APTR : /* AV* reference */
1165
1173
a0 = ap [0 ]; a1 = ap [1 ];
1166
- DEBUG_lv (Perl_deb (aTHX_ "restore APTR %p %p\n" , * a1 .any_svp , a0 .any_av ));
1174
+ DEBUG_lv (Perl_deb (aTHX_ "restore APTR %p = %p\n" , * a1 .any_svp , a0 .any_av ));
1167
1175
* (AV * * )a1 .any_ptr = a0 .any_av ;
1168
1176
break ;
1169
1177
@@ -1175,7 +1183,7 @@ Perl_leave_scope(pTHX_ I32 base)
1175
1183
a0 = ap [0 ]; a1 = ap [1 ];
1176
1184
/* possibly taking a method out of circulation */
1177
1185
had_method = !!GvCVu (a0 .any_gv );
1178
- DEBUG_lv (Perl_deb (aTHX_ "restore GP %p %p\n" , a1 .any_ptr , a0 .any_gv ));
1186
+ DEBUG_lv (Perl_deb (aTHX_ "restore GP %p = %p\n" , a1 .any_ptr , a0 .any_gv ));
1179
1187
gp_free (a0 .any_gv );
1180
1188
GvGP_set (a0 .any_gv , (GP * )a1 .any_ptr );
1181
1189
if ((hv = GvSTASH (a0 .any_gv )) && HvENAME_get (hv )) {
0 commit comments