added patch, made linking with setargv a build option
[p5sagit/p5-mst-13.2.git] / opcode.h
index 7ac3895..47dd777 100644 (file)
--- a/opcode.h
+++ b/opcode.h
@@ -349,10 +349,11 @@ typedef enum {
        OP_GETLOGIN,    /* 342 */
        OP_SYSCALL,     /* 343 */
        OP_LOCK,        /* 344 */
+       OP_THREADSV,    /* 345 */
        OP_max          
 } opcode;
 
-#define MAXO 345
+#define MAXO 346
 
 #ifndef DOINIT
 EXT char *op_name[];
@@ -703,6 +704,7 @@ EXT char *op_name[] = {
        "getlogin",
        "syscall",
        "lock",
+       "threadsv",
 };
 #endif
 
@@ -1055,9 +1057,11 @@ EXT char *op_desc[] = {
        "getlogin",
        "syscall",
        "lock",
+       "per-thread variable",
 };
 #endif
 
+#ifndef PERL_OBJECT
 START_EXTERN_C
 
 OP *   ck_anoncode     _((OP* o));
@@ -1438,14 +1442,16 @@ OP *    pp_egrent       _((ARGSproto));
 OP *   pp_getlogin     _((ARGSproto));
 OP *   pp_syscall      _((ARGSproto));
 OP *   pp_lock         _((ARGSproto));
-
+OP *   pp_threadsv     _((ARGSproto));
 
 END_EXTERN_C
+#endif /* PERL_OBJECT */
 
 #ifndef DOINIT
-EXT OP * (*ppaddr[])_((ARGSproto));
+EXT OP * (CPERLscope(*ppaddr)[])(ARGSproto);
 #else
-EXT OP * (*ppaddr[])_((ARGSproto)) = {
+#ifndef PERL_OBJECT
+EXT OP * (CPERLscope(*ppaddr)[])(ARGSproto) = {
        pp_null,
        pp_stub,
        pp_scalar,
@@ -1791,13 +1797,16 @@ EXT OP * (*ppaddr[])_((ARGSproto)) = {
        pp_getlogin,
        pp_syscall,
        pp_lock,
+       pp_threadsv,
 };
+#endif /* PERL_OBJECT */
 #endif
 
 #ifndef DOINIT
-EXT OP * (*check[]) _((OP *op));
+EXT OP * (CPERLscope(*check)[]) _((OP *op));
 #else
-EXT OP * (*check[]) _((OP *op)) = {
+#ifndef PERL_OBJECT
+EXT OP * (CPERLscope(*check)[]) _((OP *op)) = {
        ck_null,        /* null */
        ck_null,        /* stub */
        ck_fun,         /* scalar */
@@ -2143,7 +2152,9 @@ EXT OP * (*check[]) _((OP *op)) = {
        ck_null,        /* getlogin */
        ck_fun,         /* syscall */
        ck_rfun,        /* lock */
+       ck_null,        /* threadsv */
 };
+#endif /* PERL_OBJECT */
 #endif
 
 #ifndef DOINIT
@@ -2170,8 +2181,8 @@ EXT U32 opargs[] = {
        0x00000140,     /* rv2cv */
        0x00000700,     /* anoncode */
        0x00001c04,     /* prototype */
-       0x00002001,     /* refgen */
-       0x00001006,     /* srefgen */
+       0x00002101,     /* refgen */
+       0x00001106,     /* srefgen */
        0x00009c8c,     /* ref */
        0x00091504,     /* bless */
        0x00000c08,     /* backtick */
@@ -2259,7 +2270,7 @@ EXT U32 opargs[] = {
        0x00009c8e,     /* oct */
        0x00009c8e,     /* abs */
        0x00009c9c,     /* length */
-       0x0091150c,     /* substr */
+       0x0991150c,     /* substr */
        0x0011151c,     /* vec */
        0x0091151c,     /* index */
        0x0091151c,     /* rindex */
@@ -2495,6 +2506,6 @@ EXT U32 opargs[] = {
        0x0000000c,     /* getlogin */
        0x0002151d,     /* syscall */
        0x00001c04,     /* lock */
+       0x00000044,     /* threadsv */
 };
 #endif
-