Ap |SV* |save_svref |NN SV** sptr
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
#define save_pushptr Perl_save_pushptr
#if defined(PERL_IN_SCOPE_C)
#ifdef PERL_CORE
+#define save_pushi32ptr S_save_pushi32ptr
#define save_pushptrptr S_save_pushptrptr
#endif
#endif
#define save_pushptr(a,b) Perl_save_pushptr(aTHX_ a,b)
#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
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 OP* Perl_sawparens(pTHX_ OP* o);
}
void
-Perl_save_int(pTHX_ int *intp)
+Perl_save_bool(pTHX_ bool *boolp)
{
dVAR;
- PERL_ARGS_ASSERT_SAVE_INT;
+ PERL_ARGS_ASSERT_SAVE_BOOL;
SSCHECK(3);
- SSPUSHINT(*intp);
- SSPUSHPTR(intp);
- SSPUSHINT(SAVEt_INT);
+ SSPUSHBOOL(*boolp);
+ SSPUSHPTR(boolp);
+ SSPUSHINT(SAVEt_BOOL);
+}
+
+static void
+S_save_pushi32ptr(pTHX_ const I32 i, void *const ptr, const int type)
+{
+ dVAR;
+ SSCHECK(3);
+ SSPUSHINT(i);
+ SSPUSHPTR(ptr);
+ SSPUSHINT(type);
}
void
-Perl_save_bool(pTHX_ bool *boolp)
+Perl_save_int(pTHX_ int *intp)
{
dVAR;
- PERL_ARGS_ASSERT_SAVE_BOOL;
+ PERL_ARGS_ASSERT_SAVE_INT;
- SSCHECK(3);
- SSPUSHBOOL(*boolp);
- SSPUSHPTR(boolp);
- SSPUSHINT(SAVEt_BOOL);
+ save_pushi32ptr(*intp, intp, SAVEt_INT);
}
void
PERL_ARGS_ASSERT_SAVE_I8;
- SSCHECK(3);
- SSPUSHINT(*bytep);
- SSPUSHPTR(bytep);
- SSPUSHINT(SAVEt_I8);
+ save_pushi32ptr(*bytep, bytep, SAVEt_I8);
}
void
PERL_ARGS_ASSERT_SAVE_I16;
- SSCHECK(3);
- SSPUSHINT(*intp);
- SSPUSHPTR(intp);
- SSPUSHINT(SAVEt_I16);
+ save_pushi32ptr(*intp, intp, SAVEt_I16);
}
void
PERL_ARGS_ASSERT_SAVE_I32;
- SSCHECK(3);
- SSPUSHINT(*intp);
- SSPUSHPTR(intp);
- SSPUSHINT(SAVEt_I32);
+ save_pushi32ptr(*intp, intp, SAVEt_I32);
}
/* Cannot use save_sptr() to store a char* since the SV** cast will