[asperl] integrate latest win32 branch
[p5sagit/p5-mst-13.2.git] / run.c
diff --git a/run.c b/run.c
index 543fb08..ac9752b 100644 (file)
--- a/run.c
+++ b/run.c
  * know.  Run now!  Hope is in speed!"  --Gandalf
  */
 
-dEXT char **watchaddr = 0;
-dEXT char *watchok;
+#ifdef PERL_OBJECT
+#define CALLOP this->*op
+#else
+#define CALLOP *op
+#endif
 
 int
 runops_standard(void) {
     dTHR;
-    SAVEI32(runlevel);
-    runlevel++;
 
-    while ( op = (*op->op_ppaddr)(ARGS) ) ;
+    while ( op = (CALLOP->op_ppaddr)(ARGS) ) ;
 
     TAINT_NOT;
     return 0;
 }
 
 #ifdef DEBUGGING
+
+dEXT char **watchaddr = 0;
+dEXT char *watchok;
+
+#ifndef PERL_OBJECT
 static void debprof _((OP*o));
+#endif
 
 int
 runops_debug(void) {
@@ -42,9 +49,6 @@ runops_debug(void) {
        return 0;
     }
 
-    SAVEI32(runlevel);
-    runlevel++;
-
     do {
        if (debug) {
            if (watchaddr != 0 && *watchaddr != watchok)
@@ -54,7 +58,7 @@ runops_debug(void) {
            DEBUG_t(debop(op));
            DEBUG_P(debprof(op));
        }
-    } while ( op = (*op->op_ppaddr)(ARGS) );
+    } while ( op = (CALLOP->op_ppaddr)(ARGS) );
 
     TAINT_NOT;
     return 0;
@@ -96,7 +100,7 @@ watch(char **addr)
        (long)watchaddr, (long)watchok);
 }
 
-static void
+STATIC void
 debprof(OP *o)
 {
     if (!profiledata)
@@ -117,5 +121,5 @@ debprofdump(void)
     }
 }
 
-#endif
+#endif /* DEBUGGING */