diff options
author | Gurusamy Sarathy <gsar@cpan.org> | 1999-06-09 18:03:01 +0000 |
---|---|---|
committer | Gurusamy Sarathy <gsar@cpan.org> | 1999-06-09 18:03:01 +0000 |
commit | cea2e8a9dd23747fd2b66edc86c58c64e9970321 (patch) | |
tree | 50e1ad203239e885681b4e804c46363e763ca432 /opcode.pl | |
parent | f019efd000a9017df645fb6c4cce1e7401ac9445 (diff) | |
download | perl-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 'opcode.pl')
-rwxr-xr-x | opcode.pl | 14 |
1 files changed, 7 insertions, 7 deletions
@@ -83,7 +83,7 @@ START_EXTERN_C #undef PERL_CKDEF #undef PERL_PPDEF #define PERL_CKDEF(s) OP *s (pTHX_ OP *o); -#define PERL_PPDEF(s) OP *s (pTHX_ ARGSproto); +#define PERL_PPDEF(s) OP *s (pTHX); #include "pp_proto.h" @@ -92,13 +92,13 @@ END # Emit function declarations. #for (sort keys %ckname) { -# print "OP *\t", &tab(3,$_),"(OP* o);\n"; +# print "OP *\t", &tab(3,$_),"(pTHX_ OP* o);\n"; #} # #print "\n"; # #for (@ops) { -# print "OP *\t", &tab(3, "pp_$_"), "(ARGSproto);\n"; +# print "OP *\t", &tab(3, "pp_$_"), "(pTHX);\n"; #} # Emit ppcode switch array. @@ -109,9 +109,9 @@ END_EXTERN_C #endif /* PERL_OBJECT */ #ifndef DOINIT -EXT OP * (CPERLscope(*PL_ppaddr)[])(ARGSproto); +EXT OP * (CPERLscope(*PL_ppaddr)[])(pTHX); #else -EXT OP * (CPERLscope(*PL_ppaddr)[])(ARGSproto) = { +EXT OP * (CPERLscope(*PL_ppaddr)[])(pTHX) = { END for (@ops) { @@ -128,9 +128,9 @@ END print <<END; #ifndef DOINIT -EXT OP * (CPERLscope(*PL_check)[]) (OP *op); +EXT OP * (CPERLscope(*PL_check)[]) (pTHX_ OP *op); #else -EXT OP * (CPERLscope(*PL_check)[]) (OP *op) = { +EXT OP * (CPERLscope(*PL_check)[]) (pTHX_ OP *op) = { END for (@ops) { |