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. */ |
