diff options
author | daurnimator <quae@daurnimator.com> | 2018-01-29 19:01:22 +1100 |
---|---|---|
committer | daurnimator <quae@daurnimator.com> | 2018-01-29 22:07:00 +1100 |
commit | 313f55905253697fe4966f979865296aeaa7a801 (patch) | |
tree | a8f060a377d45943952ade62507951cd4555a21b /src/ldebug.js | |
parent | 62b07567d9f39fa746ea35d9c08cd1dcf37dc67a (diff) | |
download | fengari-313f55905253697fe4966f979865296aeaa7a801.tar.gz fengari-313f55905253697fe4966f979865296aeaa7a801.tar.bz2 fengari-313f55905253697fe4966f979865296aeaa7a801.zip |
src/: Upvalues are now just TValues (possibly referencing on-stack)
- Removes `Upval` class
- closing over upvalues is now done by creating new on-stack TValue objects
- No more `openupval` linked list
With this fix, upvalues from collected coroutines will no longer keep other values alive
Closes #44
Diffstat (limited to 'src/ldebug.js')
-rw-r--r-- | src/ldebug.js | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/ldebug.js b/src/ldebug.js index e403ba6..a471c75 100644 --- a/src/ldebug.js +++ b/src/ldebug.js @@ -537,7 +537,7 @@ const isinstack = function(L, ci, o) { const getupvalname = function(L, ci, o) { let c = ci.func.value; for (let i = 0; i < c.nupvalues; i++) { - if (c.upvals[i].v === o) { + if (c.upvals[i] === o) { return { name: upvalname(c.p, i), funcname: to_luastring('upvalue', true) |