summaryrefslogtreecommitdiff
path: root/scope.h
diff options
context:
space:
mode:
authorGurusamy Sarathy <gsar@cpan.org>1999-06-09 18:03:01 +0000
committerGurusamy Sarathy <gsar@cpan.org>1999-06-09 18:03:01 +0000
commitcea2e8a9dd23747fd2b66edc86c58c64e9970321 (patch)
tree50e1ad203239e885681b4e804c46363e763ca432 /scope.h
parentf019efd000a9017df645fb6c4cce1e7401ac9445 (diff)
downloadperl-cea2e8a9dd23747fd2b66edc86c58c64e9970321.tar.gz
more complete support for implicit thread/interpreter pointer,
enabled via -DPERL_IMPLICIT_CONTEXT (all changes are noops without that enabled): - USE_THREADS now enables PERL_IMPLICIT_CONTEXT, so dTHR is a noop; tests pass on Solaris; should be faster now! - MULTIPLICITY has been tested with and without PERL_IMPLICIT_CONTEXT on Solaris - improved function database now merged with embed.pl - everything except the varargs functions have foo(a,b,c) macros to provide compatibility - varargs functions default to compatibility variants that get the context pointer using dTHX - there should be almost no source compatibility issues as a result of all this - dl_foo.xs changes other than dl_dlopen.xs untested - still needs documentation, fixups for win32 etc Next step: migrate most non-mutex variables from perlvars.h to intrpvar.h p4raw-id: //depot/perl@3524
Diffstat (limited to 'scope.h')
-rw-r--r--scope.h12
1 files changed, 6 insertions, 6 deletions
diff --git a/scope.h b/scope.h
index 01fc083804..7ebccf45d3 100644
--- a/scope.h
+++ b/scope.h
@@ -48,12 +48,12 @@
#define ENTER \
STMT_START { \
push_scope(); \
- DEBUG_l(WITH_THR(deb("ENTER scope %ld at %s:%d\n", \
+ DEBUG_l(WITH_THR(Perl_deb(aTHX_ "ENTER scope %ld at %s:%d\n", \
PL_scopestack_ix, __FILE__, __LINE__))); \
} STMT_END
#define LEAVE \
STMT_START { \
- DEBUG_l(WITH_THR(deb("LEAVE scope %ld at %s:%d\n", \
+ DEBUG_l(WITH_THR(Perl_deb(aTHX_ "LEAVE scope %ld at %s:%d\n", \
PL_scopestack_ix, __FILE__, __LINE__))); \
pop_scope(); \
} STMT_END
@@ -82,9 +82,9 @@
#define SAVEDELETE(h,k,l) \
save_delete(SOFT_CAST(HV*)(h), SOFT_CAST(char*)(k), (I32)(l))
#ifdef PERL_OBJECT
-#define CALLDESTRUCTOR(p) this->*SSPOPDPTR(p)
+#define CALLDESTRUCTOR this->*SSPOPDPTR
#else
-#define CALLDESTRUCTOR(p) (*SSPOPDPTR)(aTHX_ p)
+#define CALLDESTRUCTOR (*SSPOPDPTR)
#endif
#define SAVEDESTRUCTOR(f,p) \
save_destructor((DESTRUCTORFUNC_t)(FUNC_NAME_TO_PTR(f)), \
@@ -156,8 +156,8 @@ typedef struct jmpenv JMPENV;
* Function that catches/throws, and its callback for the
* body of protected processing.
*/
-typedef void *(CPERLscope(*protect_body_t)) (va_list);
-typedef void *(CPERLscope(*protect_proc_t)) (int *, protect_body_t, ...);
+typedef void *(CPERLscope(*protect_body_t)) (pTHX_ va_list);
+typedef void *(CPERLscope(*protect_proc_t)) (pTHX_ int *, protect_body_t, ...);
/*
* How to build the first jmpenv.