diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/lj_parse.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/lj_parse.c b/src/lj_parse.c index 2a601f1d..6b5f12fb 100644 --- a/src/lj_parse.c +++ b/src/lj_parse.c | |||
| @@ -2207,6 +2207,8 @@ static void assign_adjust(LexState *ls, BCReg nvars, BCReg nexps, ExpDesc *e) | |||
| 2207 | bcemit_nil(fs, reg, (BCReg)extra); | 2207 | bcemit_nil(fs, reg, (BCReg)extra); |
| 2208 | } | 2208 | } |
| 2209 | } | 2209 | } |
| 2210 | if (nexps > nvars) | ||
| 2211 | ls->fs->freereg -= nexps - nvars; /* Drop leftover regs. */ | ||
| 2210 | } | 2212 | } |
| 2211 | 2213 | ||
| 2212 | /* Recursively parse assignment statement. */ | 2214 | /* Recursively parse assignment statement. */ |
| @@ -2240,8 +2242,6 @@ static void parse_assignment(LexState *ls, LHSVarList *lh, BCReg nvars) | |||
| 2240 | return; | 2242 | return; |
| 2241 | } | 2243 | } |
| 2242 | assign_adjust(ls, nvars, nexps, &e); | 2244 | assign_adjust(ls, nvars, nexps, &e); |
| 2243 | if (nexps > nvars) | ||
| 2244 | ls->fs->freereg -= nexps - nvars; /* Drop leftover regs. */ | ||
| 2245 | } | 2245 | } |
| 2246 | /* Assign RHS to LHS and recurse downwards. */ | 2246 | /* Assign RHS to LHS and recurse downwards. */ |
| 2247 | expr_init(&e, VNONRELOC, ls->fs->freereg-1); | 2247 | expr_init(&e, VNONRELOC, ls->fs->freereg-1); |
