difforig DevelOpProf-0.2

diff -u  DevelOpProf-0.2/OpProf.xs.orig
--- DevelOpProf-0.2/OpProf.xs.orig	1998-08-13 10:53:41.000000000 +0000
+++ DevelOpProf-0.2/OpProf.xs	2008-05-25 15:21:08.453125000 +0000
@@ -10,25 +10,20 @@
 #include "perl.h"
 #include "XSUB.h"
 
-#ifdef PERL_OBJECT
-#define CALLOP this->*PL_op
-#else
-#define CALLOP *PL_op
-#endif
-
 static int profiling = 0;
 static unsigned long *op_count;
 
-static int runops_opprof(void)
-{
-    dTHR;
-
-    do {
-	if (profiling)
-	    op_count[PL_op->op_type]++;
-    } while (PL_op = (CALLOP->op_ppaddr)(ARGS));
-    TAINT_NOT;
-    return 0;
+static int 
+runops_opprof(pTHX) {
+  dTHR;
+  do {
+      PERL_ASYNC_CHECK(); 
+      if (profiling)
+	  op_count[PL_op->op_type]++;
+  } while ((PL_op = CALL_FPTR(PL_op->op_ppaddr)(aTHX))); 
+
+  TAINT_NOT;
+  return 0;
 }
 
 MODULE = Devel::OpProf		PACKAGE = Devel::OpProf