Change 34960 by [EMAIL PROTECTED] on 2008/12/01 00:02:17
Expose save_pushptrptr() and implement SAVESWITCHSTACK() with it.
Affected files ...
... //depot/perl/embed.fnc#659 edit
... //depot/perl/embed.h#792 edit
... //depot/perl/proto.h#990 edit
... //depot/perl/scope.c#240 edit
... //depot/perl/scope.h#97 edit
Differences ...
==== //depot/perl/embed.fnc#659 (text) ====
Index: perl/embed.fnc
--- perl/embed.fnc#658~34959~ 2008-11-30 15:45:20.000000000 -0800
+++ perl/embed.fnc 2008-11-30 16:02:17.000000000 -0800
@@ -925,9 +925,10 @@
Ap |void |save_pushptr |NULLOK void *const ptr|const int type
#if defined(PERL_IN_SCOPE_C)
s |void |save_pushi32ptr|I32 i|NULLOK void *const ptr|const int type
-s |void |save_pushptrptr|NULLOK void *const ptr1 \
- |NULLOK void *const ptr2|const int type
#endif
+: Used by SAVESWITCHSTACK() in pp.c
+p |void |save_pushptrptr|NULLOK void *const ptr1 \
+ |NULLOK void *const ptr2|const int type
: Used in perly.y
p |OP* |sawparens |NULLOK OP* o
: Used in perly.y
==== //depot/perl/embed.h#792 (text+w) ====
Index: perl/embed.h
--- perl/embed.h#791~34959~ 2008-11-30 15:45:20.000000000 -0800
+++ perl/embed.h 2008-11-30 16:02:17.000000000 -0800
@@ -809,10 +809,10 @@
#if defined(PERL_IN_SCOPE_C)
#ifdef PERL_CORE
#define save_pushi32ptr S_save_pushi32ptr
-#define save_pushptrptr S_save_pushptrptr
#endif
#endif
#ifdef PERL_CORE
+#define save_pushptrptr Perl_save_pushptrptr
#define sawparens Perl_sawparens
#define scalar Perl_scalar
#endif
@@ -3159,10 +3159,10 @@
#if defined(PERL_IN_SCOPE_C)
#ifdef PERL_CORE
#define save_pushi32ptr(a,b,c) S_save_pushi32ptr(aTHX_ a,b,c)
-#define save_pushptrptr(a,b,c) S_save_pushptrptr(aTHX_ a,b,c)
#endif
#endif
#ifdef PERL_CORE
+#define save_pushptrptr(a,b,c) Perl_save_pushptrptr(aTHX_ a,b,c)
#define sawparens(a) Perl_sawparens(aTHX_ a)
#define scalar(a) Perl_scalar(aTHX_ a)
#endif
==== //depot/perl/proto.h#990 (text+w) ====
Index: perl/proto.h
--- perl/proto.h#989~34959~ 2008-11-30 15:45:20.000000000 -0800
+++ perl/proto.h 2008-11-30 16:02:17.000000000 -0800
@@ -2915,8 +2915,8 @@
PERL_CALLCONV void Perl_save_pushptr(pTHX_ void *const ptr, const int
type);
#if defined(PERL_IN_SCOPE_C)
STATIC void S_save_pushi32ptr(pTHX_ I32 i, void *const ptr, const int type);
-STATIC void S_save_pushptrptr(pTHX_ void *const ptr1, void *const ptr2,
const int type);
#endif
+PERL_CALLCONV void Perl_save_pushptrptr(pTHX_ void *const ptr1, void
*const ptr2, const int type);
PERL_CALLCONV OP* Perl_sawparens(pTHX_ OP* o);
PERL_CALLCONV OP* Perl_scalar(pTHX_ OP* o);
#if defined(PERL_IN_OP_C)
==== //depot/perl/scope.c#240 (text) ====
Index: perl/scope.c
--- perl/scope.c#239~34959~ 2008-11-30 15:45:20.000000000 -0800
+++ perl/scope.c 2008-11-30 16:02:17.000000000 -0800
@@ -184,8 +184,8 @@
return sv;
}
-static void
-S_save_pushptrptr(pTHX_ void *const ptr1, void *const ptr2, const int type)
+void
+Perl_save_pushptrptr(pTHX_ void *const ptr1, void *const ptr2, const int type)
{
dVAR;
SSCHECK(3);
==== //depot/perl/scope.h#97 (text) ====
Index: perl/scope.h
--- perl/scope.h#96~34958~ 2008-11-30 15:27:57.000000000 -0800
+++ perl/scope.h 2008-11-30 16:02:17.000000000 -0800
@@ -178,10 +178,7 @@
#define SAVESWITCHSTACK(f,t) \
STMT_START { \
- SSCHECK(3); \
- SSPUSHPTR(MUTABLE_SV(f)); \
- SSPUSHPTR(MUTABLE_SV(t)); \
- SSPUSHINT(SAVEt_SAVESWITCHSTACK); \
+ save_pushptrptr(MUTABLE_SV(f), MUTABLE_SV(t), SAVEt_SAVESWITCHSTACK); \
SWITCHSTACK((f),(t)); \
PL_curstackinfo->si_stack = (t); \
} STMT_END
End of Patch.