lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]


Some more infos:

I'm currently looking at

#define GETARG_C(i) (cast(int, ((i)>>POS_C) & MASK1(SIZE_C,0)))

the relevant elements have the following values:

 - i      = 16410 (0100 0000 0001 1010 binary)
 - POS_C  = 14
 - SIZE_C = 9
 - MASK1  = 0x1FF

The macro itself seems to be correct - but what about "i"? If
lvm.c wants l_isfalse(ra) != GETARG_C(i) (see below:

      case OP_TEST: {
        if (l_isfalse(ra) != GETARG_C(i))
          dojump(L, pc, GETARG_sBx(*pc));
        pc++;
        continue;
      }

) the first "1" in "i" should better be 0!?

Unfortunately, I have no knowledge of Lua opcodes at all, and
thus I could be completely wrong...

Kind regards,

Andreas Rozek         Phone:  ++49 (7031) 436 5784
Brunnenstraße 30/2    Mobile: ++49 (151) 172 879 18
D-71032 Böblingen     EMail:  Andreas.Rozek@gmx.de
Germany               URL:    http://www.Andreas-Rozek.de