From 402b97fbdf4857adc5aa80f85fa5e59148e126b7 Mon Sep 17 00:00:00 2001 From: Mitja Felicijan Date: Thu, 19 Sep 2024 00:43:31 +0200 Subject: Added debuggers to Nix shell --- zig-lua/lua-5.4.7/testes/tracegc.lua | 40 ++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 zig-lua/lua-5.4.7/testes/tracegc.lua (limited to 'zig-lua/lua-5.4.7/testes/tracegc.lua') diff --git a/zig-lua/lua-5.4.7/testes/tracegc.lua b/zig-lua/lua-5.4.7/testes/tracegc.lua new file mode 100644 index 0000000..9c5c1b3 --- /dev/null +++ b/zig-lua/lua-5.4.7/testes/tracegc.lua @@ -0,0 +1,40 @@ +-- track collections + +local M = {} + +-- import list +local setmetatable, stderr, collectgarbage = + setmetatable, io.stderr, collectgarbage + +_ENV = nil + +local active = false + + +-- each time a table is collected, remark it for finalization on next +-- cycle +local mt = {} +function mt.__gc (o) + stderr:write'.' -- mark progress + if active then + setmetatable(o, mt) -- remark object for finalization + end +end + + +function M.start () + if not active then + active = true + setmetatable({}, mt) -- create initial object + end +end + + +function M.stop () + if active then + active = false + collectgarbage() -- call finalizer for the last time + end +end + +return M -- cgit v1.2.3