Explorar o código

First opcodes

MOVE, LOADI
Hugo Musso Gualandi %!s(int64=3) %!d(string=hai) anos
pai
achega
5c1f9c0f99
Modificáronse 2 ficheiros con 15 adicións e 2 borrados
  1. 13 0
      src/functions_header.c
  2. 2 2
      src/luaot_functions.c

+ 13 - 0
src/functions_header.c

@@ -178,3 +178,16 @@ void luaot_vmfetch_trap(lua_State *L, LuaotExecuteState *ctx, const Instruction
     updatebase(ctx->ci);  /* correct stack */ \
 }
 
+static
+void luaot_MOVE(lua_State *L,
+                StkId ra, StkId rb)
+{
+    setobjs2s(L, ra, rb);
+}
+
+static
+void luaot_LOADI(lua_State *L,
+                 StkId ra, lua_Integer b)
+{
+    setivalue(s2v(ra), b);
+}

+ 2 - 2
src/luaot_functions.c

@@ -104,12 +104,12 @@ void create_function(Proto *f)
 
         switch (op) {
             case OP_MOVE: {
-                println("    setobjs2s(L, ra, RB(i));");
+                println("    luaot_MOVE(L, ra, RB(i));");
                 break;
             }
             case OP_LOADI: {
                 println("    lua_Integer b = GETARG_sBx(i);");
-                println("    setivalue(s2v(ra), b);");
+                println("    luaot_LOADI(L, ra, b);");
                 break;
             }
             case OP_LOADF: {