Skip to content

Commit 4dcccd0

Browse files
committed
Revert "Simplify close_lexical_var (#726)"
This reverts commit 0b0b794. This makes our code closer to bellard/quickjs, which makes applying the commit right after this one simpler.
1 parent 40c7971 commit 4dcccd0

File tree

1 file changed

+4
-3
lines changed

1 file changed

+4
-3
lines changed

quickjs.c

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14705,14 +14705,15 @@ static void close_var_refs(JSRuntime *rt, JSStackFrame *sf)
1470514705
}
1470614706
}
1470714707

14708-
static void close_lexical_var(JSContext *ctx, JSStackFrame *sf, int var_idx)
14708+
static void close_lexical_var(JSContext *ctx, JSStackFrame *sf, int idx, int is_arg)
1470914709
{
1471014710
struct list_head *el, *el1;
1471114711
JSVarRef *var_ref;
14712+
int var_idx = idx;
1471214713

1471314714
list_for_each_safe(el, el1, &sf->var_ref_list) {
1471414715
var_ref = list_entry(el, JSVarRef, header.link);
14715-
if (var_idx == var_ref->var_idx && !var_ref->is_arg) {
14716+
if (var_idx == var_ref->var_idx && var_ref->is_arg == is_arg) {
1471614717
var_ref->value = js_dup(sf->var_buf[var_idx]);
1471714718
var_ref->pvalue = &var_ref->value;
1471814719
list_del(&var_ref->header.link);
@@ -15975,7 +15976,7 @@ static JSValue JS_CallInternal(JSContext *caller_ctx, JSValueConst func_obj,
1597515976
int idx;
1597615977
idx = get_u16(pc);
1597715978
pc += 2;
15978-
close_lexical_var(ctx, sf, idx);
15979+
close_lexical_var(ctx, sf, idx, FALSE);
1597915980
}
1598015981
BREAK;
1598115982

0 commit comments

Comments
 (0)