Lines Matching refs:e1
3483 static int constfolding(OpCode op,expdesc*e1,expdesc*e2){
3485 if(!isnumeral(e1)||!isnumeral(e2))return 0;
3486 v1=e1->u.nval;
3504 e1->u.nval=r;
3507 static void codearith(FuncState*fs,OpCode op,expdesc*e1,expdesc*e2){
3508 if(constfolding(op,e1,e2))
3512 int o1=luaK_exp2RK(fs,e1);
3514 freeexp(fs,e1);
3519 freeexp(fs,e1);
3521 e1->u.s.info=luaK_codeABC(fs,op,0,o1,o2);
3522 e1->k=VRELOCABLE;
3525 static void codecomp(FuncState*fs,OpCode op,int cond,expdesc*e1,
3527 int o1=luaK_exp2RK(fs,e1);
3530 freeexp(fs,e1);
3536 e1->u.s.info=condjump(fs,op,cond,o1,o2);
3537 e1->k=VJMP;
3583 static void luaK_posfix(FuncState*fs,BinOpr op,expdesc*e1,expdesc*e2){
3587 luaK_concat(fs,&e2->f,e1->f);
3588 *e1=*e2;
3593 luaK_concat(fs,&e2->t,e1->t);
3594 *e1=*e2;
3600 freeexp(fs,e1);
3601 SETARG_B(getcode(fs,e2),e1->u.s.info);
3602 e1->k=VRELOCABLE;e1->u.s.info=e2->u.s.info;
3606 codearith(fs,OP_CONCAT,e1,e2);
3610 case OPR_ADD:codearith(fs,OP_ADD,e1,e2);break;
3611 case OPR_SUB:codearith(fs,OP_SUB,e1,e2);break;
3612 case OPR_MUL:codearith(fs,OP_MUL,e1,e2);break;
3613 case OPR_DIV:codearith(fs,OP_DIV,e1,e2);break;
3614 case OPR_MOD:codearith(fs,OP_MOD,e1,e2);break;
3615 case OPR_POW:codearith(fs,OP_POW,e1,e2);break;
3616 case OPR_EQ:codecomp(fs,OP_EQ,1,e1,e2);break;
3617 case OPR_NE:codecomp(fs,OP_EQ,0,e1,e2);break;
3618 case OPR_LT:codecomp(fs,OP_LT,1,e1,e2);break;
3619 case OPR_LE:codecomp(fs,OP_LE,1,e1,e2);break;
3620 case OPR_GT:codecomp(fs,OP_LT,0,e1,e2);break;
3621 case OPR_GE:codecomp(fs,OP_LE,0,e1,e2);break;