aboutsummaryrefslogtreecommitdiff
path: root/lvm.c
diff options
context:
space:
mode:
authorRoberto Ierusalimschy <roberto@inf.puc-rio.br>1997-10-24 16:40:29 -0200
committerRoberto Ierusalimschy <roberto@inf.puc-rio.br>1997-10-24 16:40:29 -0200
commit18cd7adac6e5745cad93fecacbe6a2ed16dd3e18 (patch)
tree5f21e7ec2add2058933cebff6e575a107a2e2771 /lvm.c
parent41223a01eccafa03990ca6d89124b0955001a9ce (diff)
downloadlua-18cd7adac6e5745cad93fecacbe6a2ed16dd3e18.tar.gz
lua-18cd7adac6e5745cad93fecacbe6a2ed16dd3e18.tar.bz2
lua-18cd7adac6e5745cad93fecacbe6a2ed16dd3e18.zip
optimization to handle <a.x> (new opcode).
Diffstat (limited to 'lvm.c')
-rw-r--r--lvm.c16
1 files changed, 15 insertions, 1 deletions
diff --git a/lvm.c b/lvm.c
index 2f8aaea1..3bd5eff2 100644
--- a/lvm.c
+++ b/lvm.c
@@ -1,5 +1,5 @@
1/* 1/*
2** $Id: lvm.c,v 1.10 1997/10/16 10:59:34 roberto Exp roberto $ 2** $Id: lvm.c,v 1.11 1997/10/24 17:17:24 roberto Exp roberto $
3** Lua virtual machine 3** Lua virtual machine
4** See Copyright Notice in lua.h 4** See Copyright Notice in lua.h
5*/ 5*/
@@ -335,6 +335,20 @@ StkId luaV_execute (Closure *cl, StkId base)
335 luaV_gettable(); 335 luaV_gettable();
336 break; 336 break;
337 337
338 case GETDOTTEDW:
339 aux = next_word(pc); goto getdotted;
340
341 case GETDOTTED:
342 aux = *pc++; goto getdotted;
343
344 case GETDOTTED0: case GETDOTTED1: case GETDOTTED2: case GETDOTTED3:
345 case GETDOTTED4: case GETDOTTED5: case GETDOTTED6: case GETDOTTED7:
346 aux -= GETDOTTED0;
347 getdotted:
348 *luaD_stack.top++ = consts[aux];
349 luaV_gettable();
350 break;
351
338 case PUSHSELFW: 352 case PUSHSELFW:
339 aux = next_word(pc); goto pushself; 353 aux = next_word(pc); goto pushself;
340 354