Start support for fake threads.
[p5sagit/p5-mst-13.2.git] / opcode.pl
index d63ecc5..5250d57 100755 (executable)
--- a/opcode.pl
+++ b/opcode.pl
@@ -82,13 +82,13 @@ END
 # Emit function declarations.
 
 for (sort keys %ckname) {
-    print "OP *\t", &tab(3,$_),"_((OP* op));\n";
+    print "OP *\t", &tab(3,$_),"_((OP* o));\n";
 }
 
 print "\n";
 
 for (@ops) {
-    print "OP *\t", &tab(3, "pp_\L$_"), "_((void));\n";
+    print "OP *\t", &tab(3, "pp_\L$_"), "_((ARGSproto));\n";
 }
 
 # Emit ppcode switch array.
@@ -326,9 +326,11 @@ exp                exp                     ck_fun          fstu    S?
 log            log                     ck_fun          fstu    S?
 sqrt           sqrt                    ck_fun          fstu    S?
 
+# Lowbrow math.
+
 int            int                     ck_fun          fstu    S?
-hex            hex                     ck_fun          istu    S?
-oct            oct                     ck_fun          istu    S?
+hex            hex                     ck_fun          fstu    S?
+oct            oct                     ck_fun          fstu    S?
 abs            abs                     ck_fun          fstu    S?
 
 # String stuff.
@@ -358,16 +360,16 @@ aelemfast known array element     ck_null         s       A S
 aelem          array element           ck_null         s       A S
 aslice         array slice             ck_null         m       A L
 
-# Associative arrays.
+# Hashes.
 
 each           each                    ck_fun          t       H
 values         values                  ck_fun          t       H
 keys           keys                    ck_fun          t       H
 delete         delete                  ck_delete       0       S
 exists         exists operator         ck_exists       is      S
-rv2hv          associative array deref ck_rvconst      dt      
-helem          associative array elem  ck_null         s       H S
-hslice         associative array slice ck_null         m       H L
+rv2hv          hash deref              ck_rvconst      dt      
+helem          hash elem               ck_null         s       H S
+hslice         hash slice              ck_null         m       H L
 
 # Explosives and implosives.
 
@@ -470,6 +472,7 @@ prtf                printf                  ck_listiob      ims     F? L
 print          print                   ck_listiob      ims     F? L
 
 sysopen                sysopen                 ck_fun          s       F S S S?
+sysseek                sysseek                 ck_fun          s       F S S
 sysread                sysread                 ck_fun          imst    F R S S?
 syswrite       syswrite                ck_fun          imst    F S S S?
 
@@ -649,3 +652,6 @@ getlogin    getlogin                ck_null         st
 # Miscellaneous.
 
 syscall                syscall                 ck_fun          imst    S L
+
+# For multi-threading
+lock           lock                    ck_null         s       S