Registerification of the VDBE is complete.  The operand stack has been
removed from the code.  All instructions operate out of registers only. (CVS 4718)

FossilOrigin-Name: 706b41b70bd1e2030e6fa44358c38a26c5cf0985
diff --git a/mkopcodeh.awk b/mkopcodeh.awk
index 2b57a41..538bccc 100644
--- a/mkopcodeh.awk
+++ b/mkopcodeh.awk
@@ -51,7 +51,6 @@
   sub("\r","",name)
   op[name] = -1
   jump[name] = 0
-  nopush[name] = 0
   out2_prerelease[name] = 0
   in1[name] = 0
   in2[name] = 0
@@ -68,9 +67,7 @@
     }
     x = $i
     sub(",","",x)
-    if(x=="no-push"){
-      nopush[name] = 1
-    }else if(x=="jump"){
+    if(x=="jump"){
       jump[name] = 1
     }else if(x=="out2-prerelease"){
       out2_prerelease[name] = 1
@@ -130,16 +127,16 @@
   for(name in op){
     x = op[name]
     a0 = a1 = a2 = a3 = a4 = a5 = a6 = a7 = 0
-    a8 = a9 = a10 = a11 = a12 = a13 = a14 = a15 = 0
+    # a8 = a9 = a10 = a11 = a12 = a13 = a14 = a15 = 0
     if( jump[name] ) a0 = 1;
-    if( nopush[name]==0 ) a1 = 2;
-    if( out2_prerelease[name] ) a2 = 4;
-    if( in1[name] ) a3 = 8;
-    if( in2[name] ) a4 = 16;
-    if( in3[name] ) a5 = 32;
-    if( out2[name] ) a6 = 64;
-    if( out3[name] ) a7 = 128;
-    bv[x] = a0+a1+a2+a3+a4+a5+a6+a7+a8+a9+a10+a11+a12+a13+a14+a15;
+    if( out2_prerelease[name] ) a1 = 2;
+    if( in1[name] ) a2 = 4;
+    if( in2[name] ) a3 = 8;
+    if( in3[name] ) a4 = 16;
+    if( out2[name] ) a5 = 32;
+    if( out3[name] ) a6 = 64;
+    # bv[x] = a0+a1+a2+a3+a4+a5+a6+a7+a8+a9+a10+a11+a12+a13+a14+a15;
+    bv[x] = a0+a1+a2+a3+a4+a5+a6;
   }
   print "\n"
   print "/* Properties such as \"out2\" or \"jump\" that are specified in"
@@ -147,17 +144,16 @@
   print "** are encoded into bitvectors as follows:"
   print "*/"
   print "#define OPFLG_JUMP            0x0001  /* jump:  P2 holds jmp target */"
-  print "#define OPFLG_PUSH            0x0002  /* ~no-push:  Does not push */"
-  print "#define OPFLG_OUT2_PRERELEASE 0x0004  /* out2-prerelease: */"
-  print "#define OPFLG_IN1             0x0008  /* in1:   P1 is an input */"
-  print "#define OPFLG_IN2             0x0010  /* in2:   P2 is an input */"
-  print "#define OPFLG_IN3             0x0020  /* in3:   P3 is an input */"
-  print "#define OPFLG_OUT2            0x0040  /* out2:  P2 is an output */"
-  print "#define OPFLG_OUT3            0x0080  /* out3:  P3 is an output */"
+  print "#define OPFLG_OUT2_PRERELEASE 0x0002  /* out2-prerelease: */"
+  print "#define OPFLG_IN1             0x0004  /* in1:   P1 is an input */"
+  print "#define OPFLG_IN2             0x0008  /* in2:   P2 is an input */"
+  print "#define OPFLG_IN3             0x0010  /* in3:   P3 is an input */"
+  print "#define OPFLG_OUT2            0x0020  /* out2:  P2 is an output */"
+  print "#define OPFLG_OUT3            0x0040  /* out3:  P3 is an output */"
   print "#define OPFLG_INITIALIZER {\\"
   for(i=0; i<=max; i++){
     if( i%8==0 ) printf("/* %3d */",i)
-    printf " 0x%04x,", bv[i]
+    printf " 0x%02x,", bv[i]
     if( i%8==7 ) printf("\\\n");
   }
   print "}"