refetch local stack pointer in POPSTACK
Gurusamy Sarathy [Wed, 4 Nov 1998 23:02:16 +0000 (23:02 +0000)]
p4raw-id: //depot/perl@2191

cop.h
perl.c

diff --git a/cop.h b/cop.h
index 69bc1ac..d3f7194 100644 (file)
--- a/cop.h
+++ b/cop.h
@@ -359,6 +359,7 @@ typedef struct stackinfo PERL_SI;
 
 #define POPSTACK \
     STMT_START {                                                       \
+       djSP;                                                           \
        PERL_SI *prev = PL_curstackinfo->si_prev;                       \
        if (!prev) {                                                    \
            PerlIO_printf(PerlIO_stderr(), "panic: POPSTACK\n");        \
diff --git a/perl.c b/perl.c
index 388dd8b..32664b0 100644 (file)
--- a/perl.c
+++ b/perl.c
@@ -1020,7 +1020,7 @@ perl_run(void)
 perl_run(PerlInterpreter *sv_interp)
 #endif
 {
-    dSP;
+    dTHR;
     I32 oldscope;
     dJMPENV;
     int ret;
@@ -2978,7 +2978,7 @@ my_failure_exit(void)
 STATIC void
 my_exit_jump(void)
 {
-    dSP;
+    dTHR;
     register PERL_CONTEXT *cx;
     I32 gimme;
     SV **newsp;