diff options
author | Mike Pall <mike> | 2023-08-12 14:37:35 +0200 |
---|---|---|
committer | Mike Pall <mike> | 2023-08-12 14:37:35 +0200 |
commit | 165ea18b0e977109c90d84cd3e01183de04e8996 (patch) | |
tree | 68b74f326001420ec1fd805ff71eb6b4010f16b4 /src | |
parent | 91914b23f69ce2863ba1cca90f2a9fc69ad2675b (diff) | |
download | luajit-165ea18b0e977109c90d84cd3e01183de04e8996.tar.gz luajit-165ea18b0e977109c90d84cd3e01183de04e8996.tar.bz2 luajit-165ea18b0e977109c90d84cd3e01183de04e8996.zip |
Add workaround for bytecode dump of builtins.
Reported by Hang Zhou. Thanks to Sergey Kaplun. #1038
Diffstat (limited to 'src')
-rw-r--r-- | src/lj_bcwrite.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/lj_bcwrite.c b/src/lj_bcwrite.c index 2c70ff47..d3986ea4 100644 --- a/src/lj_bcwrite.c +++ b/src/lj_bcwrite.c | |||
@@ -189,7 +189,8 @@ static void bcwrite_knum(BCWriteCtx *ctx, GCproto *pt) | |||
189 | goto save_int; | 189 | goto save_int; |
190 | } else { | 190 | } else { |
191 | /* Write a 33 bit ULEB128 for the int (lsb=0) or loword (lsb=1). */ | 191 | /* Write a 33 bit ULEB128 for the int (lsb=0) or loword (lsb=1). */ |
192 | if (!LJ_DUALNUM) { /* Narrow number constants to integers. */ | 192 | if (!LJ_DUALNUM && o->u32.hi != LJ_KEYINDEX) { |
193 | /* Narrow number constants to integers. */ | ||
193 | lua_Number num = numV(o); | 194 | lua_Number num = numV(o); |
194 | k = lj_num2int(num); | 195 | k = lj_num2int(num); |
195 | if (num == (lua_Number)k) { /* -0 is never a constant. */ | 196 | if (num == (lua_Number)k) { /* -0 is never a constant. */ |