X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=pp.h;h=2209feeb9a43248fd068f23d3de68b3a25280d75;hb=15ee1d8715e28c0c0be2cceb2f9f90d79153090e;hp=3c3bdcf9c07a3d6c75348ca966904da2a7357a7f;hpb=9607fc9c489d4095e3baa795d7ead7acba96137d;p=p5sagit%2Fp5-mst-13.2.git diff --git a/pp.h b/pp.h index 3c3bdcf..2209fee 100644 --- a/pp.h +++ b/pp.h @@ -7,10 +7,14 @@ * */ +#ifdef USE_THREADS +#define ARGS thr +#define dARGS struct perl_thread *thr; +#else #define ARGS -#define ARGSproto void #define dARGS -#define PP(s) OP* s(ARGS) dARGS +#endif /* USE_THREADS */ +#define PP(s) OP * s(ARGSproto) #define SP sp #define MARK mark @@ -23,7 +27,8 @@ #define TOPMARK (*markstack_ptr) #define POPMARK (*markstack_ptr--) -#define dSP register SV **sp = stack_sp +#define djSP register SV **sp = stack_sp +#define dSP dTHR; djSP #define dMARK register SV **mark = stack_base + POPMARK #define dORIGMARK I32 origmark = mark - stack_base #define SETORIGMARK origmark = mark - stack_base @@ -145,10 +150,10 @@ #define ARGTARG op->op_targ #define MAXARG op->op_private -#define SWITCHSTACK(f,t) AvFILL(f) = sp - stack_base; \ +#define SWITCHSTACK(f,t) AvFILLp(f) = sp - stack_base; \ stack_base = AvARRAY(t); \ stack_max = stack_base + AvMAX(t); \ - sp = stack_sp = stack_base + AvFILL(t); \ + sp = stack_sp = stack_base + AvFILLp(t); \ curstack = t; #define EXTEND_MORTAL(n) \