Răsfoiți Sursa

Add workaround for bytecode dump of builtins.

Reported by Hang Zhou. Thanks to Sergey Kaplun. #1038
Mike Pall 2 ani în urmă
părinte
comite
165ea18b0e
1 a modificat fișierele cu 2 adăugiri și 1 ștergeri
  1. 2 1
      src/lj_bcwrite.c

+ 2 - 1
src/lj_bcwrite.c

@@ -189,7 +189,8 @@ static void bcwrite_knum(BCWriteCtx *ctx, GCproto *pt)
       goto save_int;
     } else {
       /* Write a 33 bit ULEB128 for the int (lsb=0) or loword (lsb=1). */
-      if (!LJ_DUALNUM) {  /* Narrow number constants to integers. */
+      if (!LJ_DUALNUM && o->u32.hi != LJ_KEYINDEX) {
+	/* Narrow number constants to integers. */
 	lua_Number num = numV(o);
 	k = lj_num2int(num);
 	if (num == (lua_Number)k) {  /* -0 is never a constant. */