diff options
author | Benoit Giannangeli <benoit.giannangeli@boursorama.fr> | 2017-02-17 09:27:51 +0100 |
---|---|---|
committer | Benoit Giannangeli <benoit.giannangeli@boursorama.fr> | 2017-02-17 09:27:51 +0100 |
commit | 50aa5b5029165be03d0cfb34e7d664795dd80898 (patch) | |
tree | dc42e1a73ac367fef1a88c3dd0502a0879eebea3 /src/lfunc.js | |
parent | 4eea48935f2e0ea1267d314f2900af2a1a4b8b02 (diff) | |
download | fengari-50aa5b5029165be03d0cfb34e7d664795dd80898.tar.gz fengari-50aa5b5029165be03d0cfb34e7d664795dd80898.tar.bz2 fengari-50aa5b5029165be03d0cfb34e7d664795dd80898.zip |
More accurate state and closure init
Diffstat (limited to 'src/lfunc.js')
-rw-r--r-- | src/lfunc.js | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/src/lfunc.js b/src/lfunc.js index f3e11d3..39ad049 100644 --- a/src/lfunc.js +++ b/src/lfunc.js @@ -88,8 +88,18 @@ const luaF_close = function(L, level) { } }; -module.exports.Proto = Proto; -module.exports.UpVal = UpVal; -module.exports.findupval = findupval; -module.exports.luaF_close = luaF_close; -module.exports.MAXUPVAL = 255;
\ No newline at end of file +const luaF_initupvals = function(L, cl) { + for (let i = 0; i < cl.nupvalues; i++) { + let uv = new UpVal(); + uv.refcount = 1; + uv.u.value = null; + uv.v = uv.u.value; + } +}; + +module.exports.Proto = Proto; +module.exports.UpVal = UpVal; +module.exports.findupval = findupval; +module.exports.luaF_close = luaF_close; +module.exports.MAXUPVAL = 255; +module.exports.luaF_initupvals = luaF_initupvals;
\ No newline at end of file |