Change 34967 by [EMAIL PROTECTED] on 2008/12/01 11:54:42
Re-order Perl_save_delete() to PTR, INT, PTR.
Affected files ...
... //depot/perl/scope.c#245 edit
... //depot/perl/sv.c#1581 edit
Differences ...
==== //depot/perl/scope.c#245 (text) ====
Index: perl/scope.c
--- perl/scope.c#244~34966~ 2008-12-01 03:27:31.000000000 -0800
+++ perl/scope.c 2008-12-01 03:54:42.000000000 -0800
@@ -506,8 +506,8 @@
PERL_ARGS_ASSERT_SAVE_DELETE;
SSCHECK(4);
- SSPUSHINT(klen);
SSPUSHPTR(key);
+ SSPUSHINT(klen);
SSPUSHPTR(SvREFCNT_inc_simple(hv));
SSPUSHINT(SAVEt_DELETE);
}
@@ -861,8 +861,9 @@
case SAVEt_DELETE:
ptr = SSPOPPTR;
hv = MUTABLE_HV(ptr);
+ i = SSPOPINT;
ptr = SSPOPPTR;
- (void)hv_delete(hv, (char*)ptr, (I32)SSPOPINT, G_DISCARD);
+ (void)hv_delete(hv, (char*)ptr, i, G_DISCARD);
SvREFCNT_dec(hv);
Safefree(ptr);
break;
==== //depot/perl/sv.c#1581 (text) ====
Index: perl/sv.c
--- perl/sv.c#1580~34964~ 2008-12-01 02:36:44.000000000 -0800
+++ perl/sv.c 2008-12-01 03:54:42.000000000 -0800
@@ -11261,9 +11261,11 @@
case SAVEt_DELETE:
hv = (const HV *)POPPTR(ss,ix);
TOPPTR(nss,ix) = hv_dup_inc(hv, param);
+ i = POPINT(ss,ix);
+ TOPINT(nss,ix) = i;
c = (char*)POPPTR(ss,ix);
TOPPTR(nss,ix) = pv_dup_inc(c);
- /* fall through */
+ break;
case SAVEt_STACK_POS: /* Position on Perl stack */
i = POPINT(ss,ix);
TOPINT(nss,ix) = i;
End of Patch.