summaryrefslogtreecommitdiff
path: root/scope.h
diff options
context:
space:
mode:
authorIlya Zakharevich <ilya@math.berkeley.edu>2000-11-19 17:30:26 -0500
committerJarkko Hietaniemi <jhi@iki.fi>2000-11-20 04:06:08 +0000
commit02db2b7b4dd14eb0184a5e518cff4cef3723243b (patch)
treebf8644977ef7f00aca93f52c958c596bb6ca68e0 /scope.h
parent2b3f4ecd4597e6a2094b9dab9e0f5a8234dd5ac9 (diff)
downloadperl-02db2b7b4dd14eb0184a5e518cff4cef3723243b.tar.gz
The first step in removing recursion from the REx engine
Message-ID: <20001119223026.A5165@monk.mps.ohio-state.edu> p4raw-id: //depot/perl@7760
Diffstat (limited to 'scope.h')
-rw-r--r--scope.h9
1 files changed, 6 insertions, 3 deletions
diff --git a/scope.h b/scope.h
index e6a4209bd7..3aad0be2ae 100644
--- a/scope.h
+++ b/scope.h
@@ -173,11 +173,14 @@ Closing bracket on a callback. See C<ENTER> and L<perlcall>.
* SSPTR() converts the index returned by SSNEW/SSNEWa() into a pointer.
*/
-#define SSNEW(size) save_alloc(size, 0)
-#define SSNEWa(size,align) save_alloc(size, \
+#define SSNEW(size) save_alloc(aTHX_ (size), 0)
+#define SSNEWt(n,t) SSNEW((n)*sizeof(t))
+#define SSNEWa(size,align) save_alloc(aTHX_ (size), \
(align - ((int)((caddr_t)&PL_savestack[PL_savestack_ix]) % align)) % align)
+#define SSNEWat(n,t,align) SSNEWa((n)*sizeof(t), align)
-#define SSPTR(off,type) ((type) ((char*)PL_savestack + off))
+#define SSPTR(off,type) ((type) ((char*)PL_savestack + off))
+#define SSPTRt(off,type) ((type*) ((char*)PL_savestack + off))
/* A jmpenv packages the state required to perform a proper non-local jump.
* Note that there is a start_env initialized when perl starts, and top_env