Replace some instruction sequences with their SI equivalents.

This commit is contained in:
Michael Munday 2017-01-10 12:52:45 -05:00
parent 21655cf90b
commit 660ddd1db2

View File

@ -1395,9 +1395,7 @@ static void build_subroutines(BuildCtx *ctx)
| checktptp L:TMPR2, LJ_TTHREAD, ->fff_fallback | checktptp L:TMPR2, LJ_TTHREAD, ->fff_fallback
|.endif |.endif
| ltg TMPR2, L:RB->cframe; jne ->fff_fallback | ltg TMPR2, L:RB->cframe; jne ->fff_fallback
| // TODO: replace with cli. | cli L:RB->status, LUA_YIELD; jh ->fff_fallback
| llgc TMPR1, L:RB->status
| cghi TMPR1, (uint8_t)LUA_YIELD; jh ->fff_fallback
| lg RA, L:RB->top | lg RA, L:RB->top
| je >1 // Status != LUA_YIELD (i.e. 0)? | je >1 // Status != LUA_YIELD (i.e. 0)?
| cg RA, L:RB->base // Check for presence of initial func. | cg RA, L:RB->base // Check for presence of initial func.
@ -3250,8 +3248,7 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop)
| n TMPR1, STR:RC->hash | n TMPR1, STR:RC->hash
| lgfr TMPR1, TMPR1 | lgfr TMPR1, TMPR1
| mghi TMPR1, #NODE | mghi TMPR1, #NODE
| xr TMPR2, TMPR2 | mvi TAB:RB->nomm, 0 // Clear metamethod cache.
| stc TMPR2, TAB:RB->nomm // Clear metamethod cache.
| ag NODE:TMPR1, TAB:RB->node | ag NODE:TMPR1, TAB:RB->node
| settp ITYPE, STR:RC, LJ_TSTR | settp ITYPE, STR:RC, LJ_TSTR
|1: |1:
@ -3596,8 +3593,7 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop)
| lghi TMPR2, BC_JMP | lghi TMPR2, BC_JMP
| stcy TMPR2, PC_OP | stcy TMPR2, PC_OP
| branchPC RD | branchPC RD
| lghi TMPR2, BC_ITERC | mvi 3(PC), BC_ITERC
| stc TMPR2, 3(PC)
| j <1 | j <1
break; break;