Lua: Difference between revisions

No edit summary
No edit summary
Line 32: Line 32:
Because each variable is taint-tagged by whichever AddOn generated it, WoW Lua is able to compute the memory usage of any particular AddOn.
Because each variable is taint-tagged by whichever AddOn generated it, WoW Lua is able to compute the memory usage of any particular AddOn.


<code>
<pre>
void lua_gcupdatesizes(lua_State* L);
void   lua_gcupdatesizes(lua_State* L);


lu_mem lua_gcgetsize(lua_State* L, const char* tag);
lu_mem lua_gcgetsize(lua_State* L, const char* tag);
</code>
</pre>


Optionally, function performance can be profiled by turning on a flag. You can read the results of the function profiler with:
Optionally, function performance can be profiled by turning on a flag. You can read the results of the function profiler with:


<code>
<pre>
void lua_gcupdatetimes(lua_State* L);
void       lua_gcupdatetimes(lua_State* L);


lua_Number lua_gcgettime(lua_State* L, const char* tag);
lua_Number lua_gcgettime(lua_State* L, const char* tag);


void lua_gcgetfunctiontime(lua_State* L, lua_Number* flat, lua_Number* total, int32_t* ncalls);
void       lua_gcgetfunctiontime(lua_State* L, lua_Number* flat, lua_Number* total, int32_t* ncalls);


void lua_gcresettimes(lua_State* L);
void       lua_gcresettimes(lua_State* L);
</code>
</pre>


=== Standard library ===
=== Standard library ===