diff options
author | Benoit Giannangeli <benoit.giannangeli@boursorama.fr> | 2017-02-14 09:13:20 +0100 |
---|---|---|
committer | Benoit Giannangeli <benoit.giannangeli@boursorama.fr> | 2017-02-14 10:52:32 +0100 |
commit | 9e3acbbb3f0dc45cc1444645cd1b4585ef911017 (patch) | |
tree | 0d01441f8d179d224ec2e6134b99320aaf39b146 /src | |
parent | f5536cd8aae574bd57f646e1e53e733f8b61a46a (diff) | |
download | fengari-9e3acbbb3f0dc45cc1444645cd1b4585ef911017.tar.gz fengari-9e3acbbb3f0dc45cc1444645cd1b4585ef911017.tar.bz2 fengari-9e3acbbb3f0dc45cc1444645cd1b4585ef911017.zip |
Setting metatable manually until setmetatable is available
Using a breakpoint flag on specific opcode to stop the program so we can
manipulate the stack manually within the test
Diffstat (limited to 'src')
-rw-r--r-- | src/ltm.js | 2 | ||||
-rw-r--r-- | src/lvm.js | 3 |
2 files changed, 4 insertions, 1 deletions
@@ -87,7 +87,7 @@ const luaT_gettmbyobj = function(L, o, event) { switch(o.ttnov()) { case CT.LUA_TTABLE: case CT.LUA_TTUSERDATA: - mt = o.value.metatable; + mt = o.metatable; break; default: // TODO: mt = G(L)->mt[ttnov(o)]; @@ -68,6 +68,9 @@ const luaV_execute = function(L) { opcode = OC.OpCodes[i.opcode]; } + if (i.breakpoint) // TODO: remove, used until lapi + return; + switch (opcode) { case "OP_MOVE": { L.stack[ra] = L.stack[RB(L, base, i)]; |