diff options
author | Peter Mikkelsen <petermikkelsen10@gmail.com> | 2022-02-08 16:03:10 +0000 |
---|---|---|
committer | Peter Mikkelsen <petermikkelsen10@gmail.com> | 2022-02-08 16:03:10 +0000 |
commit | c6e1c83f93f63a061f0804821ed29c656da38f28 (patch) | |
tree | 8f3b8863d9db2d79722a4ec104bb2eeb807f87e0 /eval.c | |
parent | 511ae2c1879676568b2f11312c38a66b2caa21c0 (diff) |
Add work in progress concurrency. Might break stuff!
Diffstat (limited to 'eval.c')
-rw-r--r-- | eval.c | 12 |
1 files changed, 6 insertions, 6 deletions
@@ -150,7 +150,7 @@ lookup(Datum var) else{ val = &symbol->value; if(val->tag == ArrayTag) - incref(val->array); /* since the value is now in the var AND in the code */ + incarrayref(val->array); /* since the value is now in the var AND in the code */ } val->shy = 0; traceprint("VAR %S = %S\n", var.name, ppdatum(*val)); @@ -200,7 +200,7 @@ dyadfun(Datum left, Datum right) result.func.code = right.hybrid; } result.func.left = left.array; - incref(left.array); + incarrayref(left.array); return result; } @@ -261,7 +261,7 @@ assign(Datum left, Datum right) symbol->undefined = 0; if(symbol->value.tag == ArrayTag){ symbol->value.array->stranded = 0; - incref(right.array); /* for the binding */ + incarrayref(right.array); /* for the binding */ } } }else{ @@ -307,7 +307,7 @@ assign(Datum left, Datum right) } right.shy = 1; if(right.tag == ArrayTag) - incref(right.array); /* for the returned array */ + incarrayref(right.array); /* for the returned array */ return right; } @@ -331,7 +331,7 @@ monadop(Datum left, Datum right) result.func.operator.left = arg; result.func.left = nil; if(arg->tag == ArrayTag) - incref(arg->array); + incarrayref(arg->array); return result; } @@ -348,7 +348,7 @@ dyadop(Datum left, Datum right) result.operator = left.operator; result.operator.right = arg; if(arg->tag == ArrayTag) - incref(arg->array); + incarrayref(arg->array); return result; } |