LONGARGW (for completeness).

This commit is contained in:
Roberto Ierusalimschy 1999-02-23 10:38:38 -03:00
parent e3a02e6a9c
commit c364e9f97e
2 changed files with 6 additions and 4 deletions

View File

@ -1,5 +1,5 @@
/*
** $Id: lopcodes.h,v 1.24 1999/02/09 15:58:45 roberto Exp roberto $
** $Id: lopcodes.h,v 1.25 1999/02/09 18:01:55 roberto Exp roberto $
** Opcodes for Lua virtual machine
** See Copyright Notice in lua.h
*/
@ -106,6 +106,7 @@ CALLFUNC,/* b c v_c...v_1 f r_b...r_1 f(v1,...,v_c) */
SETLINEW,/* w - - LINE=w */
SETLINE,/* b - - LINE=b */
LONGARGW,/* w (add w*(1<<16) to arg of next instruction) */
LONGARG /* b (add b*(1<<16) to arg of next instruction) */
} OpCode;

7
lvm.c
View File

@ -1,5 +1,5 @@
/*
** $Id: lvm.c,v 1.48 1999/02/09 15:58:45 roberto Exp roberto $
** $Id: lvm.c,v 1.49 1999/02/09 18:01:55 roberto Exp roberto $
** Lua virtual machine
** See Copyright Notice in lua.h
*/
@ -638,8 +638,9 @@ StkId luaV_execute (Closure *cl, TProtoFunc *tf, StkId base) {
luaD_lineHook(aux);
break;
case LONGARG:
aux = highbyte(highbyte(*pc++));
case LONGARGW: aux += highbyte(*pc++);
case LONGARG: aux += *pc++;
aux = highbyte(highbyte(aux));
goto switchentry; /* do not reset "aux" */
}