Can you add at least _some_ test to verify memprof is fine?
Memprof avoids such extroversions. Do you mean the test for `jit.p`?
I can see memeprof is out of the business, sure I meant any our new
functionality - such as stats on gc - that can be hit by this in some
way.
The new commit message is the following:===================================================================Add support for full-range 64 bit lightuserdata.(cherry picked from commit e9af1abec542e6f9851ff2368e7f196b6382a44c)LuaJIT uses special NaN-tagging technique to store internal type onthe Lua stack. In case of LJ_GC64 the first 13 bits are set in specialNaN type (0xfff8...). The next 4 bits are used for an internal LuaJITtype of object on stack. The next 47 bits are used for storing thisobject's content. For userdata, it is its address. For arm64 a pointercan have more than 47 significant bits [1]. In this case the error BADLUerror is raised.For the support of full 64-bit range lightuserdata pointers two newfields in GCState are added:`lightudseg` - vector of segments of lightuserdata. Each element keeps32-bit value. 25 MSB equal to MSB of lightuserdata 64-bit address, therest are filled with zeros. The lentgh of the vector is power of 2.`lightudnum` - the length - 1 of aforementioned vector (up to 255).When lightuserdata is pushed on the stack, if its segment is not storedin vector new value is appended to of this vector. The maximum amount ofsegments is 256. BADLU error is raised in case when user tried to adduserdata with the new 257-th segment, so the whole VA-space isn'tcovered by this patch.Also, in this patch all internal usage of lightuserdata (for hooks,profilers, built-in package, IR and so on) is changed to special valueson Lua Stack.Also, conversion of TValue to FFI C type with store is no longercompiled for lightuserdata.[1]: https://www.kernel.org/doc/html/latest/arm64/memory.htmlSergey Kaplun:* added the description and the test for the problemResolves tarantool/tarantool#2712Needed for tarantool/tarantool#6154===================================================================Branch is force-pushed.
LGTM.
Sergos