From 0e5585bd7078d6727382c0de51161fe377c1d81d Mon Sep 17 00:00:00 2001 From: daurnimator Date: Fri, 5 May 2017 17:08:04 +1000 Subject: Simplify UpVal structure No longer follows C api as closely (it is the way it is because C has unions) Instead, have a flat object. Also remove the 'setval' method, as it wasn't used from all call-sites and couldn't be extended to them (setval's body only worked with source TValue on a stack) --- src/lapi.js | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'src/lapi.js') diff --git a/src/lapi.js b/src/lapi.js index d3e4119..9347d84 100644 --- a/src/lapi.js +++ b/src/lapi.js @@ -822,7 +822,7 @@ const lua_load = function(L, reader, data, chunckname, mode) { /* get global table from registry */ let gt = ltable.luaH_getint(L.l_G.l_registry.value, defs.LUA_RIDX_GLOBALS); /* set global table as 1st upvalue of 'f' (may be LUA_ENV) */ - f.upvals[0].u.value = new TValue(gt.type, gt.value); + f.upvals[0].value.setfrom(gt); } } return status; @@ -1001,7 +1001,6 @@ const lua_upvaluejoin = function(L, fidx1, n1, fidx2, n2) { let f1 = ref1.closure; f1.upvals[up1] = up2; - up2.u.open.touched = true; // TODO: useful }; // This functions are only there for compatibility purposes -- cgit v1.2.3-54-g00ecf