<HTML><BODY><div>Hi team, </div><div> </div><div>QA LGTM</div><div> </div><div> </div><div data-signature-widget="container"><div data-signature-widget="content"><div>--<br>Vitaliia Ioffe</div></div></div><div> </div><div> </div><blockquote style="border-left:1px solid #0857A6; margin:10px; padding:0 0 0 10px;">Вторник, 10 августа 2021, 19:46 +03:00 от Sergey Ostanevich via Tarantool-patches <tarantool-patches@dev.tarantool.org>:<br> <div id=""><div class="js-helper js-readmsg-msg"><div><div id="style_16286140001292543290_BODY"><div class="cl_661639"><div><div>all internal usage of lightuserdata (for hooks,<br>profilers, built-in package, IR and so on) is changed to special values<br>on Lua Stack.</div></div></div></div></div></div></div></blockquote><div><br>Can you add at least _some_ test to verify memprof is fine?<br><br style="caret-color: rgb(0, 0, 0);font-family: Menlo-Regular;font-size: 11px;font-style: normal;font-variant-caps: normal;font-weight: normal;letter-spacing: normal;text-align: start;text-indent: 0px;text-transform: none;white-space: normal;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration: none;"><span style="caret-color: rgb(0, 0, 0);font-family: Menlo-Regular;font-size: 11px;font-style: normal;font-variant-caps: normal;font-weight: normal;letter-spacing: normal;text-align: start;text-indent: 0px;text-transform: none;white-space: normal;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration: none;float: none;display: inline !important;">Memprof avoids such extroversions. Do you mean the test for `jit.p`?</span><br style="caret-color: rgb(0, 0, 0);font-family: Menlo-Regular;font-size: 11px;font-style: normal;font-variant-caps: normal;font-weight: normal;letter-spacing: normal;text-align: start;text-indent: 0px;text-transform: none;white-space: normal;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration: none;"> <div> </div>I can see memeprof is out of the business, sure I meant any our new<div>functionality - such as stats on gc - that can be hit by this in some</div><div>way.</div><div> </div><div><blockquote type="cite"><div><span style="caret-color: rgb(0, 0, 0);font-family: Menlo-Regular;font-size: 11px;font-style: normal;font-variant-caps: normal;font-weight: normal;letter-spacing: normal;text-align: start;text-indent: 0px;text-transform: none;white-space: normal;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration: none;float: none;display: inline !important;">The new commit message is the following:</span><br style="caret-color: rgb(0, 0, 0);font-family: Menlo-Regular;font-size: 11px;font-style: normal;font-variant-caps: normal;font-weight: normal;letter-spacing: normal;text-align: start;text-indent: 0px;text-transform: none;white-space: normal;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration: none;"><br style="caret-color: rgb(0, 0, 0);font-family: Menlo-Regular;font-size: 11px;font-style: normal;font-variant-caps: normal;font-weight: normal;letter-spacing: normal;text-align: start;text-indent: 0px;text-transform: none;white-space: normal;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration: none;"><span style="caret-color: rgb(0, 0, 0);font-family: Menlo-Regular;font-size: 11px;font-style: normal;font-variant-caps: normal;font-weight: normal;letter-spacing: normal;text-align: start;text-indent: 0px;text-transform: none;white-space: normal;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration: none;float: none;display: inline !important;">===================================================================</span><br style="caret-color: rgb(0, 0, 0);font-family: Menlo-Regular;font-size: 11px;font-style: normal;font-variant-caps: normal;font-weight: normal;letter-spacing: normal;text-align: start;text-indent: 0px;text-transform: none;white-space: normal;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration: none;"><span style="caret-color: rgb(0, 0, 0);font-family: Menlo-Regular;font-size: 11px;font-style: normal;font-variant-caps: normal;font-weight: normal;letter-spacing: normal;text-align: start;text-indent: 0px;text-transform: none;white-space: normal;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration: none;float: none;display: inline !important;">Add support for full-range 64 bit lightuserdata.</span><br style="caret-color: rgb(0, 0, 0);font-family: Menlo-Regular;font-size: 11px;font-style: normal;font-variant-caps: normal;font-weight: normal;letter-spacing: normal;text-align: start;text-indent: 0px;text-transform: none;white-space: normal;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration: none;"><br style="caret-color: rgb(0, 0, 0);font-family: Menlo-Regular;font-size: 11px;font-style: normal;font-variant-caps: normal;font-weight: normal;letter-spacing: normal;text-align: start;text-indent: 0px;text-transform: none;white-space: normal;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration: none;"><span style="caret-color: rgb(0, 0, 0);font-family: Menlo-Regular;font-size: 11px;font-style: normal;font-variant-caps: normal;font-weight: normal;letter-spacing: normal;text-align: start;text-indent: 0px;text-transform: none;white-space: normal;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration: none;float: none;display: inline !important;">(cherry picked from commit e9af1abec542e6f9851ff2368e7f196b6382a44c)</span><br style="caret-color: rgb(0, 0, 0);font-family: Menlo-Regular;font-size: 11px;font-style: normal;font-variant-caps: normal;font-weight: normal;letter-spacing: normal;text-align: start;text-indent: 0px;text-transform: none;white-space: normal;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration: none;"><br style="caret-color: rgb(0, 0, 0);font-family: Menlo-Regular;font-size: 11px;font-style: normal;font-variant-caps: normal;font-weight: normal;letter-spacing: normal;text-align: start;text-indent: 0px;text-transform: none;white-space: normal;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration: none;"><span style="caret-color: rgb(0, 0, 0);font-family: Menlo-Regular;font-size: 11px;font-style: normal;font-variant-caps: normal;font-weight: normal;letter-spacing: normal;text-align: start;text-indent: 0px;text-transform: none;white-space: normal;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration: none;float: none;display: inline !important;">LuaJIT uses special NaN-tagging technique to store internal type on</span><br style="caret-color: rgb(0, 0, 0);font-family: Menlo-Regular;font-size: 11px;font-style: normal;font-variant-caps: normal;font-weight: normal;letter-spacing: normal;text-align: start;text-indent: 0px;text-transform: none;white-space: normal;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration: none;"><span style="caret-color: rgb(0, 0, 0);font-family: Menlo-Regular;font-size: 11px;font-style: normal;font-variant-caps: normal;font-weight: normal;letter-spacing: normal;text-align: start;text-indent: 0px;text-transform: none;white-space: normal;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration: none;float: none;display: inline !important;">the Lua stack. In case of LJ_GC64 the first 13 bits are set in special</span><br style="caret-color: rgb(0, 0, 0);font-family: Menlo-Regular;font-size: 11px;font-style: normal;font-variant-caps: normal;font-weight: normal;letter-spacing: normal;text-align: start;text-indent: 0px;text-transform: none;white-space: normal;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration: none;"><span style="caret-color: rgb(0, 0, 0);font-family: Menlo-Regular;font-size: 11px;font-style: normal;font-variant-caps: normal;font-weight: normal;letter-spacing: normal;text-align: start;text-indent: 0px;text-transform: none;white-space: normal;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration: none;float: none;display: inline !important;">NaN type (0xfff8...). The next 4 bits are used for an internal LuaJIT</span><br style="caret-color: rgb(0, 0, 0);font-family: Menlo-Regular;font-size: 11px;font-style: normal;font-variant-caps: normal;font-weight: normal;letter-spacing: normal;text-align: start;text-indent: 0px;text-transform: none;white-space: normal;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration: none;"><span style="caret-color: rgb(0, 0, 0);font-family: Menlo-Regular;font-size: 11px;font-style: normal;font-variant-caps: normal;font-weight: normal;letter-spacing: normal;text-align: start;text-indent: 0px;text-transform: none;white-space: normal;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration: none;float: none;display: inline !important;">type of object on stack. The next 47 bits are used for storing this</span><br style="caret-color: rgb(0, 0, 0);font-family: Menlo-Regular;font-size: 11px;font-style: normal;font-variant-caps: normal;font-weight: normal;letter-spacing: normal;text-align: start;text-indent: 0px;text-transform: none;white-space: normal;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration: none;"><span style="caret-color: rgb(0, 0, 0);font-family: Menlo-Regular;font-size: 11px;font-style: normal;font-variant-caps: normal;font-weight: normal;letter-spacing: normal;text-align: start;text-indent: 0px;text-transform: none;white-space: normal;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration: none;float: none;display: inline !important;">object's content. For userdata, it is its address. For arm64 a pointer</span><br style="caret-color: rgb(0, 0, 0);font-family: Menlo-Regular;font-size: 11px;font-style: normal;font-variant-caps: normal;font-weight: normal;letter-spacing: normal;text-align: start;text-indent: 0px;text-transform: none;white-space: normal;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration: none;"><span style="caret-color: rgb(0, 0, 0);font-family: Menlo-Regular;font-size: 11px;font-style: normal;font-variant-caps: normal;font-weight: normal;letter-spacing: normal;text-align: start;text-indent: 0px;text-transform: none;white-space: normal;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration: none;float: none;display: inline !important;">can have more than 47 significant bits [1]. In this case the error BADLU</span><br style="caret-color: rgb(0, 0, 0);font-family: Menlo-Regular;font-size: 11px;font-style: normal;font-variant-caps: normal;font-weight: normal;letter-spacing: normal;text-align: start;text-indent: 0px;text-transform: none;white-space: normal;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration: none;"><span style="caret-color: rgb(0, 0, 0);font-family: Menlo-Regular;font-size: 11px;font-style: normal;font-variant-caps: normal;font-weight: normal;letter-spacing: normal;text-align: start;text-indent: 0px;text-transform: none;white-space: normal;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration: none;float: none;display: inline !important;">error is raised.</span><br style="caret-color: rgb(0, 0, 0);font-family: Menlo-Regular;font-size: 11px;font-style: normal;font-variant-caps: normal;font-weight: normal;letter-spacing: normal;text-align: start;text-indent: 0px;text-transform: none;white-space: normal;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration: none;"><br style="caret-color: rgb(0, 0, 0);font-family: Menlo-Regular;font-size: 11px;font-style: normal;font-variant-caps: normal;font-weight: normal;letter-spacing: normal;text-align: start;text-indent: 0px;text-transform: none;white-space: normal;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration: none;"><span style="caret-color: rgb(0, 0, 0);font-family: Menlo-Regular;font-size: 11px;font-style: normal;font-variant-caps: normal;font-weight: normal;letter-spacing: normal;text-align: start;text-indent: 0px;text-transform: none;white-space: normal;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration: none;float: none;display: inline !important;">For the support of full 64-bit range lightuserdata pointers two new</span><br style="caret-color: rgb(0, 0, 0);font-family: Menlo-Regular;font-size: 11px;font-style: normal;font-variant-caps: normal;font-weight: normal;letter-spacing: normal;text-align: start;text-indent: 0px;text-transform: none;white-space: normal;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration: none;"><span style="caret-color: rgb(0, 0, 0);font-family: Menlo-Regular;font-size: 11px;font-style: normal;font-variant-caps: normal;font-weight: normal;letter-spacing: normal;text-align: start;text-indent: 0px;text-transform: none;white-space: normal;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration: none;float: none;display: inline !important;">fields in GCState are added:</span><br style="caret-color: rgb(0, 0, 0);font-family: Menlo-Regular;font-size: 11px;font-style: normal;font-variant-caps: normal;font-weight: normal;letter-spacing: normal;text-align: start;text-indent: 0px;text-transform: none;white-space: normal;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration: none;"><br style="caret-color: rgb(0, 0, 0);font-family: Menlo-Regular;font-size: 11px;font-style: normal;font-variant-caps: normal;font-weight: normal;letter-spacing: normal;text-align: start;text-indent: 0px;text-transform: none;white-space: normal;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration: none;"><span style="caret-color: rgb(0, 0, 0);font-family: Menlo-Regular;font-size: 11px;font-style: normal;font-variant-caps: normal;font-weight: normal;letter-spacing: normal;text-align: start;text-indent: 0px;text-transform: none;white-space: normal;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration: none;float: none;display: inline !important;">`lightudseg` - vector of segments of lightuserdata. Each element keeps</span><br style="caret-color: rgb(0, 0, 0);font-family: Menlo-Regular;font-size: 11px;font-style: normal;font-variant-caps: normal;font-weight: normal;letter-spacing: normal;text-align: start;text-indent: 0px;text-transform: none;white-space: normal;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration: none;"><span style="caret-color: rgb(0, 0, 0);font-family: Menlo-Regular;font-size: 11px;font-style: normal;font-variant-caps: normal;font-weight: normal;letter-spacing: normal;text-align: start;text-indent: 0px;text-transform: none;white-space: normal;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration: none;float: none;display: inline !important;">32-bit value. 25 MSB equal to MSB of lightuserdata 64-bit address, the</span><br style="caret-color: rgb(0, 0, 0);font-family: Menlo-Regular;font-size: 11px;font-style: normal;font-variant-caps: normal;font-weight: normal;letter-spacing: normal;text-align: start;text-indent: 0px;text-transform: none;white-space: normal;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration: none;"><span style="caret-color: rgb(0, 0, 0);font-family: Menlo-Regular;font-size: 11px;font-style: normal;font-variant-caps: normal;font-weight: normal;letter-spacing: normal;text-align: start;text-indent: 0px;text-transform: none;white-space: normal;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration: none;float: none;display: inline !important;">rest are filled with zeros. The lentgh of the vector is power of 2.</span><br style="caret-color: rgb(0, 0, 0);font-family: Menlo-Regular;font-size: 11px;font-style: normal;font-variant-caps: normal;font-weight: normal;letter-spacing: normal;text-align: start;text-indent: 0px;text-transform: none;white-space: normal;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration: none;"><br style="caret-color: rgb(0, 0, 0);font-family: Menlo-Regular;font-size: 11px;font-style: normal;font-variant-caps: normal;font-weight: normal;letter-spacing: normal;text-align: start;text-indent: 0px;text-transform: none;white-space: normal;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration: none;"><span style="caret-color: rgb(0, 0, 0);font-family: Menlo-Regular;font-size: 11px;font-style: normal;font-variant-caps: normal;font-weight: normal;letter-spacing: normal;text-align: start;text-indent: 0px;text-transform: none;white-space: normal;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration: none;float: none;display: inline !important;">`lightudnum` - the length - 1 of aforementioned vector (up to 255).</span><br style="caret-color: rgb(0, 0, 0);font-family: Menlo-Regular;font-size: 11px;font-style: normal;font-variant-caps: normal;font-weight: normal;letter-spacing: normal;text-align: start;text-indent: 0px;text-transform: none;white-space: normal;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration: none;"><br style="caret-color: rgb(0, 0, 0);font-family: Menlo-Regular;font-size: 11px;font-style: normal;font-variant-caps: normal;font-weight: normal;letter-spacing: normal;text-align: start;text-indent: 0px;text-transform: none;white-space: normal;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration: none;"><span style="caret-color: rgb(0, 0, 0);font-family: Menlo-Regular;font-size: 11px;font-style: normal;font-variant-caps: normal;font-weight: normal;letter-spacing: normal;text-align: start;text-indent: 0px;text-transform: none;white-space: normal;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration: none;float: none;display: inline !important;">When lightuserdata is pushed on the stack, if its segment is not stored</span><br style="caret-color: rgb(0, 0, 0);font-family: Menlo-Regular;font-size: 11px;font-style: normal;font-variant-caps: normal;font-weight: normal;letter-spacing: normal;text-align: start;text-indent: 0px;text-transform: none;white-space: normal;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration: none;"><span style="caret-color: rgb(0, 0, 0);font-family: Menlo-Regular;font-size: 11px;font-style: normal;font-variant-caps: normal;font-weight: normal;letter-spacing: normal;text-align: start;text-indent: 0px;text-transform: none;white-space: normal;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration: none;float: none;display: inline !important;">in vector new value is appended to of this vector. The maximum amount of</span><br style="caret-color: rgb(0, 0, 0);font-family: Menlo-Regular;font-size: 11px;font-style: normal;font-variant-caps: normal;font-weight: normal;letter-spacing: normal;text-align: start;text-indent: 0px;text-transform: none;white-space: normal;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration: none;"><span style="caret-color: rgb(0, 0, 0);font-family: Menlo-Regular;font-size: 11px;font-style: normal;font-variant-caps: normal;font-weight: normal;letter-spacing: normal;text-align: start;text-indent: 0px;text-transform: none;white-space: normal;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration: none;float: none;display: inline !important;">segments is 256. BADLU error is raised in case when user tried to add</span><br style="caret-color: rgb(0, 0, 0);font-family: Menlo-Regular;font-size: 11px;font-style: normal;font-variant-caps: normal;font-weight: normal;letter-spacing: normal;text-align: start;text-indent: 0px;text-transform: none;white-space: normal;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration: none;"><span style="caret-color: rgb(0, 0, 0);font-family: Menlo-Regular;font-size: 11px;font-style: normal;font-variant-caps: normal;font-weight: normal;letter-spacing: normal;text-align: start;text-indent: 0px;text-transform: none;white-space: normal;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration: none;float: none;display: inline !important;">userdata with the new 257-th segment, so the whole VA-space isn't</span><br style="caret-color: rgb(0, 0, 0);font-family: Menlo-Regular;font-size: 11px;font-style: normal;font-variant-caps: normal;font-weight: normal;letter-spacing: normal;text-align: start;text-indent: 0px;text-transform: none;white-space: normal;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration: none;"><span style="caret-color: rgb(0, 0, 0);font-family: Menlo-Regular;font-size: 11px;font-style: normal;font-variant-caps: normal;font-weight: normal;letter-spacing: normal;text-align: start;text-indent: 0px;text-transform: none;white-space: normal;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration: none;float: none;display: inline !important;">covered by this patch.</span><br style="caret-color: rgb(0, 0, 0);font-family: Menlo-Regular;font-size: 11px;font-style: normal;font-variant-caps: normal;font-weight: normal;letter-spacing: normal;text-align: start;text-indent: 0px;text-transform: none;white-space: normal;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration: none;"><br style="caret-color: rgb(0, 0, 0);font-family: Menlo-Regular;font-size: 11px;font-style: normal;font-variant-caps: normal;font-weight: normal;letter-spacing: normal;text-align: start;text-indent: 0px;text-transform: none;white-space: normal;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration: none;"><span style="caret-color: rgb(0, 0, 0);font-family: Menlo-Regular;font-size: 11px;font-style: normal;font-variant-caps: normal;font-weight: normal;letter-spacing: normal;text-align: start;text-indent: 0px;text-transform: none;white-space: normal;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration: none;float: none;display: inline !important;">Also, in this patch all internal usage of lightuserdata (for hooks,</span><br style="caret-color: rgb(0, 0, 0);font-family: Menlo-Regular;font-size: 11px;font-style: normal;font-variant-caps: normal;font-weight: normal;letter-spacing: normal;text-align: start;text-indent: 0px;text-transform: none;white-space: normal;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration: none;"><span style="caret-color: rgb(0, 0, 0);font-family: Menlo-Regular;font-size: 11px;font-style: normal;font-variant-caps: normal;font-weight: normal;letter-spacing: normal;text-align: start;text-indent: 0px;text-transform: none;white-space: normal;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration: none;float: none;display: inline !important;">profilers, built-in package, IR and so on) is changed to special values</span><br style="caret-color: rgb(0, 0, 0);font-family: Menlo-Regular;font-size: 11px;font-style: normal;font-variant-caps: normal;font-weight: normal;letter-spacing: normal;text-align: start;text-indent: 0px;text-transform: none;white-space: normal;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration: none;"><span style="caret-color: rgb(0, 0, 0);font-family: Menlo-Regular;font-size: 11px;font-style: normal;font-variant-caps: normal;font-weight: normal;letter-spacing: normal;text-align: start;text-indent: 0px;text-transform: none;white-space: normal;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration: none;float: none;display: inline !important;">on Lua Stack.</span><br style="caret-color: rgb(0, 0, 0);font-family: Menlo-Regular;font-size: 11px;font-style: normal;font-variant-caps: normal;font-weight: normal;letter-spacing: normal;text-align: start;text-indent: 0px;text-transform: none;white-space: normal;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration: none;"><br style="caret-color: rgb(0, 0, 0);font-family: Menlo-Regular;font-size: 11px;font-style: normal;font-variant-caps: normal;font-weight: normal;letter-spacing: normal;text-align: start;text-indent: 0px;text-transform: none;white-space: normal;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration: none;"><span style="caret-color: rgb(0, 0, 0);font-family: Menlo-Regular;font-size: 11px;font-style: normal;font-variant-caps: normal;font-weight: normal;letter-spacing: normal;text-align: start;text-indent: 0px;text-transform: none;white-space: normal;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration: none;float: none;display: inline !important;">Also, conversion of TValue to FFI C type with store is no longer</span><br style="caret-color: rgb(0, 0, 0);font-family: Menlo-Regular;font-size: 11px;font-style: normal;font-variant-caps: normal;font-weight: normal;letter-spacing: normal;text-align: start;text-indent: 0px;text-transform: none;white-space: normal;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration: none;"><span style="caret-color: rgb(0, 0, 0);font-family: Menlo-Regular;font-size: 11px;font-style: normal;font-variant-caps: normal;font-weight: normal;letter-spacing: normal;text-align: start;text-indent: 0px;text-transform: none;white-space: normal;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration: none;float: none;display: inline !important;">compiled for lightuserdata.</span><br style="caret-color: rgb(0, 0, 0);font-family: Menlo-Regular;font-size: 11px;font-style: normal;font-variant-caps: normal;font-weight: normal;letter-spacing: normal;text-align: start;text-indent: 0px;text-transform: none;white-space: normal;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration: none;"><br style="caret-color: rgb(0, 0, 0);font-family: Menlo-Regular;font-size: 11px;font-style: normal;font-variant-caps: normal;font-weight: normal;letter-spacing: normal;text-align: start;text-indent: 0px;text-transform: none;white-space: normal;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration: none;"><span style="caret-color: rgb(0, 0, 0);font-family: Menlo-Regular;font-size: 11px;font-style: normal;font-variant-caps: normal;font-weight: normal;letter-spacing: normal;text-align: start;text-indent: 0px;text-transform: none;white-space: normal;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration: none;float: none;display: inline !important;">[1]:<span class="Apple-converted-space_mr_css_attr"> </span></span><a style="font-family: Menlo-Regular;font-size: 11px;font-style: normal;font-variant-caps: normal;font-weight: normal;letter-spacing: normal;orphans: auto;text-align: start;text-indent: 0px;text-transform: none;white-space: normal;widows: auto;word-spacing: 0px;-webkit-text-size-adjust: auto;-webkit-text-stroke-width: 0px;" href="https://www.kernel.org/doc/html/latest/arm64/memory.html" target="_blank">https://www.kernel.org/doc/html/latest/arm64/memory.html</a><br style="caret-color: rgb(0, 0, 0);font-family: Menlo-Regular;font-size: 11px;font-style: normal;font-variant-caps: normal;font-weight: normal;letter-spacing: normal;text-align: start;text-indent: 0px;text-transform: none;white-space: normal;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration: none;"><br style="caret-color: rgb(0, 0, 0);font-family: Menlo-Regular;font-size: 11px;font-style: normal;font-variant-caps: normal;font-weight: normal;letter-spacing: normal;text-align: start;text-indent: 0px;text-transform: none;white-space: normal;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration: none;"><span style="caret-color: rgb(0, 0, 0);font-family: Menlo-Regular;font-size: 11px;font-style: normal;font-variant-caps: normal;font-weight: normal;letter-spacing: normal;text-align: start;text-indent: 0px;text-transform: none;white-space: normal;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration: none;float: none;display: inline !important;">Sergey Kaplun:</span><br style="caret-color: rgb(0, 0, 0);font-family: Menlo-Regular;font-size: 11px;font-style: normal;font-variant-caps: normal;font-weight: normal;letter-spacing: normal;text-align: start;text-indent: 0px;text-transform: none;white-space: normal;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration: none;"><span style="caret-color: rgb(0, 0, 0);font-family: Menlo-Regular;font-size: 11px;font-style: normal;font-variant-caps: normal;font-weight: normal;letter-spacing: normal;text-align: start;text-indent: 0px;text-transform: none;white-space: normal;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration: none;float: none;display: inline !important;">* added the description and the test for the problem</span><br style="caret-color: rgb(0, 0, 0);font-family: Menlo-Regular;font-size: 11px;font-style: normal;font-variant-caps: normal;font-weight: normal;letter-spacing: normal;text-align: start;text-indent: 0px;text-transform: none;white-space: normal;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration: none;"><br style="caret-color: rgb(0, 0, 0);font-family: Menlo-Regular;font-size: 11px;font-style: normal;font-variant-caps: normal;font-weight: normal;letter-spacing: normal;text-align: start;text-indent: 0px;text-transform: none;white-space: normal;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration: none;"><span style="caret-color: rgb(0, 0, 0);font-family: Menlo-Regular;font-size: 11px;font-style: normal;font-variant-caps: normal;font-weight: normal;letter-spacing: normal;text-align: start;text-indent: 0px;text-transform: none;white-space: normal;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration: none;float: none;display: inline !important;">Resolves tarantool/tarantool#2712</span><br style="caret-color: rgb(0, 0, 0);font-family: Menlo-Regular;font-size: 11px;font-style: normal;font-variant-caps: normal;font-weight: normal;letter-spacing: normal;text-align: start;text-indent: 0px;text-transform: none;white-space: normal;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration: none;"><span style="caret-color: rgb(0, 0, 0);font-family: Menlo-Regular;font-size: 11px;font-style: normal;font-variant-caps: normal;font-weight: normal;letter-spacing: normal;text-align: start;text-indent: 0px;text-transform: none;white-space: normal;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration: none;float: none;display: inline !important;">Needed for tarantool/tarantool#6154</span><br style="caret-color: rgb(0, 0, 0);font-family: Menlo-Regular;font-size: 11px;font-style: normal;font-variant-caps: normal;font-weight: normal;letter-spacing: normal;text-align: start;text-indent: 0px;text-transform: none;white-space: normal;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration: none;"><span style="caret-color: rgb(0, 0, 0);font-family: Menlo-Regular;font-size: 11px;font-style: normal;font-variant-caps: normal;font-weight: normal;letter-spacing: normal;text-align: start;text-indent: 0px;text-transform: none;white-space: normal;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration: none;float: none;display: inline !important;">===================================================================</span><br style="caret-color: rgb(0, 0, 0);font-family: Menlo-Regular;font-size: 11px;font-style: normal;font-variant-caps: normal;font-weight: normal;letter-spacing: normal;text-align: start;text-indent: 0px;text-transform: none;white-space: normal;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration: none;"><br style="caret-color: rgb(0, 0, 0);font-family: Menlo-Regular;font-size: 11px;font-style: normal;font-variant-caps: normal;font-weight: normal;letter-spacing: normal;text-align: start;text-indent: 0px;text-transform: none;white-space: normal;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration: none;"><span style="caret-color: rgb(0, 0, 0);font-family: Menlo-Regular;font-size: 11px;font-style: normal;font-variant-caps: normal;font-weight: normal;letter-spacing: normal;text-align: start;text-indent: 0px;text-transform: none;white-space: normal;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration: none;float: none;display: inline !important;">Branch is force-pushed.</span></div></blockquote></div> <div>LGTM.</div><div> </div><div>Sergos</div><div> </div></div></BODY></HTML>