applied patch, tweaked opcode.pl for PERL_OBJECT, and regen opcode.h
Stephen McCamant [Wed, 24 Jun 1998 21:10:32 +0000 (16:10 -0500)]
Message-Id: <m0yp1Ue-000EP2C@alias-2.pr.mcs.net>
Subject: [PATCH REPOST] refgen in opcode.pl

p4raw-id: //depot/perl@1241

opcode.h
opcode.pl

index 62a7a33..47dd777 100644 (file)
--- a/opcode.h
+++ b/opcode.h
@@ -1445,7 +1445,7 @@ OP *      pp_lock         _((ARGSproto));
 OP *   pp_threadsv     _((ARGSproto));
 
 END_EXTERN_C
-#endif  /* PERL_OBJECT */
+#endif /* PERL_OBJECT */
 
 #ifndef DOINIT
 EXT OP * (CPERLscope(*ppaddr)[])(ARGSproto);
@@ -1799,10 +1799,10 @@ EXT OP * (CPERLscope(*ppaddr)[])(ARGSproto) = {
        pp_lock,
        pp_threadsv,
 };
-#endif  /* PERL_OBJECT */
+#endif /* PERL_OBJECT */
 #endif
 
-#ifndef DOINIT 
+#ifndef DOINIT
 EXT OP * (CPERLscope(*check)[]) _((OP *op));
 #else
 #ifndef PERL_OBJECT
@@ -2154,7 +2154,7 @@ EXT OP * (CPERLscope(*check)[]) _((OP *op)) = {
        ck_rfun,        /* lock */
        ck_null,        /* threadsv */
 };
-#endif  /* PERL_OBJECT */
+#endif /* PERL_OBJECT */
 #endif
 
 #ifndef DOINIT
@@ -2181,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 */
index af030df..5891139 100755 (executable)
--- a/opcode.pl
+++ b/opcode.pl
@@ -77,6 +77,7 @@ print <<END;
 };
 #endif
 
+#ifndef PERL_OBJECT
 START_EXTERN_C
 
 END
@@ -98,11 +99,13 @@ for (@ops) {
 print <<END;
 
 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) = {
 END
 
 for (@ops) {
@@ -111,6 +114,7 @@ for (@ops) {
 
 print <<END;
 };
+#endif /* PERL_OBJECT */
 #endif
 
 END
@@ -119,9 +123,10 @@ END
 
 print <<END;
 #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)) = {
 END
 
 for (@ops) {
@@ -130,6 +135,7 @@ for (@ops) {
 
 print <<END;
 };
+#endif /* PERL_OBJECT */
 #endif
 
 END
@@ -241,8 +247,8 @@ av2arylen   array length            ck_null         is1
 rv2cv          subroutine deref        ck_rvconst      d1
 anoncode       anonymous subroutine    ck_anoncode     $       
 prototype      subroutine prototype    ck_null         s%      S
-refgen         reference constructor   ck_spair        m0      L
-srefgen                scalar ref constructor  ck_null         fs0     S
+refgen         reference constructor   ck_spair        m1      L
+srefgen                scalar ref constructor  ck_null         fs1     S
 ref            reference-type operator ck_fun          stu%    S?
 bless          bless                   ck_fun          s@      S S?