diff options
author | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 1997-08-04 16:15:05 -0300 |
---|---|---|
committer | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 1997-08-04 16:15:05 -0300 |
commit | dd1aa28390ca1acc389a91f5c64a916f0339e594 (patch) | |
tree | b9b23515091875df7de6082a5e833774c9d434c9 /opcode.h | |
parent | abbf14cd32bf83d5ea5ab70977e0653a03b455c5 (diff) | |
download | lua-dd1aa28390ca1acc389a91f5c64a916f0339e594.tar.gz lua-dd1aa28390ca1acc389a91f5c64a916f0339e594.tar.bz2 lua-dd1aa28390ca1acc389a91f5c64a916f0339e594.zip |
small optimization in opcodes for "and" and "or"
Diffstat (limited to 'opcode.h')
-rw-r--r-- | opcode.h | 15 |
1 files changed, 7 insertions, 8 deletions
@@ -1,6 +1,6 @@ | |||
1 | /* | 1 | /* |
2 | ** TeCGraf - PUC-Rio | 2 | ** TeCGraf - PUC-Rio |
3 | ** $Id: opcode.h,v 3.36 1997/07/29 20:38:06 roberto Exp roberto $ | 3 | ** $Id: opcode.h,v 3.37 1997/07/30 22:00:50 roberto Exp roberto $ |
4 | */ | 4 | */ |
5 | 5 | ||
6 | #ifndef opcode_h | 6 | #ifndef opcode_h |
@@ -60,7 +60,7 @@ PUSHLOCAL9,/* - LOC[9] */ | |||
60 | PUSHLOCAL,/* b - LOC[b] */ | 60 | PUSHLOCAL,/* b - LOC[b] */ |
61 | PUSHGLOBAL,/* w - VAR[w] */ | 61 | PUSHGLOBAL,/* w - VAR[w] */ |
62 | PUSHINDEXED,/* i t t[i] */ | 62 | PUSHINDEXED,/* i t t[i] */ |
63 | PUSHSELF,/* w t t t[STR[w]] */ | 63 | PUSHSELF,/* w t t t[CNST[w]] */ |
64 | STORELOCAL0,/* x - LOC[0]=x */ | 64 | STORELOCAL0,/* x - LOC[0]=x */ |
65 | STORELOCAL1,/* x - LOC[1]=x */ | 65 | STORELOCAL1,/* x - LOC[1]=x */ |
66 | STORELOCAL2,/* x - LOC[2]=x */ | 66 | STORELOCAL2,/* x - LOC[2]=x */ |
@@ -78,7 +78,7 @@ STOREINDEXED,/* b v a_b...a_1 i t a_b...a_1 i t t[i]=v */ | |||
78 | STORELIST0,/* b v_b...v_1 t - t[i]=v_i */ | 78 | STORELIST0,/* b v_b...v_1 t - t[i]=v_i */ |
79 | STORELIST,/* b c v_b...v_1 t - t[i+c*FPF]=v_i */ | 79 | STORELIST,/* b c v_b...v_1 t - t[i+c*FPF]=v_i */ |
80 | STORERECORD,/* b | 80 | STORERECORD,/* b |
81 | w_b...w_1 v_b...v_1 t - t[STR[w_i]]=v_i */ | 81 | w_b...w_1 v_b...v_1 t - t[CNST[w_i]]=v_i */ |
82 | ADJUST0,/* - - TOP=BASE */ | 82 | ADJUST0,/* - - TOP=BASE */ |
83 | ADJUST,/* b - - TOP=BASE+b */ | 83 | ADJUST,/* b - - TOP=BASE+b */ |
84 | CREATEARRAY,/* w - newarray(size = w) */ | 84 | CREATEARRAY,/* w - newarray(size = w) */ |
@@ -95,21 +95,20 @@ POWOP,/* y x x^y */ | |||
95 | CONCOP,/* y x x..y */ | 95 | CONCOP,/* y x x..y */ |
96 | MINUSOP,/* x -x */ | 96 | MINUSOP,/* x -x */ |
97 | NOTOP,/* x (x==nil)? 1 : nil */ | 97 | NOTOP,/* x (x==nil)? 1 : nil */ |
98 | ONTJMP,/* w x - (x!=nil)? PC+=w */ | 98 | ONTJMP,/* w x (x!=nil)? x : - (x!=nil)? PC+=w */ |
99 | ONFJMP,/* w x - (x==nil)? PC+=w */ | 99 | ONFJMP,/* w x (x==nil)? x : - (x==nil)? PC+=w */ |
100 | JMP,/* w - - PC+=w */ | 100 | JMP,/* w - - PC+=w */ |
101 | UPJMP,/* w - - PC-=w */ | 101 | UPJMP,/* w - - PC-=w */ |
102 | IFFJMP,/* w x - (x==nil)? PC+=w */ | 102 | IFFJMP,/* w x - (x==nil)? PC+=w */ |
103 | IFFUPJMP,/* w x - (x==nil)? PC-=w */ | 103 | IFFUPJMP,/* w x - (x==nil)? PC-=w */ |
104 | POP,/* x - */ | ||
105 | CALLFUNC,/* b c v_b...v_1 f r_c...r_1 f(v1,...,v_b) */ | 104 | CALLFUNC,/* b c v_b...v_1 f r_c...r_1 f(v1,...,v_b) */ |
106 | RETCODE0, | 105 | RETCODE0, |
107 | RETCODE,/* b - - */ | 106 | RETCODE,/* b - - */ |
108 | SETLINE,/* w - - LINE=w */ | 107 | SETLINE,/* w - - LINE=w */ |
109 | VARARGS,/* b v_b...v_1 {v_1...v_b;n=b} */ | 108 | VARARGS,/* b v_b...v_1 {v_1...v_b;n=b} */ |
110 | STOREMAP,/* b v_b k_b ...v_1 k_1 t - t[k_i]=v_i */ | 109 | STOREMAP,/* b v_b k_b ...v_1 k_1 t - t[k_i]=v_i */ |
111 | PUSHCONSTANTB,/*b - const[b] */ | 110 | PUSHCONSTANTB,/*b - CNST[b] */ |
112 | PUSHCONSTANT,/* w - const[w] */ | 111 | PUSHCONSTANT,/* w - CNST[w] */ |
113 | ENDCODE = 127 | 112 | ENDCODE = 127 |
114 | } OpCode; | 113 | } OpCode; |
115 | 114 | ||