public static void lua_upvaluejoin(lua_State L, int fidx1, int n1, int fidx2, int n2) { LClosure f1 = null; LClosure null_ = null; //FIXME:added UpValRef up1 = getupvalref(L, fidx1, n1, ref f1); UpValRef up2 = getupvalref(L, fidx2, n2, ref null_); up1.set(up2.get()); luaC_objbarrier(L, f1, up2.get()); }
public static void lua_upvaluejoin(lua_State L, int fidx1, int n1, int fidx2, int n2) { Closure f1 = null; Closure[] f1Ref = new Closure[] { f1 }; //FIXME:added UpValRef up1 = getupvalref(L, fidx1, n1, f1Ref); f1 = f1Ref[0]; //FIXME:added UpValRef up2 = getupvalref(L, fidx2, n2, null); up1.set(up2.get()); luaC_objbarrier(L, f1, up2.get()); }
public static void lua_upvaluejoin(lua_State L, int fidx1, int n1, int fidx2, int n2) { LClosure f1 = null; LClosure null_ = null; //FIXME:added UpValRef up1 = getupvalref(L, fidx1, n1, ref f1); UpValRef up2 = getupvalref(L, fidx2, n2, ref null_); luaC_upvdeccount(L, up1.get()); up1.set(up2.get()); up1.get().refcount++; if (upisopen(up1.get())) { up1.get().u.open.touched = 1; } luaC_upvalbarrier(L, up1.get()); }