1
0
mirror of https://github.com/sqlite/sqlite.git synced 2026-01-06 08:01:16 +03:00

Get rid of OP_Dup, OP_MemStore, OP_MemLoad, and OP_MemMove. Replace

with OP_Copy, OP_SCopy, and OP_Move.  Add the infrastructure for
operation properties in1, in2, in3, out2, and out3 but do not yet
use any of these. (CVS 4682)

FossilOrigin-Name: cc149eb9ca3c672cc6fea3528353234ac2ed5745
This commit is contained in:
drh
2008-01-05 04:06:03 +00:00
parent 4c583128bd
commit b1fdb2adea
15 changed files with 285 additions and 201 deletions

View File

@@ -53,6 +53,11 @@
jump[name] = 0
nopush[name] = 0
out2_prerelease[name] = 0
in1[name] = 0
in2[name] = 0
in3[name] = 0
out2[name] = 0
out3[name] = 0
for(i=3; i<NF; i++){
if($i=="same" && $(i+1)=="as"){
sym = $(i+2)
@@ -69,6 +74,16 @@
jump[name] = 1
}else if(x=="out2-prerelease"){
out2_prerelease[name] = 1
}else if(x=="in1"){
in1[name] = 1
}else if(x=="in2"){
in2[name] = 1
}else if(x=="in3"){
in3[name] = 1
}else if(x=="out2"){
out2[name] = 1
}else if(x=="out3"){
out3[name] = 1
}
}
}
@@ -118,6 +133,11 @@ END {
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;
}
print "\n"
@@ -128,6 +148,11 @@ END {
print "#define OPFLG_JUMP 0x01 /* jump: P2 holds jmp target */"
print "#define OPFLG_PUSH 0x02 /* ~no-push: Does not push */"
print "#define OPFLG_OUT2_PRERELEASE 0x04 /* out2-prerelease: */"
print "#define OPFLG_IN1 0x08 /* in1: P1 is an input */"
print "#define OPFLG_IN2 0x10 /* in2: P2 is an input */"
print "#define OPFLG_IN3 0x20 /* in3: P3 is an input */"
print "#define OPFLG_OUT2 0x40 /* out2: P2 is an output */"
print "#define OPFLG_OUT3 0x80 /* out3: P3 is an output */"
print "#define OPFLG_INITIALIZER {\\"
for(i=0; i<=max; i++){
printf " 0x%02x,", bv[i]