NODE_DEF should preserve stack region for lambda; ref #2136

parent 354e6fdc
...@@ -1632,7 +1632,7 @@ codegen(codegen_scope *s, node *tree, int val) ...@@ -1632,7 +1632,7 @@ codegen(codegen_scope *s, node *tree, int val)
break; break;
} }
codegen(s, tree->cdr->cdr->car, VAL); codegen(s, tree->cdr->cdr->car, VAL);
push();pop(); push(); pop();
pop(); pop(); pop(); pop();
idx = new_msym(s, sym); idx = new_msym(s, sym);
...@@ -2404,6 +2404,7 @@ codegen(codegen_scope *s, node *tree, int val) ...@@ -2404,6 +2404,7 @@ codegen(codegen_scope *s, node *tree, int val)
genop(s, MKOP_A(OP_TCLASS, cursp())); genop(s, MKOP_A(OP_TCLASS, cursp()));
push(); push();
genop(s, MKOP_Abc(OP_LAMBDA, cursp(), idx, OP_L_METHOD)); genop(s, MKOP_Abc(OP_LAMBDA, cursp(), idx, OP_L_METHOD));
push(); pop();
pop(); pop();
genop(s, MKOP_AB(OP_METHOD, cursp(), sym)); genop(s, MKOP_AB(OP_METHOD, cursp(), sym));
if (val) { if (val) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment