-C Fix\san\serror\sin\sthe\scollation\ssequence\sexamples\sin\sdatatype3.html.\sTicket\s#1641.\s(CVS\s3032)
-D 2006-01-26T13:25:08
+C Enhanced\scomments\son\sthe\sopcode.h\sbuilding\sscript.\s(CVS\s3033)
+D 2006-01-26T14:29:59
F Makefile.in e936c6fc3134838318aa0335a85041e6da31f6ee
F Makefile.linux-gcc 74ba0eadf88748a9ce3fd03d2a3ede2e6715baec
F README 9c4e2d6706bdcc3efdd773ce752a8cdab4f90028
F main.mk 33144e8ccfa885a4b0c1c03e85131bd6c541f30c
F mkdll.sh 89b5390110c0b7fd93d6c456964c2b9adfcfc339
F mkopcodec.awk bd46ad001c98dfbab07b1713cb8e692fa0e5415d
-F mkopcodeh.awk 071dbba4eaf56c8d643baf4604a043af35683316
+F mkopcodeh.awk cde995d269aa06c94adbf6455bea0acedb913fa5
F mkso.sh 125868def279650a07d3f0f5e8476fecf99613fd
F publish.sh 0803a2952107454d3eaf2e239bd6699951ecfbab
F spec.template b2f6c4e488cbc3b993a57deba22cbc36203c4da3
F www/vdbe.tcl 87a31ace769f20d3627a64fa1fade7fed47b90d0
F www/version3.tcl a99cf5f6d8bd4d5537584a2b342f0fb9fa601d8b
F www/whentouse.tcl 97e2b5cd296f7d8057e11f44427dea8a4c2db513
-P 540d28a7d355d846cedfc21fb5156379fec830ce
-R df5e3b23767b10ce3f07ae78f3ff21de
-U danielk1977
-Z 76444247d45c3a165da6b284879720a8
+P 1658ea53c929f26741d788d170368d37ae5fd105
+R 8cc13ebb48c25205bb4460d7286c91b2
+U drh
+Z 9ac8babc6b94a319747466ad0d722afb
# the OP_ is the same as the TK_ value. If missing, the OP_ value is assigned
# a small integer that is different from every other OP_ value.
#
-# We go to the trouble of making some OP_ value the same as TK_ values
+# We go to the trouble of making some OP_ values the same as TK_ values
# as an optimization. During parsing, things like expression operators
# are coded with TK_ values such as TK_ADD, TK_DIVIDE, and so forth. Later
# during code generation, we need to generate corresponding opcodes like
# OP_Add and OP_Divide. By making TK_ADD==OP_Add and TK_DIVIDE==OP_Divide,
-# code to translation from one to the other is avoided. This makes the
+# code to translate from one to the other is avoided. This makes the
# code generator run (infinitesimally) faster and more importantly it makes
-# the total library smaller.
+# the library footprint smaller.
#
# This script also scans for lines of the form:
#
# case OP_aaaa: /* no-push */
#
# When the no-push comment is found on an opcode, it means that that
-# opcode does not leave a result on the stack. But identifying which
+# opcode does not leave a result on the stack. By identifying which
# opcodes leave results on the stack it is possible to determine a
# much smaller upper bound on the size of the stack. This allows
# a smaller stack to be allocated, which is important to embedded
}
}
printf "\n"
+ print "/* Opcodes that are guaranteed to never push a value onto the stack"
+ print "** contain a 1 their corresponding position of the following mask"
+ print "** set. See the opcodeNoPush() function in vdbeaux.c */"
for(i=0; i<10; i++){
- printf "#define NOPUSH_MASK_%d %d\n", i, nopush[i]
+ printf "#define NOPUSH_MASK_%d 0x%04x\n", i, nopush[i]
}
}