]> git.ipfire.org Git - thirdparty/LuaJIT.git/commitdiff
DUALNUM: Fix x87 code for BC_ISEQN/BC_ISNEN.
authorMike Pall <mike>
Mon, 7 Mar 2011 19:12:39 +0000 (20:12 +0100)
committerMike Pall <mike>
Mon, 7 Mar 2011 19:12:39 +0000 (20:12 +0100)
src/buildvm_x64.h
src/buildvm_x64win.h
src/buildvm_x86.dasc
src/buildvm_x86.h

index 87115fe3a1e0b5c4b2860136a9a53a1f3c1fa678..42d435cbda113a399f36c047b09fc802fdbf8d8a 100644 (file)
@@ -12,7 +12,7 @@
 #define DASM_SECTION_CODE_OP   0
 #define DASM_SECTION_CODE_SUB  1
 #define DASM_MAXSECTION                2
-static const unsigned char build_actionlist[15908] = {
+static const unsigned char build_actionlist[15911] = {
   254,1,248,10,252,247,195,237,15,132,244,11,131,227,252,248,41,218,72,141,
   76,25,252,248,139,90,252,252,199,68,10,4,237,248,12,131,192,1,137,68,36,4,
   252,247,195,237,15,132,244,13,248,14,129,252,243,239,252,247,195,237,15,133,
@@ -528,111 +528,111 @@ static const unsigned char build_actionlist[15908] = {
   4,193,232,16,65,252,255,36,252,238,248,7,15,135,244,249,65,129,124,253,199,
   4,239,15,130,244,247,255,252,242,65,15,42,4,199,255,65,219,4,199,255,252,
   233,244,248,248,8,255,252,242,15,42,4,202,102,65,15,46,4,199,255,219,4,202,
-  221,4,194,255,129,252,253,239,15,131,244,249,255,248,1,252,242,65,15,16,4,
-  199,248,2,102,15,46,4,202,248,4,255,248,1,65,221,4,199,248,2,221,4,202,255,
-  72,252,247,208,139,108,202,4,131,195,4,57,197,255,15,133,244,249,15,183,67,
+  65,221,4,199,255,129,252,253,239,15,131,244,249,255,248,1,252,242,65,15,16,
+  4,199,248,2,102,15,46,4,202,248,4,255,248,1,65,221,4,199,248,2,221,4,202,
+  248,4,255,72,252,247,208,139,108,202,4,131,195,4,57,197,255,15,133,244,249,
+  15,183,67,252,254,141,156,253,131,233,248,2,139,3,15,182,204,15,182,232,131,
+  195,4,193,232,16,65,252,255,36,252,238,248,3,129,252,253,239,15,133,244,2,
+  252,233,244,46,255,15,132,244,248,129,252,253,239,15,132,244,46,15,183,67,
   252,254,141,156,253,131,233,248,2,139,3,15,182,204,15,182,232,131,195,4,193,
-  232,16,65,252,255,36,252,238,248,3,129,252,253,239,15,133,244,2,252,233,244,
-  46,255,15,132,244,248,129,252,253,239,15,132,244,46,15,183,67,252,254,141,
-  156,253,131,233,248,2,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,
-  252,255,36,252,238,255,139,108,194,4,131,195,4,129,252,253,239,255,137,108,
-  202,4,139,44,194,137,44,202,255,72,139,44,194,72,137,44,202,139,3,15,182,
-  204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,255,49,252,237,
-  129,124,253,194,4,239,129,213,239,137,108,202,4,139,3,15,182,204,15,182,232,
-  131,195,4,193,232,16,65,252,255,36,252,238,255,129,124,253,194,4,239,15,133,
-  244,251,139,44,194,252,247,221,15,128,244,250,199,68,202,4,237,137,44,202,
-  248,9,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,
-  238,248,4,199,68,202,4,0,0,224,65,199,4,202,0,0,0,0,252,233,244,9,248,5,15,
-  135,244,51,255,129,124,253,194,4,239,15,131,244,51,255,252,242,15,16,4,194,
-  72,184,237,237,102,72,15,110,200,15,87,193,252,242,15,17,4,202,255,221,4,
-  194,217,224,221,28,202,255,129,124,253,194,4,239,15,133,244,248,139,4,194,
-  255,139,128,233,248,1,199,68,202,4,237,137,4,202,255,15,87,192,252,242,15,
-  42,128,233,248,1,252,242,15,17,4,202,255,219,128,233,248,1,221,28,202,255,
-  139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,248,
-  2,129,124,253,194,4,239,15,133,244,54,139,60,194,137,213,232,251,1,20,255,
-  252,242,15,42,192,255,137,252,234,15,182,75,252,253,252,233,244,1,255,15,
-  182,252,236,15,182,192,255,129,124,253,252,234,4,239,15,133,244,48,65,129,
-  124,253,199,4,239,15,133,244,48,139,44,252,234,65,3,44,199,15,128,244,47,
-  255,129,124,253,252,234,4,239,15,133,244,50,65,129,124,253,199,4,239,15,133,
-  244,50,65,139,4,199,3,4,252,234,15,128,244,49,255,129,124,253,252,234,4,239,
-  15,133,244,53,129,124,253,194,4,239,15,133,244,53,139,44,252,234,3,44,194,
-  15,128,244,52,255,199,68,202,4,237,255,129,124,253,252,234,4,239,15,131,244,
-  48,255,65,129,124,253,199,4,239,15,131,244,48,255,252,242,15,16,4,252,234,
-  252,242,65,15,88,4,199,255,221,4,252,234,65,220,4,199,255,129,124,253,252,
-  234,4,239,15,131,244,50,255,65,129,124,253,199,4,239,15,131,244,50,255,252,
-  242,65,15,16,4,199,252,242,15,88,4,252,234,255,65,221,4,199,220,4,252,234,
-  255,129,124,253,252,234,4,239,15,131,244,53,129,124,253,194,4,239,15,131,
-  244,53,255,252,242,15,16,4,252,234,252,242,15,88,4,194,255,221,4,252,234,
-  220,4,194,255,129,124,253,252,234,4,239,15,133,244,48,65,129,124,253,199,
-  4,239,15,133,244,48,139,44,252,234,65,43,44,199,15,128,244,47,255,129,124,
-  253,252,234,4,239,15,133,244,50,65,129,124,253,199,4,239,15,133,244,50,65,
-  139,4,199,43,4,252,234,15,128,244,49,255,129,124,253,252,234,4,239,15,133,
-  244,53,129,124,253,194,4,239,15,133,244,53,139,44,252,234,43,44,194,15,128,
-  244,52,255,252,242,15,16,4,252,234,252,242,65,15,92,4,199,255,221,4,252,234,
-  65,220,36,199,255,252,242,65,15,16,4,199,252,242,15,92,4,252,234,255,65,221,
-  4,199,220,36,252,234,255,252,242,15,16,4,252,234,252,242,15,92,4,194,255,
-  221,4,252,234,220,36,194,255,129,124,253,252,234,4,239,15,133,244,48,65,129,
-  124,253,199,4,239,15,133,244,48,139,44,252,234,65,15,175,44,199,15,128,244,
-  47,255,129,124,253,252,234,4,239,15,133,244,50,65,129,124,253,199,4,239,15,
-  133,244,50,65,139,4,199,15,175,4,252,234,15,128,244,49,255,129,124,253,252,
-  234,4,239,15,133,244,53,129,124,253,194,4,239,15,133,244,53,139,44,252,234,
-  15,175,44,194,15,128,244,52,255,252,242,15,16,4,252,234,252,242,65,15,89,
-  4,199,255,221,4,252,234,65,220,12,199,255,252,242,65,15,16,4,199,252,242,
-  15,89,4,252,234,255,65,221,4,199,220,12,252,234,255,252,242,15,16,4,252,234,
-  252,242,15,89,4,194,255,221,4,252,234,220,12,194,255,252,242,15,16,4,252,
-  234,252,242,65,15,94,4,199,255,221,4,252,234,65,220,52,199,255,252,242,65,
-  15,16,4,199,252,242,15,94,4,252,234,255,65,221,4,199,220,52,252,234,255,252,
-  242,15,16,4,252,234,252,242,15,94,4,194,255,221,4,252,234,220,52,194,255,
-  252,242,15,16,4,252,234,252,242,65,15,16,12,199,255,221,4,252,234,65,221,
-  4,199,255,252,242,65,15,16,4,199,252,242,15,16,12,252,234,255,65,221,4,199,
-  221,4,252,234,255,252,242,15,16,4,252,234,252,242,15,16,12,194,255,221,4,
-  252,234,221,4,194,255,248,162,232,244,153,255,252,233,244,162,255,232,244,
-  113,255,15,182,252,236,15,182,192,139,124,36,24,137,151,233,141,52,194,137,
-  194,41,252,234,248,33,137,252,253,137,92,36,28,232,251,1,27,139,149,233,133,
-  192,15,133,244,42,15,182,107,252,255,15,182,75,252,253,72,139,4,252,234,72,
-  137,4,202,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,
-  252,238,255,72,252,247,208,65,139,4,135,199,68,202,4,237,137,4,202,139,3,
-  15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,255,15,191,
-  192,199,68,202,4,237,137,4,202,255,15,191,192,252,242,15,42,192,252,242,15,
-  17,4,202,255,223,67,252,254,221,28,202,255,252,242,65,15,16,4,199,252,242,
-  15,17,4,202,255,65,221,4,199,221,28,202,255,72,252,247,208,137,68,202,4,139,
-  3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,255,141,
-  76,202,12,141,68,194,4,189,237,137,105,252,248,248,1,137,41,131,193,8,57,
-  193,15,134,244,1,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,
-  255,36,252,238,255,139,106,252,248,139,172,253,133,233,139,173,233,72,139,
-  69,0,72,137,4,202,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,
-  255,36,252,238,255,139,106,252,248,139,172,253,141,233,128,189,233,0,139,
-  173,233,139,12,194,139,68,194,4,137,77,0,137,69,4,15,132,244,247,252,246,
-  133,233,235,15,133,244,248,248,1,139,3,15,182,204,15,182,232,131,195,4,193,
-  232,16,65,252,255,36,252,238,248,2,129,232,239,129,252,248,239,15,134,244,
-  1,252,246,129,233,235,15,132,244,1,137,252,238,137,213,65,141,190,233,255,
-  232,251,1,28,137,252,234,252,233,244,1,255,72,252,247,208,139,106,252,248,
-  139,172,253,141,233,65,139,12,135,139,133,233,137,8,199,64,4,237,252,246,
-  133,233,235,15,133,244,248,248,1,139,3,15,182,204,15,182,232,131,195,4,193,
-  232,16,65,252,255,36,252,238,248,2,252,246,129,233,235,15,132,244,1,128,189,
-  233,0,15,132,244,1,137,213,137,198,65,141,190,233,232,251,1,28,137,252,234,
-  252,233,244,1,255,139,106,252,248,255,252,242,65,15,16,4,199,255,139,172,
-  253,141,233,139,141,233,255,252,242,15,17,1,255,221,25,255,72,252,247,208,
-  139,106,252,248,139,172,253,141,233,139,141,233,137,65,4,139,3,15,182,204,
-  15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,255,141,156,253,131,
-  233,139,108,36,24,131,189,233,0,15,132,244,247,137,149,233,141,52,202,137,
-  252,239,232,251,1,29,139,149,233,248,1,139,3,15,182,204,15,182,232,131,195,
-  4,193,232,16,65,252,255,36,252,238,255,72,252,247,208,139,108,36,24,137,149,
-  233,139,82,252,248,65,139,52,135,137,252,239,137,92,36,28,232,251,1,30,139,
-  149,233,15,182,75,252,253,137,4,202,199,68,202,4,237,139,3,15,182,204,15,
-  182,232,131,195,4,193,232,16,65,252,255,36,252,238,255,139,108,36,24,137,
-  149,233,65,139,142,233,65,59,142,233,137,92,36,28,15,131,244,251,248,1,137,
-  194,37,252,255,7,0,0,193,252,234,11,61,252,255,7,0,0,15,132,244,249,248,2,
-  137,252,239,137,198,232,251,1,31,139,149,233,15,182,75,252,253,137,4,202,
-  199,68,202,4,237,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,
-  255,36,252,238,248,3,184,1,8,0,0,252,233,244,2,248,5,137,252,239,232,251,
-  1,32,15,183,67,252,254,252,233,244,1,255,72,252,247,208,139,108,36,24,65,
-  139,142,233,137,92,36,28,65,59,142,233,137,149,233,15,131,244,249,248,2,65,
-  139,52,135,137,252,239,232,251,1,33,139,149,233,15,182,75,252,253,137,4,202,
-  199,68,202,4,237,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,
-  255,36,252,238,248,3,137,252,239,232,251,1,32,15,183,67,252,254,72,252,247,
-  208,252,233,244,2,255,72,252,247,208,139,106,252,248,139,173,233,65,139,4,
-  135,252,233,244,163,255,72,252,247,208,139,106,252,248,139,173,233,65,139,
+  232,16,65,252,255,36,252,238,255,139,108,194,4,131,195,4,129,252,253,239,
+  255,137,108,202,4,139,44,194,137,44,202,255,72,139,44,194,72,137,44,202,139,
+  3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,255,49,
+  252,237,129,124,253,194,4,239,129,213,239,137,108,202,4,139,3,15,182,204,
+  15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,255,129,124,253,194,
+  4,239,15,133,244,251,139,44,194,252,247,221,15,128,244,250,199,68,202,4,237,
+  137,44,202,248,9,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,
+  255,36,252,238,248,4,199,68,202,4,0,0,224,65,199,4,202,0,0,0,0,252,233,244,
+  9,248,5,15,135,244,51,255,129,124,253,194,4,239,15,131,244,51,255,252,242,
+  15,16,4,194,72,184,237,237,102,72,15,110,200,15,87,193,252,242,15,17,4,202,
+  255,221,4,194,217,224,221,28,202,255,129,124,253,194,4,239,15,133,244,248,
+  139,4,194,255,139,128,233,248,1,199,68,202,4,237,137,4,202,255,15,87,192,
+  252,242,15,42,128,233,248,1,252,242,15,17,4,202,255,219,128,233,248,1,221,
+  28,202,255,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,
+  252,238,248,2,129,124,253,194,4,239,15,133,244,54,139,60,194,137,213,232,
+  251,1,20,255,252,242,15,42,192,255,137,252,234,15,182,75,252,253,252,233,
+  244,1,255,15,182,252,236,15,182,192,255,129,124,253,252,234,4,239,15,133,
+  244,48,65,129,124,253,199,4,239,15,133,244,48,139,44,252,234,65,3,44,199,
+  15,128,244,47,255,129,124,253,252,234,4,239,15,133,244,50,65,129,124,253,
+  199,4,239,15,133,244,50,65,139,4,199,3,4,252,234,15,128,244,49,255,129,124,
+  253,252,234,4,239,15,133,244,53,129,124,253,194,4,239,15,133,244,53,139,44,
+  252,234,3,44,194,15,128,244,52,255,199,68,202,4,237,255,129,124,253,252,234,
+  4,239,15,131,244,48,255,65,129,124,253,199,4,239,15,131,244,48,255,252,242,
+  15,16,4,252,234,252,242,65,15,88,4,199,255,221,4,252,234,65,220,4,199,255,
+  129,124,253,252,234,4,239,15,131,244,50,255,65,129,124,253,199,4,239,15,131,
+  244,50,255,252,242,65,15,16,4,199,252,242,15,88,4,252,234,255,65,221,4,199,
+  220,4,252,234,255,129,124,253,252,234,4,239,15,131,244,53,129,124,253,194,
+  4,239,15,131,244,53,255,252,242,15,16,4,252,234,252,242,15,88,4,194,255,221,
+  4,252,234,220,4,194,255,129,124,253,252,234,4,239,15,133,244,48,65,129,124,
+  253,199,4,239,15,133,244,48,139,44,252,234,65,43,44,199,15,128,244,47,255,
+  129,124,253,252,234,4,239,15,133,244,50,65,129,124,253,199,4,239,15,133,244,
+  50,65,139,4,199,43,4,252,234,15,128,244,49,255,129,124,253,252,234,4,239,
+  15,133,244,53,129,124,253,194,4,239,15,133,244,53,139,44,252,234,43,44,194,
+  15,128,244,52,255,252,242,15,16,4,252,234,252,242,65,15,92,4,199,255,221,
+  4,252,234,65,220,36,199,255,252,242,65,15,16,4,199,252,242,15,92,4,252,234,
+  255,65,221,4,199,220,36,252,234,255,252,242,15,16,4,252,234,252,242,15,92,
+  4,194,255,221,4,252,234,220,36,194,255,129,124,253,252,234,4,239,15,133,244,
+  48,65,129,124,253,199,4,239,15,133,244,48,139,44,252,234,65,15,175,44,199,
+  15,128,244,47,255,129,124,253,252,234,4,239,15,133,244,50,65,129,124,253,
+  199,4,239,15,133,244,50,65,139,4,199,15,175,4,252,234,15,128,244,49,255,129,
+  124,253,252,234,4,239,15,133,244,53,129,124,253,194,4,239,15,133,244,53,139,
+  44,252,234,15,175,44,194,15,128,244,52,255,252,242,15,16,4,252,234,252,242,
+  65,15,89,4,199,255,221,4,252,234,65,220,12,199,255,252,242,65,15,16,4,199,
+  252,242,15,89,4,252,234,255,65,221,4,199,220,12,252,234,255,252,242,15,16,
+  4,252,234,252,242,15,89,4,194,255,221,4,252,234,220,12,194,255,252,242,15,
+  16,4,252,234,252,242,65,15,94,4,199,255,221,4,252,234,65,220,52,199,255,252,
+  242,65,15,16,4,199,252,242,15,94,4,252,234,255,65,221,4,199,220,52,252,234,
+  255,252,242,15,16,4,252,234,252,242,15,94,4,194,255,221,4,252,234,220,52,
+  194,255,252,242,15,16,4,252,234,252,242,65,15,16,12,199,255,221,4,252,234,
+  65,221,4,199,255,252,242,65,15,16,4,199,252,242,15,16,12,252,234,255,65,221,
+  4,199,221,4,252,234,255,252,242,15,16,4,252,234,252,242,15,16,12,194,255,
+  221,4,252,234,221,4,194,255,248,162,232,244,153,255,252,233,244,162,255,232,
+  244,113,255,15,182,252,236,15,182,192,139,124,36,24,137,151,233,141,52,194,
+  137,194,41,252,234,248,33,137,252,253,137,92,36,28,232,251,1,27,139,149,233,
+  133,192,15,133,244,42,15,182,107,252,255,15,182,75,252,253,72,139,4,252,234,
+  72,137,4,202,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,
+  36,252,238,255,72,252,247,208,65,139,4,135,199,68,202,4,237,137,4,202,139,
+  3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,255,15,
+  191,192,199,68,202,4,237,137,4,202,255,15,191,192,252,242,15,42,192,252,242,
+  15,17,4,202,255,223,67,252,254,221,28,202,255,252,242,65,15,16,4,199,252,
+  242,15,17,4,202,255,65,221,4,199,221,28,202,255,72,252,247,208,137,68,202,
+  4,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,
+  255,141,76,202,12,141,68,194,4,189,237,137,105,252,248,248,1,137,41,131,193,
+  8,57,193,15,134,244,1,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,
+  252,255,36,252,238,255,139,106,252,248,139,172,253,133,233,139,173,233,72,
+  139,69,0,72,137,4,202,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,
+  252,255,36,252,238,255,139,106,252,248,139,172,253,141,233,128,189,233,0,
+  139,173,233,139,12,194,139,68,194,4,137,77,0,137,69,4,15,132,244,247,252,
+  246,133,233,235,15,133,244,248,248,1,139,3,15,182,204,15,182,232,131,195,
+  4,193,232,16,65,252,255,36,252,238,248,2,129,232,239,129,252,248,239,15,134,
+  244,1,252,246,129,233,235,15,132,244,1,137,252,238,137,213,65,141,190,233,
+  255,232,251,1,28,137,252,234,252,233,244,1,255,72,252,247,208,139,106,252,
+  248,139,172,253,141,233,65,139,12,135,139,133,233,137,8,199,64,4,237,252,
+  246,133,233,235,15,133,244,248,248,1,139,3,15,182,204,15,182,232,131,195,
+  4,193,232,16,65,252,255,36,252,238,248,2,252,246,129,233,235,15,132,244,1,
+  128,189,233,0,15,132,244,1,137,213,137,198,65,141,190,233,232,251,1,28,137,
+  252,234,252,233,244,1,255,139,106,252,248,255,252,242,65,15,16,4,199,255,
+  139,172,253,141,233,139,141,233,255,252,242,15,17,1,255,221,25,255,72,252,
+  247,208,139,106,252,248,139,172,253,141,233,139,141,233,137,65,4,139,3,15,
+  182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,255,141,156,
+  253,131,233,139,108,36,24,131,189,233,0,15,132,244,247,137,149,233,141,52,
+  202,137,252,239,232,251,1,29,139,149,233,248,1,139,3,15,182,204,15,182,232,
+  131,195,4,193,232,16,65,252,255,36,252,238,255,72,252,247,208,139,108,36,
+  24,137,149,233,139,82,252,248,65,139,52,135,137,252,239,137,92,36,28,232,
+  251,1,30,139,149,233,15,182,75,252,253,137,4,202,199,68,202,4,237,139,3,15,
+  182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,255,139,108,
+  36,24,137,149,233,65,139,142,233,65,59,142,233,137,92,36,28,15,131,244,251,
+  248,1,137,194,37,252,255,7,0,0,193,252,234,11,61,252,255,7,0,0,15,132,244,
+  249,248,2,137,252,239,137,198,232,251,1,31,139,149,233,15,182,75,252,253,
+  137,4,202,199,68,202,4,237,139,3,15,182,204,15,182,232,131,195,4,193,232,
+  16,65,252,255,36,252,238,248,3,184,1,8,0,0,252,233,244,2,248,5,137,252,239,
+  232,251,1,32,15,183,67,252,254,252,233,244,1,255,72,252,247,208,139,108,36,
+  24,65,139,142,233,137,92,36,28,65,59,142,233,137,149,233,15,131,244,249,248,
+  2,65,139,52,135,137,252,239,232,251,1,33,139,149,233,15,182,75,252,253,137,
+  4,202,199,68,202,4,237,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,
+  252,255,36,252,238,248,3,137,252,239,232,251,1,32,15,183,67,252,254,72,252,
+  247,208,252,233,244,2,255,72,252,247,208,139,106,252,248,139,173,233,65,139,
+  4,135,252,233,244,163,255,72,252,247,208,139,106,252,248,139,173,233,65,139,
   4,135,252,233,244,164,255,15,182,252,236,15,182,192,129,124,253,252,234,4,
   239,15,133,244,36,139,44,252,234,255,129,124,253,194,4,239,15,133,244,251,
   139,4,194,255,129,124,253,194,4,239,15,131,244,251,255,252,242,15,16,4,194,
@@ -2045,42 +2045,41 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
       }
       dasm_put(Dst, 10290);
     } else {
-      dasm_put(Dst, 10660, LJ_TISNUM);
+      dasm_put(Dst, 10661, LJ_TISNUM);
     }
     if (sse) {
-      dasm_put(Dst, 10669);
+      dasm_put(Dst, 10670);
     } else {
-      dasm_put(Dst, 10688);
+      dasm_put(Dst, 10689);
       if (cmov) {
       dasm_put(Dst, 10087);
       } else {
       dasm_put(Dst, 10093);
       }
-      dasm_put(Dst, 4611);
     }
     goto iseqne_fp;
   case BC_ISEQP: case BC_ISNEP:
     vk = op == BC_ISEQP;
-    dasm_put(Dst, 10700);
+    dasm_put(Dst, 10703);
     if (!LJ_HASFFI) goto iseqne_test;
     if (vk) {
-      dasm_put(Dst, 10714, -BCBIAS_J*4, LJ_TCDATA);
+      dasm_put(Dst, 10717, -BCBIAS_J*4, LJ_TCDATA);
     } else {
-      dasm_put(Dst, 10765, LJ_TCDATA, -BCBIAS_J*4);
+      dasm_put(Dst, 10768, LJ_TCDATA, -BCBIAS_J*4);
     }
     break;
 
   /* -- Unary test and copy ops ------------------------------------------- */
 
   case BC_ISTC: case BC_ISFC: case BC_IST: case BC_ISF:
-    dasm_put(Dst, 10810, LJ_TISTRUECOND);
+    dasm_put(Dst, 10813, LJ_TISTRUECOND);
     if (op == BC_IST || op == BC_ISTC) {
       dasm_put(Dst, 10115);
     } else {
       dasm_put(Dst, 10110);
     }
     if (op == BC_ISTC || op == BC_ISFC) {
-      dasm_put(Dst, 10822);
+      dasm_put(Dst, 10825);
     }
     dasm_put(Dst, 10120, -BCBIAS_J*4);
     break;
@@ -2088,21 +2087,21 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
   /* -- Unary ops --------------------------------------------------------- */
 
   case BC_MOV:
-    dasm_put(Dst, 10833);
+    dasm_put(Dst, 10836);
     break;
   case BC_NOT:
-    dasm_put(Dst, 10862, LJ_TISTRUECOND, LJ_TTRUE);
+    dasm_put(Dst, 10865, LJ_TISTRUECOND, LJ_TTRUE);
     break;
   case BC_UNM:
     if (LJ_DUALNUM) {
-      dasm_put(Dst, 10899, LJ_TISNUM, LJ_TISNUM);
+      dasm_put(Dst, 10902, LJ_TISNUM, LJ_TISNUM);
     } else {
-      dasm_put(Dst, 10977, LJ_TISNUM);
+      dasm_put(Dst, 10980, LJ_TISNUM);
     }
     if (sse) {
-      dasm_put(Dst, 10988, (unsigned int)(U64x(80000000,00000000)), (unsigned int)((U64x(80000000,00000000))>>32));
+      dasm_put(Dst, 10991, (unsigned int)(U64x(80000000,00000000)), (unsigned int)((U64x(80000000,00000000))>>32));
     } else {
-      dasm_put(Dst, 11013);
+      dasm_put(Dst, 11016);
     }
     if (LJ_DUALNUM) {
       dasm_put(Dst, 10393);
@@ -2111,21 +2110,21 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
     }
     break;
   case BC_LEN:
-    dasm_put(Dst, 11022, LJ_TSTR);
+    dasm_put(Dst, 11025, LJ_TSTR);
     if (LJ_DUALNUM) {
-      dasm_put(Dst, 11036, Dt5(->len), LJ_TISNUM);
+      dasm_put(Dst, 11039, Dt5(->len), LJ_TISNUM);
     } else if (sse) {
-      dasm_put(Dst, 11050, Dt5(->len));
+      dasm_put(Dst, 11053, Dt5(->len));
     } else {
-      dasm_put(Dst, 11068, Dt5(->len));
+      dasm_put(Dst, 11071, Dt5(->len));
     }
-    dasm_put(Dst, 11077, LJ_TTAB);
+    dasm_put(Dst, 11080, LJ_TTAB);
     if (LJ_DUALNUM) {
     } else if (sse) {
-      dasm_put(Dst, 11119);
+      dasm_put(Dst, 11122);
     } else {
     }
-    dasm_put(Dst, 11125);
+    dasm_put(Dst, 11128);
     break;
 
   /* -- Binary ops -------------------------------------------------------- */
@@ -2133,603 +2132,603 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
 
   case BC_ADDVN: case BC_ADDNV: case BC_ADDVV:
     if (LJ_DUALNUM) {
-    dasm_put(Dst, 11138);
+    dasm_put(Dst, 11141);
     vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
     switch (vk) {
     case 0:
-    dasm_put(Dst, 11146, LJ_TISNUM, LJ_TISNUM);
+    dasm_put(Dst, 11149, LJ_TISNUM, LJ_TISNUM);
       break;
     case 1:
-    dasm_put(Dst, 11181, LJ_TISNUM, LJ_TISNUM);
+    dasm_put(Dst, 11184, LJ_TISNUM, LJ_TISNUM);
       break;
     default:
-    dasm_put(Dst, 11216, LJ_TISNUM, LJ_TISNUM);
+    dasm_put(Dst, 11219, LJ_TISNUM, LJ_TISNUM);
       break;
     }
-    dasm_put(Dst, 11249, LJ_TISNUM);
+    dasm_put(Dst, 11252, LJ_TISNUM);
     if (vk == 1) {
-    dasm_put(Dst, 11046);
+    dasm_put(Dst, 11049);
     } else {
-    dasm_put(Dst, 10829);
+    dasm_put(Dst, 10832);
     }
     dasm_put(Dst, 10132);
     } else {
-    dasm_put(Dst, 11138);
+    dasm_put(Dst, 11141);
     vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
     switch (vk) {
     case 0:
-    dasm_put(Dst, 11255, LJ_TISNUM);
+    dasm_put(Dst, 11258, LJ_TISNUM);
     if (LJ_DUALNUM) {
-    dasm_put(Dst, 11267, LJ_TISNUM);
+    dasm_put(Dst, 11270, LJ_TISNUM);
     }
     if (sse) {
-    dasm_put(Dst, 11279);
+    dasm_put(Dst, 11282);
     } else {
-    dasm_put(Dst, 11294);
+    dasm_put(Dst, 11297);
     }
       break;
     case 1:
-    dasm_put(Dst, 11303, LJ_TISNUM);
+    dasm_put(Dst, 11306, LJ_TISNUM);
     if (LJ_DUALNUM) {
-    dasm_put(Dst, 11315, LJ_TISNUM);
+    dasm_put(Dst, 11318, LJ_TISNUM);
     }
     if (sse) {
-    dasm_put(Dst, 11327);
+    dasm_put(Dst, 11330);
     } else {
-    dasm_put(Dst, 11342);
+    dasm_put(Dst, 11345);
     }
       break;
     default:
-    dasm_put(Dst, 11351, LJ_TISNUM, LJ_TISNUM);
+    dasm_put(Dst, 11354, LJ_TISNUM, LJ_TISNUM);
     if (sse) {
-    dasm_put(Dst, 11373);
+    dasm_put(Dst, 11376);
     } else {
-    dasm_put(Dst, 11387);
+    dasm_put(Dst, 11390);
     }
       break;
     }
     if (sse) {
-    dasm_put(Dst, 11006);
+    dasm_put(Dst, 11009);
     } else {
-    dasm_put(Dst, 11018);
+    dasm_put(Dst, 11021);
     }
     dasm_put(Dst, 10132);
     }
     break;
   case BC_SUBVN: case BC_SUBNV: case BC_SUBVV:
     if (LJ_DUALNUM) {
-    dasm_put(Dst, 11138);
+    dasm_put(Dst, 11141);
     vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
     switch (vk) {
     case 0:
-    dasm_put(Dst, 11395, LJ_TISNUM, LJ_TISNUM);
+    dasm_put(Dst, 11398, LJ_TISNUM, LJ_TISNUM);
       break;
     case 1:
-    dasm_put(Dst, 11430, LJ_TISNUM, LJ_TISNUM);
+    dasm_put(Dst, 11433, LJ_TISNUM, LJ_TISNUM);
       break;
     default:
-    dasm_put(Dst, 11465, LJ_TISNUM, LJ_TISNUM);
+    dasm_put(Dst, 11468, LJ_TISNUM, LJ_TISNUM);
       break;
     }
-    dasm_put(Dst, 11249, LJ_TISNUM);
+    dasm_put(Dst, 11252, LJ_TISNUM);
     if (vk == 1) {
-    dasm_put(Dst, 11046);
+    dasm_put(Dst, 11049);
     } else {
-    dasm_put(Dst, 10829);
+    dasm_put(Dst, 10832);
     }
     dasm_put(Dst, 10132);
     } else {
-    dasm_put(Dst, 11138);
+    dasm_put(Dst, 11141);
     vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
     switch (vk) {
     case 0:
-    dasm_put(Dst, 11255, LJ_TISNUM);
+    dasm_put(Dst, 11258, LJ_TISNUM);
     if (LJ_DUALNUM) {
-    dasm_put(Dst, 11267, LJ_TISNUM);
+    dasm_put(Dst, 11270, LJ_TISNUM);
     }
     if (sse) {
-    dasm_put(Dst, 11498);
+    dasm_put(Dst, 11501);
     } else {
-    dasm_put(Dst, 11513);
+    dasm_put(Dst, 11516);
     }
       break;
     case 1:
-    dasm_put(Dst, 11303, LJ_TISNUM);
+    dasm_put(Dst, 11306, LJ_TISNUM);
     if (LJ_DUALNUM) {
-    dasm_put(Dst, 11315, LJ_TISNUM);
+    dasm_put(Dst, 11318, LJ_TISNUM);
     }
     if (sse) {
-    dasm_put(Dst, 11522);
+    dasm_put(Dst, 11525);
     } else {
-    dasm_put(Dst, 11537);
+    dasm_put(Dst, 11540);
     }
       break;
     default:
-    dasm_put(Dst, 11351, LJ_TISNUM, LJ_TISNUM);
+    dasm_put(Dst, 11354, LJ_TISNUM, LJ_TISNUM);
     if (sse) {
-    dasm_put(Dst, 11546);
+    dasm_put(Dst, 11549);
     } else {
-    dasm_put(Dst, 11560);
+    dasm_put(Dst, 11563);
     }
       break;
     }
     if (sse) {
-    dasm_put(Dst, 11006);
+    dasm_put(Dst, 11009);
     } else {
-    dasm_put(Dst, 11018);
+    dasm_put(Dst, 11021);
     }
     dasm_put(Dst, 10132);
     }
     break;
   case BC_MULVN: case BC_MULNV: case BC_MULVV:
     if (LJ_DUALNUM) {
-    dasm_put(Dst, 11138);
+    dasm_put(Dst, 11141);
     vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
     switch (vk) {
     case 0:
-    dasm_put(Dst, 11568, LJ_TISNUM, LJ_TISNUM);
+    dasm_put(Dst, 11571, LJ_TISNUM, LJ_TISNUM);
       break;
     case 1:
-    dasm_put(Dst, 11604, LJ_TISNUM, LJ_TISNUM);
+    dasm_put(Dst, 11607, LJ_TISNUM, LJ_TISNUM);
       break;
     default:
-    dasm_put(Dst, 11640, LJ_TISNUM, LJ_TISNUM);
+    dasm_put(Dst, 11643, LJ_TISNUM, LJ_TISNUM);
       break;
     }
-    dasm_put(Dst, 11249, LJ_TISNUM);
+    dasm_put(Dst, 11252, LJ_TISNUM);
     if (vk == 1) {
-    dasm_put(Dst, 11046);
+    dasm_put(Dst, 11049);
     } else {
-    dasm_put(Dst, 10829);
+    dasm_put(Dst, 10832);
     }
     dasm_put(Dst, 10132);
     } else {
-    dasm_put(Dst, 11138);
+    dasm_put(Dst, 11141);
     vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
     switch (vk) {
     case 0:
-    dasm_put(Dst, 11255, LJ_TISNUM);
+    dasm_put(Dst, 11258, LJ_TISNUM);
     if (LJ_DUALNUM) {
-    dasm_put(Dst, 11267, LJ_TISNUM);
+    dasm_put(Dst, 11270, LJ_TISNUM);
     }
     if (sse) {
-    dasm_put(Dst, 11674);
+    dasm_put(Dst, 11677);
     } else {
-    dasm_put(Dst, 11689);
+    dasm_put(Dst, 11692);
     }
       break;
     case 1:
-    dasm_put(Dst, 11303, LJ_TISNUM);
+    dasm_put(Dst, 11306, LJ_TISNUM);
     if (LJ_DUALNUM) {
-    dasm_put(Dst, 11315, LJ_TISNUM);
+    dasm_put(Dst, 11318, LJ_TISNUM);
     }
     if (sse) {
-    dasm_put(Dst, 11698);
+    dasm_put(Dst, 11701);
     } else {
-    dasm_put(Dst, 11713);
+    dasm_put(Dst, 11716);
     }
       break;
     default:
-    dasm_put(Dst, 11351, LJ_TISNUM, LJ_TISNUM);
+    dasm_put(Dst, 11354, LJ_TISNUM, LJ_TISNUM);
     if (sse) {
-    dasm_put(Dst, 11722);
+    dasm_put(Dst, 11725);
     } else {
-    dasm_put(Dst, 11736);
+    dasm_put(Dst, 11739);
     }
       break;
     }
     if (sse) {
-    dasm_put(Dst, 11006);
+    dasm_put(Dst, 11009);
     } else {
-    dasm_put(Dst, 11018);
+    dasm_put(Dst, 11021);
     }
     dasm_put(Dst, 10132);
     }
     break;
   case BC_DIVVN: case BC_DIVNV: case BC_DIVVV:
-    dasm_put(Dst, 11138);
+    dasm_put(Dst, 11141);
     vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
     switch (vk) {
     case 0:
-    dasm_put(Dst, 11255, LJ_TISNUM);
+    dasm_put(Dst, 11258, LJ_TISNUM);
     if (LJ_DUALNUM) {
-    dasm_put(Dst, 11267, LJ_TISNUM);
+    dasm_put(Dst, 11270, LJ_TISNUM);
     }
     if (sse) {
-    dasm_put(Dst, 11744);
+    dasm_put(Dst, 11747);
     } else {
-    dasm_put(Dst, 11759);
+    dasm_put(Dst, 11762);
     }
       break;
     case 1:
-    dasm_put(Dst, 11303, LJ_TISNUM);
+    dasm_put(Dst, 11306, LJ_TISNUM);
     if (LJ_DUALNUM) {
-    dasm_put(Dst, 11315, LJ_TISNUM);
+    dasm_put(Dst, 11318, LJ_TISNUM);
     }
     if (sse) {
-    dasm_put(Dst, 11768);
+    dasm_put(Dst, 11771);
     } else {
-    dasm_put(Dst, 11783);
+    dasm_put(Dst, 11786);
     }
       break;
     default:
-    dasm_put(Dst, 11351, LJ_TISNUM, LJ_TISNUM);
+    dasm_put(Dst, 11354, LJ_TISNUM, LJ_TISNUM);
     if (sse) {
-    dasm_put(Dst, 11792);
+    dasm_put(Dst, 11795);
     } else {
-    dasm_put(Dst, 11806);
+    dasm_put(Dst, 11809);
     }
       break;
     }
     if (sse) {
-    dasm_put(Dst, 11006);
+    dasm_put(Dst, 11009);
     } else {
-    dasm_put(Dst, 11018);
+    dasm_put(Dst, 11021);
     }
     dasm_put(Dst, 10132);
     break;
   case BC_MODVN:
-    dasm_put(Dst, 11138);
+    dasm_put(Dst, 11141);
     vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
     switch (vk) {
     case 0:
-    dasm_put(Dst, 11255, LJ_TISNUM);
+    dasm_put(Dst, 11258, LJ_TISNUM);
     if (LJ_DUALNUM) {
-    dasm_put(Dst, 11267, LJ_TISNUM);
+    dasm_put(Dst, 11270, LJ_TISNUM);
     }
     if (sse) {
-    dasm_put(Dst, 11814);
+    dasm_put(Dst, 11817);
     } else {
-    dasm_put(Dst, 11829);
+    dasm_put(Dst, 11832);
     }
       break;
     case 1:
-    dasm_put(Dst, 11303, LJ_TISNUM);
+    dasm_put(Dst, 11306, LJ_TISNUM);
     if (LJ_DUALNUM) {
-    dasm_put(Dst, 11315, LJ_TISNUM);
+    dasm_put(Dst, 11318, LJ_TISNUM);
     }
     if (sse) {
-    dasm_put(Dst, 11838);
+    dasm_put(Dst, 11841);
     } else {
-    dasm_put(Dst, 11853);
+    dasm_put(Dst, 11856);
     }
       break;
     default:
-    dasm_put(Dst, 11351, LJ_TISNUM, LJ_TISNUM);
+    dasm_put(Dst, 11354, LJ_TISNUM, LJ_TISNUM);
     if (sse) {
-    dasm_put(Dst, 11862);
+    dasm_put(Dst, 11865);
     } else {
-    dasm_put(Dst, 11876);
+    dasm_put(Dst, 11879);
     }
       break;
     }
-    dasm_put(Dst, 11884);
+    dasm_put(Dst, 11887);
     if (sse) {
-    dasm_put(Dst, 11006);
+    dasm_put(Dst, 11009);
     } else {
-    dasm_put(Dst, 11018);
+    dasm_put(Dst, 11021);
     }
     dasm_put(Dst, 10132);
     break;
   case BC_MODNV: case BC_MODVV:
-    dasm_put(Dst, 11138);
+    dasm_put(Dst, 11141);
     vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
     switch (vk) {
     case 0:
-    dasm_put(Dst, 11255, LJ_TISNUM);
+    dasm_put(Dst, 11258, LJ_TISNUM);
     if (LJ_DUALNUM) {
-    dasm_put(Dst, 11267, LJ_TISNUM);
+    dasm_put(Dst, 11270, LJ_TISNUM);
     }
     if (sse) {
-    dasm_put(Dst, 11814);
+    dasm_put(Dst, 11817);
     } else {
-    dasm_put(Dst, 11829);
+    dasm_put(Dst, 11832);
     }
       break;
     case 1:
-    dasm_put(Dst, 11303, LJ_TISNUM);
+    dasm_put(Dst, 11306, LJ_TISNUM);
     if (LJ_DUALNUM) {
-    dasm_put(Dst, 11315, LJ_TISNUM);
+    dasm_put(Dst, 11318, LJ_TISNUM);
     }
     if (sse) {
-    dasm_put(Dst, 11838);
+    dasm_put(Dst, 11841);
     } else {
-    dasm_put(Dst, 11853);
+    dasm_put(Dst, 11856);
     }
       break;
     default:
-    dasm_put(Dst, 11351, LJ_TISNUM, LJ_TISNUM);
+    dasm_put(Dst, 11354, LJ_TISNUM, LJ_TISNUM);
     if (sse) {
-    dasm_put(Dst, 11862);
+    dasm_put(Dst, 11865);
     } else {
-    dasm_put(Dst, 11876);
+    dasm_put(Dst, 11879);
     }
       break;
     }
-    dasm_put(Dst, 11890);
+    dasm_put(Dst, 11893);
     break;
   case BC_POW:
-    dasm_put(Dst, 11138);
+    dasm_put(Dst, 11141);
     vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
     switch (vk) {
     case 0:
-    dasm_put(Dst, 11255, LJ_TISNUM);
+    dasm_put(Dst, 11258, LJ_TISNUM);
     if (LJ_DUALNUM) {
-    dasm_put(Dst, 11267, LJ_TISNUM);
+    dasm_put(Dst, 11270, LJ_TISNUM);
     }
     if (sse) {
-    dasm_put(Dst, 11814);
+    dasm_put(Dst, 11817);
     } else {
-    dasm_put(Dst, 11829);
+    dasm_put(Dst, 11832);
     }
       break;
     case 1:
-    dasm_put(Dst, 11303, LJ_TISNUM);
+    dasm_put(Dst, 11306, LJ_TISNUM);
     if (LJ_DUALNUM) {
-    dasm_put(Dst, 11315, LJ_TISNUM);
+    dasm_put(Dst, 11318, LJ_TISNUM);
     }
     if (sse) {
-    dasm_put(Dst, 11838);
+    dasm_put(Dst, 11841);
     } else {
-    dasm_put(Dst, 11853);
+    dasm_put(Dst, 11856);
     }
       break;
     default:
-    dasm_put(Dst, 11351, LJ_TISNUM, LJ_TISNUM);
+    dasm_put(Dst, 11354, LJ_TISNUM, LJ_TISNUM);
     if (sse) {
-    dasm_put(Dst, 11862);
+    dasm_put(Dst, 11865);
     } else {
-    dasm_put(Dst, 11876);
+    dasm_put(Dst, 11879);
     }
       break;
     }
-    dasm_put(Dst, 11895);
+    dasm_put(Dst, 11898);
     if (sse) {
-    dasm_put(Dst, 11006);
+    dasm_put(Dst, 11009);
     } else {
-    dasm_put(Dst, 11018);
+    dasm_put(Dst, 11021);
     }
     dasm_put(Dst, 10132);
     break;
 
   case BC_CAT:
-    dasm_put(Dst, 11899, Dt1(->base), Dt1(->base));
+    dasm_put(Dst, 11902, Dt1(->base), Dt1(->base));
     break;
 
   /* -- Constant ops ------------------------------------------------------ */
 
   case BC_KSTR:
-    dasm_put(Dst, 11983, LJ_TSTR);
+    dasm_put(Dst, 11986, LJ_TSTR);
     break;
   case BC_KCDATA:
 #if LJ_HASFFI
-    dasm_put(Dst, 11983, LJ_TCDATA);
+    dasm_put(Dst, 11986, LJ_TCDATA);
 #endif
     break;
   case BC_KSHORT:
     if (LJ_DUALNUM) {
-      dasm_put(Dst, 12020, LJ_TISNUM);
+      dasm_put(Dst, 12023, LJ_TISNUM);
     } else if (sse) {
-      dasm_put(Dst, 12032);
+      dasm_put(Dst, 12035);
     } else {
-      dasm_put(Dst, 12047);
+      dasm_put(Dst, 12050);
     }
     dasm_put(Dst, 10132);
     break;
   case BC_KNUM:
     if (sse) {
-      dasm_put(Dst, 12055);
+      dasm_put(Dst, 12058);
     } else {
-      dasm_put(Dst, 12069);
+      dasm_put(Dst, 12072);
     }
     dasm_put(Dst, 10132);
     break;
   case BC_KPRI:
-    dasm_put(Dst, 12077);
+    dasm_put(Dst, 12080);
     break;
   case BC_KNIL:
-    dasm_put(Dst, 12106, LJ_TNIL);
+    dasm_put(Dst, 12109, LJ_TNIL);
     break;
 
   /* -- Upvalue and function ops ------------------------------------------ */
 
   case BC_UGET:
-    dasm_put(Dst, 12154, offsetof(GCfuncL, uvptr), DtA(->v));
+    dasm_put(Dst, 12157, offsetof(GCfuncL, uvptr), DtA(->v));
     break;
   case BC_USETV:
 #define TV2MARKOFS \
  ((int32_t)offsetof(GCupval, marked)-(int32_t)offsetof(GCupval, tv))
-    dasm_put(Dst, 12195, offsetof(GCfuncL, uvptr), DtA(->closed), DtA(->v), TV2MARKOFS, LJ_GC_BLACK, LJ_TISGCV, LJ_TISNUM - LJ_TISGCV, Dt4(->gch.marked), LJ_GC_WHITES, GG_DISP2G);
-    dasm_put(Dst, 12291);
+    dasm_put(Dst, 12198, offsetof(GCfuncL, uvptr), DtA(->closed), DtA(->v), TV2MARKOFS, LJ_GC_BLACK, LJ_TISGCV, LJ_TISNUM - LJ_TISGCV, Dt4(->gch.marked), LJ_GC_WHITES, GG_DISP2G);
+    dasm_put(Dst, 12294);
     break;
 #undef TV2MARKOFS
   case BC_USETS:
-    dasm_put(Dst, 12303, offsetof(GCfuncL, uvptr), DtA(->v), LJ_TSTR, DtA(->marked), LJ_GC_BLACK, Dt4(->gch.marked), LJ_GC_WHITES, DtA(->closed), GG_DISP2G);
+    dasm_put(Dst, 12306, offsetof(GCfuncL, uvptr), DtA(->v), LJ_TSTR, DtA(->marked), LJ_GC_BLACK, Dt4(->gch.marked), LJ_GC_WHITES, DtA(->closed), GG_DISP2G);
     break;
   case BC_USETN:
-    dasm_put(Dst, 12399);
+    dasm_put(Dst, 12402);
     if (sse) {
-      dasm_put(Dst, 12404);
+      dasm_put(Dst, 12407);
     } else {
-      dasm_put(Dst, 11833);
+      dasm_put(Dst, 10656);
     }
-    dasm_put(Dst, 12412, offsetof(GCfuncL, uvptr), DtA(->v));
+    dasm_put(Dst, 12415, offsetof(GCfuncL, uvptr), DtA(->v));
     if (sse) {
-      dasm_put(Dst, 12421);
+      dasm_put(Dst, 12424);
     } else {
-      dasm_put(Dst, 12427);
+      dasm_put(Dst, 12430);
     }
     dasm_put(Dst, 10132);
     break;
   case BC_USETP:
-    dasm_put(Dst, 12430, offsetof(GCfuncL, uvptr), DtA(->v));
+    dasm_put(Dst, 12433, offsetof(GCfuncL, uvptr), DtA(->v));
     break;
   case BC_UCLO:
-    dasm_put(Dst, 12470, -BCBIAS_J*4, Dt1(->openupval), Dt1(->base), Dt1(->base));
+    dasm_put(Dst, 12473, -BCBIAS_J*4, Dt1(->openupval), Dt1(->base), Dt1(->base));
     break;
 
   case BC_FNEW:
-    dasm_put(Dst, 12526, Dt1(->base), Dt1(->base), LJ_TFUNC);
+    dasm_put(Dst, 12529, Dt1(->base), Dt1(->base), LJ_TFUNC);
     break;
 
   /* -- Table ops --------------------------------------------------------- */
 
   case BC_TNEW:
-    dasm_put(Dst, 12593, Dt1(->base), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), LJ_TTAB);
+    dasm_put(Dst, 12596, Dt1(->base), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), LJ_TTAB);
     break;
   case BC_TDUP:
-    dasm_put(Dst, 12717, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), Dt1(->base), LJ_TTAB);
+    dasm_put(Dst, 12720, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), Dt1(->base), LJ_TTAB);
     break;
 
   case BC_GGET:
-    dasm_put(Dst, 12816, Dt7(->env));
+    dasm_put(Dst, 12819, Dt7(->env));
     break;
   case BC_GSET:
-    dasm_put(Dst, 12836, Dt7(->env));
+    dasm_put(Dst, 12839, Dt7(->env));
     break;
 
   case BC_TGETV:
-    dasm_put(Dst, 12856, LJ_TTAB);
+    dasm_put(Dst, 12859, LJ_TTAB);
     if (LJ_DUALNUM) {
-      dasm_put(Dst, 12879, LJ_TISNUM);
+      dasm_put(Dst, 12882, LJ_TISNUM);
     } else {
-      dasm_put(Dst, 12893, LJ_TISNUM);
+      dasm_put(Dst, 12896, LJ_TISNUM);
       if (sse) {
-       dasm_put(Dst, 12904);
+       dasm_put(Dst, 12907);
       } else {
       }
-      dasm_put(Dst, 12925);
+      dasm_put(Dst, 12928);
     }
-    dasm_put(Dst, 12930, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index, LJ_TNIL);
-    dasm_put(Dst, 13022, LJ_TSTR);
+    dasm_put(Dst, 12933, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index, LJ_TNIL);
+    dasm_put(Dst, 13025, LJ_TSTR);
     break;
   case BC_TGETS:
-    dasm_put(Dst, 13040, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL);
-    dasm_put(Dst, 13125, LJ_TNIL, DtB(->next), Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
+    dasm_put(Dst, 13043, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL);
+    dasm_put(Dst, 13128, LJ_TNIL, DtB(->next), Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
     break;
   case BC_TGETB:
-    dasm_put(Dst, 13197, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
-    dasm_put(Dst, 13293, LJ_TNIL);
+    dasm_put(Dst, 13200, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
+    dasm_put(Dst, 13296, LJ_TNIL);
     break;
 
   case BC_TSETV:
-    dasm_put(Dst, 13310, LJ_TTAB);
+    dasm_put(Dst, 13313, LJ_TTAB);
     if (LJ_DUALNUM) {
-      dasm_put(Dst, 12879, LJ_TISNUM);
+      dasm_put(Dst, 12882, LJ_TISNUM);
     } else {
-      dasm_put(Dst, 12893, LJ_TISNUM);
+      dasm_put(Dst, 12896, LJ_TISNUM);
       if (sse) {
-       dasm_put(Dst, 12904);
+       dasm_put(Dst, 12907);
       } else {
       }
-      dasm_put(Dst, 13333);
+      dasm_put(Dst, 13336);
     }
-    dasm_put(Dst, 13338, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex);
-    dasm_put(Dst, 13419, LJ_TSTR, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
+    dasm_put(Dst, 13341, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex);
+    dasm_put(Dst, 13422, LJ_TSTR, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
     break;
   case BC_TSETS:
-    dasm_put(Dst, 13478, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->nomm), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL);
-    dasm_put(Dst, 13555, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, DtB(->next));
-    dasm_put(Dst, 13642, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, LJ_TSTR, Dt1(->base), Dt1(->base), Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
+    dasm_put(Dst, 13481, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->nomm), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL);
+    dasm_put(Dst, 13558, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, DtB(->next));
+    dasm_put(Dst, 13645, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, LJ_TSTR, Dt1(->base), Dt1(->base), Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
     break;
   case BC_TSETB:
-    dasm_put(Dst, 13734, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable));
-    dasm_put(Dst, 13829, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
+    dasm_put(Dst, 13737, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable));
+    dasm_put(Dst, 13832, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
     break;
 
   case BC_TSETM:
-    dasm_put(Dst, 13877, Dt6(->marked), LJ_GC_BLACK, Dt6(->asize), Dt6(->array), Dt1(->base), Dt1(->base));
-    dasm_put(Dst, 14027, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
+    dasm_put(Dst, 13880, Dt6(->marked), LJ_GC_BLACK, Dt6(->asize), Dt6(->array), Dt1(->base), Dt1(->base));
+    dasm_put(Dst, 14030, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
     break;
 
   /* -- Calls and vararg handling ----------------------------------------- */
 
   case BC_CALL: case BC_CALLM:
-    dasm_put(Dst, 11142);
+    dasm_put(Dst, 11145);
     if (op == BC_CALLM) {
-      dasm_put(Dst, 14047);
+      dasm_put(Dst, 14050);
     }
-    dasm_put(Dst, 14052, LJ_TFUNC, Dt7(->pc));
+    dasm_put(Dst, 14055, LJ_TFUNC, Dt7(->pc));
     break;
 
   case BC_CALLMT:
-    dasm_put(Dst, 14047);
+    dasm_put(Dst, 14050);
     break;
   case BC_CALLT:
-    dasm_put(Dst, 14095, LJ_TFUNC, FRAME_TYPE, Dt7(->ffid), Dt7(->pc));
-    dasm_put(Dst, 14213, FRAME_TYPE, Dt7(->pc), PC2PROTO(k), FRAME_VARG, FRAME_TYPEP, FRAME_VARG);
+    dasm_put(Dst, 14098, LJ_TFUNC, FRAME_TYPE, Dt7(->ffid), Dt7(->pc));
+    dasm_put(Dst, 14216, FRAME_TYPE, Dt7(->pc), PC2PROTO(k), FRAME_VARG, FRAME_TYPEP, FRAME_VARG);
     break;
 
   case BC_ITERC:
-    dasm_put(Dst, 14287, LJ_TFUNC, 2+1, Dt7(->pc));
+    dasm_put(Dst, 14290, LJ_TFUNC, 2+1, Dt7(->pc));
     break;
 
   case BC_ITERN:
 #if LJ_HASJIT
 #endif
-    dasm_put(Dst, 14359, Dt6(->asize), Dt6(->array), LJ_TNIL);
+    dasm_put(Dst, 14362, Dt6(->asize), Dt6(->array), LJ_TNIL);
     if (LJ_DUALNUM) {
-      dasm_put(Dst, 11041, LJ_TISNUM);
+      dasm_put(Dst, 11044, LJ_TISNUM);
     } else if (sse) {
-      dasm_put(Dst, 11119);
+      dasm_put(Dst, 11122);
     } else {
-      dasm_put(Dst, 14411);
+      dasm_put(Dst, 14414);
     }
-    dasm_put(Dst, 14417);
+    dasm_put(Dst, 14420);
     if (LJ_DUALNUM) {
     } else if (sse) {
-      dasm_put(Dst, 11006);
+      dasm_put(Dst, 11009);
     } else {
-      dasm_put(Dst, 11018);
+      dasm_put(Dst, 11021);
     }
-    dasm_put(Dst, 14430, -BCBIAS_J*4);
+    dasm_put(Dst, 14433, -BCBIAS_J*4);
     if (!LJ_DUALNUM && !sse) {
-      dasm_put(Dst, 14484);
+      dasm_put(Dst, 14487);
     }
-    dasm_put(Dst, 14490, Dt6(->hmask), sizeof(Node), Dt6(->node), DtB(->val.it), LJ_TNIL, DtB(->key), DtB(->val));
+    dasm_put(Dst, 14493, Dt6(->hmask), sizeof(Node), Dt6(->node), DtB(->val.it), LJ_TNIL, DtB(->key), DtB(->val));
     break;
 
   case BC_ISNEXT:
-    dasm_put(Dst, 14569, LJ_TFUNC, LJ_TTAB, LJ_TNIL, Dt8(->ffid), FF_next_N, -BCBIAS_J*4, BC_JMP, -BCBIAS_J*4, BC_ITERC);
+    dasm_put(Dst, 14572, LJ_TFUNC, LJ_TTAB, LJ_TNIL, Dt8(->ffid), FF_next_N, -BCBIAS_J*4, BC_JMP, -BCBIAS_J*4, BC_ITERC);
     break;
 
   case BC_VARG:
-    dasm_put(Dst, 14670, (8+FRAME_VARG), LJ_TNIL, Dt1(->maxstack));
-    dasm_put(Dst, 14837, Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top));
+    dasm_put(Dst, 14673, (8+FRAME_VARG), LJ_TNIL, Dt1(->maxstack));
+    dasm_put(Dst, 14840, Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top));
     break;
 
   /* -- Returns ----------------------------------------------------------- */
 
   case BC_RETM:
-    dasm_put(Dst, 14047);
+    dasm_put(Dst, 14050);
     break;
 
   case BC_RET: case BC_RET0: case BC_RET1:
     if (op != BC_RET0) {
-      dasm_put(Dst, 14907);
+      dasm_put(Dst, 14910);
     }
-    dasm_put(Dst, 14911, FRAME_TYPE);
+    dasm_put(Dst, 14914, FRAME_TYPE);
     switch (op) {
     case BC_RET:
-      dasm_put(Dst, 14930);
+      dasm_put(Dst, 14933);
       break;
     case BC_RET1:
-      dasm_put(Dst, 14984);
+      dasm_put(Dst, 14987);
       /* fallthrough */
     case BC_RET0:
-      dasm_put(Dst, 14994);
+      dasm_put(Dst, 14997);
     default:
       break;
     }
-    dasm_put(Dst, 15005, Dt7(->pc), PC2PROTO(k));
+    dasm_put(Dst, 15008, Dt7(->pc), PC2PROTO(k));
     if (op == BC_RET) {
-      dasm_put(Dst, 15053, LJ_TNIL);
+      dasm_put(Dst, 15056, LJ_TNIL);
     } else {
-      dasm_put(Dst, 15064, LJ_TNIL);
+      dasm_put(Dst, 15067, LJ_TNIL);
     }
-    dasm_put(Dst, 15071, -FRAME_VARG, FRAME_TYPEP);
+    dasm_put(Dst, 15074, -FRAME_VARG, FRAME_TYPEP);
     if (op != BC_RET0) {
-      dasm_put(Dst, 15095);
+      dasm_put(Dst, 15098);
     }
     dasm_put(Dst, 4669);
     break;
@@ -2739,7 +2738,7 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
 
   case BC_FORL:
 #if LJ_HASJIT
-    dasm_put(Dst, 15099, HOTCOUNT_PCMASK, GG_DISP2HOT);
+    dasm_put(Dst, 15102, HOTCOUNT_PCMASK, GG_DISP2HOT);
 #endif
     break;
 
@@ -2751,104 +2750,104 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
   case BC_FORI:
   case BC_IFORL:
     vk = (op == BC_IFORL || op == BC_JFORL);
-    dasm_put(Dst, 15120);
+    dasm_put(Dst, 15123);
     if (LJ_DUALNUM) {
-      dasm_put(Dst, 15124, LJ_TISNUM);
+      dasm_put(Dst, 15127, LJ_TISNUM);
       if (!vk) {
-       dasm_put(Dst, 15134, LJ_TISNUM, LJ_TISNUM);
+       dasm_put(Dst, 15137, LJ_TISNUM, LJ_TISNUM);
       } else {
-       dasm_put(Dst, 15163);
+       dasm_put(Dst, 15166);
       }
-      dasm_put(Dst, 15182, LJ_TISNUM);
+      dasm_put(Dst, 15185, LJ_TISNUM);
       if (op == BC_FORI) {
-       dasm_put(Dst, 15193, -BCBIAS_J*4);
+       dasm_put(Dst, 15196, -BCBIAS_J*4);
       } else if (op == BC_JFORI) {
-       dasm_put(Dst, 15207, -BCBIAS_J*4, BC_JLOOP);
+       dasm_put(Dst, 15210, -BCBIAS_J*4, BC_JLOOP);
       } else if (op == BC_IFORL) {
-       dasm_put(Dst, 15225, -BCBIAS_J*4);
+       dasm_put(Dst, 15228, -BCBIAS_J*4);
       } else {
-       dasm_put(Dst, 15217, BC_JLOOP);
+       dasm_put(Dst, 15220, BC_JLOOP);
       }
-      dasm_put(Dst, 15239);
+      dasm_put(Dst, 15242);
       if (vk) {
-       dasm_put(Dst, 15264);
+       dasm_put(Dst, 15267);
       }
-      dasm_put(Dst, 15182, LJ_TISNUM);
+      dasm_put(Dst, 15185, LJ_TISNUM);
       if (op == BC_FORI) {
-       dasm_put(Dst, 15273);
+       dasm_put(Dst, 15276);
       } else if (op == BC_JFORI) {
-       dasm_put(Dst, 15278, -BCBIAS_J*4, BC_JLOOP);
+       dasm_put(Dst, 15281, -BCBIAS_J*4, BC_JLOOP);
       } else if (op == BC_IFORL) {
-       dasm_put(Dst, 15292);
+       dasm_put(Dst, 15295);
       } else {
-       dasm_put(Dst, 15288, BC_JLOOP);
+       dasm_put(Dst, 15291, BC_JLOOP);
       }
-      dasm_put(Dst, 15297);
+      dasm_put(Dst, 15300);
     } else if (!vk) {
-      dasm_put(Dst, 15304, LJ_TISNUM);
+      dasm_put(Dst, 15307, LJ_TISNUM);
     }
     if (!vk) {
-      dasm_put(Dst, 15310, LJ_TISNUM);
+      dasm_put(Dst, 15313, LJ_TISNUM);
     }
-    dasm_put(Dst, 15324);
+    dasm_put(Dst, 15327);
     if (!vk) {
-      dasm_put(Dst, 15328, LJ_TISNUM);
+      dasm_put(Dst, 15331, LJ_TISNUM);
     }
     if (sse) {
-      dasm_put(Dst, 15337);
+      dasm_put(Dst, 15340);
       if (vk) {
-       dasm_put(Dst, 15349);
+       dasm_put(Dst, 15352);
       } else {
-       dasm_put(Dst, 15368);
+       dasm_put(Dst, 15371);
       }
-      dasm_put(Dst, 15373);
+      dasm_put(Dst, 15376);
     } else {
-      dasm_put(Dst, 15386);
+      dasm_put(Dst, 15389);
       if (vk) {
-       dasm_put(Dst, 15392);
+       dasm_put(Dst, 15395);
       } else {
-       dasm_put(Dst, 15408);
+       dasm_put(Dst, 15411);
       }
-      dasm_put(Dst, 15416);
+      dasm_put(Dst, 15419);
       if (cmov) {
       dasm_put(Dst, 10087);
       } else {
       dasm_put(Dst, 10093);
       }
       if (!cmov) {
-       dasm_put(Dst, 15421);
+       dasm_put(Dst, 15424);
       }
     }
     if (op == BC_FORI) {
       if (LJ_DUALNUM) {
-       dasm_put(Dst, 15427);
+       dasm_put(Dst, 15430);
       } else {
-       dasm_put(Dst, 15432, -BCBIAS_J*4);
+       dasm_put(Dst, 15435, -BCBIAS_J*4);
       }
     } else if (op == BC_JFORI) {
-      dasm_put(Dst, 15442, -BCBIAS_J*4, BC_JLOOP);
+      dasm_put(Dst, 15445, -BCBIAS_J*4, BC_JLOOP);
     } else if (op == BC_IFORL) {
       if (LJ_DUALNUM) {
-       dasm_put(Dst, 15456);
+       dasm_put(Dst, 15459);
       } else {
-       dasm_put(Dst, 15461, -BCBIAS_J*4);
+       dasm_put(Dst, 15464, -BCBIAS_J*4);
       }
     } else {
-      dasm_put(Dst, 15452, BC_JLOOP);
+      dasm_put(Dst, 15455, BC_JLOOP);
     }
     if (LJ_DUALNUM) {
       dasm_put(Dst, 10016);
     } else {
-      dasm_put(Dst, 10787);
+      dasm_put(Dst, 10790);
     }
     if (sse) {
-      dasm_put(Dst, 15471);
+      dasm_put(Dst, 15474);
     }
     break;
 
   case BC_ITERL:
 #if LJ_HASJIT
-    dasm_put(Dst, 15099, HOTCOUNT_PCMASK, GG_DISP2HOT);
+    dasm_put(Dst, 15102, HOTCOUNT_PCMASK, GG_DISP2HOT);
 #endif
     break;
 
@@ -2857,18 +2856,18 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
     break;
 #endif
   case BC_IITERL:
-    dasm_put(Dst, 15482, LJ_TNIL);
+    dasm_put(Dst, 15485, LJ_TNIL);
     if (op == BC_JITERL) {
-      dasm_put(Dst, 15497, BC_JLOOP);
+      dasm_put(Dst, 15500, BC_JLOOP);
     } else {
-      dasm_put(Dst, 15511, -BCBIAS_J*4);
+      dasm_put(Dst, 15514, -BCBIAS_J*4);
     }
     dasm_put(Dst, 10130);
     break;
 
   case BC_LOOP:
 #if LJ_HASJIT
-    dasm_put(Dst, 15099, HOTCOUNT_PCMASK, GG_DISP2HOT);
+    dasm_put(Dst, 15102, HOTCOUNT_PCMASK, GG_DISP2HOT);
 #endif
     break;
 
@@ -2878,12 +2877,12 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
 
   case BC_JLOOP:
 #if LJ_HASJIT
-    dasm_put(Dst, 15527, DISPATCH_J(trace), DtD(->mcode), DISPATCH_GL(jit_base), DISPATCH_GL(jit_L));
+    dasm_put(Dst, 15530, DISPATCH_J(trace), DtD(->mcode), DISPATCH_GL(jit_base), DISPATCH_GL(jit_L));
 #endif
     break;
 
   case BC_JMP:
-    dasm_put(Dst, 15568, -BCBIAS_J*4);
+    dasm_put(Dst, 15571, -BCBIAS_J*4);
     break;
 
   /* -- Function headers -------------------------------------------------- */
@@ -2897,7 +2896,7 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
 
   case BC_FUNCF:
 #if LJ_HASJIT
-    dasm_put(Dst, 15594, HOTCOUNT_PCMASK, GG_DISP2HOT);
+    dasm_put(Dst, 15597, HOTCOUNT_PCMASK, GG_DISP2HOT);
 #endif
   case BC_FUNCV:  /* NYI: compiled vararg functions. */
     break;
@@ -2907,13 +2906,13 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
     break;
 #endif
   case BC_IFUNCF:
-    dasm_put(Dst, 15615, -4+PC2PROTO(k), Dt1(->maxstack), -4+PC2PROTO(numparams));
+    dasm_put(Dst, 15618, -4+PC2PROTO(k), Dt1(->maxstack), -4+PC2PROTO(numparams));
     if (op == BC_JFUNCF) {
-      dasm_put(Dst, 15646, BC_JLOOP);
+      dasm_put(Dst, 15649, BC_JLOOP);
     } else {
       dasm_put(Dst, 10132);
     }
-    dasm_put(Dst, 15655, LJ_TNIL);
+    dasm_put(Dst, 15658, LJ_TNIL);
     break;
 
   case BC_JFUNCV:
@@ -2924,30 +2923,30 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
     break;  /* NYI: compiled vararg functions. */
 
   case BC_IFUNCV:
-    dasm_put(Dst, 15677, FRAME_VARG, Dt1(->maxstack), -4+PC2PROTO(numparams), LJ_TNIL);
+    dasm_put(Dst, 15680, FRAME_VARG, Dt1(->maxstack), -4+PC2PROTO(numparams), LJ_TNIL);
     if (op == BC_JFUNCV) {
-      dasm_put(Dst, 15646, BC_JLOOP);
+      dasm_put(Dst, 15649, BC_JLOOP);
     } else {
-      dasm_put(Dst, 15774, -4+PC2PROTO(k));
+      dasm_put(Dst, 15777, -4+PC2PROTO(k));
     }
-    dasm_put(Dst, 15799, LJ_TNIL);
+    dasm_put(Dst, 15802, LJ_TNIL);
     break;
 
   case BC_FUNCC:
   case BC_FUNCCW:
-    dasm_put(Dst, 15821, Dt8(->f), Dt1(->base), 8*LUA_MINSTACK, Dt1(->maxstack), Dt1(->top));
+    dasm_put(Dst, 15824, Dt8(->f), Dt1(->base), 8*LUA_MINSTACK, Dt1(->maxstack), Dt1(->top));
     if (op == BC_FUNCC) {
       dasm_put(Dst, 2341);
     } else {
-      dasm_put(Dst, 15851);
+      dasm_put(Dst, 15854);
     }
-    dasm_put(Dst, 15859, DISPATCH_GL(vmstate), ~LJ_VMST_C);
+    dasm_put(Dst, 15862, DISPATCH_GL(vmstate), ~LJ_VMST_C);
     if (op == BC_FUNCC) {
-      dasm_put(Dst, 15869);
+      dasm_put(Dst, 15872);
     } else {
-      dasm_put(Dst, 15874, DISPATCH_GL(wrapf));
+      dasm_put(Dst, 15877, DISPATCH_GL(wrapf));
     }
-    dasm_put(Dst, 15880, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top));
+    dasm_put(Dst, 15883, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top));
     break;
 
   /* ---------------------------------------------------------------------- */
@@ -2975,7 +2974,7 @@ static int build_backend(BuildCtx *ctx)
 
   build_subroutines(ctx, cmov, sse);
 
-  dasm_put(Dst, 15906);
+  dasm_put(Dst, 15909);
   for (op = 0; op < BC__MAX; op++)
     build_ins(ctx, (BCOp)op, op, cmov, sse);
 
index e4de09ee25d2e737b9214664dbdc980aaaafe318..2e51c32ba7ae2e2e617adaab2232e043e002afb4 100644 (file)
@@ -12,7 +12,7 @@
 #define DASM_SECTION_CODE_OP   0
 #define DASM_SECTION_CODE_SUB  1
 #define DASM_MAXSECTION                2
-static const unsigned char build_actionlist[15785] = {
+static const unsigned char build_actionlist[15787] = {
   254,1,248,10,252,247,198,237,15,132,244,11,131,230,252,248,41,252,242,72,
   141,76,49,252,248,139,114,252,252,199,68,10,4,237,248,12,131,192,1,137,68,
   36,84,252,247,198,237,15,132,244,13,248,14,129,252,246,239,252,247,198,237,
@@ -528,46 +528,46 @@ static const unsigned char build_actionlist[15785] = {
   182,232,131,198,4,193,232,16,252,255,36,252,235,248,7,15,135,244,249,129,
   124,253,199,4,239,15,130,244,247,255,252,242,15,42,4,199,255,219,4,199,255,
   252,233,244,248,248,8,255,252,242,15,42,4,202,102,15,46,4,199,255,219,4,202,
-  221,4,194,255,129,252,253,239,15,131,244,249,255,248,1,252,242,15,16,4,199,
-  248,2,102,15,46,4,202,248,4,255,248,1,221,4,199,248,2,221,4,202,255,72,252,
-  247,208,139,108,202,4,131,198,4,57,197,255,15,133,244,249,15,183,70,252,254,
-  141,180,253,134,233,248,2,139,6,15,182,204,15,182,232,131,198,4,193,232,16,
-  252,255,36,252,235,248,3,129,252,253,239,15,133,244,2,252,233,244,46,255,
-  15,132,244,248,129,252,253,239,15,132,244,46,15,183,70,252,254,141,180,253,
-  134,233,248,2,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,
-  252,235,255,139,108,194,4,131,198,4,129,252,253,239,255,137,108,202,4,139,
-  44,194,137,44,202,255,72,139,44,194,72,137,44,202,139,6,15,182,204,15,182,
-  232,131,198,4,193,232,16,252,255,36,252,235,255,49,252,237,129,124,253,194,
-  4,239,129,213,239,137,108,202,4,139,6,15,182,204,15,182,232,131,198,4,193,
-  232,16,252,255,36,252,235,255,129,124,253,194,4,239,15,133,244,251,139,44,
-  194,252,247,221,15,128,244,250,199,68,202,4,237,137,44,202,248,9,139,6,15,
-  182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,4,199,68,202,
-  4,0,0,224,65,199,4,202,0,0,0,0,252,233,244,9,248,5,15,135,244,51,255,129,
-  124,253,194,4,239,15,131,244,51,255,252,242,15,16,4,194,72,184,237,237,102,
-  72,15,110,200,15,87,193,252,242,15,17,4,202,255,221,4,194,217,224,221,28,
-  202,255,129,124,253,194,4,239,15,133,244,248,139,4,194,255,139,128,233,248,
-  1,199,68,202,4,237,137,4,202,255,15,87,192,252,242,15,42,128,233,248,1,252,
-  242,15,17,4,202,255,219,128,233,248,1,221,28,202,255,139,6,15,182,204,15,
-  182,232,131,198,4,193,232,16,252,255,36,252,235,248,2,129,124,253,194,4,239,
-  15,133,244,54,139,12,194,137,213,232,251,1,20,255,252,242,15,42,192,255,137,
-  252,234,15,182,78,252,253,252,233,244,1,255,15,182,252,236,15,182,192,255,
-  129,124,253,252,234,4,239,15,133,244,48,129,124,253,199,4,239,15,133,244,
-  48,139,44,252,234,3,44,199,15,128,244,47,255,129,124,253,252,234,4,239,15,
-  133,244,50,129,124,253,199,4,239,15,133,244,50,139,4,199,3,4,252,234,15,128,
-  244,49,255,129,124,253,252,234,4,239,15,133,244,53,129,124,253,194,4,239,
-  15,133,244,53,139,44,252,234,3,44,194,15,128,244,52,255,199,68,202,4,237,
-  255,129,124,253,252,234,4,239,15,131,244,48,255,129,124,253,199,4,239,15,
-  131,244,48,255,252,242,15,16,4,252,234,252,242,15,88,4,199,255,221,4,252,
-  234,220,4,199,255,129,124,253,252,234,4,239,15,131,244,50,255,129,124,253,
-  199,4,239,15,131,244,50,255,252,242,15,16,4,199,252,242,15,88,4,252,234,255,
-  221,4,199,220,4,252,234,255,129,124,253,252,234,4,239,15,131,244,53,129,124,
-  253,194,4,239,15,131,244,53,255,252,242,15,16,4,252,234,252,242,15,88,4,194,
-  255,221,4,252,234,220,4,194,255,129,124,253,252,234,4,239,15,133,244,48,129,
-  124,253,199,4,239,15,133,244,48,139,44,252,234,43,44,199,15,128,244,47,255,
-  129,124,253,252,234,4,239,15,133,244,50,129,124,253,199,4,239,15,133,244,
-  50,139,4,199,43,4,252,234,15,128,244,49,255,129,124,253,252,234,4,239,15,
-  133,244,53,129,124,253,194,4,239,15,133,244,53,139,44,252,234,43,44,194,15,
-  128,244,52,255,252,242,15,16,4,252,234,252,242,15,92,4,199,255,221,4,252,
+  221,4,199,255,129,252,253,239,15,131,244,249,255,248,1,252,242,15,16,4,199,
+  248,2,102,15,46,4,202,248,4,255,248,1,221,4,199,248,2,221,4,202,248,4,255,
+  72,252,247,208,139,108,202,4,131,198,4,57,197,255,15,133,244,249,15,183,70,
+  252,254,141,180,253,134,233,248,2,139,6,15,182,204,15,182,232,131,198,4,193,
+  232,16,252,255,36,252,235,248,3,129,252,253,239,15,133,244,2,252,233,244,
+  46,255,15,132,244,248,129,252,253,239,15,132,244,46,15,183,70,252,254,141,
+  180,253,134,233,248,2,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,
+  255,36,252,235,255,139,108,194,4,131,198,4,129,252,253,239,255,137,108,202,
+  4,139,44,194,137,44,202,255,72,139,44,194,72,137,44,202,139,6,15,182,204,
+  15,182,232,131,198,4,193,232,16,252,255,36,252,235,255,49,252,237,129,124,
+  253,194,4,239,129,213,239,137,108,202,4,139,6,15,182,204,15,182,232,131,198,
+  4,193,232,16,252,255,36,252,235,255,129,124,253,194,4,239,15,133,244,251,
+  139,44,194,252,247,221,15,128,244,250,199,68,202,4,237,137,44,202,248,9,139,
+  6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,4,199,
+  68,202,4,0,0,224,65,199,4,202,0,0,0,0,252,233,244,9,248,5,15,135,244,51,255,
+  129,124,253,194,4,239,15,131,244,51,255,252,242,15,16,4,194,72,184,237,237,
+  102,72,15,110,200,15,87,193,252,242,15,17,4,202,255,221,4,194,217,224,221,
+  28,202,255,129,124,253,194,4,239,15,133,244,248,139,4,194,255,139,128,233,
+  248,1,199,68,202,4,237,137,4,202,255,15,87,192,252,242,15,42,128,233,248,
+  1,252,242,15,17,4,202,255,219,128,233,248,1,221,28,202,255,139,6,15,182,204,
+  15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,2,129,124,253,194,
+  4,239,15,133,244,54,139,12,194,137,213,232,251,1,20,255,252,242,15,42,192,
+  255,137,252,234,15,182,78,252,253,252,233,244,1,255,15,182,252,236,15,182,
+  192,255,129,124,253,252,234,4,239,15,133,244,48,129,124,253,199,4,239,15,
+  133,244,48,139,44,252,234,3,44,199,15,128,244,47,255,129,124,253,252,234,
+  4,239,15,133,244,50,129,124,253,199,4,239,15,133,244,50,139,4,199,3,4,252,
+  234,15,128,244,49,255,129,124,253,252,234,4,239,15,133,244,53,129,124,253,
+  194,4,239,15,133,244,53,139,44,252,234,3,44,194,15,128,244,52,255,199,68,
+  202,4,237,255,129,124,253,252,234,4,239,15,131,244,48,255,129,124,253,199,
+  4,239,15,131,244,48,255,252,242,15,16,4,252,234,252,242,15,88,4,199,255,221,
+  4,252,234,220,4,199,255,129,124,253,252,234,4,239,15,131,244,50,255,129,124,
+  253,199,4,239,15,131,244,50,255,252,242,15,16,4,199,252,242,15,88,4,252,234,
+  255,221,4,199,220,4,252,234,255,129,124,253,252,234,4,239,15,131,244,53,129,
+  124,253,194,4,239,15,131,244,53,255,252,242,15,16,4,252,234,252,242,15,88,
+  4,194,255,221,4,252,234,220,4,194,255,129,124,253,252,234,4,239,15,133,244,
+  48,129,124,253,199,4,239,15,133,244,48,139,44,252,234,43,44,199,15,128,244,
+  47,255,129,124,253,252,234,4,239,15,133,244,50,129,124,253,199,4,239,15,133,
+  244,50,139,4,199,43,4,252,234,15,128,244,49,255,129,124,253,252,234,4,239,
+  15,133,244,53,129,124,253,194,4,239,15,133,244,53,139,44,252,234,43,44,194,
+  15,128,244,52,255,252,242,15,16,4,252,234,252,242,15,92,4,199,255,221,4,252,
   234,220,36,199,255,252,242,15,16,4,199,252,242,15,92,4,252,234,255,221,4,
   199,220,36,252,234,255,252,242,15,16,4,252,234,252,242,15,92,4,194,255,221,
   4,252,234,220,36,194,255,129,124,253,252,234,4,239,15,133,244,48,129,124,
@@ -2055,31 +2055,30 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
       } else {
       dasm_put(Dst, 10063);
       }
-      dasm_put(Dst, 4586);
     }
     goto iseqne_fp;
   case BC_ISEQP: case BC_ISNEP:
     vk = op == BC_ISEQP;
-    dasm_put(Dst, 10655);
+    dasm_put(Dst, 10657);
     if (!LJ_HASFFI) goto iseqne_test;
     if (vk) {
-      dasm_put(Dst, 10669, -BCBIAS_J*4, LJ_TCDATA);
+      dasm_put(Dst, 10671, -BCBIAS_J*4, LJ_TCDATA);
     } else {
-      dasm_put(Dst, 10719, LJ_TCDATA, -BCBIAS_J*4);
+      dasm_put(Dst, 10721, LJ_TCDATA, -BCBIAS_J*4);
     }
     break;
 
   /* -- Unary test and copy ops ------------------------------------------- */
 
   case BC_ISTC: case BC_ISFC: case BC_IST: case BC_ISF:
-    dasm_put(Dst, 10763, LJ_TISTRUECOND);
+    dasm_put(Dst, 10765, LJ_TISTRUECOND);
     if (op == BC_IST || op == BC_ISTC) {
       dasm_put(Dst, 10085);
     } else {
       dasm_put(Dst, 10080);
     }
     if (op == BC_ISTC || op == BC_ISFC) {
-      dasm_put(Dst, 10775);
+      dasm_put(Dst, 10777);
     }
     dasm_put(Dst, 10090, -BCBIAS_J*4);
     break;
@@ -2087,21 +2086,21 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
   /* -- Unary ops --------------------------------------------------------- */
 
   case BC_MOV:
-    dasm_put(Dst, 10786);
+    dasm_put(Dst, 10788);
     break;
   case BC_NOT:
-    dasm_put(Dst, 10814, LJ_TISTRUECOND, LJ_TTRUE);
+    dasm_put(Dst, 10816, LJ_TISTRUECOND, LJ_TTRUE);
     break;
   case BC_UNM:
     if (LJ_DUALNUM) {
-      dasm_put(Dst, 10850, LJ_TISNUM, LJ_TISNUM);
+      dasm_put(Dst, 10852, LJ_TISNUM, LJ_TISNUM);
     } else {
-      dasm_put(Dst, 10927, LJ_TISNUM);
+      dasm_put(Dst, 10929, LJ_TISNUM);
     }
     if (sse) {
-      dasm_put(Dst, 10938, (unsigned int)(U64x(80000000,00000000)), (unsigned int)((U64x(80000000,00000000))>>32));
+      dasm_put(Dst, 10940, (unsigned int)(U64x(80000000,00000000)), (unsigned int)((U64x(80000000,00000000))>>32));
     } else {
-      dasm_put(Dst, 10963);
+      dasm_put(Dst, 10965);
     }
     if (LJ_DUALNUM) {
       dasm_put(Dst, 10361);
@@ -2110,21 +2109,21 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
     }
     break;
   case BC_LEN:
-    dasm_put(Dst, 10972, LJ_TSTR);
+    dasm_put(Dst, 10974, LJ_TSTR);
     if (LJ_DUALNUM) {
-      dasm_put(Dst, 10986, Dt5(->len), LJ_TISNUM);
+      dasm_put(Dst, 10988, Dt5(->len), LJ_TISNUM);
     } else if (sse) {
-      dasm_put(Dst, 11000, Dt5(->len));
+      dasm_put(Dst, 11002, Dt5(->len));
     } else {
-      dasm_put(Dst, 11018, Dt5(->len));
+      dasm_put(Dst, 11020, Dt5(->len));
     }
-    dasm_put(Dst, 11027, LJ_TTAB);
+    dasm_put(Dst, 11029, LJ_TTAB);
     if (LJ_DUALNUM) {
     } else if (sse) {
-      dasm_put(Dst, 11068);
+      dasm_put(Dst, 11070);
     } else {
     }
-    dasm_put(Dst, 11074);
+    dasm_put(Dst, 11076);
     break;
 
   /* -- Binary ops -------------------------------------------------------- */
@@ -2132,603 +2131,603 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
 
   case BC_ADDVN: case BC_ADDNV: case BC_ADDVV:
     if (LJ_DUALNUM) {
-    dasm_put(Dst, 11087);
+    dasm_put(Dst, 11089);
     vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
     switch (vk) {
     case 0:
-    dasm_put(Dst, 11095, LJ_TISNUM, LJ_TISNUM);
+    dasm_put(Dst, 11097, LJ_TISNUM, LJ_TISNUM);
       break;
     case 1:
-    dasm_put(Dst, 11128, LJ_TISNUM, LJ_TISNUM);
+    dasm_put(Dst, 11130, LJ_TISNUM, LJ_TISNUM);
       break;
     default:
-    dasm_put(Dst, 11161, LJ_TISNUM, LJ_TISNUM);
+    dasm_put(Dst, 11163, LJ_TISNUM, LJ_TISNUM);
       break;
     }
-    dasm_put(Dst, 11194, LJ_TISNUM);
+    dasm_put(Dst, 11196, LJ_TISNUM);
     if (vk == 1) {
-    dasm_put(Dst, 10996);
+    dasm_put(Dst, 10998);
     } else {
-    dasm_put(Dst, 10782);
+    dasm_put(Dst, 10784);
     }
     dasm_put(Dst, 10102);
     } else {
-    dasm_put(Dst, 11087);
+    dasm_put(Dst, 11089);
     vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
     switch (vk) {
     case 0:
-    dasm_put(Dst, 11200, LJ_TISNUM);
+    dasm_put(Dst, 11202, LJ_TISNUM);
     if (LJ_DUALNUM) {
-    dasm_put(Dst, 11212, LJ_TISNUM);
+    dasm_put(Dst, 11214, LJ_TISNUM);
     }
     if (sse) {
-    dasm_put(Dst, 11223);
+    dasm_put(Dst, 11225);
     } else {
-    dasm_put(Dst, 11237);
+    dasm_put(Dst, 11239);
     }
       break;
     case 1:
-    dasm_put(Dst, 11245, LJ_TISNUM);
+    dasm_put(Dst, 11247, LJ_TISNUM);
     if (LJ_DUALNUM) {
-    dasm_put(Dst, 11257, LJ_TISNUM);
+    dasm_put(Dst, 11259, LJ_TISNUM);
     }
     if (sse) {
-    dasm_put(Dst, 11268);
+    dasm_put(Dst, 11270);
     } else {
-    dasm_put(Dst, 11282);
+    dasm_put(Dst, 11284);
     }
       break;
     default:
-    dasm_put(Dst, 11290, LJ_TISNUM, LJ_TISNUM);
+    dasm_put(Dst, 11292, LJ_TISNUM, LJ_TISNUM);
     if (sse) {
-    dasm_put(Dst, 11312);
+    dasm_put(Dst, 11314);
     } else {
-    dasm_put(Dst, 11326);
+    dasm_put(Dst, 11328);
     }
       break;
     }
     if (sse) {
-    dasm_put(Dst, 10956);
+    dasm_put(Dst, 10958);
     } else {
-    dasm_put(Dst, 10968);
+    dasm_put(Dst, 10970);
     }
     dasm_put(Dst, 10102);
     }
     break;
   case BC_SUBVN: case BC_SUBNV: case BC_SUBVV:
     if (LJ_DUALNUM) {
-    dasm_put(Dst, 11087);
+    dasm_put(Dst, 11089);
     vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
     switch (vk) {
     case 0:
-    dasm_put(Dst, 11334, LJ_TISNUM, LJ_TISNUM);
+    dasm_put(Dst, 11336, LJ_TISNUM, LJ_TISNUM);
       break;
     case 1:
-    dasm_put(Dst, 11367, LJ_TISNUM, LJ_TISNUM);
+    dasm_put(Dst, 11369, LJ_TISNUM, LJ_TISNUM);
       break;
     default:
-    dasm_put(Dst, 11400, LJ_TISNUM, LJ_TISNUM);
+    dasm_put(Dst, 11402, LJ_TISNUM, LJ_TISNUM);
       break;
     }
-    dasm_put(Dst, 11194, LJ_TISNUM);
+    dasm_put(Dst, 11196, LJ_TISNUM);
     if (vk == 1) {
-    dasm_put(Dst, 10996);
+    dasm_put(Dst, 10998);
     } else {
-    dasm_put(Dst, 10782);
+    dasm_put(Dst, 10784);
     }
     dasm_put(Dst, 10102);
     } else {
-    dasm_put(Dst, 11087);
+    dasm_put(Dst, 11089);
     vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
     switch (vk) {
     case 0:
-    dasm_put(Dst, 11200, LJ_TISNUM);
+    dasm_put(Dst, 11202, LJ_TISNUM);
     if (LJ_DUALNUM) {
-    dasm_put(Dst, 11212, LJ_TISNUM);
+    dasm_put(Dst, 11214, LJ_TISNUM);
     }
     if (sse) {
-    dasm_put(Dst, 11433);
+    dasm_put(Dst, 11435);
     } else {
-    dasm_put(Dst, 11447);
+    dasm_put(Dst, 11449);
     }
       break;
     case 1:
-    dasm_put(Dst, 11245, LJ_TISNUM);
+    dasm_put(Dst, 11247, LJ_TISNUM);
     if (LJ_DUALNUM) {
-    dasm_put(Dst, 11257, LJ_TISNUM);
+    dasm_put(Dst, 11259, LJ_TISNUM);
     }
     if (sse) {
-    dasm_put(Dst, 11455);
+    dasm_put(Dst, 11457);
     } else {
-    dasm_put(Dst, 11469);
+    dasm_put(Dst, 11471);
     }
       break;
     default:
-    dasm_put(Dst, 11290, LJ_TISNUM, LJ_TISNUM);
+    dasm_put(Dst, 11292, LJ_TISNUM, LJ_TISNUM);
     if (sse) {
-    dasm_put(Dst, 11477);
+    dasm_put(Dst, 11479);
     } else {
-    dasm_put(Dst, 11491);
+    dasm_put(Dst, 11493);
     }
       break;
     }
     if (sse) {
-    dasm_put(Dst, 10956);
+    dasm_put(Dst, 10958);
     } else {
-    dasm_put(Dst, 10968);
+    dasm_put(Dst, 10970);
     }
     dasm_put(Dst, 10102);
     }
     break;
   case BC_MULVN: case BC_MULNV: case BC_MULVV:
     if (LJ_DUALNUM) {
-    dasm_put(Dst, 11087);
+    dasm_put(Dst, 11089);
     vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
     switch (vk) {
     case 0:
-    dasm_put(Dst, 11499, LJ_TISNUM, LJ_TISNUM);
+    dasm_put(Dst, 11501, LJ_TISNUM, LJ_TISNUM);
       break;
     case 1:
-    dasm_put(Dst, 11533, LJ_TISNUM, LJ_TISNUM);
+    dasm_put(Dst, 11535, LJ_TISNUM, LJ_TISNUM);
       break;
     default:
-    dasm_put(Dst, 11567, LJ_TISNUM, LJ_TISNUM);
+    dasm_put(Dst, 11569, LJ_TISNUM, LJ_TISNUM);
       break;
     }
-    dasm_put(Dst, 11194, LJ_TISNUM);
+    dasm_put(Dst, 11196, LJ_TISNUM);
     if (vk == 1) {
-    dasm_put(Dst, 10996);
+    dasm_put(Dst, 10998);
     } else {
-    dasm_put(Dst, 10782);
+    dasm_put(Dst, 10784);
     }
     dasm_put(Dst, 10102);
     } else {
-    dasm_put(Dst, 11087);
+    dasm_put(Dst, 11089);
     vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
     switch (vk) {
     case 0:
-    dasm_put(Dst, 11200, LJ_TISNUM);
+    dasm_put(Dst, 11202, LJ_TISNUM);
     if (LJ_DUALNUM) {
-    dasm_put(Dst, 11212, LJ_TISNUM);
+    dasm_put(Dst, 11214, LJ_TISNUM);
     }
     if (sse) {
-    dasm_put(Dst, 11601);
+    dasm_put(Dst, 11603);
     } else {
-    dasm_put(Dst, 11615);
+    dasm_put(Dst, 11617);
     }
       break;
     case 1:
-    dasm_put(Dst, 11245, LJ_TISNUM);
+    dasm_put(Dst, 11247, LJ_TISNUM);
     if (LJ_DUALNUM) {
-    dasm_put(Dst, 11257, LJ_TISNUM);
+    dasm_put(Dst, 11259, LJ_TISNUM);
     }
     if (sse) {
-    dasm_put(Dst, 11623);
+    dasm_put(Dst, 11625);
     } else {
-    dasm_put(Dst, 11637);
+    dasm_put(Dst, 11639);
     }
       break;
     default:
-    dasm_put(Dst, 11290, LJ_TISNUM, LJ_TISNUM);
+    dasm_put(Dst, 11292, LJ_TISNUM, LJ_TISNUM);
     if (sse) {
-    dasm_put(Dst, 11645);
+    dasm_put(Dst, 11647);
     } else {
-    dasm_put(Dst, 11659);
+    dasm_put(Dst, 11661);
     }
       break;
     }
     if (sse) {
-    dasm_put(Dst, 10956);
+    dasm_put(Dst, 10958);
     } else {
-    dasm_put(Dst, 10968);
+    dasm_put(Dst, 10970);
     }
     dasm_put(Dst, 10102);
     }
     break;
   case BC_DIVVN: case BC_DIVNV: case BC_DIVVV:
-    dasm_put(Dst, 11087);
+    dasm_put(Dst, 11089);
     vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
     switch (vk) {
     case 0:
-    dasm_put(Dst, 11200, LJ_TISNUM);
+    dasm_put(Dst, 11202, LJ_TISNUM);
     if (LJ_DUALNUM) {
-    dasm_put(Dst, 11212, LJ_TISNUM);
+    dasm_put(Dst, 11214, LJ_TISNUM);
     }
     if (sse) {
-    dasm_put(Dst, 11667);
+    dasm_put(Dst, 11669);
     } else {
-    dasm_put(Dst, 11681);
+    dasm_put(Dst, 11683);
     }
       break;
     case 1:
-    dasm_put(Dst, 11245, LJ_TISNUM);
+    dasm_put(Dst, 11247, LJ_TISNUM);
     if (LJ_DUALNUM) {
-    dasm_put(Dst, 11257, LJ_TISNUM);
+    dasm_put(Dst, 11259, LJ_TISNUM);
     }
     if (sse) {
-    dasm_put(Dst, 11689);
+    dasm_put(Dst, 11691);
     } else {
-    dasm_put(Dst, 11703);
+    dasm_put(Dst, 11705);
     }
       break;
     default:
-    dasm_put(Dst, 11290, LJ_TISNUM, LJ_TISNUM);
+    dasm_put(Dst, 11292, LJ_TISNUM, LJ_TISNUM);
     if (sse) {
-    dasm_put(Dst, 11711);
+    dasm_put(Dst, 11713);
     } else {
-    dasm_put(Dst, 11725);
+    dasm_put(Dst, 11727);
     }
       break;
     }
     if (sse) {
-    dasm_put(Dst, 10956);
+    dasm_put(Dst, 10958);
     } else {
-    dasm_put(Dst, 10968);
+    dasm_put(Dst, 10970);
     }
     dasm_put(Dst, 10102);
     break;
   case BC_MODVN:
-    dasm_put(Dst, 11087);
+    dasm_put(Dst, 11089);
     vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
     switch (vk) {
     case 0:
-    dasm_put(Dst, 11200, LJ_TISNUM);
+    dasm_put(Dst, 11202, LJ_TISNUM);
     if (LJ_DUALNUM) {
-    dasm_put(Dst, 11212, LJ_TISNUM);
+    dasm_put(Dst, 11214, LJ_TISNUM);
     }
     if (sse) {
-    dasm_put(Dst, 11733);
+    dasm_put(Dst, 11735);
     } else {
-    dasm_put(Dst, 11747);
+    dasm_put(Dst, 11749);
     }
       break;
     case 1:
-    dasm_put(Dst, 11245, LJ_TISNUM);
+    dasm_put(Dst, 11247, LJ_TISNUM);
     if (LJ_DUALNUM) {
-    dasm_put(Dst, 11257, LJ_TISNUM);
+    dasm_put(Dst, 11259, LJ_TISNUM);
     }
     if (sse) {
-    dasm_put(Dst, 11755);
+    dasm_put(Dst, 11757);
     } else {
-    dasm_put(Dst, 11769);
+    dasm_put(Dst, 11771);
     }
       break;
     default:
-    dasm_put(Dst, 11290, LJ_TISNUM, LJ_TISNUM);
+    dasm_put(Dst, 11292, LJ_TISNUM, LJ_TISNUM);
     if (sse) {
-    dasm_put(Dst, 11777);
+    dasm_put(Dst, 11779);
     } else {
-    dasm_put(Dst, 11791);
+    dasm_put(Dst, 11793);
     }
       break;
     }
-    dasm_put(Dst, 11799);
+    dasm_put(Dst, 11801);
     if (sse) {
-    dasm_put(Dst, 10956);
+    dasm_put(Dst, 10958);
     } else {
-    dasm_put(Dst, 10968);
+    dasm_put(Dst, 10970);
     }
     dasm_put(Dst, 10102);
     break;
   case BC_MODNV: case BC_MODVV:
-    dasm_put(Dst, 11087);
+    dasm_put(Dst, 11089);
     vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
     switch (vk) {
     case 0:
-    dasm_put(Dst, 11200, LJ_TISNUM);
+    dasm_put(Dst, 11202, LJ_TISNUM);
     if (LJ_DUALNUM) {
-    dasm_put(Dst, 11212, LJ_TISNUM);
+    dasm_put(Dst, 11214, LJ_TISNUM);
     }
     if (sse) {
-    dasm_put(Dst, 11733);
+    dasm_put(Dst, 11735);
     } else {
-    dasm_put(Dst, 11747);
+    dasm_put(Dst, 11749);
     }
       break;
     case 1:
-    dasm_put(Dst, 11245, LJ_TISNUM);
+    dasm_put(Dst, 11247, LJ_TISNUM);
     if (LJ_DUALNUM) {
-    dasm_put(Dst, 11257, LJ_TISNUM);
+    dasm_put(Dst, 11259, LJ_TISNUM);
     }
     if (sse) {
-    dasm_put(Dst, 11755);
+    dasm_put(Dst, 11757);
     } else {
-    dasm_put(Dst, 11769);
+    dasm_put(Dst, 11771);
     }
       break;
     default:
-    dasm_put(Dst, 11290, LJ_TISNUM, LJ_TISNUM);
+    dasm_put(Dst, 11292, LJ_TISNUM, LJ_TISNUM);
     if (sse) {
-    dasm_put(Dst, 11777);
+    dasm_put(Dst, 11779);
     } else {
-    dasm_put(Dst, 11791);
+    dasm_put(Dst, 11793);
     }
       break;
     }
-    dasm_put(Dst, 11805);
+    dasm_put(Dst, 11807);
     break;
   case BC_POW:
-    dasm_put(Dst, 11087);
+    dasm_put(Dst, 11089);
     vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
     switch (vk) {
     case 0:
-    dasm_put(Dst, 11200, LJ_TISNUM);
+    dasm_put(Dst, 11202, LJ_TISNUM);
     if (LJ_DUALNUM) {
-    dasm_put(Dst, 11212, LJ_TISNUM);
+    dasm_put(Dst, 11214, LJ_TISNUM);
     }
     if (sse) {
-    dasm_put(Dst, 11733);
+    dasm_put(Dst, 11735);
     } else {
-    dasm_put(Dst, 11747);
+    dasm_put(Dst, 11749);
     }
       break;
     case 1:
-    dasm_put(Dst, 11245, LJ_TISNUM);
+    dasm_put(Dst, 11247, LJ_TISNUM);
     if (LJ_DUALNUM) {
-    dasm_put(Dst, 11257, LJ_TISNUM);
+    dasm_put(Dst, 11259, LJ_TISNUM);
     }
     if (sse) {
-    dasm_put(Dst, 11755);
+    dasm_put(Dst, 11757);
     } else {
-    dasm_put(Dst, 11769);
+    dasm_put(Dst, 11771);
     }
       break;
     default:
-    dasm_put(Dst, 11290, LJ_TISNUM, LJ_TISNUM);
+    dasm_put(Dst, 11292, LJ_TISNUM, LJ_TISNUM);
     if (sse) {
-    dasm_put(Dst, 11777);
+    dasm_put(Dst, 11779);
     } else {
-    dasm_put(Dst, 11791);
+    dasm_put(Dst, 11793);
     }
       break;
     }
-    dasm_put(Dst, 11810);
+    dasm_put(Dst, 11812);
     if (sse) {
-    dasm_put(Dst, 10956);
+    dasm_put(Dst, 10958);
     } else {
-    dasm_put(Dst, 10968);
+    dasm_put(Dst, 10970);
     }
     dasm_put(Dst, 10102);
     break;
 
   case BC_CAT:
-    dasm_put(Dst, 11814, Dt1(->base), Dt1(->base));
+    dasm_put(Dst, 11816, Dt1(->base), Dt1(->base));
     break;
 
   /* -- Constant ops ------------------------------------------------------ */
 
   case BC_KSTR:
-    dasm_put(Dst, 11897, LJ_TSTR);
+    dasm_put(Dst, 11899, LJ_TSTR);
     break;
   case BC_KCDATA:
 #if LJ_HASFFI
-    dasm_put(Dst, 11897, LJ_TCDATA);
+    dasm_put(Dst, 11899, LJ_TCDATA);
 #endif
     break;
   case BC_KSHORT:
     if (LJ_DUALNUM) {
-      dasm_put(Dst, 11932, LJ_TISNUM);
+      dasm_put(Dst, 11934, LJ_TISNUM);
     } else if (sse) {
-      dasm_put(Dst, 11944);
+      dasm_put(Dst, 11946);
     } else {
-      dasm_put(Dst, 11959);
+      dasm_put(Dst, 11961);
     }
     dasm_put(Dst, 10102);
     break;
   case BC_KNUM:
     if (sse) {
-      dasm_put(Dst, 11967);
+      dasm_put(Dst, 11969);
     } else {
-      dasm_put(Dst, 11980);
+      dasm_put(Dst, 11982);
     }
     dasm_put(Dst, 10102);
     break;
   case BC_KPRI:
-    dasm_put(Dst, 11987);
+    dasm_put(Dst, 11989);
     break;
   case BC_KNIL:
-    dasm_put(Dst, 12015, LJ_TNIL);
+    dasm_put(Dst, 12017, LJ_TNIL);
     break;
 
   /* -- Upvalue and function ops ------------------------------------------ */
 
   case BC_UGET:
-    dasm_put(Dst, 12062, offsetof(GCfuncL, uvptr), DtA(->v));
+    dasm_put(Dst, 12064, offsetof(GCfuncL, uvptr), DtA(->v));
     break;
   case BC_USETV:
 #define TV2MARKOFS \
  ((int32_t)offsetof(GCupval, marked)-(int32_t)offsetof(GCupval, tv))
-    dasm_put(Dst, 12102, offsetof(GCfuncL, uvptr), DtA(->closed), DtA(->v), TV2MARKOFS, LJ_GC_BLACK, LJ_TISGCV, LJ_TISNUM - LJ_TISGCV, Dt4(->gch.marked), LJ_GC_WHITES, GG_DISP2G);
-    dasm_put(Dst, 12193);
+    dasm_put(Dst, 12104, offsetof(GCfuncL, uvptr), DtA(->closed), DtA(->v), TV2MARKOFS, LJ_GC_BLACK, LJ_TISGCV, LJ_TISNUM - LJ_TISGCV, Dt4(->gch.marked), LJ_GC_WHITES, GG_DISP2G);
+    dasm_put(Dst, 12195);
     break;
 #undef TV2MARKOFS
   case BC_USETS:
-    dasm_put(Dst, 12205, offsetof(GCfuncL, uvptr), DtA(->v), LJ_TSTR, DtA(->marked), LJ_GC_BLACK, Dt4(->gch.marked), LJ_GC_WHITES, DtA(->closed), GG_DISP2G);
+    dasm_put(Dst, 12207, offsetof(GCfuncL, uvptr), DtA(->v), LJ_TSTR, DtA(->marked), LJ_GC_BLACK, Dt4(->gch.marked), LJ_GC_WHITES, DtA(->closed), GG_DISP2G);
     break;
   case BC_USETN:
-    dasm_put(Dst, 12298);
+    dasm_put(Dst, 12300);
     if (sse) {
-      dasm_put(Dst, 12303);
+      dasm_put(Dst, 12305);
     } else {
-      dasm_put(Dst, 11751);
+      dasm_put(Dst, 10613);
     }
-    dasm_put(Dst, 12310, offsetof(GCfuncL, uvptr), DtA(->v));
+    dasm_put(Dst, 12312, offsetof(GCfuncL, uvptr), DtA(->v));
     if (sse) {
-      dasm_put(Dst, 12319);
+      dasm_put(Dst, 12321);
     } else {
-      dasm_put(Dst, 12325);
+      dasm_put(Dst, 12327);
     }
     dasm_put(Dst, 10102);
     break;
   case BC_USETP:
-    dasm_put(Dst, 12328, offsetof(GCfuncL, uvptr), DtA(->v));
+    dasm_put(Dst, 12330, offsetof(GCfuncL, uvptr), DtA(->v));
     break;
   case BC_UCLO:
-    dasm_put(Dst, 12367, -BCBIAS_J*4, Dt1(->openupval), Dt1(->base), Dt1(->base));
+    dasm_put(Dst, 12369, -BCBIAS_J*4, Dt1(->openupval), Dt1(->base), Dt1(->base));
     break;
 
   case BC_FNEW:
-    dasm_put(Dst, 12422, Dt1(->base), Dt1(->base), LJ_TFUNC);
+    dasm_put(Dst, 12424, Dt1(->base), Dt1(->base), LJ_TFUNC);
     break;
 
   /* -- Table ops --------------------------------------------------------- */
 
   case BC_TNEW:
-    dasm_put(Dst, 12488, Dt1(->base), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), LJ_TTAB);
+    dasm_put(Dst, 12490, Dt1(->base), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), LJ_TTAB);
     break;
   case BC_TDUP:
-    dasm_put(Dst, 12610, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), Dt1(->base), LJ_TTAB);
+    dasm_put(Dst, 12612, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), Dt1(->base), LJ_TTAB);
     break;
 
   case BC_GGET:
-    dasm_put(Dst, 12705, Dt7(->env));
+    dasm_put(Dst, 12707, Dt7(->env));
     break;
   case BC_GSET:
-    dasm_put(Dst, 12724, Dt7(->env));
+    dasm_put(Dst, 12726, Dt7(->env));
     break;
 
   case BC_TGETV:
-    dasm_put(Dst, 12743, LJ_TTAB);
+    dasm_put(Dst, 12745, LJ_TTAB);
     if (LJ_DUALNUM) {
-      dasm_put(Dst, 12766, LJ_TISNUM);
+      dasm_put(Dst, 12768, LJ_TISNUM);
     } else {
-      dasm_put(Dst, 12780, LJ_TISNUM);
+      dasm_put(Dst, 12782, LJ_TISNUM);
       if (sse) {
-       dasm_put(Dst, 12791);
+       dasm_put(Dst, 12793);
       } else {
       }
-      dasm_put(Dst, 12812);
+      dasm_put(Dst, 12814);
     }
-    dasm_put(Dst, 12817, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index, LJ_TNIL);
-    dasm_put(Dst, 12908, LJ_TSTR);
+    dasm_put(Dst, 12819, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index, LJ_TNIL);
+    dasm_put(Dst, 12910, LJ_TSTR);
     break;
   case BC_TGETS:
-    dasm_put(Dst, 12926, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL);
-    dasm_put(Dst, 13010, LJ_TNIL, DtB(->next), Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
+    dasm_put(Dst, 12928, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL);
+    dasm_put(Dst, 13012, LJ_TNIL, DtB(->next), Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
     break;
   case BC_TGETB:
-    dasm_put(Dst, 13081, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
-    dasm_put(Dst, 13176, LJ_TNIL);
+    dasm_put(Dst, 13083, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
+    dasm_put(Dst, 13178, LJ_TNIL);
     break;
 
   case BC_TSETV:
-    dasm_put(Dst, 13193, LJ_TTAB);
+    dasm_put(Dst, 13195, LJ_TTAB);
     if (LJ_DUALNUM) {
-      dasm_put(Dst, 12766, LJ_TISNUM);
+      dasm_put(Dst, 12768, LJ_TISNUM);
     } else {
-      dasm_put(Dst, 12780, LJ_TISNUM);
+      dasm_put(Dst, 12782, LJ_TISNUM);
       if (sse) {
-       dasm_put(Dst, 12791);
+       dasm_put(Dst, 12793);
       } else {
       }
-      dasm_put(Dst, 13216);
+      dasm_put(Dst, 13218);
     }
-    dasm_put(Dst, 13221, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex);
-    dasm_put(Dst, 13301, LJ_TSTR, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
+    dasm_put(Dst, 13223, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex);
+    dasm_put(Dst, 13303, LJ_TSTR, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
     break;
   case BC_TSETS:
-    dasm_put(Dst, 13358, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->nomm), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL);
-    dasm_put(Dst, 13434, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, DtB(->next));
-    dasm_put(Dst, 13522, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, LJ_TSTR, Dt1(->base), Dt1(->base), Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
+    dasm_put(Dst, 13360, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->nomm), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL);
+    dasm_put(Dst, 13436, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, DtB(->next));
+    dasm_put(Dst, 13524, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, LJ_TSTR, Dt1(->base), Dt1(->base), Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
     break;
   case BC_TSETB:
-    dasm_put(Dst, 13613, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable));
-    dasm_put(Dst, 13707, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
+    dasm_put(Dst, 13615, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable));
+    dasm_put(Dst, 13709, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
     break;
 
   case BC_TSETM:
-    dasm_put(Dst, 13753, Dt6(->marked), LJ_GC_BLACK, Dt6(->asize), Dt6(->array), Dt1(->base), Dt1(->base));
-    dasm_put(Dst, 13896, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
+    dasm_put(Dst, 13755, Dt6(->marked), LJ_GC_BLACK, Dt6(->asize), Dt6(->array), Dt1(->base), Dt1(->base));
+    dasm_put(Dst, 13898, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
     break;
 
   /* -- Calls and vararg handling ----------------------------------------- */
 
   case BC_CALL: case BC_CALLM:
-    dasm_put(Dst, 11091);
+    dasm_put(Dst, 11093);
     if (op == BC_CALLM) {
-      dasm_put(Dst, 13914);
+      dasm_put(Dst, 13916);
     }
-    dasm_put(Dst, 13919, LJ_TFUNC, Dt7(->pc));
+    dasm_put(Dst, 13921, LJ_TFUNC, Dt7(->pc));
     break;
 
   case BC_CALLMT:
-    dasm_put(Dst, 13914);
+    dasm_put(Dst, 13916);
     break;
   case BC_CALLT:
-    dasm_put(Dst, 13961, LJ_TFUNC, FRAME_TYPE, Dt7(->ffid), Dt7(->pc));
-    dasm_put(Dst, 14076, FRAME_TYPE, Dt7(->pc), PC2PROTO(k), FRAME_VARG, FRAME_TYPEP, FRAME_VARG);
+    dasm_put(Dst, 13963, LJ_TFUNC, FRAME_TYPE, Dt7(->ffid), Dt7(->pc));
+    dasm_put(Dst, 14078, FRAME_TYPE, Dt7(->pc), PC2PROTO(k), FRAME_VARG, FRAME_TYPEP, FRAME_VARG);
     break;
 
   case BC_ITERC:
-    dasm_put(Dst, 14147, LJ_TFUNC, 2+1, Dt7(->pc));
+    dasm_put(Dst, 14149, LJ_TFUNC, 2+1, Dt7(->pc));
     break;
 
   case BC_ITERN:
 #if LJ_HASJIT
 #endif
-    dasm_put(Dst, 14218, Dt6(->asize), Dt6(->array), LJ_TNIL);
+    dasm_put(Dst, 14220, Dt6(->asize), Dt6(->array), LJ_TNIL);
     if (LJ_DUALNUM) {
-      dasm_put(Dst, 10991, LJ_TISNUM);
+      dasm_put(Dst, 10993, LJ_TISNUM);
     } else if (sse) {
-      dasm_put(Dst, 11068);
+      dasm_put(Dst, 11070);
     } else {
-      dasm_put(Dst, 14264);
+      dasm_put(Dst, 14266);
     }
-    dasm_put(Dst, 14270);
+    dasm_put(Dst, 14272);
     if (LJ_DUALNUM) {
     } else if (sse) {
-      dasm_put(Dst, 10956);
+      dasm_put(Dst, 10958);
     } else {
-      dasm_put(Dst, 10968);
+      dasm_put(Dst, 10970);
     }
-    dasm_put(Dst, 14283, -BCBIAS_J*4);
+    dasm_put(Dst, 14285, -BCBIAS_J*4);
     if (!LJ_DUALNUM && !sse) {
-      dasm_put(Dst, 14335);
+      dasm_put(Dst, 14337);
     }
-    dasm_put(Dst, 14341, Dt6(->hmask), sizeof(Node), Dt6(->node), DtB(->val.it), LJ_TNIL, DtB(->key), DtB(->val));
+    dasm_put(Dst, 14343, Dt6(->hmask), sizeof(Node), Dt6(->node), DtB(->val.it), LJ_TNIL, DtB(->key), DtB(->val));
     break;
 
   case BC_ISNEXT:
-    dasm_put(Dst, 14413, LJ_TFUNC, LJ_TTAB, LJ_TNIL, Dt8(->ffid), FF_next_N, -BCBIAS_J*4, BC_JMP, -BCBIAS_J*4, BC_ITERC);
+    dasm_put(Dst, 14415, LJ_TFUNC, LJ_TTAB, LJ_TNIL, Dt8(->ffid), FF_next_N, -BCBIAS_J*4, BC_JMP, -BCBIAS_J*4, BC_ITERC);
     break;
 
   case BC_VARG:
-    dasm_put(Dst, 14513, (8+FRAME_VARG), LJ_TNIL, Dt1(->maxstack));
-    dasm_put(Dst, 14673, Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top));
+    dasm_put(Dst, 14515, (8+FRAME_VARG), LJ_TNIL, Dt1(->maxstack));
+    dasm_put(Dst, 14675, Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top));
     break;
 
   /* -- Returns ----------------------------------------------------------- */
 
   case BC_RETM:
-    dasm_put(Dst, 13914);
+    dasm_put(Dst, 13916);
     break;
 
   case BC_RET: case BC_RET0: case BC_RET1:
     if (op != BC_RET0) {
-      dasm_put(Dst, 14739);
+      dasm_put(Dst, 14741);
     }
-    dasm_put(Dst, 14743, FRAME_TYPE);
+    dasm_put(Dst, 14745, FRAME_TYPE);
     switch (op) {
     case BC_RET:
-      dasm_put(Dst, 14762);
+      dasm_put(Dst, 14764);
       break;
     case BC_RET1:
-      dasm_put(Dst, 14814);
+      dasm_put(Dst, 14816);
       /* fallthrough */
     case BC_RET0:
-      dasm_put(Dst, 14824);
+      dasm_put(Dst, 14826);
     default:
       break;
     }
-    dasm_put(Dst, 14835, Dt7(->pc), PC2PROTO(k));
+    dasm_put(Dst, 14837, Dt7(->pc), PC2PROTO(k));
     if (op == BC_RET) {
-      dasm_put(Dst, 14879, LJ_TNIL);
+      dasm_put(Dst, 14881, LJ_TNIL);
     } else {
-      dasm_put(Dst, 14888, LJ_TNIL);
+      dasm_put(Dst, 14890, LJ_TNIL);
     }
-    dasm_put(Dst, 14895, -FRAME_VARG, FRAME_TYPEP);
+    dasm_put(Dst, 14897, -FRAME_VARG, FRAME_TYPEP);
     if (op != BC_RET0) {
-      dasm_put(Dst, 14919);
+      dasm_put(Dst, 14921);
     }
     dasm_put(Dst, 4646);
     break;
@@ -2738,7 +2737,7 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
 
   case BC_FORL:
 #if LJ_HASJIT
-    dasm_put(Dst, 14923, HOTCOUNT_PCMASK, GG_DISP2HOT);
+    dasm_put(Dst, 14925, HOTCOUNT_PCMASK, GG_DISP2HOT);
 #endif
     break;
 
@@ -2750,104 +2749,104 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
   case BC_FORI:
   case BC_IFORL:
     vk = (op == BC_IFORL || op == BC_JFORL);
-    dasm_put(Dst, 14944);
+    dasm_put(Dst, 14946);
     if (LJ_DUALNUM) {
-      dasm_put(Dst, 14948, LJ_TISNUM);
+      dasm_put(Dst, 14950, LJ_TISNUM);
       if (!vk) {
-       dasm_put(Dst, 14958, LJ_TISNUM, LJ_TISNUM);
+       dasm_put(Dst, 14960, LJ_TISNUM, LJ_TISNUM);
       } else {
-       dasm_put(Dst, 14987);
+       dasm_put(Dst, 14989);
       }
-      dasm_put(Dst, 15006, LJ_TISNUM);
+      dasm_put(Dst, 15008, LJ_TISNUM);
       if (op == BC_FORI) {
-       dasm_put(Dst, 15017, -BCBIAS_J*4);
+       dasm_put(Dst, 15019, -BCBIAS_J*4);
       } else if (op == BC_JFORI) {
-       dasm_put(Dst, 15031, -BCBIAS_J*4, BC_JLOOP);
+       dasm_put(Dst, 15033, -BCBIAS_J*4, BC_JLOOP);
       } else if (op == BC_IFORL) {
-       dasm_put(Dst, 15049, -BCBIAS_J*4);
+       dasm_put(Dst, 15051, -BCBIAS_J*4);
       } else {
-       dasm_put(Dst, 15041, BC_JLOOP);
+       dasm_put(Dst, 15043, BC_JLOOP);
       }
-      dasm_put(Dst, 15063);
+      dasm_put(Dst, 15065);
       if (vk) {
-       dasm_put(Dst, 15087);
+       dasm_put(Dst, 15089);
       }
-      dasm_put(Dst, 15006, LJ_TISNUM);
+      dasm_put(Dst, 15008, LJ_TISNUM);
       if (op == BC_FORI) {
-       dasm_put(Dst, 15096);
+       dasm_put(Dst, 15098);
       } else if (op == BC_JFORI) {
-       dasm_put(Dst, 15101, -BCBIAS_J*4, BC_JLOOP);
+       dasm_put(Dst, 15103, -BCBIAS_J*4, BC_JLOOP);
       } else if (op == BC_IFORL) {
-       dasm_put(Dst, 15115);
+       dasm_put(Dst, 15117);
       } else {
-       dasm_put(Dst, 15111, BC_JLOOP);
+       dasm_put(Dst, 15113, BC_JLOOP);
       }
-      dasm_put(Dst, 15120);
+      dasm_put(Dst, 15122);
     } else if (!vk) {
-      dasm_put(Dst, 15127, LJ_TISNUM);
+      dasm_put(Dst, 15129, LJ_TISNUM);
     }
     if (!vk) {
-      dasm_put(Dst, 15133, LJ_TISNUM);
+      dasm_put(Dst, 15135, LJ_TISNUM);
     }
-    dasm_put(Dst, 15147);
+    dasm_put(Dst, 15149);
     if (!vk) {
-      dasm_put(Dst, 15151, LJ_TISNUM);
+      dasm_put(Dst, 15153, LJ_TISNUM);
     }
     if (sse) {
-      dasm_put(Dst, 15160);
+      dasm_put(Dst, 15162);
       if (vk) {
-       dasm_put(Dst, 15172);
+       dasm_put(Dst, 15174);
       } else {
-       dasm_put(Dst, 15191);
+       dasm_put(Dst, 15193);
       }
-      dasm_put(Dst, 15196);
+      dasm_put(Dst, 15198);
     } else {
-      dasm_put(Dst, 15209);
+      dasm_put(Dst, 15211);
       if (vk) {
-       dasm_put(Dst, 15215);
+       dasm_put(Dst, 15217);
       } else {
-       dasm_put(Dst, 15231);
+       dasm_put(Dst, 15233);
       }
-      dasm_put(Dst, 15239);
+      dasm_put(Dst, 15241);
       if (cmov) {
       dasm_put(Dst, 10057);
       } else {
       dasm_put(Dst, 10063);
       }
       if (!cmov) {
-       dasm_put(Dst, 15244);
+       dasm_put(Dst, 15246);
       }
     }
     if (op == BC_FORI) {
       if (LJ_DUALNUM) {
-       dasm_put(Dst, 15250);
+       dasm_put(Dst, 15252);
       } else {
-       dasm_put(Dst, 15255, -BCBIAS_J*4);
+       dasm_put(Dst, 15257, -BCBIAS_J*4);
       }
     } else if (op == BC_JFORI) {
-      dasm_put(Dst, 15265, -BCBIAS_J*4, BC_JLOOP);
+      dasm_put(Dst, 15267, -BCBIAS_J*4, BC_JLOOP);
     } else if (op == BC_IFORL) {
       if (LJ_DUALNUM) {
-       dasm_put(Dst, 15279);
+       dasm_put(Dst, 15281);
       } else {
-       dasm_put(Dst, 15284, -BCBIAS_J*4);
+       dasm_put(Dst, 15286, -BCBIAS_J*4);
       }
     } else {
-      dasm_put(Dst, 15275, BC_JLOOP);
+      dasm_put(Dst, 15277, BC_JLOOP);
     }
     if (LJ_DUALNUM) {
       dasm_put(Dst, 9986);
     } else {
-      dasm_put(Dst, 10741);
+      dasm_put(Dst, 10743);
     }
     if (sse) {
-      dasm_put(Dst, 15294);
+      dasm_put(Dst, 15296);
     }
     break;
 
   case BC_ITERL:
 #if LJ_HASJIT
-    dasm_put(Dst, 14923, HOTCOUNT_PCMASK, GG_DISP2HOT);
+    dasm_put(Dst, 14925, HOTCOUNT_PCMASK, GG_DISP2HOT);
 #endif
     break;
 
@@ -2856,18 +2855,18 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
     break;
 #endif
   case BC_IITERL:
-    dasm_put(Dst, 15305, LJ_TNIL);
+    dasm_put(Dst, 15307, LJ_TNIL);
     if (op == BC_JITERL) {
-      dasm_put(Dst, 15320, BC_JLOOP);
+      dasm_put(Dst, 15322, BC_JLOOP);
     } else {
-      dasm_put(Dst, 15334, -BCBIAS_J*4);
+      dasm_put(Dst, 15336, -BCBIAS_J*4);
     }
     dasm_put(Dst, 10100);
     break;
 
   case BC_LOOP:
 #if LJ_HASJIT
-    dasm_put(Dst, 14923, HOTCOUNT_PCMASK, GG_DISP2HOT);
+    dasm_put(Dst, 14925, HOTCOUNT_PCMASK, GG_DISP2HOT);
 #endif
     break;
 
@@ -2877,12 +2876,12 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
 
   case BC_JLOOP:
 #if LJ_HASJIT
-    dasm_put(Dst, 15350, DISPATCH_J(trace), DtD(->mcode), DISPATCH_GL(jit_base), DISPATCH_GL(jit_L), 9*16+4*8, -1*16, -2*16, -3*16, -4*16, -5*16, -6*16, -7*16, -8*16, -9*16);
+    dasm_put(Dst, 15352, DISPATCH_J(trace), DtD(->mcode), DISPATCH_GL(jit_base), DISPATCH_GL(jit_L), 9*16+4*8, -1*16, -2*16, -3*16, -4*16, -5*16, -6*16, -7*16, -8*16, -9*16);
 #endif
     break;
 
   case BC_JMP:
-    dasm_put(Dst, 15459, -BCBIAS_J*4);
+    dasm_put(Dst, 15461, -BCBIAS_J*4);
     break;
 
   /* -- Function headers -------------------------------------------------- */
@@ -2896,7 +2895,7 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
 
   case BC_FUNCF:
 #if LJ_HASJIT
-    dasm_put(Dst, 15484, HOTCOUNT_PCMASK, GG_DISP2HOT);
+    dasm_put(Dst, 15486, HOTCOUNT_PCMASK, GG_DISP2HOT);
 #endif
   case BC_FUNCV:  /* NYI: compiled vararg functions. */
     break;
@@ -2906,13 +2905,13 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
     break;
 #endif
   case BC_IFUNCF:
-    dasm_put(Dst, 15505, -4+PC2PROTO(k), Dt1(->maxstack), -4+PC2PROTO(numparams));
+    dasm_put(Dst, 15507, -4+PC2PROTO(k), Dt1(->maxstack), -4+PC2PROTO(numparams));
     if (op == BC_JFUNCF) {
-      dasm_put(Dst, 15535, BC_JLOOP);
+      dasm_put(Dst, 15537, BC_JLOOP);
     } else {
       dasm_put(Dst, 10102);
     }
-    dasm_put(Dst, 15544, LJ_TNIL);
+    dasm_put(Dst, 15546, LJ_TNIL);
     break;
 
   case BC_JFUNCV:
@@ -2923,30 +2922,30 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
     break;  /* NYI: compiled vararg functions. */
 
   case BC_IFUNCV:
-    dasm_put(Dst, 15566, FRAME_VARG, Dt1(->maxstack), -4+PC2PROTO(numparams), LJ_TNIL);
+    dasm_put(Dst, 15568, FRAME_VARG, Dt1(->maxstack), -4+PC2PROTO(numparams), LJ_TNIL);
     if (op == BC_JFUNCV) {
-      dasm_put(Dst, 15535, BC_JLOOP);
+      dasm_put(Dst, 15537, BC_JLOOP);
     } else {
-      dasm_put(Dst, 15657, -4+PC2PROTO(k));
+      dasm_put(Dst, 15659, -4+PC2PROTO(k));
     }
-    dasm_put(Dst, 15680, LJ_TNIL);
+    dasm_put(Dst, 15682, LJ_TNIL);
     break;
 
   case BC_FUNCC:
   case BC_FUNCCW:
-    dasm_put(Dst, 15702, Dt8(->f), Dt1(->base), 8*LUA_MINSTACK, Dt1(->maxstack), Dt1(->top));
+    dasm_put(Dst, 15704, Dt8(->f), Dt1(->base), 8*LUA_MINSTACK, Dt1(->maxstack), Dt1(->top));
     if (op == BC_FUNCC) {
       dasm_put(Dst, 2310);
     } else {
-      dasm_put(Dst, 15732);
+      dasm_put(Dst, 15734);
     }
-    dasm_put(Dst, 15740, DISPATCH_GL(vmstate), ~LJ_VMST_C);
+    dasm_put(Dst, 15742, DISPATCH_GL(vmstate), ~LJ_VMST_C);
     if (op == BC_FUNCC) {
-      dasm_put(Dst, 15749);
+      dasm_put(Dst, 15751);
     } else {
-      dasm_put(Dst, 15753, DISPATCH_GL(wrapf));
+      dasm_put(Dst, 15755, DISPATCH_GL(wrapf));
     }
-    dasm_put(Dst, 15758, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top));
+    dasm_put(Dst, 15760, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top));
     break;
 
   /* ---------------------------------------------------------------------- */
@@ -2974,7 +2973,7 @@ static int build_backend(BuildCtx *ctx)
 
   build_subroutines(ctx, cmov, sse);
 
-  dasm_put(Dst, 15783);
+  dasm_put(Dst, 15785);
   for (op = 0; op < BC__MAX; op++)
     build_ins(ctx, (BCOp)op, op, cmov, sse);
 
index 4d96423cb40129bcdc34d2626650ce9e04944177..f7631d629a2347a58f00da99e8bb87f068bd14a1 100644 (file)
@@ -4055,10 +4055,9 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
        |  ucomisd xmm0, qword [KBASE+RD*8]
       } else {
        |  fild dword [BASE+RA*8]
-       |  fld qword [BASE+RD*8]
+       |  fld qword [KBASE+RD*8]
       }
       |  jmp >4
-      |
     } else {
       |  cmp RB, LJ_TISNUM; jae >3
     }
@@ -4073,8 +4072,8 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
       |  fld qword [KBASE+RD*8]
       |2:
       |  fld qword [BASE+RA*8]
-      |  fcomparepp                    // eax (RD) modified!
       |4:
+      |  fcomparepp                    // eax (RD) modified!
     }
     goto iseqne_fp;
   case BC_ISEQP: case BC_ISNEP:
index 756276979f47c1045a9c9d70488f5e8193be33a9..0ce64f41bb4c82e7f4f35bf6f477e9e532f3be44 100644 (file)
@@ -12,7 +12,7 @@
 #define DASM_SECTION_CODE_OP   0
 #define DASM_SECTION_CODE_SUB  1
 #define DASM_MAXSECTION                2
-static const unsigned char build_actionlist[16902] = {
+static const unsigned char build_actionlist[16904] = {
   254,1,248,10,252,247,198,237,15,132,244,11,131,230,252,248,41,252,242,141,
   76,49,252,248,139,114,252,252,199,68,10,4,237,248,12,131,192,1,137,68,36,
   20,252,247,198,237,15,132,244,13,248,14,129,252,246,239,252,247,198,237,15,
@@ -577,257 +577,257 @@ static const unsigned char build_actionlist[16902] = {
   15,182,232,131,198,4,193,232,16,252,255,36,171,248,7,15,135,244,249,129,124,
   253,199,4,239,15,130,244,247,255,252,242,15,42,4,199,255,219,4,199,255,252,
   233,244,248,248,8,255,252,242,15,42,4,202,102,15,46,4,199,255,219,4,202,221,
-  4,194,255,129,252,253,239,15,131,244,249,255,248,1,252,242,15,16,4,199,248,
-  2,102,15,46,4,202,248,4,255,248,1,221,4,199,248,2,221,4,202,255,252,247,208,
-  139,108,202,4,131,198,4,57,197,255,15,133,244,249,15,183,70,252,254,141,180,
-  253,134,233,248,2,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,
-  36,171,248,3,129,252,253,239,15,133,244,2,252,233,244,46,255,15,132,244,248,
-  129,252,253,239,15,132,244,46,15,183,70,252,254,141,180,253,134,233,248,2,
-  139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,255,139,108,
-  194,4,131,198,4,129,252,253,239,255,137,108,202,4,139,44,194,137,44,202,255,
-  139,108,194,4,139,4,194,137,108,202,4,137,4,202,139,6,15,182,204,15,182,232,
-  131,198,4,193,232,16,252,255,36,171,255,49,252,237,129,124,253,194,4,239,
-  129,213,239,137,108,202,4,139,6,15,182,204,15,182,232,131,198,4,193,232,16,
-  252,255,36,171,255,129,124,253,194,4,239,15,133,244,251,139,44,194,252,247,
-  221,15,128,244,250,199,68,202,4,237,137,44,202,248,9,139,6,15,182,204,15,
-  182,232,131,198,4,193,232,16,252,255,36,171,248,4,199,68,202,4,0,0,224,65,
-  199,4,202,0,0,0,0,252,233,244,9,248,5,15,135,244,51,255,129,124,253,194,4,
-  239,15,131,244,51,255,252,242,15,16,4,194,184,0,0,0,128,102,15,110,200,102,
-  15,112,201,81,15,87,193,252,242,15,17,4,202,255,221,4,194,217,224,221,28,
-  202,255,129,124,253,194,4,239,15,133,244,248,139,4,194,255,139,128,233,248,
-  1,199,68,202,4,237,137,4,202,255,15,87,192,252,242,15,42,128,233,248,1,252,
-  242,15,17,4,202,255,219,128,233,248,1,221,28,202,255,139,6,15,182,204,15,
-  182,232,131,198,4,193,232,16,252,255,36,171,248,2,129,124,253,194,4,239,15,
-  133,244,54,139,12,194,137,213,232,251,1,20,255,252,242,15,42,192,255,137,
-  4,36,219,4,36,255,137,252,234,15,182,78,252,253,252,233,244,1,255,15,182,
-  252,236,15,182,192,255,129,124,253,252,234,4,239,15,133,244,48,129,124,253,
-  199,4,239,15,133,244,48,139,44,252,234,3,44,199,15,128,244,47,255,129,124,
-  253,252,234,4,239,15,133,244,50,129,124,253,199,4,239,15,133,244,50,139,4,
-  199,3,4,252,234,15,128,244,49,255,129,124,253,252,234,4,239,15,133,244,53,
-  129,124,253,194,4,239,15,133,244,53,139,44,252,234,3,44,194,15,128,244,52,
-  255,199,68,202,4,237,255,129,124,253,252,234,4,239,15,131,244,48,255,129,
-  124,253,199,4,239,15,131,244,48,255,252,242,15,16,4,252,234,252,242,15,88,
-  4,199,255,221,4,252,234,220,4,199,255,129,124,253,252,234,4,239,15,131,244,
-  50,255,129,124,253,199,4,239,15,131,244,50,255,252,242,15,16,4,199,252,242,
-  15,88,4,252,234,255,221,4,199,220,4,252,234,255,129,124,253,252,234,4,239,
-  15,131,244,53,129,124,253,194,4,239,15,131,244,53,255,252,242,15,16,4,252,
-  234,252,242,15,88,4,194,255,221,4,252,234,220,4,194,255,129,124,253,252,234,
-  4,239,15,133,244,48,129,124,253,199,4,239,15,133,244,48,139,44,252,234,43,
-  44,199,15,128,244,47,255,129,124,253,252,234,4,239,15,133,244,50,129,124,
-  253,199,4,239,15,133,244,50,139,4,199,43,4,252,234,15,128,244,49,255,129,
-  124,253,252,234,4,239,15,133,244,53,129,124,253,194,4,239,15,133,244,53,139,
-  44,252,234,43,44,194,15,128,244,52,255,252,242,15,16,4,252,234,252,242,15,
-  92,4,199,255,221,4,252,234,220,36,199,255,252,242,15,16,4,199,252,242,15,
-  92,4,252,234,255,221,4,199,220,36,252,234,255,252,242,15,16,4,252,234,252,
-  242,15,92,4,194,255,221,4,252,234,220,36,194,255,129,124,253,252,234,4,239,
-  15,133,244,48,129,124,253,199,4,239,15,133,244,48,139,44,252,234,15,175,44,
-  199,15,128,244,47,255,129,124,253,252,234,4,239,15,133,244,50,129,124,253,
-  199,4,239,15,133,244,50,139,4,199,15,175,4,252,234,15,128,244,49,255,129,
-  124,253,252,234,4,239,15,133,244,53,129,124,253,194,4,239,15,133,244,53,139,
-  44,252,234,15,175,44,194,15,128,244,52,255,252,242,15,16,4,252,234,252,242,
-  15,89,4,199,255,221,4,252,234,220,12,199,255,252,242,15,16,4,199,252,242,
-  15,89,4,252,234,255,221,4,199,220,12,252,234,255,252,242,15,16,4,252,234,
-  252,242,15,89,4,194,255,221,4,252,234,220,12,194,255,252,242,15,16,4,252,
-  234,252,242,15,94,4,199,255,221,4,252,234,220,52,199,255,252,242,15,16,4,
-  199,252,242,15,94,4,252,234,255,221,4,199,220,52,252,234,255,252,242,15,16,
-  4,252,234,252,242,15,94,4,194,255,221,4,252,234,220,52,194,255,252,242,15,
-  16,4,252,234,252,242,15,16,12,199,255,221,4,252,234,221,4,199,255,252,242,
-  15,16,4,199,252,242,15,16,12,252,234,255,221,4,199,221,4,252,234,255,252,
-  242,15,16,4,252,234,252,242,15,16,12,194,255,221,4,252,234,221,4,194,255,
-  248,162,232,244,153,255,252,233,244,162,255,232,244,113,255,15,182,252,236,
-  15,182,192,141,12,194,41,232,137,76,36,4,137,68,36,8,248,33,139,108,36,48,
-  137,44,36,137,149,233,137,116,36,24,232,251,1,27,139,149,233,133,192,15,133,
-  244,42,15,182,110,252,255,15,182,78,252,253,139,68,252,234,4,139,44,252,234,
-  137,68,202,4,137,44,202,139,6,15,182,204,15,182,232,131,198,4,193,232,16,
-  252,255,36,171,255,252,247,208,139,4,135,199,68,202,4,237,137,4,202,139,6,
-  15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,255,15,191,192,
-  199,68,202,4,237,137,4,202,255,15,191,192,252,242,15,42,192,252,242,15,17,
-  4,202,255,223,70,252,254,221,28,202,255,252,242,15,16,4,199,252,242,15,17,
-  4,202,255,221,4,199,221,28,202,255,252,247,208,137,68,202,4,139,6,15,182,
-  204,15,182,232,131,198,4,193,232,16,252,255,36,171,255,141,76,202,12,141,
-  68,194,4,189,237,137,105,252,248,248,1,137,41,131,193,8,57,193,15,134,244,
-  1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,255,139,
-  106,252,248,139,172,253,133,233,139,173,233,139,69,4,139,109,0,137,68,202,
-  4,137,44,202,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,
-  171,255,139,106,252,248,139,172,253,141,233,128,189,233,0,139,173,233,139,
-  12,194,139,68,194,4,137,77,0,137,69,4,15,132,244,247,252,246,133,233,235,
-  15,133,244,248,248,1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,
-  255,36,171,248,2,129,232,239,129,252,248,239,15,134,244,1,252,246,129,233,
-  235,15,132,244,1,135,213,141,139,233,255,232,251,1,28,137,252,234,252,233,
-  244,1,255,252,247,208,139,106,252,248,139,172,253,141,233,139,12,135,139,
-  133,233,137,8,199,64,4,237,252,246,133,233,235,15,133,244,248,248,1,139,6,
-  15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,2,252,246,129,
-  233,235,15,132,244,1,128,189,233,0,15,132,244,1,137,213,137,194,141,139,233,
-  232,251,1,28,137,252,234,252,233,244,1,255,139,106,252,248,255,252,242,15,
-  16,4,199,255,139,172,253,141,233,139,141,233,255,252,242,15,17,1,255,221,
-  25,255,252,247,208,139,106,252,248,139,172,253,141,233,139,141,233,137,65,
-  4,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,255,141,
-  180,253,134,233,139,108,36,48,131,189,233,0,15,132,244,247,137,149,233,141,
-  20,202,137,252,233,232,251,1,29,139,149,233,248,1,139,6,15,182,204,15,182,
-  232,131,198,4,193,232,16,252,255,36,171,255,252,247,208,139,74,252,248,139,
-  4,135,139,108,36,48,137,76,36,8,137,68,36,4,137,44,36,137,149,233,137,116,
-  36,24,232,251,1,30,139,149,233,15,182,78,252,253,137,4,202,199,68,202,4,237,
-  139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,255,139,108,
-  36,48,137,149,233,139,139,233,59,139,233,137,116,36,24,15,131,244,251,248,
-  1,137,193,37,252,255,7,0,0,193,252,233,11,137,76,36,8,61,252,255,7,0,0,15,
-  132,244,249,248,2,137,44,36,137,68,36,4,232,251,1,31,139,149,233,15,182,78,
-  252,253,137,4,202,199,68,202,4,237,139,6,15,182,204,15,182,232,131,198,4,
-  193,232,16,252,255,36,171,248,3,184,1,8,0,0,252,233,244,2,248,5,137,252,233,
-  232,251,1,32,15,183,70,252,254,252,233,244,1,255,252,247,208,139,108,36,48,
-  139,139,233,137,116,36,24,59,139,233,137,149,233,15,131,244,249,248,2,139,
-  20,135,137,252,233,232,251,1,33,139,149,233,15,182,78,252,253,137,4,202,199,
+  4,199,255,129,252,253,239,15,131,244,249,255,248,1,252,242,15,16,4,199,248,
+  2,102,15,46,4,202,248,4,255,248,1,221,4,199,248,2,221,4,202,248,4,255,252,
+  247,208,139,108,202,4,131,198,4,57,197,255,15,133,244,249,15,183,70,252,254,
+  141,180,253,134,233,248,2,139,6,15,182,204,15,182,232,131,198,4,193,232,16,
+  252,255,36,171,248,3,129,252,253,239,15,133,244,2,252,233,244,46,255,15,132,
+  244,248,129,252,253,239,15,132,244,46,15,183,70,252,254,141,180,253,134,233,
+  248,2,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,255,
+  139,108,194,4,131,198,4,129,252,253,239,255,137,108,202,4,139,44,194,137,
+  44,202,255,139,108,194,4,139,4,194,137,108,202,4,137,4,202,139,6,15,182,204,
+  15,182,232,131,198,4,193,232,16,252,255,36,171,255,49,252,237,129,124,253,
+  194,4,239,129,213,239,137,108,202,4,139,6,15,182,204,15,182,232,131,198,4,
+  193,232,16,252,255,36,171,255,129,124,253,194,4,239,15,133,244,251,139,44,
+  194,252,247,221,15,128,244,250,199,68,202,4,237,137,44,202,248,9,139,6,15,
+  182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,4,199,68,202,4,
+  0,0,224,65,199,4,202,0,0,0,0,252,233,244,9,248,5,15,135,244,51,255,129,124,
+  253,194,4,239,15,131,244,51,255,252,242,15,16,4,194,184,0,0,0,128,102,15,
+  110,200,102,15,112,201,81,15,87,193,252,242,15,17,4,202,255,221,4,194,217,
+  224,221,28,202,255,129,124,253,194,4,239,15,133,244,248,139,4,194,255,139,
+  128,233,248,1,199,68,202,4,237,137,4,202,255,15,87,192,252,242,15,42,128,
+  233,248,1,252,242,15,17,4,202,255,219,128,233,248,1,221,28,202,255,139,6,
+  15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,2,129,124,253,
+  194,4,239,15,133,244,54,139,12,194,137,213,232,251,1,20,255,252,242,15,42,
+  192,255,137,4,36,219,4,36,255,137,252,234,15,182,78,252,253,252,233,244,1,
+  255,15,182,252,236,15,182,192,255,129,124,253,252,234,4,239,15,133,244,48,
+  129,124,253,199,4,239,15,133,244,48,139,44,252,234,3,44,199,15,128,244,47,
+  255,129,124,253,252,234,4,239,15,133,244,50,129,124,253,199,4,239,15,133,
+  244,50,139,4,199,3,4,252,234,15,128,244,49,255,129,124,253,252,234,4,239,
+  15,133,244,53,129,124,253,194,4,239,15,133,244,53,139,44,252,234,3,44,194,
+  15,128,244,52,255,199,68,202,4,237,255,129,124,253,252,234,4,239,15,131,244,
+  48,255,129,124,253,199,4,239,15,131,244,48,255,252,242,15,16,4,252,234,252,
+  242,15,88,4,199,255,221,4,252,234,220,4,199,255,129,124,253,252,234,4,239,
+  15,131,244,50,255,129,124,253,199,4,239,15,131,244,50,255,252,242,15,16,4,
+  199,252,242,15,88,4,252,234,255,221,4,199,220,4,252,234,255,129,124,253,252,
+  234,4,239,15,131,244,53,129,124,253,194,4,239,15,131,244,53,255,252,242,15,
+  16,4,252,234,252,242,15,88,4,194,255,221,4,252,234,220,4,194,255,129,124,
+  253,252,234,4,239,15,133,244,48,129,124,253,199,4,239,15,133,244,48,139,44,
+  252,234,43,44,199,15,128,244,47,255,129,124,253,252,234,4,239,15,133,244,
+  50,129,124,253,199,4,239,15,133,244,50,139,4,199,43,4,252,234,15,128,244,
+  49,255,129,124,253,252,234,4,239,15,133,244,53,129,124,253,194,4,239,15,133,
+  244,53,139,44,252,234,43,44,194,15,128,244,52,255,252,242,15,16,4,252,234,
+  252,242,15,92,4,199,255,221,4,252,234,220,36,199,255,252,242,15,16,4,199,
+  252,242,15,92,4,252,234,255,221,4,199,220,36,252,234,255,252,242,15,16,4,
+  252,234,252,242,15,92,4,194,255,221,4,252,234,220,36,194,255,129,124,253,
+  252,234,4,239,15,133,244,48,129,124,253,199,4,239,15,133,244,48,139,44,252,
+  234,15,175,44,199,15,128,244,47,255,129,124,253,252,234,4,239,15,133,244,
+  50,129,124,253,199,4,239,15,133,244,50,139,4,199,15,175,4,252,234,15,128,
+  244,49,255,129,124,253,252,234,4,239,15,133,244,53,129,124,253,194,4,239,
+  15,133,244,53,139,44,252,234,15,175,44,194,15,128,244,52,255,252,242,15,16,
+  4,252,234,252,242,15,89,4,199,255,221,4,252,234,220,12,199,255,252,242,15,
+  16,4,199,252,242,15,89,4,252,234,255,221,4,199,220,12,252,234,255,252,242,
+  15,16,4,252,234,252,242,15,89,4,194,255,221,4,252,234,220,12,194,255,252,
+  242,15,16,4,252,234,252,242,15,94,4,199,255,221,4,252,234,220,52,199,255,
+  252,242,15,16,4,199,252,242,15,94,4,252,234,255,221,4,199,220,52,252,234,
+  255,252,242,15,16,4,252,234,252,242,15,94,4,194,255,221,4,252,234,220,52,
+  194,255,252,242,15,16,4,252,234,252,242,15,16,12,199,255,221,4,252,234,221,
+  4,199,255,252,242,15,16,4,199,252,242,15,16,12,252,234,255,221,4,199,221,
+  4,252,234,255,252,242,15,16,4,252,234,252,242,15,16,12,194,255,221,4,252,
+  234,221,4,194,255,248,162,232,244,153,255,252,233,244,162,255,232,244,113,
+  255,15,182,252,236,15,182,192,141,12,194,41,232,137,76,36,4,137,68,36,8,248,
+  33,139,108,36,48,137,44,36,137,149,233,137,116,36,24,232,251,1,27,139,149,
+  233,133,192,15,133,244,42,15,182,110,252,255,15,182,78,252,253,139,68,252,
+  234,4,139,44,252,234,137,68,202,4,137,44,202,139,6,15,182,204,15,182,232,
+  131,198,4,193,232,16,252,255,36,171,255,252,247,208,139,4,135,199,68,202,
+  4,237,137,4,202,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,
+  36,171,255,15,191,192,199,68,202,4,237,137,4,202,255,15,191,192,252,242,15,
+  42,192,252,242,15,17,4,202,255,223,70,252,254,221,28,202,255,252,242,15,16,
+  4,199,252,242,15,17,4,202,255,221,4,199,221,28,202,255,252,247,208,137,68,
+  202,4,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,255,
+  141,76,202,12,141,68,194,4,189,237,137,105,252,248,248,1,137,41,131,193,8,
+  57,193,15,134,244,1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,
+  255,36,171,255,139,106,252,248,139,172,253,133,233,139,173,233,139,69,4,139,
+  109,0,137,68,202,4,137,44,202,139,6,15,182,204,15,182,232,131,198,4,193,232,
+  16,252,255,36,171,255,139,106,252,248,139,172,253,141,233,128,189,233,0,139,
+  173,233,139,12,194,139,68,194,4,137,77,0,137,69,4,15,132,244,247,252,246,
+  133,233,235,15,133,244,248,248,1,139,6,15,182,204,15,182,232,131,198,4,193,
+  232,16,252,255,36,171,248,2,129,232,239,129,252,248,239,15,134,244,1,252,
+  246,129,233,235,15,132,244,1,135,213,141,139,233,255,232,251,1,28,137,252,
+  234,252,233,244,1,255,252,247,208,139,106,252,248,139,172,253,141,233,139,
+  12,135,139,133,233,137,8,199,64,4,237,252,246,133,233,235,15,133,244,248,
+  248,1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,
+  2,252,246,129,233,235,15,132,244,1,128,189,233,0,15,132,244,1,137,213,137,
+  194,141,139,233,232,251,1,28,137,252,234,252,233,244,1,255,139,106,252,248,
+  255,252,242,15,16,4,199,255,139,172,253,141,233,139,141,233,255,252,242,15,
+  17,1,255,221,25,255,252,247,208,139,106,252,248,139,172,253,141,233,139,141,
+  233,137,65,4,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,
+  171,255,141,180,253,134,233,139,108,36,48,131,189,233,0,15,132,244,247,137,
+  149,233,141,20,202,137,252,233,232,251,1,29,139,149,233,248,1,139,6,15,182,
+  204,15,182,232,131,198,4,193,232,16,252,255,36,171,255,252,247,208,139,74,
+  252,248,139,4,135,139,108,36,48,137,76,36,8,137,68,36,4,137,44,36,137,149,
+  233,137,116,36,24,232,251,1,30,139,149,233,15,182,78,252,253,137,4,202,199,
   68,202,4,237,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,
-  171,248,3,137,252,233,232,251,1,32,15,183,70,252,254,252,247,208,252,233,
-  244,2,255,252,247,208,139,106,252,248,139,173,233,139,4,135,252,233,244,163,
-  255,252,247,208,139,106,252,248,139,173,233,139,4,135,252,233,244,164,255,
-  15,182,252,236,15,182,192,129,124,253,252,234,4,239,15,133,244,36,139,44,
-  252,234,255,129,124,253,194,4,239,15,133,244,251,139,4,194,255,129,124,253,
-  194,4,239,15,131,244,251,255,252,242,15,16,4,194,252,242,15,45,192,252,242,
-  15,42,200,102,15,46,193,255,221,4,194,219,20,36,219,4,36,255,15,133,244,36,
-  255,59,133,233,15,131,244,36,193,224,3,3,133,233,129,120,253,4,239,15,132,
-  244,248,139,40,139,64,4,137,44,202,137,68,202,4,248,1,139,6,15,182,204,15,
-  182,232,131,198,4,193,232,16,252,255,36,171,248,2,131,189,233,0,15,132,244,
-  249,139,141,233,252,246,129,233,235,15,132,244,36,15,182,78,252,253,248,3,
-  199,68,202,4,237,252,233,244,1,248,5,255,129,124,253,194,4,239,15,133,244,
-  36,139,4,194,252,233,244,163,255,15,182,252,236,15,182,192,252,247,208,139,
-  4,135,129,124,253,252,234,4,239,15,133,244,34,139,44,252,234,248,163,139,
-  141,233,35,136,233,105,201,239,3,141,233,248,1,129,185,233,239,15,133,244,
-  250,57,129,233,15,133,244,250,129,121,253,4,239,15,132,244,251,15,182,70,
-  252,253,139,41,139,73,4,137,44,194,137,76,194,4,248,2,255,139,6,15,182,204,
-  15,182,232,131,198,4,193,232,16,252,255,36,171,248,3,15,182,70,252,253,199,
-  68,194,4,237,252,233,244,2,248,4,139,137,233,133,201,15,133,244,1,248,5,139,
-  141,233,133,201,15,132,244,3,252,246,129,233,235,15,133,244,3,252,233,244,
-  34,255,15,182,252,236,15,182,192,129,124,253,252,234,4,239,15,133,244,35,
-  139,44,252,234,59,133,233,15,131,244,35,193,224,3,3,133,233,129,120,253,4,
-  239,15,132,244,248,139,40,139,64,4,137,44,202,137,68,202,4,248,1,139,6,15,
-  182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,2,131,189,233,
-  0,15,132,244,249,139,141,233,252,246,129,233,235,15,132,244,35,255,15,182,
-  78,252,253,248,3,199,68,202,4,237,252,233,244,1,255,15,182,252,236,15,182,
-  192,129,124,253,252,234,4,239,15,133,244,39,139,44,252,234,255,15,133,244,
-  39,255,59,133,233,15,131,244,39,193,224,3,3,133,233,129,120,253,4,239,15,
-  132,244,249,248,1,252,246,133,233,235,15,133,244,253,248,2,139,108,202,4,
-  139,12,202,137,104,4,137,8,139,6,15,182,204,15,182,232,131,198,4,193,232,
-  16,252,255,36,171,248,3,131,189,233,0,15,132,244,1,139,141,233,252,246,129,
-  233,235,255,15,132,244,39,15,182,78,252,253,252,233,244,1,248,5,129,124,253,
-  194,4,239,15,133,244,39,139,4,194,252,233,244,164,248,7,128,165,233,235,139,
-  139,233,137,171,233,137,141,233,15,182,78,252,253,252,233,244,2,255,15,182,
-  252,236,15,182,192,252,247,208,139,4,135,129,124,253,252,234,4,239,15,133,
-  244,37,139,44,252,234,248,164,139,141,233,35,136,233,105,201,239,198,133,
-  233,0,3,141,233,248,1,129,185,233,239,15,133,244,251,57,129,233,15,133,244,
-  251,129,121,253,4,239,15,132,244,250,248,2,255,252,246,133,233,235,15,133,
-  244,253,248,3,15,182,70,252,253,139,108,194,4,139,4,194,137,105,4,137,1,139,
-  6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,4,131,189,
-  233,0,15,132,244,2,137,76,36,16,139,141,233,252,246,129,233,235,15,132,244,
-  37,139,76,36,16,252,233,244,2,248,5,139,137,233,133,201,15,133,244,1,255,
-  139,141,233,133,201,15,132,244,252,252,246,129,233,235,15,132,244,37,248,
-  6,137,68,36,16,199,68,36,20,237,137,108,36,12,141,68,36,16,137,108,36,4,139,
-  108,36,48,137,68,36,8,137,44,36,137,149,233,137,116,36,24,232,251,1,34,139,
-  149,233,139,108,36,12,137,193,252,233,244,2,248,7,128,165,233,235,139,131,
-  233,137,171,233,137,133,233,252,233,244,3,255,15,182,252,236,15,182,192,129,
-  124,253,252,234,4,239,15,133,244,38,139,44,252,234,59,133,233,15,131,244,
-  38,193,224,3,3,133,233,129,120,253,4,239,15,132,244,249,248,1,252,246,133,
-  233,235,15,133,244,253,248,2,139,108,202,4,139,12,202,137,104,4,137,8,139,
-  6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,3,131,189,
-  233,0,15,132,244,1,255,139,141,233,252,246,129,233,235,15,132,244,38,15,182,
-  78,252,253,252,233,244,1,248,7,128,165,233,235,139,139,233,137,171,233,137,
-  141,233,15,182,78,252,253,252,233,244,2,255,137,124,36,16,139,60,199,248,
-  1,141,12,202,139,105,252,248,252,246,133,233,235,15,133,244,253,248,2,139,
-  68,36,20,131,232,1,15,132,244,250,1,252,248,59,133,233,15,135,244,251,41,
-  252,248,193,231,3,3,189,233,248,3,139,41,137,47,139,105,4,131,193,8,137,111,
-  4,131,199,8,131,232,1,15,133,244,3,248,4,139,124,36,16,139,6,15,182,204,15,
-  182,232,131,198,4,193,232,16,252,255,36,171,248,5,137,108,36,4,139,108,36,
-  48,137,149,233,137,68,36,8,137,44,36,137,116,36,24,232,251,1,35,139,149,233,
-  15,182,78,252,253,252,233,244,1,248,7,255,128,165,233,235,139,131,233,137,
-  171,233,137,133,233,252,233,244,2,255,3,68,36,20,255,129,124,253,202,4,239,
-  139,44,202,15,133,244,55,141,84,202,8,137,114,252,252,139,181,233,139,14,
-  15,182,252,233,15,182,205,131,198,4,252,255,36,171,255,141,76,202,8,137,215,
-  139,105,252,248,129,121,253,252,252,239,15,133,244,28,248,56,139,114,252,
-  252,252,247,198,237,15,133,244,253,248,1,137,106,252,248,137,68,36,20,131,
-  232,1,15,132,244,249,248,2,139,41,137,47,139,105,4,131,193,8,137,111,4,131,
-  199,8,131,232,1,15,133,244,2,139,106,252,248,248,3,139,68,36,20,128,189,233,
-  1,15,135,244,251,248,4,139,181,233,139,14,15,182,252,233,15,182,205,131,198,
-  4,252,255,36,171,248,5,255,252,247,198,237,15,133,244,4,15,182,78,252,253,
-  252,247,209,141,12,202,139,121,252,248,139,191,233,139,191,233,252,233,244,
-  4,248,7,129,252,238,239,252,247,198,237,15,133,244,254,41,252,242,137,215,
-  139,114,252,252,252,233,244,1,248,8,129,198,239,252,233,244,1,255,141,76,
-  202,8,139,105,232,139,65,252,236,137,41,137,65,4,139,105,252,240,139,65,252,
-  244,137,105,8,137,65,12,139,105,224,139,65,228,137,105,252,248,137,65,252,
-  252,129,252,248,239,184,237,15,133,244,28,137,202,137,114,252,252,139,181,
-  233,139,14,15,182,252,233,15,182,205,131,198,4,252,255,36,171,255,137,124,
-  36,16,137,92,36,20,139,108,202,252,240,139,68,202,252,248,139,157,233,131,
-  198,4,139,189,233,248,1,57,216,15,131,244,251,129,124,253,199,4,239,15,132,
-  244,250,255,219,68,202,252,248,255,139,108,199,4,137,108,202,12,139,44,199,
-  137,108,202,8,131,192,1,255,137,68,202,252,248,248,2,15,183,70,252,254,141,
-  180,253,134,233,248,3,139,92,36,20,139,124,36,16,139,6,15,182,204,15,182,
-  232,131,198,4,193,232,16,252,255,36,171,248,4,131,192,1,255,137,68,202,252,
-  248,255,252,233,244,1,248,5,41,216,248,6,59,133,233,15,135,244,3,105,252,
-  248,239,3,189,233,129,191,233,239,15,132,244,253,141,92,24,1,139,175,233,
-  139,135,233,137,44,202,137,68,202,4,139,175,233,139,135,233,137,108,202,8,
-  137,68,202,12,137,92,202,252,248,252,233,244,2,248,7,255,131,192,1,252,233,
-  244,6,255,129,124,253,202,252,236,239,15,133,244,251,139,108,202,232,129,
-  124,253,202,252,244,239,15,133,244,251,129,124,253,202,252,252,239,15,133,
-  244,251,128,189,233,235,15,133,244,251,141,180,253,134,233,199,68,202,252,
-  248,0,0,0,0,248,1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,
-  36,171,248,5,198,70,252,252,235,141,180,253,134,233,198,6,235,252,233,244,
-  1,255,15,182,252,236,15,182,192,137,124,36,16,141,188,253,194,233,141,12,
-  202,43,122,252,252,133,252,237,15,132,244,251,141,108,252,233,252,248,57,
-  215,15,131,244,248,248,1,139,71,252,248,137,1,139,71,252,252,131,199,8,137,
-  65,4,131,193,8,57,252,233,15,131,244,249,57,215,15,130,244,1,248,2,199,65,
-  4,237,131,193,8,57,252,233,15,130,244,2,248,3,139,124,36,16,139,6,15,182,
-  204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,5,199,68,36,20,1,0,
-  0,0,137,208,41,252,248,15,134,244,3,137,197,193,252,237,3,131,197,1,137,108,
-  36,20,139,108,36,48,1,200,59,133,233,15,135,244,253,248,6,255,139,71,252,
-  248,137,1,139,71,252,252,131,199,8,137,65,4,131,193,8,57,215,15,130,244,6,
-  252,233,244,3,248,7,137,149,233,137,141,233,137,116,36,24,41,215,139,84,36,
-  20,131,252,234,1,137,252,233,232,251,1,0,139,149,233,139,141,233,1,215,252,
-  233,244,6,255,193,225,3,255,248,1,139,114,252,252,137,68,36,20,252,247,198,
-  237,15,133,244,253,255,248,13,137,215,131,232,1,15,132,244,249,248,2,139,
-  44,15,137,111,252,248,139,108,15,4,137,111,252,252,131,199,8,131,232,1,15,
-  133,244,2,248,3,139,68,36,20,15,182,110,252,255,248,5,57,197,15,135,244,252,
-  255,139,108,10,4,137,106,252,252,139,44,10,137,106,252,248,255,248,5,56,70,
-  252,255,15,135,244,252,255,15,182,78,252,253,252,247,209,141,20,202,139,122,
-  252,248,139,191,233,139,191,233,139,6,15,182,204,15,182,232,131,198,4,193,
-  232,16,252,255,36,171,248,6,255,199,71,252,252,237,131,199,8,255,199,68,194,
-  252,244,237,255,131,192,1,252,233,244,5,248,7,141,174,233,252,247,197,237,
-  15,133,244,14,41,252,234,255,1,252,233,255,137,252,245,209,252,237,129,229,
-  239,102,131,172,253,43,233,1,15,132,244,145,255,141,12,202,255,129,121,253,
-  4,239,15,133,244,255,255,129,121,253,12,239,15,133,244,57,129,121,253,20,
-  239,15,133,244,57,139,41,131,121,16,0,15,140,244,251,255,139,105,16,133,252,
-  237,15,136,244,251,3,41,15,128,244,247,137,41,255,59,105,8,199,65,28,237,
-  137,105,24,255,15,142,244,253,248,1,248,6,141,180,253,134,233,255,141,180,
-  253,134,233,15,183,70,252,254,15,142,245,248,1,248,6,255,15,143,244,253,248,
-  6,141,180,253,134,233,248,1,255,248,7,139,6,15,182,204,15,182,232,131,198,
-  4,193,232,16,252,255,36,171,248,5,255,3,41,15,128,244,1,137,41,255,15,141,
-  244,7,255,141,180,253,134,233,15,183,70,252,254,15,141,245,255,15,140,244,
-  7,255,252,233,244,6,248,9,255,129,121,253,4,239,255,15,131,244,57,129,121,
-  253,12,239,15,131,244,57,255,139,105,20,255,129,252,253,239,15,131,244,57,
-  255,252,242,15,16,1,252,242,15,16,73,8,255,252,242,15,88,65,16,252,242,15,
-  17,1,133,252,237,15,136,244,249,255,15,140,244,249,255,102,15,46,200,248,
-  1,252,242,15,17,65,24,255,221,65,8,221,1,255,220,65,16,221,17,221,81,24,133,
-  252,237,15,136,244,247,255,221,81,24,15,140,244,247,255,217,201,248,1,255,
-  15,183,70,252,254,255,15,131,244,7,255,15,131,244,248,141,180,253,134,233,
-  255,141,180,253,134,233,15,183,70,252,254,15,131,245,255,15,130,244,7,255,
-  15,130,244,248,141,180,253,134,233,255,248,3,102,15,46,193,252,233,244,1,
-  255,141,12,202,139,105,4,129,252,253,239,15,132,244,247,255,137,105,252,252,
-  139,41,137,105,252,248,252,233,245,255,141,180,253,134,233,139,1,137,105,
-  252,252,137,65,252,248,255,139,139,233,139,4,129,139,128,233,139,108,36,48,
-  137,147,233,137,171,233,252,255,224,255,141,180,253,134,233,139,6,15,182,
-  204,15,182,232,131,198,4,193,232,16,252,255,36,171,255,137,252,245,209,252,
-  237,129,229,239,102,131,172,253,43,233,1,15,132,244,147,255,139,190,233,139,
-  108,36,48,141,12,202,59,141,233,15,135,244,23,15,182,142,233,57,200,15,134,
-  244,249,248,2,255,15,183,70,252,254,252,233,245,255,248,3,199,68,194,252,
-  252,237,131,192,1,57,200,15,134,244,3,252,233,244,2,255,141,44,197,237,141,
-  4,194,139,122,252,248,137,104,252,252,137,120,252,248,139,108,36,48,141,12,
-  200,59,141,233,15,135,244,22,137,209,137,194,15,182,174,233,133,252,237,15,
-  132,244,248,248,1,131,193,8,57,209,15,131,244,249,139,121,252,248,137,56,
-  139,121,252,252,137,120,4,131,192,8,199,65,252,252,237,131,252,237,1,15,133,
-  244,1,248,2,255,139,190,233,139,6,15,182,204,15,182,232,131,198,4,193,232,
-  16,252,255,36,171,255,248,3,199,64,4,237,131,192,8,131,252,237,1,15,133,244,
-  3,252,233,244,2,255,139,106,252,248,139,189,233,139,108,36,48,141,68,194,
-  252,248,137,149,233,141,136,233,59,141,233,137,133,233,255,137,44,36,255,
-  137,124,36,4,137,44,36,255,15,135,244,21,199,131,233,237,255,252,255,215,
-  255,252,255,147,233,255,199,131,233,237,139,149,233,141,12,194,252,247,217,
-  3,141,233,139,114,252,252,252,233,244,12,255,254,0
+  171,255,139,108,36,48,137,149,233,139,139,233,59,139,233,137,116,36,24,15,
+  131,244,251,248,1,137,193,37,252,255,7,0,0,193,252,233,11,137,76,36,8,61,
+  252,255,7,0,0,15,132,244,249,248,2,137,44,36,137,68,36,4,232,251,1,31,139,
+  149,233,15,182,78,252,253,137,4,202,199,68,202,4,237,139,6,15,182,204,15,
+  182,232,131,198,4,193,232,16,252,255,36,171,248,3,184,1,8,0,0,252,233,244,
+  2,248,5,137,252,233,232,251,1,32,15,183,70,252,254,252,233,244,1,255,252,
+  247,208,139,108,36,48,139,139,233,137,116,36,24,59,139,233,137,149,233,15,
+  131,244,249,248,2,139,20,135,137,252,233,232,251,1,33,139,149,233,15,182,
+  78,252,253,137,4,202,199,68,202,4,237,139,6,15,182,204,15,182,232,131,198,
+  4,193,232,16,252,255,36,171,248,3,137,252,233,232,251,1,32,15,183,70,252,
+  254,252,247,208,252,233,244,2,255,252,247,208,139,106,252,248,139,173,233,
+  139,4,135,252,233,244,163,255,252,247,208,139,106,252,248,139,173,233,139,
+  4,135,252,233,244,164,255,15,182,252,236,15,182,192,129,124,253,252,234,4,
+  239,15,133,244,36,139,44,252,234,255,129,124,253,194,4,239,15,133,244,251,
+  139,4,194,255,129,124,253,194,4,239,15,131,244,251,255,252,242,15,16,4,194,
+  252,242,15,45,192,252,242,15,42,200,102,15,46,193,255,221,4,194,219,20,36,
+  219,4,36,255,15,133,244,36,255,59,133,233,15,131,244,36,193,224,3,3,133,233,
+  129,120,253,4,239,15,132,244,248,139,40,139,64,4,137,44,202,137,68,202,4,
+  248,1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,
+  2,131,189,233,0,15,132,244,249,139,141,233,252,246,129,233,235,15,132,244,
+  36,15,182,78,252,253,248,3,199,68,202,4,237,252,233,244,1,248,5,255,129,124,
+  253,194,4,239,15,133,244,36,139,4,194,252,233,244,163,255,15,182,252,236,
+  15,182,192,252,247,208,139,4,135,129,124,253,252,234,4,239,15,133,244,34,
+  139,44,252,234,248,163,139,141,233,35,136,233,105,201,239,3,141,233,248,1,
+  129,185,233,239,15,133,244,250,57,129,233,15,133,244,250,129,121,253,4,239,
+  15,132,244,251,15,182,70,252,253,139,41,139,73,4,137,44,194,137,76,194,4,
+  248,2,255,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,
+  248,3,15,182,70,252,253,199,68,194,4,237,252,233,244,2,248,4,139,137,233,
+  133,201,15,133,244,1,248,5,139,141,233,133,201,15,132,244,3,252,246,129,233,
+  235,15,133,244,3,252,233,244,34,255,15,182,252,236,15,182,192,129,124,253,
+  252,234,4,239,15,133,244,35,139,44,252,234,59,133,233,15,131,244,35,193,224,
+  3,3,133,233,129,120,253,4,239,15,132,244,248,139,40,139,64,4,137,44,202,137,
+  68,202,4,248,1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,
+  171,248,2,131,189,233,0,15,132,244,249,139,141,233,252,246,129,233,235,15,
+  132,244,35,255,15,182,78,252,253,248,3,199,68,202,4,237,252,233,244,1,255,
+  15,182,252,236,15,182,192,129,124,253,252,234,4,239,15,133,244,39,139,44,
+  252,234,255,15,133,244,39,255,59,133,233,15,131,244,39,193,224,3,3,133,233,
+  129,120,253,4,239,15,132,244,249,248,1,252,246,133,233,235,15,133,244,253,
+  248,2,139,108,202,4,139,12,202,137,104,4,137,8,139,6,15,182,204,15,182,232,
+  131,198,4,193,232,16,252,255,36,171,248,3,131,189,233,0,15,132,244,1,139,
+  141,233,252,246,129,233,235,255,15,132,244,39,15,182,78,252,253,252,233,244,
+  1,248,5,129,124,253,194,4,239,15,133,244,39,139,4,194,252,233,244,164,248,
+  7,128,165,233,235,139,139,233,137,171,233,137,141,233,15,182,78,252,253,252,
+  233,244,2,255,15,182,252,236,15,182,192,252,247,208,139,4,135,129,124,253,
+  252,234,4,239,15,133,244,37,139,44,252,234,248,164,139,141,233,35,136,233,
+  105,201,239,198,133,233,0,3,141,233,248,1,129,185,233,239,15,133,244,251,
+  57,129,233,15,133,244,251,129,121,253,4,239,15,132,244,250,248,2,255,252,
+  246,133,233,235,15,133,244,253,248,3,15,182,70,252,253,139,108,194,4,139,
+  4,194,137,105,4,137,1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,
+  255,36,171,248,4,131,189,233,0,15,132,244,2,137,76,36,16,139,141,233,252,
+  246,129,233,235,15,132,244,37,139,76,36,16,252,233,244,2,248,5,139,137,233,
+  133,201,15,133,244,1,255,139,141,233,133,201,15,132,244,252,252,246,129,233,
+  235,15,132,244,37,248,6,137,68,36,16,199,68,36,20,237,137,108,36,12,141,68,
+  36,16,137,108,36,4,139,108,36,48,137,68,36,8,137,44,36,137,149,233,137,116,
+  36,24,232,251,1,34,139,149,233,139,108,36,12,137,193,252,233,244,2,248,7,
+  128,165,233,235,139,131,233,137,171,233,137,133,233,252,233,244,3,255,15,
+  182,252,236,15,182,192,129,124,253,252,234,4,239,15,133,244,38,139,44,252,
+  234,59,133,233,15,131,244,38,193,224,3,3,133,233,129,120,253,4,239,15,132,
+  244,249,248,1,252,246,133,233,235,15,133,244,253,248,2,139,108,202,4,139,
+  12,202,137,104,4,137,8,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,
+  255,36,171,248,3,131,189,233,0,15,132,244,1,255,139,141,233,252,246,129,233,
+  235,15,132,244,38,15,182,78,252,253,252,233,244,1,248,7,128,165,233,235,139,
+  139,233,137,171,233,137,141,233,15,182,78,252,253,252,233,244,2,255,137,124,
+  36,16,139,60,199,248,1,141,12,202,139,105,252,248,252,246,133,233,235,15,
+  133,244,253,248,2,139,68,36,20,131,232,1,15,132,244,250,1,252,248,59,133,
+  233,15,135,244,251,41,252,248,193,231,3,3,189,233,248,3,139,41,137,47,139,
+  105,4,131,193,8,137,111,4,131,199,8,131,232,1,15,133,244,3,248,4,139,124,
+  36,16,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,
+  5,137,108,36,4,139,108,36,48,137,149,233,137,68,36,8,137,44,36,137,116,36,
+  24,232,251,1,35,139,149,233,15,182,78,252,253,252,233,244,1,248,7,255,128,
+  165,233,235,139,131,233,137,171,233,137,133,233,252,233,244,2,255,3,68,36,
+  20,255,129,124,253,202,4,239,139,44,202,15,133,244,55,141,84,202,8,137,114,
+  252,252,139,181,233,139,14,15,182,252,233,15,182,205,131,198,4,252,255,36,
+  171,255,141,76,202,8,137,215,139,105,252,248,129,121,253,252,252,239,15,133,
+  244,28,248,56,139,114,252,252,252,247,198,237,15,133,244,253,248,1,137,106,
+  252,248,137,68,36,20,131,232,1,15,132,244,249,248,2,139,41,137,47,139,105,
+  4,131,193,8,137,111,4,131,199,8,131,232,1,15,133,244,2,139,106,252,248,248,
+  3,139,68,36,20,128,189,233,1,15,135,244,251,248,4,139,181,233,139,14,15,182,
+  252,233,15,182,205,131,198,4,252,255,36,171,248,5,255,252,247,198,237,15,
+  133,244,4,15,182,78,252,253,252,247,209,141,12,202,139,121,252,248,139,191,
+  233,139,191,233,252,233,244,4,248,7,129,252,238,239,252,247,198,237,15,133,
+  244,254,41,252,242,137,215,139,114,252,252,252,233,244,1,248,8,129,198,239,
+  252,233,244,1,255,141,76,202,8,139,105,232,139,65,252,236,137,41,137,65,4,
+  139,105,252,240,139,65,252,244,137,105,8,137,65,12,139,105,224,139,65,228,
+  137,105,252,248,137,65,252,252,129,252,248,239,184,237,15,133,244,28,137,
+  202,137,114,252,252,139,181,233,139,14,15,182,252,233,15,182,205,131,198,
+  4,252,255,36,171,255,137,124,36,16,137,92,36,20,139,108,202,252,240,139,68,
+  202,252,248,139,157,233,131,198,4,139,189,233,248,1,57,216,15,131,244,251,
+  129,124,253,199,4,239,15,132,244,250,255,219,68,202,252,248,255,139,108,199,
+  4,137,108,202,12,139,44,199,137,108,202,8,131,192,1,255,137,68,202,252,248,
+  248,2,15,183,70,252,254,141,180,253,134,233,248,3,139,92,36,20,139,124,36,
+  16,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,4,
+  131,192,1,255,137,68,202,252,248,255,252,233,244,1,248,5,41,216,248,6,59,
+  133,233,15,135,244,3,105,252,248,239,3,189,233,129,191,233,239,15,132,244,
+  253,141,92,24,1,139,175,233,139,135,233,137,44,202,137,68,202,4,139,175,233,
+  139,135,233,137,108,202,8,137,68,202,12,137,92,202,252,248,252,233,244,2,
+  248,7,255,131,192,1,252,233,244,6,255,129,124,253,202,252,236,239,15,133,
+  244,251,139,108,202,232,129,124,253,202,252,244,239,15,133,244,251,129,124,
+  253,202,252,252,239,15,133,244,251,128,189,233,235,15,133,244,251,141,180,
+  253,134,233,199,68,202,252,248,0,0,0,0,248,1,139,6,15,182,204,15,182,232,
+  131,198,4,193,232,16,252,255,36,171,248,5,198,70,252,252,235,141,180,253,
+  134,233,198,6,235,252,233,244,1,255,15,182,252,236,15,182,192,137,124,36,
+  16,141,188,253,194,233,141,12,202,43,122,252,252,133,252,237,15,132,244,251,
+  141,108,252,233,252,248,57,215,15,131,244,248,248,1,139,71,252,248,137,1,
+  139,71,252,252,131,199,8,137,65,4,131,193,8,57,252,233,15,131,244,249,57,
+  215,15,130,244,1,248,2,199,65,4,237,131,193,8,57,252,233,15,130,244,2,248,
+  3,139,124,36,16,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,
+  36,171,248,5,199,68,36,20,1,0,0,0,137,208,41,252,248,15,134,244,3,137,197,
+  193,252,237,3,131,197,1,137,108,36,20,139,108,36,48,1,200,59,133,233,15,135,
+  244,253,248,6,255,139,71,252,248,137,1,139,71,252,252,131,199,8,137,65,4,
+  131,193,8,57,215,15,130,244,6,252,233,244,3,248,7,137,149,233,137,141,233,
+  137,116,36,24,41,215,139,84,36,20,131,252,234,1,137,252,233,232,251,1,0,139,
+  149,233,139,141,233,1,215,252,233,244,6,255,193,225,3,255,248,1,139,114,252,
+  252,137,68,36,20,252,247,198,237,15,133,244,253,255,248,13,137,215,131,232,
+  1,15,132,244,249,248,2,139,44,15,137,111,252,248,139,108,15,4,137,111,252,
+  252,131,199,8,131,232,1,15,133,244,2,248,3,139,68,36,20,15,182,110,252,255,
+  248,5,57,197,15,135,244,252,255,139,108,10,4,137,106,252,252,139,44,10,137,
+  106,252,248,255,248,5,56,70,252,255,15,135,244,252,255,15,182,78,252,253,
+  252,247,209,141,20,202,139,122,252,248,139,191,233,139,191,233,139,6,15,182,
+  204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,6,255,199,71,252,252,
+  237,131,199,8,255,199,68,194,252,244,237,255,131,192,1,252,233,244,5,248,
+  7,141,174,233,252,247,197,237,15,133,244,14,41,252,234,255,1,252,233,255,
+  137,252,245,209,252,237,129,229,239,102,131,172,253,43,233,1,15,132,244,145,
+  255,141,12,202,255,129,121,253,4,239,15,133,244,255,255,129,121,253,12,239,
+  15,133,244,57,129,121,253,20,239,15,133,244,57,139,41,131,121,16,0,15,140,
+  244,251,255,139,105,16,133,252,237,15,136,244,251,3,41,15,128,244,247,137,
+  41,255,59,105,8,199,65,28,237,137,105,24,255,15,142,244,253,248,1,248,6,141,
+  180,253,134,233,255,141,180,253,134,233,15,183,70,252,254,15,142,245,248,
+  1,248,6,255,15,143,244,253,248,6,141,180,253,134,233,248,1,255,248,7,139,
+  6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,5,255,3,41,
+  15,128,244,1,137,41,255,15,141,244,7,255,141,180,253,134,233,15,183,70,252,
+  254,15,141,245,255,15,140,244,7,255,252,233,244,6,248,9,255,129,121,253,4,
+  239,255,15,131,244,57,129,121,253,12,239,15,131,244,57,255,139,105,20,255,
+  129,252,253,239,15,131,244,57,255,252,242,15,16,1,252,242,15,16,73,8,255,
+  252,242,15,88,65,16,252,242,15,17,1,133,252,237,15,136,244,249,255,15,140,
+  244,249,255,102,15,46,200,248,1,252,242,15,17,65,24,255,221,65,8,221,1,255,
+  220,65,16,221,17,221,81,24,133,252,237,15,136,244,247,255,221,81,24,15,140,
+  244,247,255,217,201,248,1,255,15,183,70,252,254,255,15,131,244,7,255,15,131,
+  244,248,141,180,253,134,233,255,141,180,253,134,233,15,183,70,252,254,15,
+  131,245,255,15,130,244,7,255,15,130,244,248,141,180,253,134,233,255,248,3,
+  102,15,46,193,252,233,244,1,255,141,12,202,139,105,4,129,252,253,239,15,132,
+  244,247,255,137,105,252,252,139,41,137,105,252,248,252,233,245,255,141,180,
+  253,134,233,139,1,137,105,252,252,137,65,252,248,255,139,139,233,139,4,129,
+  139,128,233,139,108,36,48,137,147,233,137,171,233,252,255,224,255,141,180,
+  253,134,233,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,
+  255,137,252,245,209,252,237,129,229,239,102,131,172,253,43,233,1,15,132,244,
+  147,255,139,190,233,139,108,36,48,141,12,202,59,141,233,15,135,244,23,15,
+  182,142,233,57,200,15,134,244,249,248,2,255,15,183,70,252,254,252,233,245,
+  255,248,3,199,68,194,252,252,237,131,192,1,57,200,15,134,244,3,252,233,244,
+  2,255,141,44,197,237,141,4,194,139,122,252,248,137,104,252,252,137,120,252,
+  248,139,108,36,48,141,12,200,59,141,233,15,135,244,22,137,209,137,194,15,
+  182,174,233,133,252,237,15,132,244,248,248,1,131,193,8,57,209,15,131,244,
+  249,139,121,252,248,137,56,139,121,252,252,137,120,4,131,192,8,199,65,252,
+  252,237,131,252,237,1,15,133,244,1,248,2,255,139,190,233,139,6,15,182,204,
+  15,182,232,131,198,4,193,232,16,252,255,36,171,255,248,3,199,64,4,237,131,
+  192,8,131,252,237,1,15,133,244,3,252,233,244,2,255,139,106,252,248,139,189,
+  233,139,108,36,48,141,68,194,252,248,137,149,233,141,136,233,59,141,233,137,
+  133,233,255,137,44,36,255,137,124,36,4,137,44,36,255,15,135,244,21,199,131,
+  233,237,255,252,255,215,255,252,255,147,233,255,199,131,233,237,139,149,233,
+  141,12,194,252,247,217,3,141,233,139,114,252,252,252,233,244,12,255,254,0
 };
 
 enum {
@@ -2199,31 +2199,30 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
       } else {
       dasm_put(Dst, 3905);
       }
-      dasm_put(Dst, 4818);
     }
     goto iseqne_fp;
   case BC_ISEQP: case BC_ISNEP:
     vk = op == BC_ISEQP;
-    dasm_put(Dst, 11752);
+    dasm_put(Dst, 11754);
     if (!LJ_HASFFI) goto iseqne_test;
     if (vk) {
-      dasm_put(Dst, 11765, -BCBIAS_J*4, LJ_TCDATA);
+      dasm_put(Dst, 11767, -BCBIAS_J*4, LJ_TCDATA);
     } else {
-      dasm_put(Dst, 11814, LJ_TCDATA, -BCBIAS_J*4);
+      dasm_put(Dst, 11816, LJ_TCDATA, -BCBIAS_J*4);
     }
     break;
 
   /* -- Unary test and copy ops ------------------------------------------- */
 
   case BC_ISTC: case BC_ISFC: case BC_IST: case BC_ISF:
-    dasm_put(Dst, 11857, LJ_TISTRUECOND);
+    dasm_put(Dst, 11859, LJ_TISTRUECOND);
     if (op == BC_IST || op == BC_ISTC) {
       dasm_put(Dst, 11183);
     } else {
       dasm_put(Dst, 11178);
     }
     if (op == BC_ISTC || op == BC_ISFC) {
-      dasm_put(Dst, 11869);
+      dasm_put(Dst, 11871);
     }
     dasm_put(Dst, 11188, -BCBIAS_J*4);
     break;
@@ -2231,21 +2230,21 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
   /* -- Unary ops --------------------------------------------------------- */
 
   case BC_MOV:
-    dasm_put(Dst, 11880);
+    dasm_put(Dst, 11882);
     break;
   case BC_NOT:
-    dasm_put(Dst, 11913, LJ_TISTRUECOND, LJ_TTRUE);
+    dasm_put(Dst, 11915, LJ_TISTRUECOND, LJ_TTRUE);
     break;
   case BC_UNM:
     if (LJ_DUALNUM) {
-      dasm_put(Dst, 11948, LJ_TISNUM, LJ_TISNUM);
+      dasm_put(Dst, 11950, LJ_TISNUM, LJ_TISNUM);
     } else {
-      dasm_put(Dst, 12024, LJ_TISNUM);
+      dasm_put(Dst, 12026, LJ_TISNUM);
     }
     if (sse) {
-      dasm_put(Dst, 12035);
+      dasm_put(Dst, 12037);
     } else {
-      dasm_put(Dst, 12065);
+      dasm_put(Dst, 12067);
     }
     if (LJ_DUALNUM) {
       dasm_put(Dst, 11457);
@@ -2254,22 +2253,22 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
     }
     break;
   case BC_LEN:
-    dasm_put(Dst, 12074, LJ_TSTR);
+    dasm_put(Dst, 12076, LJ_TSTR);
     if (LJ_DUALNUM) {
-      dasm_put(Dst, 12088, Dt5(->len), LJ_TISNUM);
+      dasm_put(Dst, 12090, Dt5(->len), LJ_TISNUM);
     } else if (sse) {
-      dasm_put(Dst, 12102, Dt5(->len));
+      dasm_put(Dst, 12104, Dt5(->len));
     } else {
-      dasm_put(Dst, 12120, Dt5(->len));
+      dasm_put(Dst, 12122, Dt5(->len));
     }
-    dasm_put(Dst, 12129, LJ_TTAB);
+    dasm_put(Dst, 12131, LJ_TTAB);
     if (LJ_DUALNUM) {
     } else if (sse) {
-      dasm_put(Dst, 12169);
+      dasm_put(Dst, 12171);
     } else {
-      dasm_put(Dst, 12175);
+      dasm_put(Dst, 12177);
     }
-    dasm_put(Dst, 12182);
+    dasm_put(Dst, 12184);
     break;
 
   /* -- Binary ops -------------------------------------------------------- */
@@ -2277,471 +2276,471 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
 
   case BC_ADDVN: case BC_ADDNV: case BC_ADDVV:
     if (LJ_DUALNUM) {
-    dasm_put(Dst, 12195);
+    dasm_put(Dst, 12197);
     vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
     switch (vk) {
     case 0:
-    dasm_put(Dst, 12203, LJ_TISNUM, LJ_TISNUM);
+    dasm_put(Dst, 12205, LJ_TISNUM, LJ_TISNUM);
       break;
     case 1:
-    dasm_put(Dst, 12236, LJ_TISNUM, LJ_TISNUM);
+    dasm_put(Dst, 12238, LJ_TISNUM, LJ_TISNUM);
       break;
     default:
-    dasm_put(Dst, 12269, LJ_TISNUM, LJ_TISNUM);
+    dasm_put(Dst, 12271, LJ_TISNUM, LJ_TISNUM);
       break;
     }
-    dasm_put(Dst, 12302, LJ_TISNUM);
+    dasm_put(Dst, 12304, LJ_TISNUM);
     if (vk == 1) {
-    dasm_put(Dst, 12098);
+    dasm_put(Dst, 12100);
     } else {
-    dasm_put(Dst, 11876);
+    dasm_put(Dst, 11878);
     }
     dasm_put(Dst, 11200);
     } else {
-    dasm_put(Dst, 12195);
+    dasm_put(Dst, 12197);
     vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
     switch (vk) {
     case 0:
-    dasm_put(Dst, 12308, LJ_TISNUM);
+    dasm_put(Dst, 12310, LJ_TISNUM);
     if (LJ_DUALNUM) {
-    dasm_put(Dst, 12320, LJ_TISNUM);
+    dasm_put(Dst, 12322, LJ_TISNUM);
     }
     if (sse) {
-    dasm_put(Dst, 12331);
+    dasm_put(Dst, 12333);
     } else {
-    dasm_put(Dst, 12345);
+    dasm_put(Dst, 12347);
     }
       break;
     case 1:
-    dasm_put(Dst, 12353, LJ_TISNUM);
+    dasm_put(Dst, 12355, LJ_TISNUM);
     if (LJ_DUALNUM) {
-    dasm_put(Dst, 12365, LJ_TISNUM);
+    dasm_put(Dst, 12367, LJ_TISNUM);
     }
     if (sse) {
-    dasm_put(Dst, 12376);
+    dasm_put(Dst, 12378);
     } else {
-    dasm_put(Dst, 12390);
+    dasm_put(Dst, 12392);
     }
       break;
     default:
-    dasm_put(Dst, 12398, LJ_TISNUM, LJ_TISNUM);
+    dasm_put(Dst, 12400, LJ_TISNUM, LJ_TISNUM);
     if (sse) {
-    dasm_put(Dst, 12420);
+    dasm_put(Dst, 12422);
     } else {
-    dasm_put(Dst, 12434);
+    dasm_put(Dst, 12436);
     }
       break;
     }
     if (sse) {
-    dasm_put(Dst, 12058);
+    dasm_put(Dst, 12060);
     } else {
-    dasm_put(Dst, 12070);
+    dasm_put(Dst, 12072);
     }
     dasm_put(Dst, 11200);
     }
     break;
   case BC_SUBVN: case BC_SUBNV: case BC_SUBVV:
     if (LJ_DUALNUM) {
-    dasm_put(Dst, 12195);
+    dasm_put(Dst, 12197);
     vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
     switch (vk) {
     case 0:
-    dasm_put(Dst, 12442, LJ_TISNUM, LJ_TISNUM);
+    dasm_put(Dst, 12444, LJ_TISNUM, LJ_TISNUM);
       break;
     case 1:
-    dasm_put(Dst, 12475, LJ_TISNUM, LJ_TISNUM);
+    dasm_put(Dst, 12477, LJ_TISNUM, LJ_TISNUM);
       break;
     default:
-    dasm_put(Dst, 12508, LJ_TISNUM, LJ_TISNUM);
+    dasm_put(Dst, 12510, LJ_TISNUM, LJ_TISNUM);
       break;
     }
-    dasm_put(Dst, 12302, LJ_TISNUM);
+    dasm_put(Dst, 12304, LJ_TISNUM);
     if (vk == 1) {
-    dasm_put(Dst, 12098);
+    dasm_put(Dst, 12100);
     } else {
-    dasm_put(Dst, 11876);
+    dasm_put(Dst, 11878);
     }
     dasm_put(Dst, 11200);
     } else {
-    dasm_put(Dst, 12195);
+    dasm_put(Dst, 12197);
     vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
     switch (vk) {
     case 0:
-    dasm_put(Dst, 12308, LJ_TISNUM);
+    dasm_put(Dst, 12310, LJ_TISNUM);
     if (LJ_DUALNUM) {
-    dasm_put(Dst, 12320, LJ_TISNUM);
+    dasm_put(Dst, 12322, LJ_TISNUM);
     }
     if (sse) {
-    dasm_put(Dst, 12541);
+    dasm_put(Dst, 12543);
     } else {
-    dasm_put(Dst, 12555);
+    dasm_put(Dst, 12557);
     }
       break;
     case 1:
-    dasm_put(Dst, 12353, LJ_TISNUM);
+    dasm_put(Dst, 12355, LJ_TISNUM);
     if (LJ_DUALNUM) {
-    dasm_put(Dst, 12365, LJ_TISNUM);
+    dasm_put(Dst, 12367, LJ_TISNUM);
     }
     if (sse) {
-    dasm_put(Dst, 12563);
+    dasm_put(Dst, 12565);
     } else {
-    dasm_put(Dst, 12577);
+    dasm_put(Dst, 12579);
     }
       break;
     default:
-    dasm_put(Dst, 12398, LJ_TISNUM, LJ_TISNUM);
+    dasm_put(Dst, 12400, LJ_TISNUM, LJ_TISNUM);
     if (sse) {
-    dasm_put(Dst, 12585);
+    dasm_put(Dst, 12587);
     } else {
-    dasm_put(Dst, 12599);
+    dasm_put(Dst, 12601);
     }
       break;
     }
     if (sse) {
-    dasm_put(Dst, 12058);
+    dasm_put(Dst, 12060);
     } else {
-    dasm_put(Dst, 12070);
+    dasm_put(Dst, 12072);
     }
     dasm_put(Dst, 11200);
     }
     break;
   case BC_MULVN: case BC_MULNV: case BC_MULVV:
     if (LJ_DUALNUM) {
-    dasm_put(Dst, 12195);
+    dasm_put(Dst, 12197);
     vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
     switch (vk) {
     case 0:
-    dasm_put(Dst, 12607, LJ_TISNUM, LJ_TISNUM);
+    dasm_put(Dst, 12609, LJ_TISNUM, LJ_TISNUM);
       break;
     case 1:
-    dasm_put(Dst, 12641, LJ_TISNUM, LJ_TISNUM);
+    dasm_put(Dst, 12643, LJ_TISNUM, LJ_TISNUM);
       break;
     default:
-    dasm_put(Dst, 12675, LJ_TISNUM, LJ_TISNUM);
+    dasm_put(Dst, 12677, LJ_TISNUM, LJ_TISNUM);
       break;
     }
-    dasm_put(Dst, 12302, LJ_TISNUM);
+    dasm_put(Dst, 12304, LJ_TISNUM);
     if (vk == 1) {
-    dasm_put(Dst, 12098);
+    dasm_put(Dst, 12100);
     } else {
-    dasm_put(Dst, 11876);
+    dasm_put(Dst, 11878);
     }
     dasm_put(Dst, 11200);
     } else {
-    dasm_put(Dst, 12195);
+    dasm_put(Dst, 12197);
     vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
     switch (vk) {
     case 0:
-    dasm_put(Dst, 12308, LJ_TISNUM);
+    dasm_put(Dst, 12310, LJ_TISNUM);
     if (LJ_DUALNUM) {
-    dasm_put(Dst, 12320, LJ_TISNUM);
+    dasm_put(Dst, 12322, LJ_TISNUM);
     }
     if (sse) {
-    dasm_put(Dst, 12709);
+    dasm_put(Dst, 12711);
     } else {
-    dasm_put(Dst, 12723);
+    dasm_put(Dst, 12725);
     }
       break;
     case 1:
-    dasm_put(Dst, 12353, LJ_TISNUM);
+    dasm_put(Dst, 12355, LJ_TISNUM);
     if (LJ_DUALNUM) {
-    dasm_put(Dst, 12365, LJ_TISNUM);
+    dasm_put(Dst, 12367, LJ_TISNUM);
     }
     if (sse) {
-    dasm_put(Dst, 12731);
+    dasm_put(Dst, 12733);
     } else {
-    dasm_put(Dst, 12745);
+    dasm_put(Dst, 12747);
     }
       break;
     default:
-    dasm_put(Dst, 12398, LJ_TISNUM, LJ_TISNUM);
+    dasm_put(Dst, 12400, LJ_TISNUM, LJ_TISNUM);
     if (sse) {
-    dasm_put(Dst, 12753);
+    dasm_put(Dst, 12755);
     } else {
-    dasm_put(Dst, 12767);
+    dasm_put(Dst, 12769);
     }
       break;
     }
     if (sse) {
-    dasm_put(Dst, 12058);
+    dasm_put(Dst, 12060);
     } else {
-    dasm_put(Dst, 12070);
+    dasm_put(Dst, 12072);
     }
     dasm_put(Dst, 11200);
     }
     break;
   case BC_DIVVN: case BC_DIVNV: case BC_DIVVV:
-    dasm_put(Dst, 12195);
+    dasm_put(Dst, 12197);
     vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
     switch (vk) {
     case 0:
-    dasm_put(Dst, 12308, LJ_TISNUM);
+    dasm_put(Dst, 12310, LJ_TISNUM);
     if (LJ_DUALNUM) {
-    dasm_put(Dst, 12320, LJ_TISNUM);
+    dasm_put(Dst, 12322, LJ_TISNUM);
     }
     if (sse) {
-    dasm_put(Dst, 12775);
+    dasm_put(Dst, 12777);
     } else {
-    dasm_put(Dst, 12789);
+    dasm_put(Dst, 12791);
     }
       break;
     case 1:
-    dasm_put(Dst, 12353, LJ_TISNUM);
+    dasm_put(Dst, 12355, LJ_TISNUM);
     if (LJ_DUALNUM) {
-    dasm_put(Dst, 12365, LJ_TISNUM);
+    dasm_put(Dst, 12367, LJ_TISNUM);
     }
     if (sse) {
-    dasm_put(Dst, 12797);
+    dasm_put(Dst, 12799);
     } else {
-    dasm_put(Dst, 12811);
+    dasm_put(Dst, 12813);
     }
       break;
     default:
-    dasm_put(Dst, 12398, LJ_TISNUM, LJ_TISNUM);
+    dasm_put(Dst, 12400, LJ_TISNUM, LJ_TISNUM);
     if (sse) {
-    dasm_put(Dst, 12819);
+    dasm_put(Dst, 12821);
     } else {
-    dasm_put(Dst, 12833);
+    dasm_put(Dst, 12835);
     }
       break;
     }
     if (sse) {
-    dasm_put(Dst, 12058);
+    dasm_put(Dst, 12060);
     } else {
-    dasm_put(Dst, 12070);
+    dasm_put(Dst, 12072);
     }
     dasm_put(Dst, 11200);
     break;
   case BC_MODVN:
-    dasm_put(Dst, 12195);
+    dasm_put(Dst, 12197);
     vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
     switch (vk) {
     case 0:
-    dasm_put(Dst, 12308, LJ_TISNUM);
+    dasm_put(Dst, 12310, LJ_TISNUM);
     if (LJ_DUALNUM) {
-    dasm_put(Dst, 12320, LJ_TISNUM);
+    dasm_put(Dst, 12322, LJ_TISNUM);
     }
     if (sse) {
-    dasm_put(Dst, 12841);
+    dasm_put(Dst, 12843);
     } else {
-    dasm_put(Dst, 12855);
+    dasm_put(Dst, 12857);
     }
       break;
     case 1:
-    dasm_put(Dst, 12353, LJ_TISNUM);
+    dasm_put(Dst, 12355, LJ_TISNUM);
     if (LJ_DUALNUM) {
-    dasm_put(Dst, 12365, LJ_TISNUM);
+    dasm_put(Dst, 12367, LJ_TISNUM);
     }
     if (sse) {
-    dasm_put(Dst, 12863);
+    dasm_put(Dst, 12865);
     } else {
-    dasm_put(Dst, 12877);
+    dasm_put(Dst, 12879);
     }
       break;
     default:
-    dasm_put(Dst, 12398, LJ_TISNUM, LJ_TISNUM);
+    dasm_put(Dst, 12400, LJ_TISNUM, LJ_TISNUM);
     if (sse) {
-    dasm_put(Dst, 12885);
+    dasm_put(Dst, 12887);
     } else {
-    dasm_put(Dst, 12899);
+    dasm_put(Dst, 12901);
     }
       break;
     }
-    dasm_put(Dst, 12907);
+    dasm_put(Dst, 12909);
     if (sse) {
-    dasm_put(Dst, 12058);
+    dasm_put(Dst, 12060);
     } else {
-    dasm_put(Dst, 12070);
+    dasm_put(Dst, 12072);
     }
     dasm_put(Dst, 11200);
     break;
   case BC_MODNV: case BC_MODVV:
-    dasm_put(Dst, 12195);
+    dasm_put(Dst, 12197);
     vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
     switch (vk) {
     case 0:
-    dasm_put(Dst, 12308, LJ_TISNUM);
+    dasm_put(Dst, 12310, LJ_TISNUM);
     if (LJ_DUALNUM) {
-    dasm_put(Dst, 12320, LJ_TISNUM);
+    dasm_put(Dst, 12322, LJ_TISNUM);
     }
     if (sse) {
-    dasm_put(Dst, 12841);
+    dasm_put(Dst, 12843);
     } else {
-    dasm_put(Dst, 12855);
+    dasm_put(Dst, 12857);
     }
       break;
     case 1:
-    dasm_put(Dst, 12353, LJ_TISNUM);
+    dasm_put(Dst, 12355, LJ_TISNUM);
     if (LJ_DUALNUM) {
-    dasm_put(Dst, 12365, LJ_TISNUM);
+    dasm_put(Dst, 12367, LJ_TISNUM);
     }
     if (sse) {
-    dasm_put(Dst, 12863);
+    dasm_put(Dst, 12865);
     } else {
-    dasm_put(Dst, 12877);
+    dasm_put(Dst, 12879);
     }
       break;
     default:
-    dasm_put(Dst, 12398, LJ_TISNUM, LJ_TISNUM);
+    dasm_put(Dst, 12400, LJ_TISNUM, LJ_TISNUM);
     if (sse) {
-    dasm_put(Dst, 12885);
+    dasm_put(Dst, 12887);
     } else {
-    dasm_put(Dst, 12899);
+    dasm_put(Dst, 12901);
     }
       break;
     }
-    dasm_put(Dst, 12913);
+    dasm_put(Dst, 12915);
     break;
   case BC_POW:
-    dasm_put(Dst, 12195);
+    dasm_put(Dst, 12197);
     vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
     switch (vk) {
     case 0:
-    dasm_put(Dst, 12308, LJ_TISNUM);
+    dasm_put(Dst, 12310, LJ_TISNUM);
     if (LJ_DUALNUM) {
-    dasm_put(Dst, 12320, LJ_TISNUM);
+    dasm_put(Dst, 12322, LJ_TISNUM);
     }
     if (sse) {
-    dasm_put(Dst, 12841);
+    dasm_put(Dst, 12843);
     } else {
-    dasm_put(Dst, 12855);
+    dasm_put(Dst, 12857);
     }
       break;
     case 1:
-    dasm_put(Dst, 12353, LJ_TISNUM);
+    dasm_put(Dst, 12355, LJ_TISNUM);
     if (LJ_DUALNUM) {
-    dasm_put(Dst, 12365, LJ_TISNUM);
+    dasm_put(Dst, 12367, LJ_TISNUM);
     }
     if (sse) {
-    dasm_put(Dst, 12863);
+    dasm_put(Dst, 12865);
     } else {
-    dasm_put(Dst, 12877);
+    dasm_put(Dst, 12879);
     }
       break;
     default:
-    dasm_put(Dst, 12398, LJ_TISNUM, LJ_TISNUM);
+    dasm_put(Dst, 12400, LJ_TISNUM, LJ_TISNUM);
     if (sse) {
-    dasm_put(Dst, 12885);
+    dasm_put(Dst, 12887);
     } else {
-    dasm_put(Dst, 12899);
+    dasm_put(Dst, 12901);
     }
       break;
     }
-    dasm_put(Dst, 12918);
+    dasm_put(Dst, 12920);
     if (sse) {
-    dasm_put(Dst, 12058);
+    dasm_put(Dst, 12060);
     } else {
-    dasm_put(Dst, 12070);
+    dasm_put(Dst, 12072);
     }
     dasm_put(Dst, 11200);
     break;
 
   case BC_CAT:
-    dasm_put(Dst, 12922, Dt1(->base), Dt1(->base));
+    dasm_put(Dst, 12924, Dt1(->base), Dt1(->base));
     break;
 
   /* -- Constant ops ------------------------------------------------------ */
 
   case BC_KSTR:
-    dasm_put(Dst, 13016, LJ_TSTR);
+    dasm_put(Dst, 13018, LJ_TSTR);
     break;
   case BC_KCDATA:
 #if LJ_HASFFI
-    dasm_put(Dst, 13016, LJ_TCDATA);
+    dasm_put(Dst, 13018, LJ_TCDATA);
 #endif
     break;
   case BC_KSHORT:
     if (LJ_DUALNUM) {
-      dasm_put(Dst, 13049, LJ_TISNUM);
+      dasm_put(Dst, 13051, LJ_TISNUM);
     } else if (sse) {
-      dasm_put(Dst, 13061);
+      dasm_put(Dst, 13063);
     } else {
-      dasm_put(Dst, 13076);
+      dasm_put(Dst, 13078);
     }
     dasm_put(Dst, 11200);
     break;
   case BC_KNUM:
     if (sse) {
-      dasm_put(Dst, 13084);
+      dasm_put(Dst, 13086);
     } else {
-      dasm_put(Dst, 13097);
+      dasm_put(Dst, 13099);
     }
     dasm_put(Dst, 11200);
     break;
   case BC_KPRI:
-    dasm_put(Dst, 13104);
+    dasm_put(Dst, 13106);
     break;
   case BC_KNIL:
-    dasm_put(Dst, 13130, LJ_TNIL);
+    dasm_put(Dst, 13132, LJ_TNIL);
     break;
 
   /* -- Upvalue and function ops ------------------------------------------ */
 
   case BC_UGET:
-    dasm_put(Dst, 13176, offsetof(GCfuncL, uvptr), DtA(->v));
+    dasm_put(Dst, 13178, offsetof(GCfuncL, uvptr), DtA(->v));
     break;
   case BC_USETV:
 #define TV2MARKOFS \
  ((int32_t)offsetof(GCupval, marked)-(int32_t)offsetof(GCupval, tv))
-    dasm_put(Dst, 13220, offsetof(GCfuncL, uvptr), DtA(->closed), DtA(->v), TV2MARKOFS, LJ_GC_BLACK, LJ_TISGCV, LJ_TISNUM - LJ_TISGCV, Dt4(->gch.marked), LJ_GC_WHITES, GG_DISP2G);
-    dasm_put(Dst, 13310);
+    dasm_put(Dst, 13222, offsetof(GCfuncL, uvptr), DtA(->closed), DtA(->v), TV2MARKOFS, LJ_GC_BLACK, LJ_TISGCV, LJ_TISNUM - LJ_TISGCV, Dt4(->gch.marked), LJ_GC_WHITES, GG_DISP2G);
+    dasm_put(Dst, 13312);
     break;
 #undef TV2MARKOFS
   case BC_USETS:
-    dasm_put(Dst, 13322, offsetof(GCfuncL, uvptr), DtA(->v), LJ_TSTR, DtA(->marked), LJ_GC_BLACK, Dt4(->gch.marked), LJ_GC_WHITES, DtA(->closed), GG_DISP2G);
+    dasm_put(Dst, 13324, offsetof(GCfuncL, uvptr), DtA(->v), LJ_TSTR, DtA(->marked), LJ_GC_BLACK, Dt4(->gch.marked), LJ_GC_WHITES, DtA(->closed), GG_DISP2G);
     break;
   case BC_USETN:
-    dasm_put(Dst, 13413);
+    dasm_put(Dst, 13415);
     if (sse) {
-      dasm_put(Dst, 13418);
+      dasm_put(Dst, 13420);
     } else {
-      dasm_put(Dst, 12859);
+      dasm_put(Dst, 11710);
     }
-    dasm_put(Dst, 13425, offsetof(GCfuncL, uvptr), DtA(->v));
+    dasm_put(Dst, 13427, offsetof(GCfuncL, uvptr), DtA(->v));
     if (sse) {
-      dasm_put(Dst, 13434);
+      dasm_put(Dst, 13436);
     } else {
-      dasm_put(Dst, 13440);
+      dasm_put(Dst, 13442);
     }
     dasm_put(Dst, 11200);
     break;
   case BC_USETP:
-    dasm_put(Dst, 13443, offsetof(GCfuncL, uvptr), DtA(->v));
+    dasm_put(Dst, 13445, offsetof(GCfuncL, uvptr), DtA(->v));
     break;
   case BC_UCLO:
-    dasm_put(Dst, 13480, -BCBIAS_J*4, Dt1(->openupval), Dt1(->base), Dt1(->base));
+    dasm_put(Dst, 13482, -BCBIAS_J*4, Dt1(->openupval), Dt1(->base), Dt1(->base));
     break;
 
   case BC_FNEW:
-    dasm_put(Dst, 13534, Dt1(->base), Dt1(->base), LJ_TFUNC);
+    dasm_put(Dst, 13536, Dt1(->base), Dt1(->base), LJ_TFUNC);
     break;
 
   /* -- Table ops --------------------------------------------------------- */
 
   case BC_TNEW:
-    dasm_put(Dst, 13605, Dt1(->base), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), LJ_TTAB);
+    dasm_put(Dst, 13607, Dt1(->base), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), LJ_TTAB);
     break;
   case BC_TDUP:
-    dasm_put(Dst, 13731, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), Dt1(->base), LJ_TTAB);
+    dasm_put(Dst, 13733, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), Dt1(->base), LJ_TTAB);
     break;
 
   case BC_GGET:
-    dasm_put(Dst, 13823, Dt7(->env));
+    dasm_put(Dst, 13825, Dt7(->env));
     break;
   case BC_GSET:
-    dasm_put(Dst, 13841, Dt7(->env));
+    dasm_put(Dst, 13843, Dt7(->env));
     break;
 
   case BC_TGETV:
-    dasm_put(Dst, 13859, LJ_TTAB);
+    dasm_put(Dst, 13861, LJ_TTAB);
     if (LJ_DUALNUM) {
-      dasm_put(Dst, 13882, LJ_TISNUM);
+      dasm_put(Dst, 13884, LJ_TISNUM);
     } else {
-      dasm_put(Dst, 13896, LJ_TISNUM);
+      dasm_put(Dst, 13898, LJ_TISNUM);
       if (sse) {
-       dasm_put(Dst, 13907);
+       dasm_put(Dst, 13909);
       } else {
-       dasm_put(Dst, 13928);
+       dasm_put(Dst, 13930);
        if (cmov) {
        dasm_put(Dst, 3899);
        } else {
@@ -2749,30 +2748,30 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
        }
        dasm_put(Dst, 2635);
       }
-      dasm_put(Dst, 13938);
+      dasm_put(Dst, 13940);
     }
-    dasm_put(Dst, 13943, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index, LJ_TNIL);
-    dasm_put(Dst, 14038, LJ_TSTR);
+    dasm_put(Dst, 13945, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index, LJ_TNIL);
+    dasm_put(Dst, 14040, LJ_TSTR);
     break;
   case BC_TGETS:
-    dasm_put(Dst, 14056, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL);
-    dasm_put(Dst, 14144, LJ_TNIL, DtB(->next), Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
+    dasm_put(Dst, 14058, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL);
+    dasm_put(Dst, 14146, LJ_TNIL, DtB(->next), Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
     break;
   case BC_TGETB:
-    dasm_put(Dst, 14214, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
-    dasm_put(Dst, 14313, LJ_TNIL);
+    dasm_put(Dst, 14216, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
+    dasm_put(Dst, 14315, LJ_TNIL);
     break;
 
   case BC_TSETV:
-    dasm_put(Dst, 14330, LJ_TTAB);
+    dasm_put(Dst, 14332, LJ_TTAB);
     if (LJ_DUALNUM) {
-      dasm_put(Dst, 13882, LJ_TISNUM);
+      dasm_put(Dst, 13884, LJ_TISNUM);
     } else {
-      dasm_put(Dst, 13896, LJ_TISNUM);
+      dasm_put(Dst, 13898, LJ_TISNUM);
       if (sse) {
-       dasm_put(Dst, 13907);
+       dasm_put(Dst, 13909);
       } else {
-       dasm_put(Dst, 13928);
+       dasm_put(Dst, 13930);
        if (cmov) {
        dasm_put(Dst, 3899);
        } else {
@@ -2780,115 +2779,115 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
        }
        dasm_put(Dst, 2635);
       }
-      dasm_put(Dst, 14353);
+      dasm_put(Dst, 14355);
     }
-    dasm_put(Dst, 14358, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex);
-    dasm_put(Dst, 14442, LJ_TSTR, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
+    dasm_put(Dst, 14360, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex);
+    dasm_put(Dst, 14444, LJ_TSTR, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
     break;
   case BC_TSETS:
-    dasm_put(Dst, 14499, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->nomm), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL);
-    dasm_put(Dst, 14574, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, DtB(->next));
-    dasm_put(Dst, 14666, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, LJ_TSTR, Dt1(->base), Dt1(->base), Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
+    dasm_put(Dst, 14501, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->nomm), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL);
+    dasm_put(Dst, 14576, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, DtB(->next));
+    dasm_put(Dst, 14668, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, LJ_TSTR, Dt1(->base), Dt1(->base), Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
     break;
   case BC_TSETB:
-    dasm_put(Dst, 14762, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable));
-    dasm_put(Dst, 14860, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
+    dasm_put(Dst, 14764, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable));
+    dasm_put(Dst, 14862, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
     break;
 
   case BC_TSETM:
-    dasm_put(Dst, 14906, Dt6(->marked), LJ_GC_BLACK, Dt6(->asize), Dt6(->array), Dt1(->base), Dt1(->base));
-    dasm_put(Dst, 15055, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
+    dasm_put(Dst, 14908, Dt6(->marked), LJ_GC_BLACK, Dt6(->asize), Dt6(->array), Dt1(->base), Dt1(->base));
+    dasm_put(Dst, 15057, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
     break;
 
   /* -- Calls and vararg handling ----------------------------------------- */
 
   case BC_CALL: case BC_CALLM:
-    dasm_put(Dst, 12199);
+    dasm_put(Dst, 12201);
     if (op == BC_CALLM) {
-      dasm_put(Dst, 15073);
+      dasm_put(Dst, 15075);
     }
-    dasm_put(Dst, 15078, LJ_TFUNC, Dt7(->pc));
+    dasm_put(Dst, 15080, LJ_TFUNC, Dt7(->pc));
     break;
 
   case BC_CALLMT:
-    dasm_put(Dst, 15073);
+    dasm_put(Dst, 15075);
     break;
   case BC_CALLT:
-    dasm_put(Dst, 15119, LJ_TFUNC, FRAME_TYPE, Dt7(->ffid), Dt7(->pc));
-    dasm_put(Dst, 15237, FRAME_TYPE, Dt7(->pc), PC2PROTO(k), FRAME_VARG, FRAME_TYPEP, FRAME_VARG);
+    dasm_put(Dst, 15121, LJ_TFUNC, FRAME_TYPE, Dt7(->ffid), Dt7(->pc));
+    dasm_put(Dst, 15239, FRAME_TYPE, Dt7(->pc), PC2PROTO(k), FRAME_VARG, FRAME_TYPEP, FRAME_VARG);
     break;
 
   case BC_ITERC:
-    dasm_put(Dst, 15307, LJ_TFUNC, 2+1, Dt7(->pc));
+    dasm_put(Dst, 15309, LJ_TFUNC, 2+1, Dt7(->pc));
     break;
 
   case BC_ITERN:
 #if LJ_HASJIT
 #endif
-    dasm_put(Dst, 15387, Dt6(->asize), Dt6(->array), LJ_TNIL);
+    dasm_put(Dst, 15389, Dt6(->asize), Dt6(->array), LJ_TNIL);
     if (LJ_DUALNUM) {
-      dasm_put(Dst, 12093, LJ_TISNUM);
+      dasm_put(Dst, 12095, LJ_TISNUM);
     } else if (sse) {
-      dasm_put(Dst, 12169);
+      dasm_put(Dst, 12171);
     } else {
-      dasm_put(Dst, 15433);
+      dasm_put(Dst, 15435);
     }
-    dasm_put(Dst, 15439);
+    dasm_put(Dst, 15441);
     if (LJ_DUALNUM) {
     } else if (sse) {
-      dasm_put(Dst, 12058);
+      dasm_put(Dst, 12060);
     } else {
-      dasm_put(Dst, 12070);
+      dasm_put(Dst, 12072);
     }
-    dasm_put(Dst, 15458, -BCBIAS_J*4);
+    dasm_put(Dst, 15460, -BCBIAS_J*4);
     if (!LJ_DUALNUM && !sse) {
-      dasm_put(Dst, 15509);
+      dasm_put(Dst, 15511);
     }
-    dasm_put(Dst, 15515, Dt6(->hmask), sizeof(Node), Dt6(->node), DtB(->val.it), LJ_TNIL, DtB(->key.gcr), DtB(->key.it), DtB(->val.gcr), DtB(->val.it));
-    dasm_put(Dst, 15590);
+    dasm_put(Dst, 15517, Dt6(->hmask), sizeof(Node), Dt6(->node), DtB(->val.it), LJ_TNIL, DtB(->key.gcr), DtB(->key.it), DtB(->val.gcr), DtB(->val.it));
+    dasm_put(Dst, 15592);
     break;
 
   case BC_ISNEXT:
-    dasm_put(Dst, 15598, LJ_TFUNC, LJ_TTAB, LJ_TNIL, Dt8(->ffid), FF_next_N, -BCBIAS_J*4, BC_JMP, -BCBIAS_J*4, BC_ITERC);
+    dasm_put(Dst, 15600, LJ_TFUNC, LJ_TTAB, LJ_TNIL, Dt8(->ffid), FF_next_N, -BCBIAS_J*4, BC_JMP, -BCBIAS_J*4, BC_ITERC);
     break;
 
   case BC_VARG:
-    dasm_put(Dst, 15697, (8+FRAME_VARG), LJ_TNIL, Dt1(->maxstack));
-    dasm_put(Dst, 15861, Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top));
+    dasm_put(Dst, 15699, (8+FRAME_VARG), LJ_TNIL, Dt1(->maxstack));
+    dasm_put(Dst, 15863, Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top));
     break;
 
   /* -- Returns ----------------------------------------------------------- */
 
   case BC_RETM:
-    dasm_put(Dst, 15073);
+    dasm_put(Dst, 15075);
     break;
 
   case BC_RET: case BC_RET0: case BC_RET1:
     if (op != BC_RET0) {
-      dasm_put(Dst, 15932);
+      dasm_put(Dst, 15934);
     }
-    dasm_put(Dst, 15936, FRAME_TYPE);
+    dasm_put(Dst, 15938, FRAME_TYPE);
     switch (op) {
     case BC_RET:
-      dasm_put(Dst, 15955);
+      dasm_put(Dst, 15957);
       break;
     case BC_RET1:
-      dasm_put(Dst, 16013);
+      dasm_put(Dst, 16015);
       /* fallthrough */
     case BC_RET0:
-      dasm_put(Dst, 16029);
+      dasm_put(Dst, 16031);
     default:
       break;
     }
-    dasm_put(Dst, 16040, Dt7(->pc), PC2PROTO(k));
+    dasm_put(Dst, 16042, Dt7(->pc), PC2PROTO(k));
     if (op == BC_RET) {
-      dasm_put(Dst, 16082, LJ_TNIL);
+      dasm_put(Dst, 16084, LJ_TNIL);
     } else {
-      dasm_put(Dst, 16091, LJ_TNIL);
+      dasm_put(Dst, 16093, LJ_TNIL);
     }
-    dasm_put(Dst, 16098, -FRAME_VARG, FRAME_TYPEP);
+    dasm_put(Dst, 16100, -FRAME_VARG, FRAME_TYPEP);
     if (op != BC_RET0) {
-      dasm_put(Dst, 16122);
+      dasm_put(Dst, 16124);
     }
     dasm_put(Dst, 4883);
     break;
@@ -2898,7 +2897,7 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
 
   case BC_FORL:
 #if LJ_HASJIT
-    dasm_put(Dst, 16126, HOTCOUNT_PCMASK, GG_DISP2HOT);
+    dasm_put(Dst, 16128, HOTCOUNT_PCMASK, GG_DISP2HOT);
 #endif
     break;
 
@@ -2910,104 +2909,104 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
   case BC_FORI:
   case BC_IFORL:
     vk = (op == BC_IFORL || op == BC_JFORL);
-    dasm_put(Dst, 16147);
+    dasm_put(Dst, 16149);
     if (LJ_DUALNUM) {
-      dasm_put(Dst, 16151, LJ_TISNUM);
+      dasm_put(Dst, 16153, LJ_TISNUM);
       if (!vk) {
-       dasm_put(Dst, 16161, LJ_TISNUM, LJ_TISNUM);
+       dasm_put(Dst, 16163, LJ_TISNUM, LJ_TISNUM);
       } else {
-       dasm_put(Dst, 16190);
+       dasm_put(Dst, 16192);
       }
-      dasm_put(Dst, 16209, LJ_TISNUM);
+      dasm_put(Dst, 16211, LJ_TISNUM);
       if (op == BC_FORI) {
-       dasm_put(Dst, 16220, -BCBIAS_J*4);
+       dasm_put(Dst, 16222, -BCBIAS_J*4);
       } else if (op == BC_JFORI) {
-       dasm_put(Dst, 16234, -BCBIAS_J*4, BC_JLOOP);
+       dasm_put(Dst, 16236, -BCBIAS_J*4, BC_JLOOP);
       } else if (op == BC_IFORL) {
-       dasm_put(Dst, 16252, -BCBIAS_J*4);
+       dasm_put(Dst, 16254, -BCBIAS_J*4);
       } else {
-       dasm_put(Dst, 16244, BC_JLOOP);
+       dasm_put(Dst, 16246, BC_JLOOP);
       }
-      dasm_put(Dst, 16266);
+      dasm_put(Dst, 16268);
       if (vk) {
-       dasm_put(Dst, 16289);
+       dasm_put(Dst, 16291);
       }
-      dasm_put(Dst, 16209, LJ_TISNUM);
+      dasm_put(Dst, 16211, LJ_TISNUM);
       if (op == BC_FORI) {
-       dasm_put(Dst, 16298);
+       dasm_put(Dst, 16300);
       } else if (op == BC_JFORI) {
-       dasm_put(Dst, 16303, -BCBIAS_J*4, BC_JLOOP);
+       dasm_put(Dst, 16305, -BCBIAS_J*4, BC_JLOOP);
       } else if (op == BC_IFORL) {
-       dasm_put(Dst, 16317);
+       dasm_put(Dst, 16319);
       } else {
-       dasm_put(Dst, 16313, BC_JLOOP);
+       dasm_put(Dst, 16315, BC_JLOOP);
       }
-      dasm_put(Dst, 16322);
+      dasm_put(Dst, 16324);
     } else if (!vk) {
-      dasm_put(Dst, 16329, LJ_TISNUM);
+      dasm_put(Dst, 16331, LJ_TISNUM);
     }
     if (!vk) {
-      dasm_put(Dst, 16335, LJ_TISNUM);
+      dasm_put(Dst, 16337, LJ_TISNUM);
     }
-    dasm_put(Dst, 16349);
+    dasm_put(Dst, 16351);
     if (!vk) {
-      dasm_put(Dst, 16353, LJ_TISNUM);
+      dasm_put(Dst, 16355, LJ_TISNUM);
     }
     if (sse) {
-      dasm_put(Dst, 16362);
+      dasm_put(Dst, 16364);
       if (vk) {
-       dasm_put(Dst, 16374);
+       dasm_put(Dst, 16376);
       } else {
-       dasm_put(Dst, 16393);
+       dasm_put(Dst, 16395);
       }
-      dasm_put(Dst, 16398);
+      dasm_put(Dst, 16400);
     } else {
-      dasm_put(Dst, 16411);
+      dasm_put(Dst, 16413);
       if (vk) {
-       dasm_put(Dst, 16417);
+       dasm_put(Dst, 16419);
       } else {
-       dasm_put(Dst, 16433);
+       dasm_put(Dst, 16435);
       }
-      dasm_put(Dst, 16441);
+      dasm_put(Dst, 16443);
       if (cmov) {
       dasm_put(Dst, 3899);
       } else {
       dasm_put(Dst, 3905);
       }
       if (!cmov) {
-       dasm_put(Dst, 16446);
+       dasm_put(Dst, 16448);
       }
     }
     if (op == BC_FORI) {
       if (LJ_DUALNUM) {
-       dasm_put(Dst, 16452);
+       dasm_put(Dst, 16454);
       } else {
-       dasm_put(Dst, 16457, -BCBIAS_J*4);
+       dasm_put(Dst, 16459, -BCBIAS_J*4);
       }
     } else if (op == BC_JFORI) {
-      dasm_put(Dst, 16467, -BCBIAS_J*4, BC_JLOOP);
+      dasm_put(Dst, 16469, -BCBIAS_J*4, BC_JLOOP);
     } else if (op == BC_IFORL) {
       if (LJ_DUALNUM) {
-       dasm_put(Dst, 16481);
+       dasm_put(Dst, 16483);
       } else {
-       dasm_put(Dst, 16486, -BCBIAS_J*4);
+       dasm_put(Dst, 16488, -BCBIAS_J*4);
       }
     } else {
-      dasm_put(Dst, 16477, BC_JLOOP);
+      dasm_put(Dst, 16479, BC_JLOOP);
     }
     if (LJ_DUALNUM) {
       dasm_put(Dst, 11097);
     } else {
-      dasm_put(Dst, 11836);
+      dasm_put(Dst, 11838);
     }
     if (sse) {
-      dasm_put(Dst, 16496);
+      dasm_put(Dst, 16498);
     }
     break;
 
   case BC_ITERL:
 #if LJ_HASJIT
-    dasm_put(Dst, 16126, HOTCOUNT_PCMASK, GG_DISP2HOT);
+    dasm_put(Dst, 16128, HOTCOUNT_PCMASK, GG_DISP2HOT);
 #endif
     break;
 
@@ -3016,18 +3015,18 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
     break;
 #endif
   case BC_IITERL:
-    dasm_put(Dst, 16507, LJ_TNIL);
+    dasm_put(Dst, 16509, LJ_TNIL);
     if (op == BC_JITERL) {
-      dasm_put(Dst, 16522, BC_JLOOP);
+      dasm_put(Dst, 16524, BC_JLOOP);
     } else {
-      dasm_put(Dst, 16536, -BCBIAS_J*4);
+      dasm_put(Dst, 16538, -BCBIAS_J*4);
     }
     dasm_put(Dst, 11198);
     break;
 
   case BC_LOOP:
 #if LJ_HASJIT
-    dasm_put(Dst, 16126, HOTCOUNT_PCMASK, GG_DISP2HOT);
+    dasm_put(Dst, 16128, HOTCOUNT_PCMASK, GG_DISP2HOT);
 #endif
     break;
 
@@ -3037,12 +3036,12 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
 
   case BC_JLOOP:
 #if LJ_HASJIT
-    dasm_put(Dst, 16552, DISPATCH_J(trace), DtD(->mcode), DISPATCH_GL(jit_base), DISPATCH_GL(jit_L));
+    dasm_put(Dst, 16554, DISPATCH_J(trace), DtD(->mcode), DISPATCH_GL(jit_base), DISPATCH_GL(jit_L));
 #endif
     break;
 
   case BC_JMP:
-    dasm_put(Dst, 16575, -BCBIAS_J*4);
+    dasm_put(Dst, 16577, -BCBIAS_J*4);
     break;
 
   /* -- Function headers -------------------------------------------------- */
@@ -3056,7 +3055,7 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
 
   case BC_FUNCF:
 #if LJ_HASJIT
-    dasm_put(Dst, 16599, HOTCOUNT_PCMASK, GG_DISP2HOT);
+    dasm_put(Dst, 16601, HOTCOUNT_PCMASK, GG_DISP2HOT);
 #endif
   case BC_FUNCV:  /* NYI: compiled vararg functions. */
     break;
@@ -3066,13 +3065,13 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
     break;
 #endif
   case BC_IFUNCF:
-    dasm_put(Dst, 16620, -4+PC2PROTO(k), Dt1(->maxstack), -4+PC2PROTO(numparams));
+    dasm_put(Dst, 16622, -4+PC2PROTO(k), Dt1(->maxstack), -4+PC2PROTO(numparams));
     if (op == BC_JFUNCF) {
-      dasm_put(Dst, 16650, BC_JLOOP);
+      dasm_put(Dst, 16652, BC_JLOOP);
     } else {
       dasm_put(Dst, 11200);
     }
-    dasm_put(Dst, 16659, LJ_TNIL);
+    dasm_put(Dst, 16661, LJ_TNIL);
     break;
 
   case BC_JFUNCV:
@@ -3083,30 +3082,30 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
     break;  /* NYI: compiled vararg functions. */
 
   case BC_IFUNCV:
-    dasm_put(Dst, 16681, FRAME_VARG, Dt1(->maxstack), -4+PC2PROTO(numparams), LJ_TNIL);
+    dasm_put(Dst, 16683, FRAME_VARG, Dt1(->maxstack), -4+PC2PROTO(numparams), LJ_TNIL);
     if (op == BC_JFUNCV) {
-      dasm_put(Dst, 16650, BC_JLOOP);
+      dasm_put(Dst, 16652, BC_JLOOP);
     } else {
-      dasm_put(Dst, 16772, -4+PC2PROTO(k));
+      dasm_put(Dst, 16774, -4+PC2PROTO(k));
     }
-    dasm_put(Dst, 16794, LJ_TNIL);
+    dasm_put(Dst, 16796, LJ_TNIL);
     break;
 
   case BC_FUNCC:
   case BC_FUNCCW:
-    dasm_put(Dst, 16816, Dt8(->f), Dt1(->base), 8*LUA_MINSTACK, Dt1(->maxstack), Dt1(->top));
+    dasm_put(Dst, 16818, Dt8(->f), Dt1(->base), 8*LUA_MINSTACK, Dt1(->maxstack), Dt1(->top));
     if (op == BC_FUNCC) {
-      dasm_put(Dst, 16845);
+      dasm_put(Dst, 16847);
     } else {
-      dasm_put(Dst, 16849);
+      dasm_put(Dst, 16851);
     }
-    dasm_put(Dst, 16857, DISPATCH_GL(vmstate), ~LJ_VMST_C);
+    dasm_put(Dst, 16859, DISPATCH_GL(vmstate), ~LJ_VMST_C);
     if (op == BC_FUNCC) {
-      dasm_put(Dst, 16866);
+      dasm_put(Dst, 16868);
     } else {
-      dasm_put(Dst, 16870, DISPATCH_GL(wrapf));
+      dasm_put(Dst, 16872, DISPATCH_GL(wrapf));
     }
-    dasm_put(Dst, 16875, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top));
+    dasm_put(Dst, 16877, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top));
     break;
 
   /* ---------------------------------------------------------------------- */
@@ -3134,7 +3133,7 @@ static int build_backend(BuildCtx *ctx)
 
   build_subroutines(ctx, cmov, sse);
 
-  dasm_put(Dst, 16900);
+  dasm_put(Dst, 16902);
   for (op = 0; op < BC__MAX; op++)
     build_ins(ctx, (BCOp)op, op, cmov, sse);