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:
@@ -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]
|
||||
|
||||
Reference in New Issue
Block a user