diff options
-rw-r--r-- | doc/ext_ffi_api.html | 28 | ||||
-rw-r--r-- | doc/ext_ffi_semantics.html | 128 | ||||
-rw-r--r-- | src/Makefile | 4 | ||||
-rw-r--r-- | src/Makefile.dep | 43 | ||||
-rw-r--r-- | src/buildvm.c | 1 | ||||
-rw-r--r-- | src/buildvm_x64.h | 2528 | ||||
-rw-r--r-- | src/buildvm_x64win.h | 2949 | ||||
-rw-r--r-- | src/buildvm_x86.dasc | 136 | ||||
-rw-r--r-- | src/buildvm_x86.h | 3205 | ||||
-rw-r--r-- | src/lib_ffi.c | 59 | ||||
-rw-r--r-- | src/lj_ccall.c | 9 | ||||
-rw-r--r-- | src/lj_ccall.h | 6 | ||||
-rw-r--r-- | src/lj_ccallback.c | 461 | ||||
-rw-r--r-- | src/lj_ccallback.h | 25 | ||||
-rw-r--r-- | src/lj_cconv.c | 8 | ||||
-rw-r--r-- | src/lj_crecord.c | 9 | ||||
-rw-r--r-- | src/lj_ctype.c | 9 | ||||
-rw-r--r-- | src/lj_ctype.h | 22 | ||||
-rw-r--r-- | src/lj_debug.c | 3 | ||||
-rw-r--r-- | src/lj_def.h | 2 | ||||
-rw-r--r-- | src/lj_err.c | 33 | ||||
-rw-r--r-- | src/lj_errmsg.h | 6 | ||||
-rw-r--r-- | src/lj_frame.h | 2 | ||||
-rw-r--r-- | src/lj_meta.c | 2 | ||||
-rw-r--r-- | src/lj_target_x86.h | 2 | ||||
-rw-r--r-- | src/lj_vm.h | 2 | ||||
-rw-r--r-- | src/ljamalg.c | 1 |
27 files changed, 5340 insertions, 4343 deletions
diff --git a/doc/ext_ffi_api.html b/doc/ext_ffi_api.html index e865a5f7..222c580e 100644 --- a/doc/ext_ffi_api.html +++ b/doc/ext_ffi_api.html | |||
@@ -78,6 +78,9 @@ corresponding <b>ctype</b>.</li> | |||
78 | <li><b>ct</b> — A C type specification which can be used for | 78 | <li><b>ct</b> — A C type specification which can be used for |
79 | most of the API functions. Either a <b>cdecl</b>, a <b>ctype</b> or a | 79 | most of the API functions. Either a <b>cdecl</b>, a <b>ctype</b> or a |
80 | <b>cdata</b> serving as a template type.</li> | 80 | <b>cdata</b> serving as a template type.</li> |
81 | <li><b>cb</b> — A callback object. This is a C data object | ||
82 | holding a special function pointer. Calling this function from | ||
83 | C code runs an associated Lua function.</li> | ||
81 | <li><b>VLA</b> — A variable-length array is declared with a | 84 | <li><b>VLA</b> — A variable-length array is declared with a |
82 | <tt>?</tt> instead of the number of elements, e.g. <tt>"int[?]"</tt>. | 85 | <tt>?</tt> instead of the number of elements, e.g. <tt>"int[?]"</tt>. |
83 | The number of elements (<tt>nelem</tt>) must be given when it's | 86 | The number of elements (<tt>nelem</tt>) must be given when it's |
@@ -473,6 +476,31 @@ Contains the target architecture name. Same contents as | |||
473 | <a href="ext_jit.html#jit_arch"><tt>jit.arch</tt></a>. | 476 | <a href="ext_jit.html#jit_arch"><tt>jit.arch</tt></a>. |
474 | </p> | 477 | </p> |
475 | 478 | ||
479 | <h2 id="callback">Methods for Callbacks</h2> | ||
480 | <p> | ||
481 | The C types for <a href="ext_ffi_semantics.html#callback">callbacks</a> | ||
482 | have some extra methods: | ||
483 | </p> | ||
484 | |||
485 | <h3 id="callback_free"><tt>cb:free()</tt></h3> | ||
486 | <p> | ||
487 | Free the resources associated with a callback. The associated Lua | ||
488 | function is unanchored and may be garbage collected. The callback | ||
489 | function pointer is no longer valid and must not be called anymore | ||
490 | (it may be reused by a subsequently created callback). | ||
491 | </p> | ||
492 | |||
493 | <h3 id="callback_set"><tt>cb:set(func)</tt></h3> | ||
494 | <p> | ||
495 | Associate a new Lua function with a callback. The C type of the | ||
496 | callback and the callback function pointer are unchanged. | ||
497 | </p> | ||
498 | <p> | ||
499 | This method is useful to dynamically switch the receiver of callbacks | ||
500 | without creating a new callback each time and registering it again (e.g. | ||
501 | with a GUI library). | ||
502 | </p> | ||
503 | |||
476 | <h2 id="extended">Extended Standard Library Functions</h2> | 504 | <h2 id="extended">Extended Standard Library Functions</h2> |
477 | <p> | 505 | <p> |
478 | The following standard library functions have been extended to work | 506 | The following standard library functions have been extended to work |
diff --git a/doc/ext_ffi_semantics.html b/doc/ext_ffi_semantics.html index 79f25510..7e140e27 100644 --- a/doc/ext_ffi_semantics.html +++ b/doc/ext_ffi_semantics.html | |||
@@ -297,10 +297,12 @@ arguments to C calls: | |||
297 | <tr class="even"> | 297 | <tr class="even"> |
298 | <td class="convin">string</td><td class="convop">string data →</td><td class="convout"><tt>const char[]</tt></td></tr> | 298 | <td class="convin">string</td><td class="convop">string data →</td><td class="convout"><tt>const char[]</tt></td></tr> |
299 | <tr class="odd separate"> | 299 | <tr class="odd separate"> |
300 | <td class="convin">function</td><td class="convop"><a href="#callback">create callback</a> →</td><td class="convout">C function type</td></tr> | ||
301 | <tr class="even separate"> | ||
300 | <td class="convin">table</td><td class="convop"><a href="#init_table">table initializer</a></td><td class="convout">Array</td></tr> | 302 | <td class="convin">table</td><td class="convop"><a href="#init_table">table initializer</a></td><td class="convout">Array</td></tr> |
301 | <tr class="even"> | 303 | <tr class="odd"> |
302 | <td class="convin">table</td><td class="convop"><a href="#init_table">table initializer</a></td><td class="convout"><tt>struct</tt>/<tt>union</tt></td></tr> | 304 | <td class="convin">table</td><td class="convop"><a href="#init_table">table initializer</a></td><td class="convout"><tt>struct</tt>/<tt>union</tt></td></tr> |
303 | <tr class="odd separate"> | 305 | <tr class="even separate"> |
304 | <td class="convin">cdata</td><td class="convop">cdata payload →</td><td class="convout">C type</td></tr> | 306 | <td class="convin">cdata</td><td class="convop">cdata payload →</td><td class="convout">C type</td></tr> |
305 | </table> | 307 | </table> |
306 | <p> | 308 | <p> |
@@ -821,6 +823,127 @@ cdata objects are indistinguishable from pointers returned by C | |||
821 | functions (which is one of the reasons why the GC cannot follow them). | 823 | functions (which is one of the reasons why the GC cannot follow them). |
822 | </p> | 824 | </p> |
823 | 825 | ||
826 | <h2 id="callback">Callbacks</h2> | ||
827 | <p> | ||
828 | The LuaJIT FFI automatically generates special callback functions | ||
829 | whenever a Lua function is converted to a C function pointer. This | ||
830 | associates the generated callback function pointer with the C type | ||
831 | of the function pointer and the Lua function object (closure). | ||
832 | </p> | ||
833 | <p> | ||
834 | This can happen implicitly due to the usual conversions, e.g. when | ||
835 | passing a Lua function to a function pointer argument. Or you can use | ||
836 | <tt>ffi.cast()</tt> to explicitly cast a Lua function to a | ||
837 | C function pointer. | ||
838 | </p> | ||
839 | <p> | ||
840 | Currently only certain C function types can be used as callback | ||
841 | functions. Neither C vararg functions nor functions with | ||
842 | pass-by-value aggregate argument or result types are supported. There | ||
843 | are no restrictions for the kind of Lua functions that can be called | ||
844 | from the callback — no checks for the proper number of arguments | ||
845 | are made. The return value of the Lua function will be converted to the | ||
846 | result type and an error will be thrown for invalid conversions. | ||
847 | </p> | ||
848 | <p> | ||
849 | It's allowed to throw errors across a callback invocation, but it's not | ||
850 | advisable in general. Do this only if you know the C function, that | ||
851 | called the callback, copes with the forced stack unwinding and doesn't | ||
852 | leak resources. | ||
853 | </p> | ||
854 | |||
855 | <h3 id="callback_resources">Callback resource handling</h3> | ||
856 | <p> | ||
857 | Callbacks take up resources — you can only have a limited number | ||
858 | of them at the same time (500 - 1000, depending on the | ||
859 | architecture). The associated Lua functions are anchored to prevent | ||
860 | garbage collection, too. | ||
861 | </p> | ||
862 | <p> | ||
863 | <b>Callbacks due to implicit conversions are permanent!</b> There is no | ||
864 | way to guess their lifetime, since the C side might store the | ||
865 | function pointer for later use (typical for GUI toolkits). The associated | ||
866 | resources cannot be reclaimed until termination: | ||
867 | </p> | ||
868 | <pre class="code"> | ||
869 | ffi.cdef[[ | ||
870 | typedef int (__stdcall *WNDENUMPROC)(void *hwnd, intptr_t l); | ||
871 | int EnumWindows(WNDENUMPROC func, intptr_t l); | ||
872 | ]] | ||
873 | |||
874 | -- Implicit conversion to a callback via function pointer argument. | ||
875 | local count = 0 | ||
876 | ffi.C.EnumWindows(function(hwnd, l) | ||
877 | count = count + 1 | ||
878 | end, 0) | ||
879 | -- The callback is permanent and its resources cannot be reclaimed! | ||
880 | -- Ok, so this may not be a problem, if you do this only once. | ||
881 | </pre> | ||
882 | <p> | ||
883 | Note: this example shows that you <em>must</em> properly declare | ||
884 | <tt>__stdcall</tt> callbacks on Windows/x86 systems. The calling | ||
885 | convention cannot be automatically detected, unlike for | ||
886 | <tt>__stdcall</tt> calls <em>to</em> Windows functions. | ||
887 | </p> | ||
888 | <p> | ||
889 | For some use cases it's necessary to free up the resources or to | ||
890 | dynamically redirect callbacks. Use an explicit cast to a | ||
891 | C function pointer and keep the resulting cdata object. Then use | ||
892 | the <a href="ext_ffi_api.html#callback_free"><tt>cb:free()</tt></a> | ||
893 | or <a href="ext_ffi_api.html#callback_set"><tt>cb:set()</tt></a> methods | ||
894 | on the cdata object: | ||
895 | </p> | ||
896 | <pre class="code"> | ||
897 | -- Explicitly convert to a callback via cast. | ||
898 | local count = 0 | ||
899 | local cb = ffi.cast("WNDENUMPROC", function(hwnd, l) | ||
900 | count = count + 1 | ||
901 | end) | ||
902 | |||
903 | -- Pass it to a C function. | ||
904 | ffi.C.EnumWindows(cb, 0) | ||
905 | -- EnumWindows doesn't need the callback after it returns, so free it. | ||
906 | |||
907 | cb:free() | ||
908 | -- The callback function pointer is no longer valid and its resources | ||
909 | -- will be reclaimed. The created Lua closure will be garbage collected. | ||
910 | </pre> | ||
911 | |||
912 | <h3 id="callback_performance">Callback performance</h3> | ||
913 | <p> | ||
914 | <b>Callbacks are slow!</b> First, the C to Lua transition itself | ||
915 | has an unavoidable cost, similar to a <tt>lua_call()</tt> or | ||
916 | <tt>lua_pcall()</tt>. Argument and result marshalling add to that cost. | ||
917 | And finally, neither the C compiler nor LuaJIT can inline or | ||
918 | optimize across the language barrier and hoist repeated computations out | ||
919 | of a callback function. | ||
920 | </p> | ||
921 | <p> | ||
922 | Do not use callbacks for performance-sensitive work: e.g. consider a | ||
923 | numerical integration routine which takes a user-defined function to | ||
924 | integrate over. It's a bad idea to call a user-defined Lua function from | ||
925 | C code millions of times. The callback overhead will be absolutely | ||
926 | detrimental for performance. | ||
927 | </p> | ||
928 | <p> | ||
929 | It's considerably faster to write the numerical integration routine | ||
930 | itself in Lua — the JIT compiler will be able to inline the | ||
931 | user-defined function and optimize it together with its calling context, | ||
932 | with very competitive performance. | ||
933 | </p> | ||
934 | <p> | ||
935 | As a general guideline: <b>use callbacks only when you must</b>, because | ||
936 | of existing C APIs. E.g. callback performance is irrelevant for a | ||
937 | GUI application, which waits for user input most of the time, anyway. | ||
938 | </p> | ||
939 | <p> | ||
940 | For new designs <b>avoid push-style APIs</b> (C function repeatedly | ||
941 | calling a callback for each result). Instead <b>use pull-style APIs</b> | ||
942 | (call a C function repeatedly to get a new result). Calls from Lua | ||
943 | to C via the FFI are much faster than the other way round. Most well | ||
944 | designed libraries already use pull-style APIs (read/write, get/put). | ||
945 | </p> | ||
946 | |||
824 | <h2 id="clib">C Library Namespaces</h2> | 947 | <h2 id="clib">C Library Namespaces</h2> |
825 | <p> | 948 | <p> |
826 | A C library namespace is a special kind of object which allows | 949 | A C library namespace is a special kind of object which allows |
@@ -1002,7 +1125,6 @@ Other missing features: | |||
1002 | <ul> | 1125 | <ul> |
1003 | <li>Bit operations for 64 bit types.</li> | 1126 | <li>Bit operations for 64 bit types.</li> |
1004 | <li>Arithmetic for <tt>complex</tt> numbers.</li> | 1127 | <li>Arithmetic for <tt>complex</tt> numbers.</li> |
1005 | <li>Callbacks from C code to Lua functions.</li> | ||
1006 | <li>Passing structs by value to vararg C functions.</li> | 1128 | <li>Passing structs by value to vararg C functions.</li> |
1007 | <li><a href="extensions.html#exceptions">C++ exception interoperability</a> | 1129 | <li><a href="extensions.html#exceptions">C++ exception interoperability</a> |
1008 | does not extend to C functions called via the FFI, if the call is | 1130 | does not extend to C functions called via the FFI, if the call is |
diff --git a/src/Makefile b/src/Makefile index 30985003..d4f80332 100644 --- a/src/Makefile +++ b/src/Makefile | |||
@@ -377,8 +377,8 @@ LJCORE_O= lj_gc.o lj_err.o lj_char.o lj_bc.o lj_obj.o \ | |||
377 | lj_opt_dce.o lj_opt_loop.o lj_opt_split.o \ | 377 | lj_opt_dce.o lj_opt_loop.o lj_opt_split.o \ |
378 | lj_mcode.o lj_snap.o lj_record.o lj_crecord.o lj_ffrecord.o \ | 378 | lj_mcode.o lj_snap.o lj_record.o lj_crecord.o lj_ffrecord.o \ |
379 | lj_asm.o lj_trace.o lj_gdbjit.o \ | 379 | lj_asm.o lj_trace.o lj_gdbjit.o \ |
380 | lj_ctype.o lj_cdata.o lj_cconv.o lj_ccall.o lj_carith.o lj_clib.o \ | 380 | lj_ctype.o lj_cdata.o lj_cconv.o lj_ccall.o lj_ccallback.o \ |
381 | lj_cparse.o \ | 381 | lj_carith.o lj_clib.o lj_cparse.o \ |
382 | lj_lib.o lj_alloc.o lib_aux.o \ | 382 | lj_lib.o lj_alloc.o lib_aux.o \ |
383 | $(LJLIB_O) lib_init.o | 383 | $(LJLIB_O) lib_init.o |
384 | 384 | ||
diff --git a/src/Makefile.dep b/src/Makefile.dep index 81bbed29..b9d0df47 100644 --- a/src/Makefile.dep +++ b/src/Makefile.dep | |||
@@ -1,6 +1,6 @@ | |||
1 | buildvm.o: buildvm.c buildvm.h lj_def.h lua.h luaconf.h lj_arch.h \ | 1 | buildvm.o: buildvm.c buildvm.h lj_def.h lua.h luaconf.h lj_arch.h \ |
2 | lj_obj.h lj_gc.h lj_bc.h lj_ir.h lj_ircall.h lj_jit.h lj_frame.h \ | 2 | lj_obj.h lj_gc.h lj_bc.h lj_ir.h lj_ircall.h lj_jit.h lj_frame.h \ |
3 | lj_dispatch.h lj_ccall.h lj_ctype.h luajit.h \ | 3 | lj_dispatch.h lj_ctype.h lj_ccall.h luajit.h \ |
4 | lj_traceerr.h | 4 | lj_traceerr.h |
5 | buildvm_asm.o: buildvm_asm.c buildvm.h lj_def.h lua.h luaconf.h lj_arch.h \ | 5 | buildvm_asm.o: buildvm_asm.c buildvm.h lj_def.h lua.h luaconf.h lj_arch.h \ |
6 | lj_bc.h | 6 | lj_bc.h |
@@ -23,7 +23,7 @@ lib_debug.o: lib_debug.c lua.h luaconf.h lauxlib.h lualib.h lj_obj.h \ | |||
23 | lib_ffi.o: lib_ffi.c lua.h luaconf.h lauxlib.h lualib.h lj_obj.h lj_def.h \ | 23 | lib_ffi.o: lib_ffi.c lua.h luaconf.h lauxlib.h lualib.h lj_obj.h lj_def.h \ |
24 | lj_arch.h lj_gc.h lj_err.h lj_errmsg.h lj_str.h lj_tab.h lj_meta.h \ | 24 | lj_arch.h lj_gc.h lj_err.h lj_errmsg.h lj_str.h lj_tab.h lj_meta.h \ |
25 | lj_ctype.h lj_cparse.h lj_cdata.h lj_cconv.h lj_carith.h lj_ccall.h \ | 25 | lj_ctype.h lj_cparse.h lj_cdata.h lj_cconv.h lj_carith.h lj_ccall.h \ |
26 | lj_clib.h lj_ff.h lj_ffdef.h lj_lib.h lj_libdef.h | 26 | lj_ccallback.h lj_clib.h lj_ff.h lj_ffdef.h lj_lib.h lj_libdef.h |
27 | lib_init.o: lib_init.c lua.h luaconf.h lauxlib.h lualib.h lj_arch.h | 27 | lib_init.o: lib_init.c lua.h luaconf.h lauxlib.h lualib.h lj_arch.h |
28 | lib_io.o: lib_io.c lua.h luaconf.h lauxlib.h lualib.h lj_obj.h lj_def.h \ | 28 | lib_io.o: lib_io.c lua.h luaconf.h lauxlib.h lualib.h lj_obj.h lj_def.h \ |
29 | lj_arch.h lj_gc.h lj_err.h lj_errmsg.h lj_str.h lj_ff.h lj_ffdef.h \ | 29 | lj_arch.h lj_gc.h lj_err.h lj_errmsg.h lj_str.h lj_ff.h lj_ffdef.h \ |
@@ -69,11 +69,16 @@ lj_carith.o: lj_carith.c lj_obj.h lua.h luaconf.h lj_def.h lj_arch.h \ | |||
69 | lj_gc.h lj_err.h lj_errmsg.h lj_tab.h lj_meta.h lj_ctype.h lj_cconv.h \ | 69 | lj_gc.h lj_err.h lj_errmsg.h lj_tab.h lj_meta.h lj_ctype.h lj_cconv.h \ |
70 | lj_cdata.h lj_carith.h | 70 | lj_cdata.h lj_carith.h |
71 | lj_ccall.o: lj_ccall.c lj_obj.h lua.h luaconf.h lj_def.h lj_arch.h \ | 71 | lj_ccall.o: lj_ccall.c lj_obj.h lua.h luaconf.h lj_def.h lj_arch.h \ |
72 | lj_gc.h lj_err.h lj_errmsg.h lj_str.h lj_ctype.h lj_cconv.h lj_cdata.h \ | 72 | lj_gc.h lj_err.h lj_errmsg.h lj_str.h lj_tab.h lj_ctype.h lj_cconv.h \ |
73 | lj_ccall.h lj_trace.h lj_jit.h lj_ir.h lj_dispatch.h lj_bc.h \ | 73 | lj_cdata.h lj_ccall.h lj_trace.h lj_jit.h lj_ir.h lj_dispatch.h lj_bc.h \ |
74 | lj_traceerr.h | 74 | lj_traceerr.h |
75 | lj_ccallback.o: lj_ccallback.c lj_obj.h lua.h luaconf.h lj_def.h \ | ||
76 | lj_arch.h lj_gc.h lj_err.h lj_errmsg.h lj_tab.h lj_state.h lj_frame.h \ | ||
77 | lj_bc.h lj_ctype.h lj_cconv.h lj_ccall.h lj_ccallback.h lj_target.h \ | ||
78 | lj_target_*.h lj_vm.h | ||
75 | lj_cconv.o: lj_cconv.c lj_obj.h lua.h luaconf.h lj_def.h lj_arch.h \ | 79 | lj_cconv.o: lj_cconv.c lj_obj.h lua.h luaconf.h lj_def.h lj_arch.h \ |
76 | lj_err.h lj_errmsg.h lj_tab.h lj_ctype.h lj_gc.h lj_cdata.h lj_cconv.h | 80 | lj_err.h lj_errmsg.h lj_tab.h lj_ctype.h lj_gc.h lj_cdata.h lj_cconv.h \ |
81 | lj_ccallback.h | ||
77 | lj_cdata.o: lj_cdata.c lj_obj.h lua.h luaconf.h lj_def.h lj_arch.h \ | 82 | lj_cdata.o: lj_cdata.c lj_obj.h lua.h luaconf.h lj_def.h lj_arch.h \ |
78 | lj_gc.h lj_err.h lj_errmsg.h lj_str.h lj_tab.h lj_ctype.h lj_cconv.h \ | 83 | lj_gc.h lj_err.h lj_errmsg.h lj_str.h lj_tab.h lj_ctype.h lj_cconv.h \ |
79 | lj_cdata.h | 84 | lj_cdata.h |
@@ -86,11 +91,11 @@ lj_cparse.o: lj_cparse.c lj_obj.h lua.h luaconf.h lj_def.h lj_arch.h \ | |||
86 | lj_bc.h lj_vm.h lj_char.h | 91 | lj_bc.h lj_vm.h lj_char.h |
87 | lj_crecord.o: lj_crecord.c lj_obj.h lua.h luaconf.h lj_def.h lj_arch.h \ | 92 | lj_crecord.o: lj_crecord.c lj_obj.h lua.h luaconf.h lj_def.h lj_arch.h \ |
88 | lj_err.h lj_errmsg.h lj_str.h lj_tab.h lj_frame.h lj_bc.h lj_ctype.h \ | 93 | lj_err.h lj_errmsg.h lj_str.h lj_tab.h lj_frame.h lj_bc.h lj_ctype.h \ |
89 | lj_gc.h lj_cparse.h lj_cconv.h lj_clib.h lj_ccall.h lj_ir.h lj_jit.h \ | 94 | lj_gc.h lj_cdata.h lj_cparse.h lj_cconv.h lj_clib.h lj_ccall.h lj_ir.h \ |
90 | lj_ircall.h lj_iropt.h lj_trace.h lj_dispatch.h lj_traceerr.h \ | 95 | lj_jit.h lj_ircall.h lj_iropt.h lj_trace.h lj_dispatch.h lj_traceerr.h \ |
91 | lj_record.h lj_ffrecord.h lj_crecord.h | 96 | lj_record.h lj_ffrecord.h lj_crecord.h |
92 | lj_ctype.o: lj_ctype.c lj_obj.h lua.h luaconf.h lj_def.h lj_arch.h \ | 97 | lj_ctype.o: lj_ctype.c lj_obj.h lua.h luaconf.h lj_def.h lj_arch.h \ |
93 | lj_gc.h lj_err.h lj_errmsg.h lj_str.h lj_tab.h lj_ctype.h | 98 | lj_gc.h lj_err.h lj_errmsg.h lj_str.h lj_tab.h lj_ctype.h lj_ccallback.h |
94 | lj_debug.o: lj_debug.c lj_obj.h lua.h luaconf.h lj_def.h lj_arch.h \ | 99 | lj_debug.o: lj_debug.c lj_obj.h lua.h luaconf.h lj_def.h lj_arch.h \ |
95 | lj_err.h lj_errmsg.h lj_debug.h lj_str.h lj_tab.h lj_state.h lj_frame.h \ | 100 | lj_err.h lj_errmsg.h lj_debug.h lj_str.h lj_tab.h lj_state.h lj_frame.h \ |
96 | lj_bc.h lj_jit.h lj_ir.h | 101 | lj_bc.h lj_jit.h lj_ir.h |
@@ -188,15 +193,15 @@ ljamalg.o: ljamalg.c lua.h luaconf.h lauxlib.h lj_gc.c lj_obj.h lj_def.h \ | |||
188 | lj_obj.c lj_str.c lj_tab.c lj_func.c lj_udata.c lj_meta.c lj_debug.c \ | 193 | lj_obj.c lj_str.c lj_tab.c lj_func.c lj_udata.c lj_meta.c lj_debug.c \ |
189 | lj_state.c lj_lex.h lj_alloc.h lj_dispatch.c luajit.h lj_vmevent.c \ | 194 | lj_state.c lj_lex.h lj_alloc.h lj_dispatch.c luajit.h lj_vmevent.c \ |
190 | lj_vmevent.h lj_vmmath.c lj_api.c lj_bcdump.h lj_parse.h lj_lex.c \ | 195 | lj_vmevent.h lj_vmmath.c lj_api.c lj_bcdump.h lj_parse.h lj_lex.c \ |
191 | lualib.h lj_parse.c lj_bcread.c lj_bcwrite.c lj_ctype.c lj_cdata.c \ | 196 | lualib.h lj_parse.c lj_bcread.c lj_bcwrite.c lj_ctype.c lj_ccallback.h \ |
192 | lj_cconv.h lj_cconv.c lj_ccall.c lj_ccall.h lj_carith.c lj_carith.h \ | 197 | lj_cdata.c lj_cconv.h lj_cconv.c lj_ccall.c lj_ccall.h lj_ccallback.c \ |
193 | lj_clib.c lj_clib.h lj_cparse.c lj_cparse.h lj_lib.c lj_lib.h lj_ir.c \ | 198 | lj_target.h lj_target_*.h lj_carith.c lj_carith.h lj_clib.c lj_clib.h \ |
194 | lj_ircall.h lj_iropt.h lj_opt_mem.c lj_opt_fold.c lj_folddef.h \ | 199 | lj_cparse.c lj_cparse.h lj_lib.c lj_lib.h lj_ir.c lj_ircall.h lj_iropt.h \ |
195 | lj_opt_narrow.c lj_opt_dce.c lj_opt_loop.c lj_snap.h lj_opt_split.c \ | 200 | lj_opt_mem.c lj_opt_fold.c lj_folddef.h lj_opt_narrow.c lj_opt_dce.c \ |
196 | lj_mcode.c lj_mcode.h lj_snap.c lj_target.h lj_target_*.h lj_record.c \ | 201 | lj_opt_loop.c lj_snap.h lj_opt_split.c lj_mcode.c lj_mcode.h lj_snap.c \ |
197 | lj_record.h lj_ffrecord.h lj_crecord.c lj_crecord.h lj_ffrecord.c \ | 202 | lj_record.c lj_record.h lj_ffrecord.h lj_crecord.c lj_crecord.h \ |
198 | lj_recdef.h lj_asm.c lj_asm.h lj_emit_*.h lj_asm_*.h lj_trace.c \ | 203 | lj_ffrecord.c lj_recdef.h lj_asm.c lj_asm.h lj_emit_*.h lj_asm_*.h \ |
199 | lj_gdbjit.h lj_gdbjit.c lj_alloc.c lib_aux.c lib_base.c lj_libdef.h \ | 204 | lj_trace.c lj_gdbjit.h lj_gdbjit.c lj_alloc.c lib_aux.c lib_base.c \ |
200 | lib_math.c lib_string.c lib_table.c lib_io.c lib_os.c lib_package.c \ | 205 | lj_libdef.h lib_math.c lib_string.c lib_table.c lib_io.c lib_os.c \ |
201 | lib_debug.c lib_bit.c lib_jit.c lib_ffi.c lib_init.c | 206 | lib_package.c lib_debug.c lib_bit.c lib_jit.c lib_ffi.c lib_init.c |
202 | luajit.o: luajit.c lua.h luaconf.h lauxlib.h lualib.h luajit.h lj_arch.h | 207 | luajit.o: luajit.c lua.h luaconf.h lauxlib.h lualib.h luajit.h lj_arch.h |
diff --git a/src/buildvm.c b/src/buildvm.c index 72c2dd83..3e5d7b1c 100644 --- a/src/buildvm.c +++ b/src/buildvm.c | |||
@@ -23,6 +23,7 @@ | |||
23 | #include "lj_frame.h" | 23 | #include "lj_frame.h" |
24 | #include "lj_dispatch.h" | 24 | #include "lj_dispatch.h" |
25 | #if LJ_HASFFI | 25 | #if LJ_HASFFI |
26 | #include "lj_ctype.h" | ||
26 | #include "lj_ccall.h" | 27 | #include "lj_ccall.h" |
27 | #endif | 28 | #endif |
28 | #include "luajit.h" | 29 | #include "luajit.h" |
diff --git a/src/buildvm_x64.h b/src/buildvm_x64.h index 06d6b038..55b22b2e 100644 --- a/src/buildvm_x64.h +++ b/src/buildvm_x64.h | |||
@@ -12,7 +12,7 @@ | |||
12 | #define DASM_SECTION_CODE_OP 0 | 12 | #define DASM_SECTION_CODE_OP 0 |
13 | #define DASM_SECTION_CODE_SUB 1 | 13 | #define DASM_SECTION_CODE_SUB 1 |
14 | #define DASM_MAXSECTION 2 | 14 | #define DASM_MAXSECTION 2 |
15 | static const unsigned char build_actionlist[16165] = { | 15 | static const unsigned char build_actionlist[16378] = { |
16 | 254,1,248,10,252,247,195,237,15,132,244,11,131,227,252,248,41,218,72,141, | 16 | 254,1,248,10,252,247,195,237,15,132,244,11,131,227,252,248,41,218,72,141, |
17 | 76,25,252,248,139,90,252,252,199,68,10,4,237,248,12,131,192,1,137,68,36,4, | 17 | 76,25,252,248,139,90,252,252,199,68,10,4,237,248,12,131,192,1,137,68,36,4, |
18 | 252,247,195,237,15,132,244,13,248,14,129,252,243,239,252,247,195,237,15,133, | 18 | 252,247,195,237,15,132,244,13,248,14,129,252,243,239,252,247,195,237,15,133, |
@@ -52,426 +52,427 @@ static const unsigned char build_actionlist[16165] = { | |||
52 | 68,137,124,36,16,76,139,189,233,76,137,124,36,32,72,137,165,233,252,255,209, | 52 | 68,137,124,36,16,76,139,189,233,76,137,124,36,32,72,137,165,233,252,255,209, |
53 | 133,192,15,132,244,15,137,193,187,237,252,233,244,2,248,11,1,209,131,227, | 53 | 133,192,15,132,244,15,137,193,187,237,252,233,244,2,248,11,1,209,131,227, |
54 | 252,248,137,213,41,218,199,68,193,252,252,237,137,200,139,93,252,244,72,99, | 54 | 252,248,137,213,41,218,199,68,193,252,252,237,137,200,139,93,252,244,72,99, |
55 | 77,252,240,133,201,15,132,244,247,255,76,141,61,245,76,1,252,249,68,139,122, | 55 | 77,252,240,255,131,252,249,1,15,134,244,247,255,76,141,61,245,76,1,252,249, |
56 | 252,248,69,139,191,233,69,139,191,233,252,255,225,248,1,41,213,193,252,237, | 56 | 255,68,139,122,252,248,69,139,191,233,69,139,191,233,252,255,225,255,248, |
57 | 3,141,69,252,255,252,233,244,32,248,33,15,182,75,252,255,131,252,237,16,141, | 57 | 1,15,132,244,32,41,213,193,252,237,3,141,69,252,255,252,233,244,33,255,248, |
58 | 12,202,41,252,233,15,132,244,34,252,247,217,193,252,233,3,139,124,36,24,137, | 58 | 34,15,182,75,252,255,131,252,237,16,141,12,202,41,252,233,15,132,244,35,252, |
59 | 151,233,137,202,72,139,8,72,137,77,0,137,252,238,252,233,244,35,248,36,137, | 59 | 247,217,193,252,233,3,139,124,36,24,137,151,233,137,202,72,139,8,72,137,77, |
60 | 4,36,199,68,36,4,237,72,141,4,36,128,123,252,252,235,15,133,244,247,65,141, | 60 | 0,137,252,238,252,233,244,36,248,37,137,4,36,199,68,36,4,237,72,141,4,36, |
61 | 142,233,137,41,199,65,4,237,255,137,205,252,233,244,248,248,37,15,182,67, | 61 | 128,123,252,252,235,15,133,244,247,65,141,142,233,137,41,199,65,4,237,137, |
62 | 252,254,255,199,68,36,4,237,137,4,36,255,252,242,15,42,192,252,242,15,17, | 62 | 205,252,233,244,248,248,38,15,182,67,252,254,255,199,68,36,4,237,137,4,36, |
63 | 4,36,255,72,141,4,36,252,233,244,247,248,38,15,182,67,252,254,141,4,194,248, | 63 | 255,252,242,15,42,192,252,242,15,17,4,36,255,72,141,4,36,252,233,244,247, |
64 | 1,15,182,107,252,255,141,44,252,234,248,2,139,124,36,24,137,151,233,137,252, | 64 | 248,39,15,182,67,252,254,141,4,194,248,1,15,182,107,252,255,141,44,252,234, |
65 | 238,72,137,194,137,252,253,137,92,36,28,232,251,1,2,139,149,233,133,192,15, | 65 | 248,2,139,124,36,24,137,151,233,137,252,238,72,137,194,137,252,253,137,92, |
66 | 132,244,249,248,34,15,182,75,252,253,72,139,40,72,137,44,202,139,3,15,182, | 66 | 36,28,232,251,1,2,139,149,233,133,192,15,132,244,249,248,35,15,182,75,252, |
67 | 204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,248,3,139,141,233, | 67 | 253,72,139,40,72,137,44,202,139,3,15,182,204,15,182,232,131,195,4,193,232, |
68 | 137,89,252,244,141,153,233,41,211,139,105,252,248,184,237,252,233,244,30, | 68 | 16,65,252,255,36,252,238,248,3,139,141,233,137,89,252,244,141,153,233,41, |
69 | 248,39,137,4,36,199,68,36,4,237,72,141,4,36,128,123,252,252,235,15,133,244, | 69 | 211,139,105,252,248,184,237,252,233,244,30,248,40,137,4,36,199,68,36,4,237, |
70 | 247,255,65,141,142,233,137,41,199,65,4,237,137,205,252,233,244,248,248,40, | 70 | 72,141,4,36,128,123,252,252,235,15,133,244,247,255,65,141,142,233,137,41, |
71 | 15,182,67,252,254,255,72,141,4,36,252,233,244,247,248,41,15,182,67,252,254, | 71 | 199,65,4,237,137,205,252,233,244,248,248,41,15,182,67,252,254,255,72,141, |
72 | 141,4,194,248,1,15,182,107,252,255,141,44,252,234,248,2,139,124,36,24,137, | 72 | 4,36,252,233,244,247,248,42,15,182,67,252,254,141,4,194,248,1,15,182,107, |
73 | 151,233,137,252,238,72,137,194,137,252,253,137,92,36,28,232,251,1,3,139,149, | 73 | 252,255,141,44,252,234,248,2,139,124,36,24,137,151,233,137,252,238,72,137, |
74 | 233,133,192,15,132,244,249,15,182,75,252,253,72,139,44,202,72,137,40,248, | 74 | 194,137,252,253,137,92,36,28,232,251,1,3,139,149,233,133,192,15,132,244,249, |
75 | 42,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238, | 75 | 15,182,75,252,253,72,139,44,202,72,137,40,248,43,139,3,15,182,204,15,182, |
76 | 248,3,139,141,233,137,89,252,244,15,182,67,252,253,72,139,44,194,72,137,105, | 76 | 232,131,195,4,193,232,16,65,252,255,36,252,238,248,3,139,141,233,137,89,252, |
77 | 16,141,153,233,41,211,139,105,252,248,184,237,252,233,244,30,248,43,139,108, | 77 | 244,15,182,67,252,253,72,139,44,194,72,137,105,16,141,153,233,41,211,139, |
78 | 36,24,137,149,233,141,52,202,141,20,194,137,252,239,15,182,75,252,252,137, | 78 | 105,252,248,184,237,252,233,244,30,248,44,139,108,36,24,137,149,233,141,52, |
79 | 92,36,28,232,251,1,4,248,3,139,149,233,255,131,252,248,1,15,135,244,44,248, | 79 | 202,141,20,194,137,252,239,15,182,75,252,252,137,92,36,28,232,251,1,4,248, |
80 | 4,141,91,4,15,130,244,252,248,5,15,183,67,252,254,141,156,253,131,233,248, | 80 | 3,139,149,233,255,131,252,248,1,15,135,244,45,248,4,141,91,4,15,130,244,252, |
81 | 6,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238, | 81 | 248,5,15,183,67,252,254,141,156,253,131,233,248,6,139,3,15,182,204,15,182, |
82 | 248,45,131,195,4,129,120,253,4,239,15,130,244,5,252,233,244,6,248,46,129, | 82 | 232,131,195,4,193,232,16,65,252,255,36,252,238,248,46,131,195,4,129,120,253, |
83 | 120,253,4,239,252,233,244,4,248,47,131,252,235,4,137,206,137,252,233,139, | 83 | 4,239,15,130,244,5,252,233,244,6,248,47,129,120,253,4,239,252,233,244,4,248, |
84 | 108,36,24,137,149,233,255,137,194,137,252,239,137,92,36,28,232,251,1,5,252, | 84 | 48,131,252,235,4,137,206,137,252,233,139,108,36,24,137,149,233,255,137,194, |
85 | 233,244,3,248,48,255,131,252,235,4,139,108,36,24,137,149,233,137,252,239, | 85 | 137,252,239,137,92,36,28,232,251,1,5,252,233,244,3,248,49,255,131,252,235, |
86 | 139,115,252,252,137,92,36,28,232,251,1,6,252,233,244,3,255,248,49,255,15, | 86 | 4,139,108,36,24,137,149,233,137,252,239,139,115,252,252,137,92,36,28,232, |
87 | 182,107,252,255,255,248,50,65,141,4,199,252,233,244,247,248,51,255,248,52, | 87 | 251,1,6,252,233,244,3,255,248,50,255,15,182,107,252,255,255,248,51,65,141, |
88 | 65,141,4,199,141,44,252,234,149,252,233,244,248,248,53,141,4,194,137,197, | 88 | 4,199,252,233,244,247,248,52,255,248,53,65,141,4,199,141,44,252,234,149,252, |
89 | 252,233,244,248,248,54,255,248,55,141,4,194,248,1,141,44,252,234,248,2,141, | 89 | 233,244,248,248,54,141,4,194,137,197,252,233,244,248,248,55,255,248,56,141, |
90 | 12,202,68,15,182,67,252,252,137,206,137,193,139,124,36,24,137,151,233,137, | 90 | 4,194,248,1,141,44,252,234,248,2,141,12,202,68,15,182,67,252,252,137,206, |
91 | 252,234,137,252,253,137,92,36,28,232,251,1,7,139,149,233,133,192,15,132,244, | 91 | 137,193,139,124,36,24,137,151,233,137,252,234,137,252,253,137,92,36,28,232, |
92 | 42,248,44,137,193,41,208,137,89,252,244,141,152,233,184,237,252,233,244,28, | 92 | 251,1,7,139,149,233,133,192,15,132,244,43,248,45,137,193,41,208,137,89,252, |
93 | 248,56,139,108,36,24,137,149,233,141,52,194,137,252,239,137,92,36,28,232, | 93 | 244,141,152,233,184,237,252,233,244,28,248,57,139,108,36,24,137,149,233,141, |
94 | 251,1,8,139,149,233,255,133,192,15,133,244,44,15,183,67,252,254,139,60,194, | 94 | 52,194,137,252,239,137,92,36,28,232,251,1,8,139,149,233,255,133,192,15,133, |
95 | 252,233,244,57,255,252,233,244,44,255,248,58,141,76,202,8,248,29,137,76,36, | 95 | 244,45,15,183,67,252,254,139,60,194,252,233,244,58,255,252,233,244,45,255, |
96 | 4,137,4,36,131,252,233,8,139,108,36,24,137,149,233,137,206,141,20,193,137, | 96 | 248,59,141,76,202,8,248,29,137,76,36,4,137,4,36,131,252,233,8,139,108,36, |
97 | 252,239,137,92,36,28,232,251,1,9,139,149,233,139,76,36,4,139,4,36,139,105, | 97 | 24,137,149,233,137,206,141,20,193,137,252,239,137,92,36,28,232,251,1,9,139, |
98 | 252,248,131,192,1,65,57,215,15,132,244,59,137,202,137,90,252,252,139,157, | 98 | 149,233,139,76,36,4,139,4,36,139,105,252,248,131,192,1,65,57,215,15,132,244, |
99 | 233,139,11,15,182,252,233,15,182,205,131,195,4,65,252,255,36,252,238,248, | 99 | 60,137,202,137,90,252,252,139,157,233,139,11,15,182,252,233,15,182,205,131, |
100 | 60,139,108,36,24,137,149,233,137,206,137,252,239,137,92,36,28,232,251,1,10, | 100 | 195,4,65,252,255,36,252,238,248,61,139,108,36,24,137,149,233,137,206,137, |
101 | 139,149,233,139,67,252,252,15,182,204,15,182,232,193,232,16,65,252,255,164, | 101 | 252,239,137,92,36,28,232,251,1,10,139,149,233,139,67,252,252,15,182,204,15, |
102 | 253,252,238,233,248,61,129,252,248,239,15,130,244,62,139,106,4,129,252,253, | 102 | 182,232,193,232,16,65,252,255,164,253,252,238,233,248,62,129,252,248,239, |
103 | 239,15,131,244,62,139,90,252,252,137,68,36,4,137,106,252,252,139,42,137,106, | 103 | 15,130,244,63,139,106,4,129,252,253,239,15,131,244,63,139,90,252,252,137, |
104 | 252,248,131,232,2,15,132,244,248,255,137,209,248,1,131,193,8,72,139,41,72, | 104 | 68,36,4,137,106,252,252,139,42,137,106,252,248,131,232,2,15,132,244,248,255, |
105 | 137,105,252,248,131,232,1,15,133,244,1,248,2,139,68,36,4,252,233,244,63,248, | 105 | 137,209,248,1,131,193,8,72,139,41,72,137,105,252,248,131,232,1,15,133,244, |
106 | 64,129,252,248,239,15,130,244,62,139,106,4,137,252,233,193,252,249,15,131, | 106 | 1,248,2,139,68,36,4,252,233,244,64,248,65,129,252,248,239,15,130,244,63,139, |
107 | 252,249,252,254,15,132,244,249,184,237,252,247,213,57,232,255,15,71,197,255, | 107 | 106,4,137,252,233,193,252,249,15,131,252,249,252,254,15,132,244,249,184,237, |
108 | 15,134,244,247,137,232,248,1,255,248,2,139,106,252,248,139,132,253,197,233, | 108 | 252,247,213,57,232,255,15,71,197,255,15,134,244,247,137,232,248,1,255,248, |
109 | 139,90,252,252,199,66,252,252,237,137,66,252,248,252,233,244,65,248,3,184, | 109 | 2,139,106,252,248,139,132,253,197,233,139,90,252,252,199,66,252,252,237,137, |
110 | 237,252,233,244,2,248,66,129,252,248,239,15,130,244,62,139,106,4,139,90,252, | 110 | 66,252,248,252,233,244,66,248,3,184,237,252,233,244,2,248,67,129,252,248, |
111 | 252,129,252,253,239,15,133,244,252,248,1,139,42,139,173,233,248,2,133,252, | 111 | 239,15,130,244,63,139,106,4,139,90,252,252,129,252,253,239,15,133,244,252, |
112 | 237,199,66,252,252,237,255,15,132,244,65,65,139,134,233,199,66,252,252,237, | 112 | 248,1,139,42,139,173,233,248,2,133,252,237,199,66,252,252,237,255,15,132, |
113 | 137,106,252,248,139,141,233,35,136,233,105,201,239,3,141,233,248,3,129,185, | 113 | 244,66,65,139,134,233,199,66,252,252,237,137,106,252,248,139,141,233,35,136, |
114 | 233,239,15,133,244,250,57,129,233,15,132,244,251,248,4,139,137,233,133,201, | 114 | 233,105,201,239,3,141,233,248,3,129,185,233,239,15,133,244,250,57,129,233, |
115 | 15,133,244,3,255,252,233,244,65,248,5,139,105,4,129,252,253,239,15,132,244, | 115 | 15,132,244,251,248,4,139,137,233,133,201,15,133,244,3,255,252,233,244,66, |
116 | 65,139,1,137,106,252,252,137,66,252,248,252,233,244,65,248,6,129,252,253, | 116 | 248,5,139,105,4,129,252,253,239,15,132,244,66,139,1,137,106,252,252,137,66, |
117 | 239,15,132,244,1,129,252,253,239,15,135,244,254,129,252,253,239,15,134,244, | 117 | 252,248,252,233,244,66,248,6,129,252,253,239,15,132,244,1,129,252,253,239, |
118 | 253,189,237,252,233,244,254,248,7,255,189,237,248,8,252,247,213,65,139,172, | 118 | 15,135,244,254,129,252,253,239,15,134,244,253,189,237,252,233,244,254,248, |
119 | 253,174,233,252,233,244,2,248,67,129,252,248,239,15,130,244,62,129,122,253, | 119 | 7,255,189,237,248,8,252,247,213,65,139,172,253,174,233,252,233,244,2,248, |
120 | 4,239,15,133,244,62,139,42,131,189,233,0,15,133,244,62,129,122,253,12,239, | 120 | 68,129,252,248,239,15,130,244,63,129,122,253,4,239,15,133,244,63,139,42,131, |
121 | 15,133,244,62,139,66,8,137,133,233,139,90,252,252,199,66,252,252,237,255, | 121 | 189,233,0,15,133,244,63,129,122,253,12,239,15,133,244,63,139,66,8,137,133, |
122 | 137,106,252,248,252,246,133,233,235,15,132,244,247,128,165,233,235,65,139, | 122 | 233,139,90,252,252,199,66,252,252,237,255,137,106,252,248,252,246,133,233, |
123 | 134,233,65,137,174,233,137,133,233,248,1,252,233,244,65,248,68,129,252,248, | 123 | 235,15,132,244,247,128,165,233,235,65,139,134,233,65,137,174,233,137,133, |
124 | 239,15,130,244,62,129,122,253,4,239,15,133,244,62,137,213,139,50,141,82,8, | 124 | 233,248,1,252,233,244,66,248,69,129,252,248,239,15,130,244,63,129,122,253, |
125 | 139,124,36,24,232,251,1,11,137,252,234,72,139,40,139,90,252,252,72,137,106, | 125 | 4,239,15,133,244,63,137,213,139,50,141,82,8,139,124,36,24,232,251,1,11,137, |
126 | 252,248,252,233,244,65,248,69,255,129,252,248,239,15,133,244,62,129,122,253, | 126 | 252,234,72,139,40,139,90,252,252,72,137,106,252,248,252,233,244,66,248,70, |
127 | 4,239,255,15,133,244,247,139,42,252,233,244,70,248,1,15,135,244,62,255,15, | 127 | 255,129,252,248,239,15,133,244,63,129,122,253,4,239,255,15,133,244,247,139, |
128 | 131,244,62,255,252,242,15,16,2,252,233,244,71,255,221,2,252,233,244,72,255, | 128 | 42,252,233,244,71,248,1,15,135,244,63,255,15,131,244,63,255,252,242,15,16, |
129 | 248,73,129,252,248,239,15,130,244,62,139,90,252,252,129,122,253,4,239,15, | 129 | 2,252,233,244,72,255,221,2,252,233,244,73,255,248,74,129,252,248,239,15,130, |
130 | 133,244,249,139,2,248,2,199,66,252,252,237,137,66,252,248,252,233,244,65, | 130 | 244,63,139,90,252,252,129,122,253,4,239,15,133,244,249,139,2,248,2,199,66, |
131 | 248,3,129,122,253,4,239,15,135,244,62,65,131,190,233,0,15,133,244,62,65,139, | 131 | 252,252,237,137,66,252,248,252,233,244,66,248,3,129,122,253,4,239,15,135, |
132 | 174,233,65,59,174,233,255,15,130,244,247,232,244,74,248,1,139,108,36,24,137, | 132 | 244,63,65,131,190,233,0,15,133,244,63,65,139,174,233,65,59,174,233,255,15, |
133 | 149,233,137,92,36,28,137,214,137,252,239,255,232,251,1,12,255,232,251,1,13, | 133 | 130,244,247,232,244,75,248,1,139,108,36,24,137,149,233,137,92,36,28,137,214, |
134 | 255,139,149,233,252,233,244,2,248,75,129,252,248,239,15,130,244,62,15,132, | 134 | 137,252,239,255,232,251,1,12,255,232,251,1,13,255,139,149,233,252,233,244, |
135 | 244,248,248,1,129,122,253,4,239,15,133,244,62,139,108,36,24,137,149,233,137, | 135 | 2,248,76,129,252,248,239,15,130,244,63,15,132,244,248,248,1,129,122,253,4, |
136 | 149,233,139,90,252,252,139,50,141,82,8,137,252,239,137,92,36,28,232,251,1, | 136 | 239,15,133,244,63,139,108,36,24,137,149,233,137,149,233,139,90,252,252,139, |
137 | 14,139,149,233,133,192,15,132,244,249,72,139,106,8,72,139,66,16,72,137,106, | 137 | 50,141,82,8,137,252,239,137,92,36,28,232,251,1,14,139,149,233,133,192,15, |
138 | 252,248,72,137,2,248,76,184,237,255,252,233,244,77,248,2,199,66,12,237,252, | 138 | 132,244,249,72,139,106,8,72,139,66,16,72,137,106,252,248,72,137,2,248,77, |
139 | 233,244,1,248,3,199,66,252,252,237,252,233,244,65,248,78,129,252,248,239, | 139 | 184,237,255,252,233,244,78,248,2,199,66,12,237,252,233,244,1,248,3,199,66, |
140 | 15,130,244,62,139,42,129,122,253,4,239,15,133,244,62,255,131,189,233,0,15, | 140 | 252,252,237,252,233,244,66,248,79,129,252,248,239,15,130,244,63,139,42,129, |
141 | 133,244,62,255,139,106,252,248,139,133,233,139,90,252,252,199,66,252,252, | 141 | 122,253,4,239,15,133,244,63,255,131,189,233,0,15,133,244,63,255,139,106,252, |
142 | 237,137,66,252,248,199,66,12,237,184,237,252,233,244,77,248,79,129,252,248, | 142 | 248,139,133,233,139,90,252,252,199,66,252,252,237,137,66,252,248,199,66,12, |
143 | 239,15,130,244,62,129,122,253,4,239,15,133,244,62,129,122,253,12,239,255, | 143 | 237,184,237,252,233,244,78,248,80,129,252,248,239,15,130,244,63,129,122,253, |
144 | 139,90,252,252,255,139,66,8,131,192,1,199,66,252,252,237,137,66,252,248,255, | 144 | 4,239,15,133,244,63,129,122,253,12,239,255,139,90,252,252,255,139,66,8,131, |
145 | 252,242,15,16,66,8,72,189,237,237,102,72,15,110,205,252,242,15,88,193,252, | 145 | 192,1,199,66,252,252,237,137,66,252,248,255,252,242,15,16,66,8,72,189,237, |
146 | 242,15,45,192,252,242,15,17,66,252,248,255,139,42,59,133,233,15,131,244,248, | 146 | 237,102,72,15,110,205,252,242,15,88,193,252,242,15,45,192,252,242,15,17,66, |
147 | 193,224,3,3,133,233,248,1,129,120,253,4,239,15,132,244,80,72,139,40,72,137, | 147 | 252,248,255,139,42,59,133,233,15,131,244,248,193,224,3,3,133,233,248,1,129, |
148 | 42,252,233,244,76,248,2,131,189,233,0,15,132,244,80,137,252,239,137,213,137, | 148 | 120,253,4,239,15,132,244,81,72,139,40,72,137,42,252,233,244,77,248,2,131, |
149 | 198,232,251,1,15,137,252,234,133,192,15,133,244,1,248,80,184,237,252,233, | 149 | 189,233,0,15,132,244,81,137,252,239,137,213,137,198,232,251,1,15,137,252, |
150 | 244,77,248,81,255,139,106,252,248,139,133,233,139,90,252,252,199,66,252,252, | 150 | 234,133,192,15,133,244,1,248,81,184,237,252,233,244,78,248,82,255,139,106, |
151 | 237,137,66,252,248,255,199,66,12,237,199,66,8,0,0,0,0,255,15,87,192,252,242, | 151 | 252,248,139,133,233,139,90,252,252,199,66,252,252,237,137,66,252,248,255, |
152 | 15,17,66,8,255,217,252,238,221,90,8,255,184,237,252,233,244,77,248,82,129, | 152 | 199,66,12,237,199,66,8,0,0,0,0,255,15,87,192,252,242,15,17,66,8,255,217,252, |
153 | 252,248,239,15,130,244,62,141,74,8,131,232,1,187,237,248,1,65,15,182,174, | 153 | 238,221,90,8,255,184,237,252,233,244,78,248,83,129,252,248,239,15,130,244, |
154 | 233,193,252,237,235,131,229,1,1,252,235,252,233,244,28,248,83,129,252,248, | 154 | 63,141,74,8,131,232,1,187,237,248,1,65,15,182,174,233,193,252,237,235,131, |
155 | 239,15,130,244,62,129,122,253,12,239,15,133,244,62,255,139,106,4,137,106, | 155 | 229,1,1,252,235,252,233,244,28,248,84,129,252,248,239,15,130,244,63,129,122, |
156 | 12,199,66,4,237,139,42,139,90,8,137,106,8,137,26,141,74,16,131,232,2,187, | 156 | 253,12,239,15,133,244,63,255,139,106,4,137,106,12,199,66,4,237,139,42,139, |
157 | 237,252,233,244,1,248,84,129,252,248,239,15,130,244,62,139,42,139,90,252, | 157 | 90,8,137,106,8,137,26,141,74,16,131,232,2,187,237,252,233,244,1,248,85,129, |
158 | 252,137,92,36,28,137,44,36,129,122,253,4,239,15,133,244,62,72,131,189,233, | 158 | 252,248,239,15,130,244,63,139,42,139,90,252,252,137,92,36,28,137,44,36,129, |
159 | 0,15,133,244,62,128,189,233,235,15,135,244,62,139,141,233,15,132,244,247, | 159 | 122,253,4,239,15,133,244,63,72,131,189,233,0,15,133,244,63,128,189,233,235, |
160 | 255,59,141,233,15,132,244,62,248,1,141,92,193,252,240,59,157,233,15,135,244, | 160 | 15,135,244,63,139,141,233,15,132,244,247,255,59,141,233,15,132,244,63,248, |
161 | 62,137,157,233,139,108,36,24,137,149,233,131,194,8,137,149,233,141,108,194, | 161 | 1,141,92,193,252,240,59,157,233,15,135,244,63,137,157,233,139,108,36,24,137, |
162 | 232,72,41,221,57,203,15,132,244,249,248,2,72,139,4,43,72,137,67,252,248,131, | 162 | 149,233,131,194,8,137,149,233,141,108,194,232,72,41,221,57,203,15,132,244, |
163 | 252,235,8,57,203,15,133,244,2,248,3,137,206,139,60,36,232,244,25,65,199,134, | 163 | 249,248,2,72,139,4,43,72,137,67,252,248,131,252,235,8,57,203,15,133,244,2, |
164 | 233,237,255,139,108,36,24,139,28,36,139,149,233,129,252,248,239,15,135,244, | 164 | 248,3,137,206,139,60,36,232,244,25,65,199,134,233,237,255,139,108,36,24,139, |
165 | 254,248,4,139,139,233,68,139,187,233,137,139,233,68,137,252,251,41,203,15, | 165 | 28,36,139,149,233,129,252,248,239,15,135,244,254,248,4,139,139,233,68,139, |
166 | 132,244,252,141,4,26,193,252,235,3,59,133,233,15,135,244,255,137,213,72,41, | 166 | 187,233,137,139,233,68,137,252,251,41,203,15,132,244,252,141,4,26,193,252, |
167 | 205,248,5,72,139,1,72,137,4,41,131,193,8,68,57,252,249,15,133,244,5,248,6, | 167 | 235,3,59,133,233,15,135,244,255,137,213,72,41,205,248,5,72,139,1,72,137,4, |
168 | 141,67,2,199,66,252,252,237,248,7,139,92,36,28,137,68,36,4,72,199,193,252, | 168 | 41,131,193,8,68,57,252,249,15,133,244,5,248,6,141,67,2,199,66,252,252,237, |
169 | 248,252,255,252,255,252,255,252,247,195,237,255,15,132,244,13,252,233,244, | 169 | 248,7,139,92,36,28,137,68,36,4,72,199,193,252,248,252,255,252,255,252,255, |
170 | 14,248,8,199,66,252,252,237,139,139,233,131,252,233,8,137,139,233,72,139, | 170 | 252,247,195,237,255,15,132,244,13,252,233,244,14,248,8,199,66,252,252,237, |
171 | 1,72,137,2,184,237,252,233,244,7,248,9,139,12,36,68,137,185,233,137,222,137, | 171 | 139,139,233,131,252,233,8,137,139,233,72,139,1,72,137,2,184,237,252,233,244, |
172 | 252,239,232,251,1,0,139,28,36,139,149,233,252,233,244,4,248,85,139,106,252, | 172 | 7,248,9,139,12,36,68,137,185,233,137,222,137,252,239,232,251,1,0,139,28,36, |
173 | 248,139,173,233,139,90,252,252,137,92,36,28,137,44,36,72,131,189,233,0,15, | 173 | 139,149,233,252,233,244,4,248,86,139,106,252,248,139,173,233,139,90,252,252, |
174 | 133,244,62,255,128,189,233,235,15,135,244,62,139,141,233,15,132,244,247,59, | 174 | 137,92,36,28,137,44,36,72,131,189,233,0,15,133,244,63,255,128,189,233,235, |
175 | 141,233,15,132,244,62,248,1,141,92,193,252,248,59,157,233,15,135,244,62,137, | 175 | 15,135,244,63,139,141,233,15,132,244,247,59,141,233,15,132,244,63,248,1,141, |
176 | 157,233,139,108,36,24,137,149,233,137,149,233,141,108,194,252,240,72,41,221, | 176 | 92,193,252,248,59,157,233,15,135,244,63,137,157,233,139,108,36,24,137,149, |
177 | 57,203,15,132,244,249,248,2,255,72,139,4,43,72,137,67,252,248,131,252,235, | 177 | 233,137,149,233,141,108,194,252,240,72,41,221,57,203,15,132,244,249,248,2, |
178 | 8,57,203,15,133,244,2,248,3,137,206,139,60,36,232,244,25,65,199,134,233,237, | 178 | 255,72,139,4,43,72,137,67,252,248,131,252,235,8,57,203,15,133,244,2,248,3, |
179 | 139,108,36,24,139,28,36,139,149,233,129,252,248,239,15,135,244,254,248,4, | 179 | 137,206,139,60,36,232,244,25,65,199,134,233,237,139,108,36,24,139,28,36,139, |
180 | 139,139,233,68,139,187,233,137,139,233,68,137,252,251,41,203,15,132,244,252, | 180 | 149,233,129,252,248,239,15,135,244,254,248,4,139,139,233,68,139,187,233,137, |
181 | 141,4,26,193,252,235,3,59,133,233,15,135,244,255,255,137,213,72,41,205,248, | 181 | 139,233,68,137,252,251,41,203,15,132,244,252,141,4,26,193,252,235,3,59,133, |
182 | 5,72,139,1,72,137,4,41,131,193,8,68,57,252,249,15,133,244,5,248,6,141,67, | 182 | 233,15,135,244,255,255,137,213,72,41,205,248,5,72,139,1,72,137,4,41,131,193, |
183 | 1,248,7,139,92,36,28,137,68,36,4,49,201,252,247,195,237,15,132,244,13,252, | 183 | 8,68,57,252,249,15,133,244,5,248,6,141,67,1,248,7,139,92,36,28,137,68,36, |
184 | 233,244,14,248,8,137,222,137,252,239,232,251,1,16,248,9,139,12,36,68,137, | 184 | 4,49,201,252,247,195,237,15,132,244,13,252,233,244,14,248,8,137,222,137,252, |
185 | 185,233,137,222,137,252,239,232,251,1,0,139,28,36,139,149,233,252,233,244, | 185 | 239,232,251,1,16,248,9,139,12,36,68,137,185,233,137,222,137,252,239,232,251, |
186 | 4,248,86,139,108,36,24,72,252,247,133,233,237,15,132,244,62,255,137,149,233, | 186 | 1,0,139,28,36,139,149,233,252,233,244,4,248,87,139,108,36,24,72,252,247,133, |
187 | 141,68,194,252,248,137,133,233,49,192,72,137,133,233,176,235,136,133,233, | 187 | 233,237,15,132,244,63,255,137,149,233,141,68,194,252,248,137,133,233,49,192, |
188 | 252,233,244,16,255,248,70,255,248,72,139,90,252,252,221,90,252,248,252,233, | 188 | 72,137,133,233,176,235,136,133,233,252,233,244,16,255,248,71,255,248,73,139, |
189 | 244,65,255,248,87,129,252,248,239,15,130,244,62,255,129,122,253,4,239,15, | 189 | 90,252,252,221,90,252,248,252,233,244,66,255,248,88,129,252,248,239,15,130, |
190 | 133,244,248,139,42,131,252,253,0,15,137,244,70,252,247,221,15,136,244,247, | 190 | 244,63,255,129,122,253,4,239,15,133,244,248,139,42,131,252,253,0,15,137,244, |
191 | 248,88,248,70,139,90,252,252,199,66,252,252,237,137,106,252,248,252,233,244, | 191 | 71,252,247,221,15,136,244,247,248,89,248,71,139,90,252,252,199,66,252,252, |
192 | 65,248,1,139,90,252,252,199,66,252,252,0,0,224,65,199,66,252,248,0,0,0,0, | 192 | 237,137,106,252,248,252,233,244,66,248,1,139,90,252,252,199,66,252,252,0, |
193 | 252,233,244,65,248,2,15,135,244,62,255,129,122,253,4,239,15,131,244,62,255, | 193 | 0,224,65,199,66,252,248,0,0,0,0,252,233,244,66,248,2,15,135,244,63,255,129, |
194 | 252,242,15,16,2,72,184,237,237,102,72,15,110,200,15,84,193,248,71,139,90, | 194 | 122,253,4,239,15,131,244,63,255,252,242,15,16,2,72,184,237,237,102,72,15, |
195 | 252,252,252,242,15,17,66,252,248,255,221,2,217,225,248,71,248,72,139,90,252, | 195 | 110,200,15,84,193,248,72,139,90,252,252,252,242,15,17,66,252,248,255,221, |
196 | 252,221,90,252,248,255,248,65,184,237,248,77,137,68,36,4,248,63,252,247,195, | 196 | 2,217,225,248,72,248,73,139,90,252,252,221,90,252,248,255,248,66,184,237, |
197 | 237,15,133,244,253,248,5,56,67,252,255,15,135,244,252,15,182,75,252,253,72, | 197 | 248,78,137,68,36,4,248,64,252,247,195,237,15,133,244,253,248,5,56,67,252, |
198 | 252,247,209,141,20,202,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65, | 198 | 255,15,135,244,252,15,182,75,252,253,72,252,247,209,141,20,202,139,3,15,182, |
199 | 252,255,36,252,238,248,6,199,68,194,252,244,237,131,192,1,252,233,244,5,248, | 199 | 204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,248,6,199,68,194, |
200 | 7,72,199,193,252,248,252,255,252,255,252,255,252,233,244,14,248,89,255,129, | 200 | 252,244,237,131,192,1,252,233,244,5,248,7,72,199,193,252,248,252,255,252, |
201 | 122,253,4,239,15,133,244,247,139,42,252,233,244,70,248,1,15,135,244,62,255, | 201 | 255,252,255,252,233,244,14,248,90,255,129,122,253,4,239,15,133,244,247,139, |
202 | 252,242,15,16,2,232,244,90,255,252,242,15,45,232,129,252,253,0,0,0,128,15, | 202 | 42,252,233,244,71,248,1,15,135,244,63,255,252,242,15,16,2,232,244,91,255, |
203 | 133,244,70,252,242,15,42,205,102,15,46,193,15,138,244,71,15,132,244,70,255, | 203 | 252,242,15,45,232,129,252,253,0,0,0,128,15,133,244,71,252,242,15,42,205,102, |
204 | 221,2,232,244,90,255,248,91,255,252,242,15,16,2,232,244,92,255,221,2,232, | 204 | 15,46,193,15,138,244,72,15,132,244,71,255,221,2,232,244,91,255,248,92,255, |
205 | 244,92,255,248,93,129,252,248,239,15,130,244,62,129,122,253,4,239,15,131, | 205 | 252,242,15,16,2,232,244,93,255,221,2,232,244,93,255,248,94,129,252,248,239, |
206 | 244,62,252,242,15,81,2,252,233,244,71,255,248,93,129,252,248,239,15,130,244, | 206 | 15,130,244,63,129,122,253,4,239,15,131,244,63,252,242,15,81,2,252,233,244, |
207 | 62,129,122,253,4,239,15,131,244,62,221,2,217,252,250,252,233,244,72,255,248, | 207 | 72,255,248,94,129,252,248,239,15,130,244,63,129,122,253,4,239,15,131,244, |
208 | 94,129,252,248,239,15,130,244,62,129,122,253,4,239,15,131,244,62,217,252, | 208 | 63,221,2,217,252,250,252,233,244,73,255,248,95,129,252,248,239,15,130,244, |
209 | 237,221,2,217,252,241,252,233,244,72,248,95,129,252,248,239,15,130,244,62, | 209 | 63,129,122,253,4,239,15,131,244,63,217,252,237,221,2,217,252,241,252,233, |
210 | 129,122,253,4,239,15,131,244,62,217,252,236,221,2,217,252,241,252,233,244, | 210 | 244,73,248,96,129,252,248,239,15,130,244,63,129,122,253,4,239,15,131,244, |
211 | 72,248,96,129,252,248,239,255,15,130,244,62,129,122,253,4,239,15,131,244, | 211 | 63,217,252,236,221,2,217,252,241,252,233,244,73,248,97,129,252,248,239,255, |
212 | 62,221,2,232,244,97,252,233,244,72,248,98,129,252,248,239,15,130,244,62,129, | 212 | 15,130,244,63,129,122,253,4,239,15,131,244,63,221,2,232,244,98,252,233,244, |
213 | 122,253,4,239,15,131,244,62,221,2,217,252,254,252,233,244,72,248,99,129,252, | 213 | 73,248,99,129,252,248,239,15,130,244,63,129,122,253,4,239,15,131,244,63,221, |
214 | 248,239,255,15,130,244,62,129,122,253,4,239,15,131,244,62,221,2,217,252,255, | 214 | 2,217,252,254,252,233,244,73,248,100,129,252,248,239,255,15,130,244,63,129, |
215 | 252,233,244,72,248,100,129,252,248,239,15,130,244,62,129,122,253,4,239,15, | 215 | 122,253,4,239,15,131,244,63,221,2,217,252,255,252,233,244,73,248,101,129, |
216 | 131,244,62,221,2,217,252,242,221,216,252,233,244,72,248,101,129,252,248,239, | 216 | 252,248,239,15,130,244,63,129,122,253,4,239,15,131,244,63,221,2,217,252,242, |
217 | 15,130,244,62,255,129,122,253,4,239,15,131,244,62,221,2,217,192,216,200,217, | 217 | 221,216,252,233,244,73,248,102,129,252,248,239,15,130,244,63,255,129,122, |
218 | 232,222,225,217,252,250,217,252,243,252,233,244,72,248,102,129,252,248,239, | 218 | 253,4,239,15,131,244,63,221,2,217,192,216,200,217,232,222,225,217,252,250, |
219 | 15,130,244,62,129,122,253,4,239,15,131,244,62,221,2,217,192,216,200,217,232, | 219 | 217,252,243,252,233,244,73,248,103,129,252,248,239,15,130,244,63,129,122, |
220 | 222,225,217,252,250,217,201,217,252,243,252,233,244,72,248,103,129,252,248, | 220 | 253,4,239,15,131,244,63,221,2,217,192,216,200,217,232,222,225,217,252,250, |
221 | 239,15,130,244,62,129,122,253,4,239,15,131,244,62,255,221,2,217,232,217,252, | 221 | 217,201,217,252,243,252,233,244,73,248,104,129,252,248,239,15,130,244,63, |
222 | 243,252,233,244,72,255,248,104,129,252,248,239,15,130,244,62,129,122,253, | 222 | 129,122,253,4,239,15,131,244,63,255,221,2,217,232,217,252,243,252,233,244, |
223 | 4,239,15,131,244,62,252,242,15,16,2,255,137,213,232,251,1,17,137,252,234, | 223 | 73,255,248,105,129,252,248,239,15,130,244,63,129,122,253,4,239,15,131,244, |
224 | 252,233,244,71,255,248,105,129,252,248,239,15,130,244,62,129,122,253,4,239, | 224 | 63,252,242,15,16,2,255,137,213,232,251,1,17,137,252,234,252,233,244,72,255, |
225 | 15,131,244,62,252,242,15,16,2,255,137,213,232,251,1,18,137,252,234,252,233, | 225 | 248,106,129,252,248,239,15,130,244,63,129,122,253,4,239,15,131,244,63,252, |
226 | 244,71,255,248,106,129,252,248,239,15,130,244,62,129,122,253,4,239,15,131, | 226 | 242,15,16,2,255,137,213,232,251,1,18,137,252,234,252,233,244,72,255,248,107, |
227 | 244,62,252,242,15,16,2,255,137,213,232,251,1,19,137,252,234,252,233,244,71, | 227 | 129,252,248,239,15,130,244,63,129,122,253,4,239,15,131,244,63,252,242,15, |
228 | 248,107,255,248,108,129,252,248,239,15,130,244,62,129,122,253,4,239,15,131, | 228 | 16,2,255,137,213,232,251,1,19,137,252,234,252,233,244,72,248,108,255,248, |
229 | 244,62,252,242,15,16,2,139,106,252,248,252,242,15,89,133,233,252,233,244, | 229 | 109,129,252,248,239,15,130,244,63,129,122,253,4,239,15,131,244,63,252,242, |
230 | 71,255,248,108,129,252,248,239,15,130,244,62,129,122,253,4,239,15,131,244, | 230 | 15,16,2,139,106,252,248,252,242,15,89,133,233,252,233,244,72,255,248,109, |
231 | 62,221,2,139,106,252,248,220,141,233,252,233,244,72,255,248,109,129,252,248, | 231 | 129,252,248,239,15,130,244,63,129,122,253,4,239,15,131,244,63,221,2,139,106, |
232 | 239,15,130,244,62,129,122,253,4,239,15,131,244,62,129,122,253,12,239,15,131, | 232 | 252,248,220,141,233,252,233,244,73,255,248,110,129,252,248,239,15,130,244, |
233 | 244,62,221,2,221,66,8,217,252,243,252,233,244,72,248,110,129,252,248,239, | 233 | 63,129,122,253,4,239,15,131,244,63,129,122,253,12,239,15,131,244,63,221,2, |
234 | 15,130,244,62,129,122,253,4,239,15,131,244,62,129,122,253,12,239,255,15,131, | 234 | 221,66,8,217,252,243,252,233,244,73,248,111,129,252,248,239,15,130,244,63, |
235 | 244,62,221,66,8,221,2,217,252,253,221,217,252,233,244,72,248,111,129,252, | 235 | 129,122,253,4,239,15,131,244,63,129,122,253,12,239,255,15,131,244,63,221, |
236 | 248,239,15,130,244,62,139,106,4,129,252,253,239,15,131,244,62,139,90,252, | 236 | 66,8,221,2,217,252,253,221,217,252,233,244,73,248,112,129,252,248,239,15, |
237 | 252,139,2,137,106,252,252,137,66,252,248,209,229,129,252,253,0,0,224,252, | 237 | 130,244,63,139,106,4,129,252,253,239,15,131,244,63,139,90,252,252,139,2,137, |
238 | 255,15,131,244,249,9,232,15,132,244,249,184,252,254,3,0,0,129,252,253,0,0, | 238 | 106,252,252,137,66,252,248,209,229,129,252,253,0,0,224,252,255,15,131,244, |
239 | 32,0,15,130,244,250,248,1,193,252,237,21,41,197,255,252,242,15,42,197,255, | 239 | 249,9,232,15,132,244,249,184,252,254,3,0,0,129,252,253,0,0,32,0,15,130,244, |
240 | 137,44,36,219,4,36,255,139,106,252,252,129,229,252,255,252,255,15,128,129, | 240 | 250,248,1,193,252,237,21,41,197,255,252,242,15,42,197,255,137,44,36,219,4, |
241 | 205,0,0,224,63,137,106,252,252,248,2,255,252,242,15,17,2,255,221,26,255,184, | 241 | 36,255,139,106,252,252,129,229,252,255,252,255,15,128,129,205,0,0,224,63, |
242 | 237,252,233,244,77,248,3,255,15,87,192,252,233,244,2,255,217,252,238,252, | 242 | 137,106,252,252,248,2,255,252,242,15,17,2,255,221,26,255,184,237,252,233, |
243 | 233,244,2,255,248,4,255,252,242,15,16,2,72,189,237,237,102,72,15,110,205, | 243 | 244,78,248,3,255,15,87,192,252,233,244,2,255,217,252,238,252,233,244,2,255, |
244 | 252,242,15,89,193,252,242,15,17,66,252,248,255,221,2,199,4,36,0,0,128,90, | 244 | 248,4,255,252,242,15,16,2,72,189,237,237,102,72,15,110,205,252,242,15,89, |
245 | 216,12,36,221,90,252,248,255,139,106,252,252,184,52,4,0,0,209,229,252,233, | 245 | 193,252,242,15,17,66,252,248,255,221,2,199,4,36,0,0,128,90,216,12,36,221, |
246 | 244,1,255,248,112,129,252,248,239,15,130,244,62,129,122,253,4,239,15,131, | 246 | 90,252,248,255,139,106,252,252,184,52,4,0,0,209,229,252,233,244,1,255,248, |
247 | 244,62,252,242,15,16,2,255,248,112,129,252,248,239,15,130,244,62,129,122, | 247 | 113,129,252,248,239,15,130,244,63,129,122,253,4,239,15,131,244,63,252,242, |
248 | 253,4,239,15,131,244,62,221,2,255,139,106,4,139,90,252,252,209,229,129,252, | 248 | 15,16,2,255,248,113,129,252,248,239,15,130,244,63,129,122,253,4,239,15,131, |
249 | 253,0,0,224,252,255,15,132,244,250,255,15,40,224,232,244,113,252,242,15,92, | 249 | 244,63,221,2,255,139,106,4,139,90,252,252,209,229,129,252,253,0,0,224,252, |
250 | 224,248,1,252,242,15,17,66,252,248,252,242,15,17,34,255,217,192,232,244,113, | 250 | 255,15,132,244,250,255,15,40,224,232,244,114,252,242,15,92,224,248,1,252, |
251 | 220,252,233,248,1,221,90,252,248,221,26,255,139,66,252,252,139,106,4,49,232, | 251 | 242,15,17,66,252,248,252,242,15,17,34,255,217,192,232,244,114,220,252,233, |
252 | 15,136,244,249,248,2,184,237,252,233,244,77,248,3,129,252,245,0,0,0,128,137, | 252 | 248,1,221,90,252,248,221,26,255,139,66,252,252,139,106,4,49,232,15,136,244, |
253 | 106,4,252,233,244,2,248,4,255,15,87,228,252,233,244,1,255,217,252,238,217, | 253 | 249,248,2,184,237,252,233,244,78,248,3,129,252,245,0,0,0,128,137,106,4,252, |
254 | 201,252,233,244,1,255,248,114,129,252,248,239,15,130,244,62,129,122,253,4, | 254 | 233,244,2,248,4,255,15,87,228,252,233,244,1,255,217,252,238,217,201,252,233, |
255 | 239,15,131,244,62,129,122,253,12,239,15,131,244,62,221,66,8,221,2,248,1,217, | 255 | 244,1,255,248,115,129,252,248,239,15,130,244,63,129,122,253,4,239,15,131, |
256 | 252,248,223,224,158,15,138,244,1,221,217,252,233,244,72,255,248,115,129,252, | 256 | 244,63,129,122,253,12,239,15,131,244,63,221,66,8,221,2,248,1,217,252,248, |
257 | 248,239,15,130,244,62,129,122,253,4,239,15,131,244,62,129,122,253,12,239, | 257 | 223,224,158,15,138,244,1,221,217,252,233,244,73,255,248,116,129,252,248,239, |
258 | 15,131,244,62,252,242,15,16,2,252,242,15,16,74,8,232,244,116,252,233,244, | 258 | 15,130,244,63,129,122,253,4,239,15,131,244,63,129,122,253,12,239,15,131,244, |
259 | 71,255,248,115,129,252,248,239,15,130,244,62,129,122,253,4,239,15,131,244, | 259 | 63,252,242,15,16,2,252,242,15,16,74,8,232,244,117,252,233,244,72,255,248, |
260 | 62,129,122,253,12,239,15,131,244,62,221,2,221,66,8,232,244,116,252,233,244, | 260 | 116,129,252,248,239,15,130,244,63,129,122,253,4,239,15,131,244,63,129,122, |
261 | 72,255,248,117,185,2,0,0,0,129,122,253,4,239,255,15,133,244,250,139,42,248, | 261 | 253,12,239,15,131,244,63,221,2,221,66,8,232,244,117,252,233,244,73,255,248, |
262 | 1,57,193,15,131,244,70,129,124,253,202,252,252,239,15,133,244,249,59,108, | 262 | 118,185,2,0,0,0,129,122,253,4,239,255,15,133,244,250,139,42,248,1,57,193, |
263 | 202,252,248,15,79,108,202,252,248,131,193,1,252,233,244,1,248,3,15,135,244, | 263 | 15,131,244,71,129,124,253,202,252,252,239,15,133,244,249,59,108,202,252,248, |
264 | 62,255,252,233,244,252,248,4,15,135,244,62,255,252,242,15,16,2,248,5,57,193, | 264 | 15,79,108,202,252,248,131,193,1,252,233,244,1,248,3,15,135,244,63,255,252, |
265 | 15,131,244,71,129,124,253,202,252,252,239,255,15,130,244,252,15,135,244,62, | 265 | 233,244,252,248,4,15,135,244,63,255,252,242,15,16,2,248,5,57,193,15,131,244, |
266 | 252,242,15,42,76,202,252,248,252,233,244,253,255,248,6,252,242,15,16,76,202, | 266 | 72,129,124,253,202,252,252,239,255,15,130,244,252,15,135,244,63,252,242,15, |
267 | 252,248,248,7,252,242,15,93,193,131,193,1,252,233,244,5,255,248,118,185,2, | 267 | 42,76,202,252,248,252,233,244,253,255,248,6,252,242,15,16,76,202,252,248, |
268 | 0,0,0,129,122,253,4,239,255,15,133,244,250,139,42,248,1,57,193,15,131,244, | 268 | 248,7,252,242,15,93,193,131,193,1,252,233,244,5,255,248,119,185,2,0,0,0,129, |
269 | 70,129,124,253,202,252,252,239,15,133,244,249,59,108,202,252,248,15,76,108, | 269 | 122,253,4,239,255,15,133,244,250,139,42,248,1,57,193,15,131,244,71,129,124, |
270 | 202,252,248,131,193,1,252,233,244,1,248,3,15,135,244,62,255,248,6,252,242, | 270 | 253,202,252,252,239,15,133,244,249,59,108,202,252,248,15,76,108,202,252,248, |
271 | 15,16,76,202,252,248,248,7,252,242,15,95,193,131,193,1,252,233,244,5,255, | 271 | 131,193,1,252,233,244,1,248,3,15,135,244,63,255,248,6,252,242,15,16,76,202, |
272 | 248,9,221,216,252,233,244,62,255,248,119,129,252,248,239,15,130,244,62,129, | 272 | 252,248,248,7,252,242,15,95,193,131,193,1,252,233,244,5,255,248,9,221,216, |
273 | 122,253,4,239,15,133,244,62,139,42,255,139,173,233,252,233,244,70,255,252, | 273 | 252,233,244,63,255,248,120,129,252,248,239,15,130,244,63,129,122,253,4,239, |
274 | 242,15,42,133,233,252,233,244,71,255,219,133,233,252,233,244,72,255,248,120, | 274 | 15,133,244,63,139,42,255,139,173,233,252,233,244,71,255,252,242,15,42,133, |
275 | 129,252,248,239,15,133,244,62,129,122,253,4,239,15,133,244,62,139,42,139, | 275 | 233,252,233,244,72,255,219,133,233,252,233,244,73,255,248,121,129,252,248, |
276 | 90,252,252,131,189,233,1,15,130,244,80,15,182,173,233,255,252,242,15,42,197, | 276 | 239,15,133,244,63,129,122,253,4,239,15,133,244,63,139,42,139,90,252,252,131, |
277 | 252,233,244,71,255,137,44,36,219,4,36,252,233,244,72,255,248,121,65,139,174, | 277 | 189,233,1,15,130,244,81,15,182,173,233,255,252,242,15,42,197,252,233,244, |
278 | 233,65,59,174,233,15,130,244,247,232,244,74,248,1,129,252,248,239,15,133, | 278 | 72,255,137,44,36,219,4,36,252,233,244,73,255,248,122,65,139,174,233,65,59, |
279 | 244,62,129,122,253,4,239,255,15,133,244,62,139,42,129,252,253,252,255,0,0, | 279 | 174,233,15,130,244,247,232,244,75,248,1,129,252,248,239,15,133,244,63,129, |
280 | 0,15,135,244,62,137,108,36,4,255,15,131,244,62,252,242,15,44,42,129,252,253, | 280 | 122,253,4,239,255,15,133,244,63,139,42,129,252,253,252,255,0,0,0,15,135,244, |
281 | 252,255,0,0,0,15,135,244,62,137,108,36,4,255,15,131,244,62,221,2,219,92,36, | 281 | 63,137,108,36,4,255,15,131,244,63,252,242,15,44,42,129,252,253,252,255,0, |
282 | 4,129,124,36,4,252,255,0,0,0,15,135,244,62,255,199,68,36,8,1,0,0,0,72,141, | 282 | 0,0,15,135,244,63,137,108,36,4,255,15,131,244,63,221,2,219,92,36,4,129,124, |
283 | 68,36,4,248,122,139,108,36,24,137,149,233,139,84,36,8,72,137,198,137,252, | 283 | 36,4,252,255,0,0,0,15,135,244,63,255,199,68,36,8,1,0,0,0,72,141,68,36,4,248, |
284 | 239,137,92,36,28,232,251,1,20,139,149,233,139,90,252,252,199,66,252,252,237, | 284 | 123,139,108,36,24,137,149,233,139,84,36,8,72,137,198,137,252,239,137,92,36, |
285 | 137,66,252,248,252,233,244,65,248,123,65,139,174,233,65,59,174,233,15,130, | 285 | 28,232,251,1,20,139,149,233,139,90,252,252,199,66,252,252,237,137,66,252, |
286 | 244,247,232,244,74,248,1,199,68,36,4,252,255,252,255,252,255,252,255,129, | 286 | 248,252,233,244,66,248,124,65,139,174,233,65,59,174,233,15,130,244,247,232, |
287 | 252,248,239,15,130,244,62,15,134,244,247,129,122,253,20,239,255,15,133,244, | 287 | 244,75,248,1,199,68,36,4,252,255,252,255,252,255,252,255,129,252,248,239, |
288 | 62,139,106,16,137,108,36,4,255,15,131,244,62,252,242,15,44,106,16,137,108, | 288 | 15,130,244,63,15,134,244,247,129,122,253,20,239,255,15,133,244,63,139,106, |
289 | 36,4,255,15,131,244,62,221,66,16,219,92,36,4,255,248,1,129,122,253,4,239, | 289 | 16,137,108,36,4,255,15,131,244,63,252,242,15,44,106,16,137,108,36,4,255,15, |
290 | 15,133,244,62,129,122,253,12,239,255,139,42,137,108,36,8,139,173,233,255, | 290 | 131,244,63,221,66,16,219,92,36,4,255,248,1,129,122,253,4,239,15,133,244,63, |
291 | 139,74,8,255,252,242,15,44,74,8,255,139,68,36,4,57,197,15,130,244,251,248, | 291 | 129,122,253,12,239,255,139,42,137,108,36,8,139,173,233,255,139,74,8,255,252, |
292 | 2,133,201,15,142,244,253,248,3,139,108,36,8,41,200,15,140,244,124,141,172, | 292 | 242,15,44,74,8,255,139,68,36,4,57,197,15,130,244,251,248,2,133,201,15,142, |
293 | 253,13,233,131,192,1,248,4,137,68,36,8,137,232,252,233,244,122,248,5,15,140, | 293 | 244,253,248,3,139,108,36,8,41,200,15,140,244,125,141,172,253,13,233,131,192, |
294 | 244,252,141,68,40,1,252,233,244,2,248,6,137,232,252,233,244,2,248,7,255,15, | 294 | 1,248,4,137,68,36,8,137,232,252,233,244,123,248,5,15,140,244,252,141,68,40, |
295 | 132,244,254,1,252,233,131,193,1,15,143,244,3,248,8,185,1,0,0,0,252,233,244, | 295 | 1,252,233,244,2,248,6,137,232,252,233,244,2,248,7,255,15,132,244,254,1,252, |
296 | 3,248,124,49,192,252,233,244,4,248,125,129,252,248,239,15,130,244,62,65,139, | 296 | 233,131,193,1,15,143,244,3,248,8,185,1,0,0,0,252,233,244,3,248,125,49,192, |
297 | 174,233,65,59,174,233,15,130,244,247,232,244,74,248,1,255,129,122,253,4,239, | 297 | 252,233,244,4,248,126,129,252,248,239,15,130,244,63,65,139,174,233,65,59, |
298 | 15,133,244,62,129,122,253,12,239,139,42,255,15,133,244,62,139,66,8,255,15, | 298 | 174,233,15,130,244,247,232,244,75,248,1,255,129,122,253,4,239,15,133,244, |
299 | 131,244,62,252,242,15,44,66,8,255,15,131,244,62,221,66,8,219,92,36,4,139, | 299 | 63,129,122,253,12,239,139,42,255,15,133,244,63,139,66,8,255,15,131,244,63, |
300 | 68,36,4,255,133,192,15,142,244,124,131,189,233,1,15,130,244,124,15,133,244, | 300 | 252,242,15,44,66,8,255,15,131,244,63,221,66,8,219,92,36,4,139,68,36,4,255, |
301 | 126,65,57,134,233,15,130,244,126,15,182,141,233,65,139,174,233,137,68,36, | 301 | 133,192,15,142,244,125,131,189,233,1,15,130,244,125,15,133,244,127,65,57, |
302 | 8,248,1,136,77,0,131,197,1,131,232,1,15,133,244,1,65,139,134,233,252,233, | 302 | 134,233,15,130,244,127,15,182,141,233,65,139,174,233,137,68,36,8,248,1,136, |
303 | 244,122,248,127,129,252,248,239,255,15,130,244,62,65,139,174,233,65,59,174, | 303 | 77,0,131,197,1,131,232,1,15,133,244,1,65,139,134,233,252,233,244,123,248, |
304 | 233,15,130,244,247,232,244,74,248,1,129,122,253,4,239,15,133,244,62,139,42, | 304 | 128,129,252,248,239,255,15,130,244,63,65,139,174,233,65,59,174,233,15,130, |
305 | 139,133,233,133,192,15,132,244,124,65,57,134,233,15,130,244,128,129,197,239, | 305 | 244,247,232,244,75,248,1,129,122,253,4,239,15,133,244,63,139,42,139,133,233, |
306 | 137,92,36,4,137,68,36,8,65,139,158,233,248,1,255,15,182,77,0,131,197,1,131, | 306 | 133,192,15,132,244,125,65,57,134,233,15,130,244,129,129,197,239,137,92,36, |
307 | 232,1,136,12,3,15,133,244,1,137,216,139,92,36,4,252,233,244,122,248,129,129, | 307 | 4,137,68,36,8,65,139,158,233,248,1,255,15,182,77,0,131,197,1,131,232,1,136, |
308 | 252,248,239,15,130,244,62,65,139,174,233,65,59,174,233,15,130,244,247,232, | 308 | 12,3,15,133,244,1,137,216,139,92,36,4,252,233,244,123,248,130,129,252,248, |
309 | 244,74,248,1,129,122,253,4,239,15,133,244,62,139,42,139,133,233,65,57,134, | 309 | 239,15,130,244,63,65,139,174,233,65,59,174,233,15,130,244,247,232,244,75, |
310 | 233,255,15,130,244,128,129,197,239,137,92,36,4,137,68,36,8,65,139,158,233, | 310 | 248,1,129,122,253,4,239,15,133,244,63,139,42,139,133,233,65,57,134,233,255, |
311 | 252,233,244,249,248,1,15,182,76,5,0,131,252,249,65,15,130,244,248,131,252, | 311 | 15,130,244,129,129,197,239,137,92,36,4,137,68,36,8,65,139,158,233,252,233, |
312 | 249,90,15,135,244,248,131,252,241,32,248,2,136,12,3,248,3,131,232,1,15,137, | 312 | 244,249,248,1,15,182,76,5,0,131,252,249,65,15,130,244,248,131,252,249,90, |
313 | 244,1,137,216,139,92,36,4,252,233,244,122,248,130,129,252,248,239,15,130, | 313 | 15,135,244,248,131,252,241,32,248,2,136,12,3,248,3,131,232,1,15,137,244,1, |
314 | 244,62,255,65,139,174,233,65,59,174,233,15,130,244,247,232,244,74,248,1,129, | 314 | 137,216,139,92,36,4,252,233,244,123,248,131,129,252,248,239,15,130,244,63, |
315 | 122,253,4,239,15,133,244,62,139,42,139,133,233,65,57,134,233,15,130,244,128, | 315 | 255,65,139,174,233,65,59,174,233,15,130,244,247,232,244,75,248,1,129,122, |
316 | 129,197,239,137,92,36,4,137,68,36,8,65,139,158,233,252,233,244,249,248,1, | 316 | 253,4,239,15,133,244,63,139,42,139,133,233,65,57,134,233,15,130,244,129,129, |
317 | 15,182,76,5,0,131,252,249,97,15,130,244,248,255,131,252,249,122,15,135,244, | 317 | 197,239,137,92,36,4,137,68,36,8,65,139,158,233,252,233,244,249,248,1,15,182, |
318 | 248,131,252,241,32,248,2,136,12,3,248,3,131,232,1,15,137,244,1,137,216,139, | 318 | 76,5,0,131,252,249,97,15,130,244,248,255,131,252,249,122,15,135,244,248,131, |
319 | 92,36,4,252,233,244,122,248,131,129,252,248,239,15,130,244,62,129,122,253, | 319 | 252,241,32,248,2,136,12,3,248,3,131,232,1,15,137,244,1,137,216,139,92,36, |
320 | 4,239,15,133,244,62,137,213,139,58,232,251,1,21,137,252,234,255,137,197,252, | 320 | 4,252,233,244,123,248,132,129,252,248,239,15,130,244,63,129,122,253,4,239, |
321 | 233,244,70,255,252,242,15,42,192,252,233,244,71,255,248,132,129,252,248,239, | 321 | 15,133,244,63,137,213,139,58,232,251,1,21,137,252,234,255,137,197,252,233, |
322 | 15,130,244,62,129,122,253,4,239,255,15,133,244,247,139,42,252,233,244,88, | 322 | 244,71,255,252,242,15,42,192,252,233,244,72,255,248,133,129,252,248,239,15, |
323 | 248,1,15,135,244,62,255,252,242,15,16,2,72,189,237,237,102,72,15,110,205, | 323 | 130,244,63,129,122,253,4,239,255,15,133,244,247,139,42,252,233,244,89,248, |
324 | 252,242,15,88,193,102,15,126,197,255,252,233,244,88,255,248,133,129,252,248, | 324 | 1,15,135,244,63,255,252,242,15,16,2,72,189,237,237,102,72,15,110,205,252, |
325 | 239,15,130,244,62,255,72,189,237,237,102,72,15,110,205,255,199,4,36,0,0,192, | 325 | 242,15,88,193,102,15,126,197,255,252,233,244,89,255,248,134,129,252,248,239, |
326 | 89,255,15,133,244,247,139,42,252,233,244,248,248,1,15,135,244,62,255,252, | 326 | 15,130,244,63,255,72,189,237,237,102,72,15,110,205,255,199,4,36,0,0,192,89, |
327 | 242,15,16,2,252,242,15,88,193,102,15,126,197,255,248,2,137,68,36,4,141,68, | 327 | 255,15,133,244,247,139,42,252,233,244,248,248,1,15,135,244,63,255,252,242, |
328 | 194,252,240,248,1,57,208,15,134,244,88,129,120,253,4,239,255,15,133,244,248, | 328 | 15,16,2,252,242,15,88,193,102,15,126,197,255,248,2,137,68,36,4,141,68,194, |
329 | 35,40,131,232,8,252,233,244,1,248,2,15,135,244,134,255,15,131,244,134,255, | 329 | 252,240,248,1,57,208,15,134,244,89,129,120,253,4,239,255,15,133,244,248,35, |
330 | 252,242,15,16,0,252,242,15,88,193,102,15,126,193,33,205,255,131,232,8,252, | 330 | 40,131,232,8,252,233,244,1,248,2,15,135,244,135,255,15,131,244,135,255,252, |
331 | 233,244,1,248,135,129,252,248,239,15,130,244,62,255,15,133,244,248,11,40, | 331 | 242,15,16,0,252,242,15,88,193,102,15,126,193,33,205,255,131,232,8,252,233, |
332 | 131,232,8,252,233,244,1,248,2,15,135,244,134,255,252,242,15,16,0,252,242, | 332 | 244,1,248,136,129,252,248,239,15,130,244,63,255,15,133,244,248,11,40,131, |
333 | 15,88,193,102,15,126,193,9,205,255,131,232,8,252,233,244,1,248,136,129,252, | 333 | 232,8,252,233,244,1,248,2,15,135,244,135,255,252,242,15,16,0,252,242,15,88, |
334 | 248,239,15,130,244,62,255,15,133,244,248,51,40,131,232,8,252,233,244,1,248, | 334 | 193,102,15,126,193,9,205,255,131,232,8,252,233,244,1,248,137,129,252,248, |
335 | 2,15,135,244,134,255,252,242,15,16,0,252,242,15,88,193,102,15,126,193,49, | 335 | 239,15,130,244,63,255,15,133,244,248,51,40,131,232,8,252,233,244,1,248,2, |
336 | 205,255,131,232,8,252,233,244,1,248,137,129,252,248,239,15,130,244,62,129, | 336 | 15,135,244,135,255,252,242,15,16,0,252,242,15,88,193,102,15,126,193,49,205, |
337 | 122,253,4,239,255,248,2,15,205,252,233,244,88,248,138,129,252,248,239,15, | 337 | 255,131,232,8,252,233,244,1,248,138,129,252,248,239,15,130,244,63,129,122, |
338 | 130,244,62,129,122,253,4,239,255,248,2,252,247,213,255,248,88,252,242,15, | 338 | 253,4,239,255,248,2,15,205,252,233,244,89,248,139,129,252,248,239,15,130, |
339 | 42,197,252,233,244,71,255,248,134,139,68,36,4,252,233,244,62,255,248,139, | 339 | 244,63,129,122,253,4,239,255,248,2,252,247,213,255,248,89,252,242,15,42,197, |
340 | 129,252,248,239,15,130,244,62,129,122,253,4,239,255,248,2,129,122,253,12, | 340 | 252,233,244,72,255,248,135,139,68,36,4,252,233,244,63,255,248,140,129,252, |
341 | 239,15,133,244,62,139,74,8,255,248,139,129,252,248,239,15,130,244,62,129, | 341 | 248,239,15,130,244,63,129,122,253,4,239,255,248,2,129,122,253,12,239,15,133, |
342 | 122,253,4,239,15,131,244,62,129,122,253,12,239,15,131,244,62,252,242,15,16, | 342 | 244,63,139,74,8,255,248,140,129,252,248,239,15,130,244,63,129,122,253,4,239, |
343 | 2,252,242,15,16,74,8,72,189,237,237,102,72,15,110,213,252,242,15,88,194,252, | 343 | 15,131,244,63,129,122,253,12,239,15,131,244,63,252,242,15,16,2,252,242,15, |
344 | 242,15,88,202,102,15,126,197,102,15,126,201,255,211,229,252,233,244,88,255, | 344 | 16,74,8,72,189,237,237,102,72,15,110,213,252,242,15,88,194,252,242,15,88, |
345 | 248,140,129,252,248,239,15,130,244,62,129,122,253,4,239,255,248,140,129,252, | 345 | 202,102,15,126,197,102,15,126,201,255,211,229,252,233,244,89,255,248,141, |
346 | 248,239,15,130,244,62,129,122,253,4,239,15,131,244,62,129,122,253,12,239, | 346 | 129,252,248,239,15,130,244,63,129,122,253,4,239,255,248,141,129,252,248,239, |
347 | 15,131,244,62,252,242,15,16,2,252,242,15,16,74,8,72,189,237,237,102,72,15, | 347 | 15,130,244,63,129,122,253,4,239,15,131,244,63,129,122,253,12,239,15,131,244, |
348 | 110,213,252,242,15,88,194,252,242,15,88,202,102,15,126,197,102,15,126,201, | 348 | 63,252,242,15,16,2,252,242,15,16,74,8,72,189,237,237,102,72,15,110,213,252, |
349 | 255,211,252,237,252,233,244,88,255,248,141,129,252,248,239,15,130,244,62, | 349 | 242,15,88,194,252,242,15,88,202,102,15,126,197,102,15,126,201,255,211,252, |
350 | 129,122,253,4,239,255,248,141,129,252,248,239,15,130,244,62,129,122,253,4, | 350 | 237,252,233,244,89,255,248,142,129,252,248,239,15,130,244,63,129,122,253, |
351 | 239,15,131,244,62,129,122,253,12,239,15,131,244,62,252,242,15,16,2,252,242, | 351 | 4,239,255,248,142,129,252,248,239,15,130,244,63,129,122,253,4,239,15,131, |
352 | 15,16,74,8,72,189,237,237,102,72,15,110,213,252,242,15,88,194,252,242,15, | 352 | 244,63,129,122,253,12,239,15,131,244,63,252,242,15,16,2,252,242,15,16,74, |
353 | 88,202,102,15,126,197,102,15,126,201,255,211,252,253,252,233,244,88,255,248, | ||
354 | 142,129,252,248,239,15,130,244,62,129,122,253,4,239,255,248,142,129,252,248, | ||
355 | 239,15,130,244,62,129,122,253,4,239,15,131,244,62,129,122,253,12,239,15,131, | ||
356 | 244,62,252,242,15,16,2,252,242,15,16,74,8,72,189,237,237,102,72,15,110,213, | ||
357 | 252,242,15,88,194,252,242,15,88,202,102,15,126,197,102,15,126,201,255,211, | ||
358 | 197,252,233,244,88,255,248,143,129,252,248,239,15,130,244,62,129,122,253, | ||
359 | 4,239,255,248,143,129,252,248,239,15,130,244,62,129,122,253,4,239,15,131, | ||
360 | 244,62,129,122,253,12,239,15,131,244,62,252,242,15,16,2,252,242,15,16,74, | ||
361 | 8,72,189,237,237,102,72,15,110,213,252,242,15,88,194,252,242,15,88,202,102, | 353 | 8,72,189,237,237,102,72,15,110,213,252,242,15,88,194,252,242,15,88,202,102, |
362 | 15,126,197,102,15,126,201,255,211,205,252,233,244,88,248,126,184,237,252, | 354 | 15,126,197,102,15,126,201,255,211,252,253,252,233,244,89,255,248,143,129, |
363 | 233,244,62,248,128,184,237,248,62,139,108,36,24,139,90,252,252,137,92,36, | 355 | 252,248,239,15,130,244,63,129,122,253,4,239,255,248,143,129,252,248,239,15, |
364 | 28,137,149,233,141,68,194,252,248,141,136,233,137,133,233,139,66,252,248, | 356 | 130,244,63,129,122,253,4,239,15,131,244,63,129,122,253,12,239,15,131,244, |
365 | 59,141,233,15,135,244,251,137,252,239,252,255,144,233,139,149,233,133,192, | 357 | 63,252,242,15,16,2,252,242,15,16,74,8,72,189,237,237,102,72,15,110,213,252, |
366 | 15,143,244,77,248,1,255,139,141,233,41,209,193,252,233,3,133,192,141,65,1, | 358 | 242,15,88,194,252,242,15,88,202,102,15,126,197,102,15,126,201,255,211,197, |
367 | 139,106,252,248,15,133,244,32,139,157,233,139,11,15,182,252,233,15,182,205, | 359 | 252,233,244,89,255,248,144,129,252,248,239,15,130,244,63,129,122,253,4,239, |
368 | 131,195,4,65,252,255,36,252,238,248,32,137,209,252,247,195,237,15,133,244, | 360 | 255,248,144,129,252,248,239,15,130,244,63,129,122,253,4,239,15,131,244,63, |
369 | 249,15,182,107,252,253,72,252,247,213,141,20,252,234,252,233,244,28,248,3, | 361 | 129,122,253,12,239,15,131,244,63,252,242,15,16,2,252,242,15,16,74,8,72,189, |
370 | 137,221,131,229,252,248,41,252,234,252,233,244,28,248,5,190,237,137,252,239, | 362 | 237,237,102,72,15,110,213,252,242,15,88,194,252,242,15,88,202,102,15,126, |
371 | 232,251,1,0,139,149,233,49,192,252,233,244,1,248,74,93,72,137,108,36,8,139, | 363 | 197,102,15,126,201,255,211,205,252,233,244,89,248,127,184,237,252,233,244, |
372 | 108,36,24,137,92,36,28,137,149,233,255,141,68,194,252,248,137,252,239,137, | 364 | 63,248,129,184,237,248,63,139,108,36,24,139,90,252,252,137,92,36,28,137,149, |
373 | 133,233,232,251,1,22,139,149,233,139,133,233,41,208,193,232,3,131,192,1,72, | 365 | 233,141,68,194,252,248,141,136,233,137,133,233,139,66,252,248,59,141,233, |
374 | 139,108,36,8,85,195,248,144,255,65,15,182,134,233,168,235,15,133,244,251, | 366 | 15,135,244,251,137,252,239,252,255,144,233,139,149,233,133,192,15,143,244, |
375 | 168,235,15,133,244,247,168,235,15,132,244,247,65,252,255,142,233,252,233, | 367 | 78,248,1,255,139,141,233,41,209,193,252,233,3,133,192,141,65,1,139,106,252, |
376 | 244,247,255,248,145,65,15,182,134,233,168,235,15,133,244,251,252,233,244, | 368 | 248,15,133,244,33,139,157,233,139,11,15,182,252,233,15,182,205,131,195,4, |
377 | 247,248,146,65,15,182,134,233,168,235,15,133,244,251,168,235,15,132,244,251, | 369 | 65,252,255,36,252,238,248,33,137,209,252,247,195,237,15,133,244,249,15,182, |
378 | 65,252,255,142,233,15,132,244,247,168,235,15,132,244,251,248,1,255,139,108, | 370 | 107,252,253,72,252,247,213,141,20,252,234,252,233,244,28,248,3,137,221,131, |
379 | 36,24,137,149,233,137,222,137,252,239,232,251,1,23,248,3,139,149,233,248, | 371 | 229,252,248,41,252,234,252,233,244,28,248,5,190,237,137,252,239,232,251,1, |
380 | 4,15,182,75,252,253,248,5,15,182,107,252,252,15,183,67,252,254,65,252,255, | 372 | 0,139,149,233,49,192,252,233,244,1,248,75,93,72,137,108,36,8,139,108,36,24, |
381 | 164,253,252,238,233,248,147,131,195,4,139,77,232,137,76,36,4,252,233,244, | 373 | 137,92,36,28,137,149,233,255,141,68,194,252,248,137,252,239,137,133,233,232, |
382 | 4,248,148,255,139,106,252,248,139,173,233,15,182,133,233,141,4,194,139,108, | 374 | 251,1,22,139,149,233,139,133,233,41,208,193,232,3,131,192,1,72,139,108,36, |
383 | 36,24,137,149,233,137,133,233,137,222,65,141,190,233,73,137,174,233,137,92, | 375 | 8,85,195,248,145,255,65,15,182,134,233,168,235,15,133,244,251,168,235,15, |
384 | 36,28,232,251,1,24,252,233,244,3,255,248,149,137,92,36,28,255,248,150,255, | 376 | 133,244,247,168,235,15,132,244,247,65,252,255,142,233,252,233,244,247,255, |
385 | 137,92,36,28,131,203,1,248,1,255,141,68,194,252,248,139,108,36,24,137,149, | 377 | 248,146,65,15,182,134,233,168,235,15,133,244,251,252,233,244,247,248,147, |
386 | 233,137,133,233,137,222,137,252,239,232,251,1,25,199,68,36,28,0,0,0,0,255, | 378 | 65,15,182,134,233,168,235,15,133,244,251,168,235,15,132,244,251,65,252,255, |
387 | 131,227,252,254,255,139,149,233,72,137,193,139,133,233,41,208,72,137,205, | 379 | 142,233,15,132,244,247,168,235,15,132,244,251,248,1,255,139,108,36,24,137, |
388 | 15,182,75,252,253,193,232,3,131,192,1,252,255,229,248,151,255,65,85,65,84, | 380 | 149,233,137,222,137,252,239,232,251,1,23,248,3,139,149,233,248,4,15,182,75, |
389 | 65,83,65,82,65,81,65,80,87,86,85,72,141,108,36,88,85,83,82,81,80,15,182,69, | 381 | 252,253,248,5,15,182,107,252,252,15,183,67,252,254,65,252,255,164,253,252, |
390 | 252,248,138,101,252,240,76,137,125,252,248,76,137,117,252,240,68,139,117, | 382 | 238,233,248,148,131,195,4,139,77,232,137,76,36,4,252,233,244,4,248,149,255, |
391 | 0,65,139,142,233,65,199,134,233,237,65,137,134,233,65,137,142,233,72,129, | 383 | 139,106,252,248,139,173,233,15,182,133,233,141,4,194,139,108,36,24,137,149, |
392 | 252,236,239,72,131,197,128,252,242,68,15,17,125,252,248,252,242,68,15,17, | 384 | 233,137,133,233,137,222,65,141,190,233,73,137,174,233,137,92,36,28,232,251, |
393 | 117,252,240,252,242,68,15,17,109,232,252,242,68,15,17,101,224,252,242,68, | 385 | 1,24,252,233,244,3,255,248,150,137,92,36,28,255,248,151,255,137,92,36,28, |
394 | 15,17,93,216,252,242,68,15,17,85,208,252,242,68,15,17,77,200,252,242,68,15, | 386 | 131,203,1,248,1,255,141,68,194,252,248,139,108,36,24,137,149,233,137,133, |
395 | 17,69,192,252,242,15,17,125,184,252,242,15,17,117,176,252,242,15,17,109,168, | 387 | 233,137,222,137,252,239,232,251,1,25,199,68,36,28,0,0,0,0,255,131,227,252, |
396 | 252,242,15,17,101,160,252,242,15,17,93,152,252,242,15,17,85,144,252,242,15, | 388 | 254,255,139,149,233,72,137,193,139,133,233,41,208,72,137,205,15,182,75,252, |
397 | 17,77,136,252,242,15,17,69,128,65,139,174,233,65,139,150,233,73,137,174,233, | 389 | 253,193,232,3,131,192,1,252,255,229,248,152,255,65,85,65,84,65,83,65,82,65, |
398 | 65,199,134,233,0,0,0,0,137,149,233,72,137,230,65,141,190,233,232,251,1,26, | 390 | 81,65,80,87,86,85,72,141,108,36,88,85,83,82,81,80,15,182,69,252,248,138,101, |
399 | 72,139,141,233,72,129,225,239,72,137,204,137,169,233,139,149,233,139,153, | 391 | 252,240,76,137,125,252,248,76,137,117,252,240,68,139,117,0,65,139,142,233, |
400 | 233,252,233,244,247,255,248,152,255,72,131,196,16,248,1,76,139,108,36,8,76, | 392 | 65,199,134,233,237,65,137,134,233,65,137,142,233,72,129,252,236,239,72,131, |
401 | 139,36,36,133,192,15,136,244,249,137,68,36,4,68,139,122,252,248,69,139,191, | 393 | 197,128,252,242,68,15,17,125,252,248,252,242,68,15,17,117,252,240,252,242, |
402 | 233,69,139,191,233,65,199,134,233,0,0,0,0,65,199,134,233,237,139,3,15,182, | 394 | 68,15,17,109,232,252,242,68,15,17,101,224,252,242,68,15,17,93,216,252,242, |
403 | 204,15,182,232,131,195,4,193,232,16,129,252,253,239,15,130,244,248,139,68, | 395 | 68,15,17,85,208,252,242,68,15,17,77,200,252,242,68,15,17,69,192,252,242,15, |
404 | 36,4,248,2,65,252,255,36,252,238,248,3,252,247,216,137,252,239,137,198,232, | 396 | 17,125,184,252,242,15,17,117,176,252,242,15,17,109,168,252,242,15,17,101, |
405 | 251,1,1,255,248,90,255,217,124,36,4,137,68,36,8,102,184,0,4,102,11,68,36, | 397 | 160,252,242,15,17,93,152,252,242,15,17,85,144,252,242,15,17,77,136,252,242, |
406 | 4,102,37,252,255,252,247,102,137,68,36,6,217,108,36,6,217,252,252,217,108, | 398 | 15,17,69,128,65,139,174,233,65,139,150,233,73,137,174,233,65,199,134,233, |
407 | 36,4,139,68,36,8,195,255,248,153,72,184,237,237,102,72,15,110,208,72,184, | 399 | 0,0,0,0,137,149,233,72,137,230,65,141,190,233,232,251,1,26,72,139,141,233, |
400 | 72,129,225,239,72,137,204,137,169,233,139,149,233,139,153,233,252,233,244, | ||
401 | 247,255,248,153,255,72,131,196,16,248,1,76,139,108,36,8,76,139,36,36,133, | ||
402 | 192,15,136,244,249,137,68,36,4,68,139,122,252,248,69,139,191,233,69,139,191, | ||
403 | 233,65,199,134,233,0,0,0,0,65,199,134,233,237,139,3,15,182,204,15,182,232, | ||
404 | 131,195,4,193,232,16,129,252,253,239,15,130,244,248,139,68,36,4,248,2,65, | ||
405 | 252,255,36,252,238,248,3,252,247,216,137,252,239,137,198,232,251,1,1,255, | ||
406 | 248,91,255,217,124,36,4,137,68,36,8,102,184,0,4,102,11,68,36,4,102,37,252, | ||
407 | 255,252,247,102,137,68,36,6,217,108,36,6,217,252,252,217,108,36,4,139,68, | ||
408 | 36,8,195,255,248,154,72,184,237,237,102,72,15,110,208,72,184,237,237,102, | ||
409 | 72,15,110,216,15,40,200,102,15,84,202,102,15,46,217,15,134,244,247,102,15, | ||
410 | 85,208,252,242,15,88,203,252,242,15,92,203,102,15,86,202,72,184,237,237,102, | ||
411 | 72,15,110,208,252,242,15,194,193,1,102,15,84,194,252,242,15,92,200,15,40, | ||
412 | 193,248,1,195,248,93,255,217,124,36,4,137,68,36,8,102,184,0,8,102,11,68,36, | ||
413 | 4,102,37,252,255,252,251,102,137,68,36,6,217,108,36,6,217,252,252,217,108, | ||
414 | 36,4,139,68,36,8,195,255,248,155,72,184,237,237,102,72,15,110,208,72,184, | ||
408 | 237,237,102,72,15,110,216,15,40,200,102,15,84,202,102,15,46,217,15,134,244, | 415 | 237,237,102,72,15,110,216,15,40,200,102,15,84,202,102,15,46,217,15,134,244, |
409 | 247,102,15,85,208,252,242,15,88,203,252,242,15,92,203,102,15,86,202,72,184, | 416 | 247,102,15,85,208,252,242,15,88,203,252,242,15,92,203,102,15,86,202,72,184, |
410 | 237,237,102,72,15,110,208,252,242,15,194,193,1,102,15,84,194,252,242,15,92, | 417 | 237,237,102,72,15,110,208,252,242,15,194,193,6,102,15,84,194,252,242,15,92, |
411 | 200,15,40,193,248,1,195,248,92,255,217,124,36,4,137,68,36,8,102,184,0,8,102, | 418 | 200,15,40,193,248,1,195,248,114,255,217,124,36,4,137,68,36,8,102,184,0,12, |
412 | 11,68,36,4,102,37,252,255,252,251,102,137,68,36,6,217,108,36,6,217,252,252, | 419 | 102,11,68,36,4,102,137,68,36,6,217,108,36,6,217,252,252,217,108,36,4,139, |
413 | 217,108,36,4,139,68,36,8,195,255,248,154,72,184,237,237,102,72,15,110,208, | 420 | 68,36,8,195,255,248,156,72,184,237,237,102,72,15,110,208,72,184,237,237,102, |
414 | 72,184,237,237,102,72,15,110,216,15,40,200,102,15,84,202,102,15,46,217,15, | 421 | 72,15,110,216,15,40,200,102,15,84,202,102,15,46,217,15,134,244,247,102,15, |
415 | 134,244,247,102,15,85,208,252,242,15,88,203,252,242,15,92,203,102,15,86,202, | 422 | 85,208,15,40,193,252,242,15,88,203,252,242,15,92,203,72,184,237,237,102,72, |
416 | 72,184,237,237,102,72,15,110,208,252,242,15,194,193,6,102,15,84,194,252,242, | 423 | 15,110,216,252,242,15,194,193,1,102,15,84,195,252,242,15,92,200,102,15,86, |
417 | 15,92,200,15,40,193,248,1,195,248,113,255,217,124,36,4,137,68,36,8,102,184, | 424 | 202,15,40,193,248,1,195,248,157,255,15,40,232,252,242,15,94,193,72,184,237, |
418 | 0,12,102,11,68,36,4,102,137,68,36,6,217,108,36,6,217,252,252,217,108,36,4, | 425 | 237,102,72,15,110,208,72,184,237,237,102,72,15,110,216,15,40,224,102,15,84, |
419 | 139,68,36,8,195,255,248,155,72,184,237,237,102,72,15,110,208,72,184,237,237, | 426 | 226,102,15,46,220,15,134,244,247,102,15,85,208,252,242,15,88,227,252,242, |
420 | 102,72,15,110,216,15,40,200,102,15,84,202,102,15,46,217,15,134,244,247,102, | 427 | 15,92,227,102,15,86,226,72,184,237,237,102,72,15,110,208,252,242,15,194,196, |
421 | 15,85,208,15,40,193,252,242,15,88,203,252,242,15,92,203,72,184,237,237,102, | 428 | 1,102,15,84,194,252,242,15,92,224,15,40,197,252,242,15,89,204,252,242,15, |
422 | 72,15,110,216,252,242,15,194,193,1,102,15,84,195,252,242,15,92,200,102,15, | 429 | 92,193,195,248,1,252,242,15,89,200,15,40,197,252,242,15,92,193,195,255,217, |
423 | 86,202,15,40,193,248,1,195,248,156,255,15,40,232,252,242,15,94,193,72,184, | 430 | 193,216,252,241,217,124,36,4,102,184,0,4,102,11,68,36,4,102,37,252,255,252, |
424 | 237,237,102,72,15,110,208,72,184,237,237,102,72,15,110,216,15,40,224,102, | 431 | 247,102,137,68,36,6,217,108,36,6,217,252,252,217,108,36,4,222,201,222,252, |
425 | 15,84,226,102,15,46,220,15,134,244,247,102,15,85,208,252,242,15,88,227,252, | 432 | 233,195,255,248,98,217,252,234,222,201,248,158,217,84,36,252,248,129,124, |
426 | 242,15,92,227,102,15,86,226,72,184,237,237,102,72,15,110,208,252,242,15,194, | 433 | 36,252,248,0,0,128,127,15,132,244,247,129,124,36,252,248,0,0,128,252,255, |
427 | 196,1,102,15,84,194,252,242,15,92,224,15,40,197,252,242,15,89,204,252,242, | 434 | 15,132,244,248,248,159,217,192,217,252,252,220,252,233,217,201,217,252,240, |
428 | 15,92,193,195,248,1,252,242,15,89,200,15,40,197,252,242,15,92,193,195,255, | 435 | 217,232,222,193,217,252,253,221,217,248,1,195,248,2,221,216,217,252,238,195, |
429 | 217,193,216,252,241,217,124,36,4,102,184,0,4,102,11,68,36,4,102,37,252,255, | 436 | 255,248,117,255,248,160,252,242,15,45,193,252,242,15,42,208,102,15,46,202, |
430 | 252,247,102,137,68,36,6,217,108,36,6,217,252,252,217,108,36,4,222,201,222, | 437 | 15,133,244,254,15,138,244,255,248,161,131,252,248,1,15,142,244,252,248,1, |
431 | 252,233,195,255,248,97,217,252,234,222,201,248,157,217,84,36,252,248,129, | 438 | 169,1,0,0,0,15,133,244,248,252,242,15,89,192,209,232,252,233,244,1,248,2, |
432 | 124,36,252,248,0,0,128,127,15,132,244,247,129,124,36,252,248,0,0,128,252, | 439 | 209,232,15,132,244,251,15,40,200,248,3,252,242,15,89,192,209,232,15,132,244, |
433 | 255,15,132,244,248,248,158,217,192,217,252,252,220,252,233,217,201,217,252, | 440 | 250,15,131,244,3,255,252,242,15,89,200,252,233,244,3,248,4,252,242,15,89, |
434 | 240,217,232,222,193,217,252,253,221,217,248,1,195,248,2,221,216,217,252,238, | 441 | 193,248,5,195,248,6,15,132,244,5,15,130,244,253,252,247,216,232,244,1,72, |
435 | 195,255,248,116,255,248,159,252,242,15,45,193,252,242,15,42,208,102,15,46, | 442 | 184,237,237,102,72,15,110,200,252,242,15,94,200,15,40,193,195,248,7,72,184, |
436 | 202,15,133,244,254,15,138,244,255,248,160,131,252,248,1,15,142,244,252,248, | 443 | 237,237,102,72,15,110,192,195,248,8,102,72,15,126,200,72,209,224,72,193,192, |
437 | 1,169,1,0,0,0,15,133,244,248,252,242,15,89,192,209,232,252,233,244,1,248, | 444 | 12,72,61,252,254,15,0,0,15,132,244,248,102,72,15,126,192,72,209,224,15,132, |
438 | 2,209,232,15,132,244,251,15,40,200,248,3,252,242,15,89,192,209,232,15,132, | 445 | 244,250,255,72,193,192,12,72,61,252,254,15,0,0,15,132,244,251,252,242,15, |
439 | 244,250,15,131,244,3,255,252,242,15,89,200,252,233,244,3,248,4,252,242,15, | 446 | 17,76,36,252,240,252,242,15,17,68,36,252,248,221,68,36,252,240,221,68,36, |
440 | 89,193,248,5,195,248,6,15,132,244,5,15,130,244,253,252,247,216,232,244,1, | 447 | 252,248,217,252,241,217,192,217,252,252,220,252,233,217,201,217,252,240,217, |
441 | 72,184,237,237,102,72,15,110,200,252,242,15,94,200,15,40,193,195,248,7,72, | 448 | 232,222,193,217,252,253,221,217,221,92,36,252,248,252,242,15,16,68,36,252, |
442 | 184,237,237,102,72,15,110,192,195,248,8,102,72,15,126,200,72,209,224,72,193, | 449 | 248,195,248,9,72,184,237,237,102,72,15,110,208,102,15,46,194,15,132,244,247, |
443 | 192,12,72,61,252,254,15,0,0,15,132,244,248,102,72,15,126,192,72,209,224,15, | 450 | 15,40,193,248,1,195,248,2,72,184,237,237,102,72,15,110,208,102,15,84,194, |
444 | 132,244,250,255,72,193,192,12,72,61,252,254,15,0,0,15,132,244,251,252,242, | 451 | 72,184,237,237,102,72,15,110,208,102,15,46,194,15,132,244,1,102,15,80,193, |
445 | 15,17,76,36,252,240,252,242,15,17,68,36,252,248,221,68,36,252,240,221,68, | 452 | 15,87,192,136,196,15,146,208,48,224,15,133,244,1,248,3,72,184,237,237,255, |
446 | 36,252,248,217,252,241,217,192,217,252,252,220,252,233,217,201,217,252,240, | 453 | 102,72,15,110,192,195,248,4,102,15,80,193,133,192,15,133,244,3,15,87,192, |
447 | 217,232,222,193,217,252,253,221,217,221,92,36,252,248,252,242,15,16,68,36, | 454 | 195,248,5,102,15,80,193,133,192,15,132,244,3,15,87,192,195,248,162,255,131, |
448 | 252,248,195,248,9,72,184,237,237,102,72,15,110,208,102,15,46,194,15,132,244, | 455 | 252,255,1,15,130,244,91,15,132,244,93,131,252,255,3,15,130,244,114,15,135, |
449 | 247,15,40,193,248,1,195,248,2,72,184,237,237,102,72,15,110,208,102,15,84, | 456 | 244,248,252,242,15,81,192,195,248,2,252,242,15,17,68,36,252,248,221,68,36, |
450 | 194,72,184,237,237,102,72,15,110,208,102,15,46,194,15,132,244,1,102,15,80, | 457 | 252,248,131,252,255,5,15,135,244,248,15,132,244,247,232,244,98,252,233,244, |
451 | 193,15,87,192,136,196,15,146,208,48,224,15,133,244,1,248,3,72,184,237,237, | 458 | 253,248,1,232,244,158,255,252,233,244,253,248,2,131,252,255,7,15,132,244, |
452 | 255,102,72,15,110,192,195,248,4,102,15,80,193,133,192,15,133,244,3,15,87, | 459 | 247,15,135,244,248,217,252,237,217,201,217,252,241,252,233,244,253,248,1, |
453 | 192,195,248,5,102,15,80,193,133,192,15,132,244,3,15,87,192,195,248,161,255, | 460 | 217,232,217,201,217,252,241,252,233,244,253,248,2,131,252,255,9,15,132,244, |
454 | 131,252,255,1,15,130,244,90,15,132,244,92,131,252,255,3,15,130,244,113,15, | 461 | 247,15,135,244,248,217,252,236,217,201,217,252,241,252,233,244,253,248,1, |
455 | 135,244,248,252,242,15,81,192,195,248,2,252,242,15,17,68,36,252,248,221,68, | 462 | 255,217,252,254,252,233,244,253,248,2,131,252,255,11,15,132,244,247,15,135, |
456 | 36,252,248,131,252,255,5,15,135,244,248,15,132,244,247,232,244,97,252,233, | 463 | 244,255,217,252,255,252,233,244,253,248,1,217,252,242,221,216,248,7,221,92, |
457 | 244,253,248,1,232,244,157,255,252,233,244,253,248,2,131,252,255,7,15,132, | 464 | 36,252,248,252,242,15,16,68,36,252,248,195,255,139,124,36,12,221,68,36,4, |
458 | 244,247,15,135,244,248,217,252,237,217,201,217,252,241,252,233,244,253,248, | 465 | 131,252,255,1,15,130,244,91,15,132,244,93,131,252,255,3,15,130,244,114,15, |
459 | 1,217,232,217,201,217,252,241,252,233,244,253,248,2,131,252,255,9,15,132, | 466 | 135,244,248,217,252,250,195,248,2,131,252,255,5,15,130,244,98,15,132,244, |
460 | 244,247,15,135,244,248,217,252,236,217,201,217,252,241,252,233,244,253,248, | 467 | 158,131,252,255,7,15,132,244,247,15,135,244,248,217,252,237,217,201,217,252, |
461 | 1,255,217,252,254,252,233,244,253,248,2,131,252,255,11,15,132,244,247,15, | ||
462 | 135,244,255,217,252,255,252,233,244,253,248,1,217,252,242,221,216,248,7,221, | ||
463 | 92,36,252,248,252,242,15,16,68,36,252,248,195,255,139,124,36,12,221,68,36, | ||
464 | 4,131,252,255,1,15,130,244,90,15,132,244,92,131,252,255,3,15,130,244,113, | ||
465 | 15,135,244,248,217,252,250,195,248,2,131,252,255,5,15,130,244,97,15,132,244, | ||
466 | 157,131,252,255,7,15,132,244,247,15,135,244,248,217,252,237,217,201,217,252, | ||
467 | 241,195,248,1,217,232,217,201,217,252,241,195,248,2,131,252,255,9,15,132, | 468 | 241,195,248,1,217,232,217,201,217,252,241,195,248,2,131,252,255,9,15,132, |
468 | 244,247,255,15,135,244,248,217,252,236,217,201,217,252,241,195,248,1,217, | 469 | 244,247,255,15,135,244,248,217,252,236,217,201,217,252,241,195,248,1,217, |
469 | 252,254,195,248,2,131,252,255,11,15,132,244,247,15,135,244,255,217,252,255, | 470 | 252,254,195,248,2,131,252,255,11,15,132,244,247,15,135,244,255,217,252,255, |
470 | 195,248,1,217,252,242,221,216,195,255,248,9,204,255,248,162,255,131,252,255, | 471 | 195,248,1,217,252,242,221,216,195,255,248,9,204,255,248,163,255,131,252,255, |
471 | 1,15,132,244,247,15,135,244,248,252,242,15,88,193,195,248,1,252,242,15,92, | 472 | 1,15,132,244,247,15,135,244,248,252,242,15,88,193,195,248,1,252,242,15,92, |
472 | 193,195,248,2,131,252,255,3,15,132,244,247,15,135,244,248,252,242,15,89,193, | 473 | 193,195,248,2,131,252,255,3,15,132,244,247,15,135,244,248,252,242,15,89,193, |
473 | 195,248,1,252,242,15,94,193,195,248,2,131,252,255,5,15,130,244,156,15,132, | 474 | 195,248,1,252,242,15,94,193,195,248,2,131,252,255,5,15,130,244,157,15,132, |
474 | 244,116,131,252,255,7,15,132,244,247,15,135,244,248,72,184,237,237,255,102, | 475 | 244,117,131,252,255,7,15,132,244,247,15,135,244,248,72,184,237,237,255,102, |
475 | 72,15,110,200,15,87,193,195,248,1,72,184,237,237,102,72,15,110,200,15,84, | 476 | 72,15,110,200,15,87,193,195,248,1,72,184,237,237,102,72,15,110,200,15,84, |
476 | 193,195,248,2,131,252,255,9,15,135,244,248,252,242,15,17,68,36,252,248,252, | 477 | 193,195,248,2,131,252,255,9,15,135,244,248,252,242,15,17,68,36,252,248,252, |
477 | 242,15,17,76,36,252,240,221,68,36,252,248,221,68,36,252,240,15,132,244,247, | 478 | 242,15,17,76,36,252,240,221,68,36,252,248,221,68,36,252,240,15,132,244,247, |
@@ -481,55 +482,65 @@ static const unsigned char build_actionlist[16165] = { | |||
481 | 9,204,255,139,68,36,20,221,68,36,4,221,68,36,12,131,252,248,1,15,132,244, | 482 | 9,204,255,139,68,36,20,221,68,36,4,221,68,36,12,131,252,248,1,15,132,244, |
482 | 247,15,135,244,248,222,193,195,248,1,222,252,233,195,248,2,131,252,248,3, | 483 | 247,15,135,244,248,222,193,195,248,1,222,252,233,195,248,2,131,252,248,3, |
483 | 15,132,244,247,15,135,244,248,222,201,195,248,1,222,252,249,195,248,2,131, | 484 | 15,132,244,247,15,135,244,248,222,201,195,248,1,222,252,249,195,248,2,131, |
484 | 252,248,5,15,130,244,156,15,132,244,116,131,252,248,7,15,132,244,247,15,135, | 485 | 252,248,5,15,130,244,157,15,132,244,117,131,252,248,7,15,132,244,247,15,135, |
485 | 244,248,255,221,216,217,224,195,248,1,221,216,217,225,195,248,2,131,252,248, | 486 | 244,248,255,221,216,217,224,195,248,1,221,216,217,225,195,248,2,131,252,248, |
486 | 9,15,132,244,247,15,135,244,248,217,252,243,195,248,1,217,201,217,252,253, | 487 | 9,15,132,244,247,15,135,244,248,217,252,243,195,248,1,217,201,217,252,253, |
487 | 221,217,195,248,2,131,252,248,11,15,132,244,247,15,135,244,255,255,219,252, | 488 | 221,217,195,248,2,131,252,248,11,15,132,244,247,15,135,244,255,255,219,252, |
488 | 233,219,209,221,217,195,248,1,219,252,233,218,209,221,217,195,255,221,225, | 489 | 233,219,209,221,217,195,248,1,219,252,233,218,209,221,217,195,255,221,225, |
489 | 223,224,252,246,196,1,15,132,244,248,217,201,248,2,221,216,195,248,1,221, | 490 | 223,224,252,246,196,1,15,132,244,248,217,201,248,2,221,216,195,248,1,221, |
490 | 225,223,224,252,246,196,1,15,133,244,248,217,201,248,2,221,216,195,255,248, | 491 | 225,223,224,252,246,196,1,15,133,244,248,217,201,248,2,221,216,195,255,248, |
491 | 163,137,252,248,83,15,162,137,6,137,94,4,137,78,8,137,86,12,91,195,248,164, | 492 | 164,137,252,248,83,15,162,137,6,137,94,4,137,78,8,137,86,12,91,195,248,165, |
492 | 255,204,248,165,255,85,72,137,229,83,72,137,252,251,139,131,233,72,41,196, | 493 | 255,204,248,166,255,83,65,87,65,86,72,131,252,236,40,68,141,181,233,139,157, |
493 | 255,15,182,139,233,131,252,233,1,15,136,244,248,248,1,72,139,132,253,203, | 494 | 233,15,183,192,137,131,233,72,137,187,233,72,137,179,233,72,137,147,233,72, |
494 | 233,72,137,132,253,204,233,131,252,233,1,15,137,244,1,248,2,15,182,131,233, | 495 | 137,139,233,252,242,15,17,131,233,252,242,15,17,139,233,252,242,15,17,147, |
495 | 72,139,187,233,72,139,179,233,72,139,147,233,72,139,139,233,76,139,131,233, | 496 | 233,252,242,15,17,155,233,72,141,132,253,36,233,76,137,131,233,76,137,139, |
496 | 76,139,139,233,133,192,15,132,244,251,15,40,131,233,15,40,139,233,255,15, | 497 | 233,252,242,15,17,163,233,252,242,15,17,171,233,252,242,15,17,179,233,252, |
497 | 40,147,233,15,40,155,233,131,252,248,4,15,134,244,251,15,40,163,233,15,40, | 498 | 242,15,17,187,233,72,137,131,233,72,137,230,137,92,36,28,137,223,232,251, |
498 | 171,233,15,40,179,233,15,40,187,233,248,5,252,255,147,233,72,137,131,233, | 499 | 1,27,65,199,134,233,237,255,139,144,233,139,128,233,41,208,139,106,252,248, |
499 | 15,41,131,233,72,137,147,233,15,41,139,233,255,72,139,93,252,248,201,195, | 500 | 193,232,3,131,192,1,139,157,233,139,11,15,182,252,233,15,182,205,131,195, |
500 | 255,249,255,129,124,253,202,4,239,15,133,244,253,129,124,253,194,4,239,15, | 501 | 4,65,252,255,36,252,238,255,248,32,255,139,76,36,24,65,139,158,233,72,137, |
501 | 133,244,254,139,44,202,131,195,4,59,44,194,255,15,141,244,255,255,15,140, | 502 | 139,233,137,145,233,137,169,233,137,223,137,198,232,251,1,28,72,139,131,233, |
502 | 244,255,255,15,143,244,255,255,15,142,244,255,255,248,6,15,183,67,252,254, | 503 | 252,242,15,16,131,233,252,233,244,16,255,248,167,255,85,72,137,229,83,72, |
503 | 141,156,253,131,233,248,9,139,3,15,182,204,15,182,232,131,195,4,193,232,16, | 504 | 137,252,251,139,131,233,72,41,196,255,15,182,139,233,131,252,233,1,15,136, |
504 | 65,252,255,36,252,238,248,7,15,135,244,43,129,124,253,194,4,239,15,130,244, | 505 | 244,248,248,1,72,139,132,253,203,233,72,137,132,253,204,233,131,252,233,1, |
505 | 247,15,133,244,43,255,252,242,15,42,4,194,252,233,244,248,255,221,4,202,219, | 506 | 15,137,244,1,248,2,15,182,131,233,72,139,187,233,72,139,179,233,72,139,147, |
506 | 4,194,252,233,244,249,255,248,8,15,135,244,43,255,252,242,15,42,12,202,252, | 507 | 233,72,139,139,233,76,139,131,233,76,139,139,233,133,192,15,132,244,251,15, |
507 | 242,15,16,4,194,131,195,4,102,15,46,193,255,15,134,244,9,255,15,135,244,9, | 508 | 40,131,233,15,40,139,233,255,15,40,147,233,15,40,155,233,131,252,248,4,15, |
508 | 255,15,130,244,9,255,15,131,244,9,255,252,233,244,6,255,219,4,202,252,233, | 509 | 134,244,251,15,40,163,233,15,40,171,233,15,40,179,233,15,40,187,233,248,5, |
509 | 244,248,255,129,124,253,202,4,239,15,131,244,43,129,124,253,194,4,239,15, | 510 | 252,255,147,233,72,137,131,233,15,41,131,233,72,137,147,233,15,41,139,233, |
510 | 131,244,43,255,248,1,252,242,15,16,4,194,248,2,131,195,4,102,15,46,4,202, | 511 | 255,72,139,93,252,248,201,195,255,129,124,253,202,4,239,15,133,244,253,129, |
511 | 248,3,255,248,1,221,4,202,248,2,221,4,194,248,3,131,195,4,255,223,252,233, | 512 | 124,253,194,4,239,15,133,244,254,139,44,202,131,195,4,59,44,194,255,15,141, |
512 | 221,216,255,218,252,233,223,224,158,255,15,134,244,247,255,15,135,244,247, | 513 | 244,255,255,15,140,244,255,255,15,143,244,255,255,15,142,244,255,255,248, |
513 | 255,15,130,244,247,255,15,131,244,247,255,15,183,67,252,254,141,156,253,131, | 514 | 6,15,183,67,252,254,141,156,253,131,233,248,9,139,3,15,182,204,15,182,232, |
514 | 233,248,1,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36, | 515 | 131,195,4,193,232,16,65,252,255,36,252,238,248,7,15,135,244,44,129,124,253, |
515 | 252,238,255,139,108,194,4,131,195,4,255,129,252,253,239,15,133,244,253,129, | 516 | 194,4,239,15,130,244,247,15,133,244,44,255,252,242,15,42,4,194,252,233,244, |
516 | 124,253,202,4,239,15,133,244,254,139,44,194,59,44,202,255,15,133,244,255, | 517 | 248,255,221,4,202,219,4,194,252,233,244,249,255,248,8,15,135,244,44,255,252, |
517 | 255,15,132,244,255,255,15,183,67,252,254,141,156,253,131,233,248,9,139,3, | 518 | 242,15,42,12,202,252,242,15,16,4,194,131,195,4,102,15,46,193,255,15,134,244, |
518 | 15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,248,7,15, | 519 | 9,255,15,135,244,9,255,15,130,244,9,255,15,131,244,9,255,252,233,244,6,255, |
519 | 135,244,251,129,124,253,202,4,239,15,130,244,247,15,133,244,251,255,252,242, | 520 | 219,4,202,252,233,244,248,255,129,124,253,202,4,239,15,131,244,44,129,124, |
520 | 15,42,4,202,255,219,4,202,255,252,233,244,248,248,8,15,135,244,251,255,252, | 521 | 253,194,4,239,15,131,244,44,255,248,1,252,242,15,16,4,194,248,2,131,195,4, |
521 | 242,15,42,4,194,102,15,46,4,202,255,219,4,194,221,4,202,255,252,233,244,250, | 522 | 102,15,46,4,202,248,3,255,248,1,221,4,202,248,2,221,4,194,248,3,131,195,4, |
522 | 255,129,252,253,239,15,131,244,251,129,124,253,202,4,239,15,131,244,251,255, | 523 | 255,223,252,233,221,216,255,218,252,233,223,224,158,255,15,135,244,247,255, |
523 | 248,1,252,242,15,16,4,202,248,2,102,15,46,4,194,248,4,255,248,1,221,4,202, | 524 | 15,130,244,247,255,15,131,244,247,255,15,183,67,252,254,141,156,253,131,233, |
524 | 248,2,221,4,194,248,4,255,15,138,244,248,15,133,244,248,255,15,138,244,248, | 525 | 248,1,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252, |
525 | 15,132,244,247,255,248,1,15,183,67,252,254,141,156,253,131,233,248,2,255, | 526 | 238,255,139,108,194,4,131,195,4,255,129,252,253,239,15,133,244,253,129,124, |
526 | 248,2,15,183,67,252,254,141,156,253,131,233,248,1,255,252,233,244,9,255,248, | 527 | 253,202,4,239,15,133,244,254,139,44,194,59,44,202,255,15,133,244,255,255, |
527 | 5,255,129,252,253,239,15,132,244,48,129,124,253,202,4,239,15,132,244,48,255, | 528 | 15,132,244,255,255,15,183,67,252,254,141,156,253,131,233,248,9,139,3,15,182, |
529 | 204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,248,7,15,135,244, | ||
530 | 251,129,124,253,202,4,239,15,130,244,247,15,133,244,251,255,252,242,15,42, | ||
531 | 4,202,255,219,4,202,255,252,233,244,248,248,8,15,135,244,251,255,252,242, | ||
532 | 15,42,4,194,102,15,46,4,202,255,219,4,194,221,4,202,255,252,233,244,250,255, | ||
533 | 129,252,253,239,15,131,244,251,129,124,253,202,4,239,15,131,244,251,255,248, | ||
534 | 1,252,242,15,16,4,202,248,2,102,15,46,4,194,248,4,255,248,1,221,4,202,248, | ||
535 | 2,221,4,194,248,4,255,15,138,244,248,15,133,244,248,255,15,138,244,248,15, | ||
536 | 132,244,247,255,248,1,15,183,67,252,254,141,156,253,131,233,248,2,255,248, | ||
537 | 2,15,183,67,252,254,141,156,253,131,233,248,1,255,252,233,244,9,255,248,5, | ||
538 | 255,129,252,253,239,15,132,244,49,129,124,253,202,4,239,15,132,244,49,255, | ||
528 | 57,108,202,4,15,133,244,2,129,252,253,239,15,131,244,1,139,12,202,139,4,194, | 539 | 57,108,202,4,15,133,244,2,129,252,253,239,15,131,244,1,139,12,202,139,4,194, |
529 | 57,193,15,132,244,1,129,252,253,239,15,135,244,2,129,252,253,239,15,130,244, | 540 | 57,193,15,132,244,1,129,252,253,239,15,135,244,2,129,252,253,239,15,130,244, |
530 | 2,139,169,233,133,252,237,15,132,244,2,252,246,133,233,235,15,133,244,2,255, | 541 | 2,139,169,233,133,252,237,15,132,244,2,252,246,133,233,235,15,133,244,2,255, |
531 | 49,252,237,255,189,1,0,0,0,255,252,233,244,47,255,248,3,129,252,253,239,255, | 542 | 49,252,237,255,189,1,0,0,0,255,252,233,244,48,255,248,3,129,252,253,239,255, |
532 | 15,133,244,9,255,252,233,244,48,255,72,252,247,208,139,108,202,4,131,195, | 543 | 15,133,244,9,255,252,233,244,49,255,72,252,247,208,139,108,202,4,131,195, |
533 | 4,129,252,253,239,15,133,244,249,139,12,202,65,59,12,135,255,139,108,202, | 544 | 4,129,252,253,239,15,133,244,249,139,12,202,65,59,12,135,255,139,108,202, |
534 | 4,131,195,4,255,129,252,253,239,15,133,244,253,65,129,124,253,199,4,239,15, | 545 | 4,131,195,4,255,129,252,253,239,15,133,244,253,65,129,124,253,199,4,239,15, |
535 | 133,244,254,65,139,44,199,59,44,202,255,15,183,67,252,254,141,156,253,131, | 546 | 133,244,254,65,139,44,199,59,44,202,255,15,183,67,252,254,141,156,253,131, |
@@ -541,8 +552,8 @@ static const unsigned char build_actionlist[16165] = { | |||
541 | 202,248,4,255,248,1,65,221,4,199,248,2,221,4,202,248,4,255,72,252,247,208, | 552 | 202,248,4,255,248,1,65,221,4,199,248,2,221,4,202,248,4,255,72,252,247,208, |
542 | 139,108,202,4,131,195,4,57,197,255,15,133,244,249,15,183,67,252,254,141,156, | 553 | 139,108,202,4,131,195,4,57,197,255,15,133,244,249,15,183,67,252,254,141,156, |
543 | 253,131,233,248,2,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252, | 554 | 253,131,233,248,2,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252, |
544 | 255,36,252,238,248,3,129,252,253,239,15,133,244,2,252,233,244,48,255,15,132, | 555 | 255,36,252,238,248,3,129,252,253,239,15,133,244,2,252,233,244,49,255,15,132, |
545 | 244,248,129,252,253,239,15,132,244,48,15,183,67,252,254,141,156,253,131,233, | 556 | 244,248,129,252,253,239,15,132,244,49,15,183,67,252,254,141,156,253,131,233, |
546 | 248,2,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252, | 557 | 248,2,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252, |
547 | 238,255,139,108,194,4,131,195,4,129,252,253,239,255,137,108,202,4,139,44, | 558 | 238,255,139,108,194,4,131,195,4,129,252,253,239,255,137,108,202,4,139,44, |
548 | 194,137,44,202,255,72,139,44,194,72,137,44,202,139,3,15,182,204,15,182,232, | 559 | 194,137,44,202,255,72,139,44,194,72,137,44,202,139,3,15,182,204,15,182,232, |
@@ -551,42 +562,42 @@ static const unsigned char build_actionlist[16165] = { | |||
551 | 232,16,65,252,255,36,252,238,255,129,124,253,194,4,239,15,133,244,251,139, | 562 | 232,16,65,252,255,36,252,238,255,129,124,253,194,4,239,15,133,244,251,139, |
552 | 44,194,252,247,221,15,128,244,250,199,68,202,4,237,137,44,202,248,9,139,3, | 563 | 44,194,252,247,221,15,128,244,250,199,68,202,4,237,137,44,202,248,9,139,3, |
553 | 15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,248,4,199, | 564 | 15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,248,4,199, |
554 | 68,202,4,0,0,224,65,199,4,202,0,0,0,0,252,233,244,9,248,5,15,135,244,53,255, | 565 | 68,202,4,0,0,224,65,199,4,202,0,0,0,0,252,233,244,9,248,5,15,135,244,54,255, |
555 | 129,124,253,194,4,239,15,131,244,53,255,252,242,15,16,4,194,72,184,237,237, | 566 | 129,124,253,194,4,239,15,131,244,54,255,252,242,15,16,4,194,72,184,237,237, |
556 | 102,72,15,110,200,15,87,193,252,242,15,17,4,202,255,221,4,194,217,224,221, | 567 | 102,72,15,110,200,15,87,193,252,242,15,17,4,202,255,221,4,194,217,224,221, |
557 | 28,202,255,129,124,253,194,4,239,15,133,244,248,139,4,194,255,139,128,233, | 568 | 28,202,255,129,124,253,194,4,239,15,133,244,248,139,4,194,255,139,128,233, |
558 | 248,1,199,68,202,4,237,137,4,202,255,15,87,192,252,242,15,42,128,233,248, | 569 | 248,1,199,68,202,4,237,137,4,202,255,15,87,192,252,242,15,42,128,233,248, |
559 | 1,252,242,15,17,4,202,255,219,128,233,248,1,221,28,202,255,139,3,15,182,204, | 570 | 1,252,242,15,17,4,202,255,219,128,233,248,1,221,28,202,255,139,3,15,182,204, |
560 | 15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,248,2,129,124,253,194, | 571 | 15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,248,2,129,124,253,194, |
561 | 4,239,15,133,244,56,139,60,194,255,139,175,233,131,252,253,0,15,133,244,255, | 572 | 4,239,15,133,244,57,139,60,194,255,139,175,233,131,252,253,0,15,133,244,255, |
562 | 248,3,255,248,57,137,213,232,251,1,21,255,252,242,15,42,192,255,137,252,234, | 573 | 248,3,255,248,58,137,213,232,251,1,21,255,252,242,15,42,192,255,137,252,234, |
563 | 15,182,75,252,253,252,233,244,1,255,248,9,252,246,133,233,235,15,133,244, | 574 | 15,182,75,252,253,252,233,244,1,255,248,9,252,246,133,233,235,15,133,244, |
564 | 3,252,233,244,56,255,15,182,252,236,15,182,192,255,129,124,253,252,234,4, | 575 | 3,252,233,244,57,255,15,182,252,236,15,182,192,255,129,124,253,252,234,4, |
565 | 239,15,133,244,50,65,129,124,253,199,4,239,15,133,244,50,139,44,252,234,65, | 576 | 239,15,133,244,51,65,129,124,253,199,4,239,15,133,244,51,139,44,252,234,65, |
566 | 3,44,199,15,128,244,49,255,129,124,253,252,234,4,239,15,133,244,52,65,129, | 577 | 3,44,199,15,128,244,50,255,129,124,253,252,234,4,239,15,133,244,53,65,129, |
567 | 124,253,199,4,239,15,133,244,52,65,139,4,199,3,4,252,234,15,128,244,51,255, | 578 | 124,253,199,4,239,15,133,244,53,65,139,4,199,3,4,252,234,15,128,244,52,255, |
568 | 129,124,253,252,234,4,239,15,133,244,55,129,124,253,194,4,239,15,133,244, | 579 | 129,124,253,252,234,4,239,15,133,244,56,129,124,253,194,4,239,15,133,244, |
569 | 55,139,44,252,234,3,44,194,15,128,244,54,255,199,68,202,4,237,255,129,124, | 580 | 56,139,44,252,234,3,44,194,15,128,244,55,255,199,68,202,4,237,255,129,124, |
570 | 253,252,234,4,239,15,131,244,50,255,65,129,124,253,199,4,239,15,131,244,50, | 581 | 253,252,234,4,239,15,131,244,51,255,65,129,124,253,199,4,239,15,131,244,51, |
571 | 255,252,242,15,16,4,252,234,252,242,65,15,88,4,199,255,221,4,252,234,65,220, | 582 | 255,252,242,15,16,4,252,234,252,242,65,15,88,4,199,255,221,4,252,234,65,220, |
572 | 4,199,255,129,124,253,252,234,4,239,15,131,244,52,255,65,129,124,253,199, | 583 | 4,199,255,129,124,253,252,234,4,239,15,131,244,53,255,65,129,124,253,199, |
573 | 4,239,15,131,244,52,255,252,242,65,15,16,4,199,252,242,15,88,4,252,234,255, | 584 | 4,239,15,131,244,53,255,252,242,65,15,16,4,199,252,242,15,88,4,252,234,255, |
574 | 65,221,4,199,220,4,252,234,255,129,124,253,252,234,4,239,15,131,244,55,129, | 585 | 65,221,4,199,220,4,252,234,255,129,124,253,252,234,4,239,15,131,244,56,129, |
575 | 124,253,194,4,239,15,131,244,55,255,252,242,15,16,4,252,234,252,242,15,88, | 586 | 124,253,194,4,239,15,131,244,56,255,252,242,15,16,4,252,234,252,242,15,88, |
576 | 4,194,255,221,4,252,234,220,4,194,255,129,124,253,252,234,4,239,15,133,244, | 587 | 4,194,255,221,4,252,234,220,4,194,255,129,124,253,252,234,4,239,15,133,244, |
577 | 50,65,129,124,253,199,4,239,15,133,244,50,139,44,252,234,65,43,44,199,15, | 588 | 51,65,129,124,253,199,4,239,15,133,244,51,139,44,252,234,65,43,44,199,15, |
578 | 128,244,49,255,129,124,253,252,234,4,239,15,133,244,52,65,129,124,253,199, | 589 | 128,244,50,255,129,124,253,252,234,4,239,15,133,244,53,65,129,124,253,199, |
579 | 4,239,15,133,244,52,65,139,4,199,43,4,252,234,15,128,244,51,255,129,124,253, | 590 | 4,239,15,133,244,53,65,139,4,199,43,4,252,234,15,128,244,52,255,129,124,253, |
580 | 252,234,4,239,15,133,244,55,129,124,253,194,4,239,15,133,244,55,139,44,252, | 591 | 252,234,4,239,15,133,244,56,129,124,253,194,4,239,15,133,244,56,139,44,252, |
581 | 234,43,44,194,15,128,244,54,255,252,242,15,16,4,252,234,252,242,65,15,92, | 592 | 234,43,44,194,15,128,244,55,255,252,242,15,16,4,252,234,252,242,65,15,92, |
582 | 4,199,255,221,4,252,234,65,220,36,199,255,252,242,65,15,16,4,199,252,242, | 593 | 4,199,255,221,4,252,234,65,220,36,199,255,252,242,65,15,16,4,199,252,242, |
583 | 15,92,4,252,234,255,65,221,4,199,220,36,252,234,255,252,242,15,16,4,252,234, | 594 | 15,92,4,252,234,255,65,221,4,199,220,36,252,234,255,252,242,15,16,4,252,234, |
584 | 252,242,15,92,4,194,255,221,4,252,234,220,36,194,255,129,124,253,252,234, | 595 | 252,242,15,92,4,194,255,221,4,252,234,220,36,194,255,129,124,253,252,234, |
585 | 4,239,15,133,244,50,65,129,124,253,199,4,239,15,133,244,50,139,44,252,234, | 596 | 4,239,15,133,244,51,65,129,124,253,199,4,239,15,133,244,51,139,44,252,234, |
586 | 65,15,175,44,199,15,128,244,49,255,129,124,253,252,234,4,239,15,133,244,52, | 597 | 65,15,175,44,199,15,128,244,50,255,129,124,253,252,234,4,239,15,133,244,53, |
587 | 65,129,124,253,199,4,239,15,133,244,52,65,139,4,199,15,175,4,252,234,15,128, | 598 | 65,129,124,253,199,4,239,15,133,244,53,65,139,4,199,15,175,4,252,234,15,128, |
588 | 244,51,255,129,124,253,252,234,4,239,15,133,244,55,129,124,253,194,4,239, | 599 | 244,52,255,129,124,253,252,234,4,239,15,133,244,56,129,124,253,194,4,239, |
589 | 15,133,244,55,139,44,252,234,15,175,44,194,15,128,244,54,255,252,242,15,16, | 600 | 15,133,244,56,139,44,252,234,15,175,44,194,15,128,244,55,255,252,242,15,16, |
590 | 4,252,234,252,242,65,15,89,4,199,255,221,4,252,234,65,220,12,199,255,252, | 601 | 4,252,234,252,242,65,15,89,4,199,255,221,4,252,234,65,220,12,199,255,252, |
591 | 242,65,15,16,4,199,252,242,15,89,4,252,234,255,65,221,4,199,220,12,252,234, | 602 | 242,65,15,16,4,199,252,242,15,89,4,252,234,255,65,221,4,199,220,12,252,234, |
592 | 255,252,242,15,16,4,252,234,252,242,15,89,4,194,255,221,4,252,234,220,12, | 603 | 255,252,242,15,16,4,252,234,252,242,15,89,4,194,255,221,4,252,234,220,12, |
@@ -596,10 +607,10 @@ static const unsigned char build_actionlist[16165] = { | |||
596 | 221,4,252,234,220,52,194,255,252,242,15,16,4,252,234,252,242,65,15,16,12, | 607 | 221,4,252,234,220,52,194,255,252,242,15,16,4,252,234,252,242,65,15,16,12, |
597 | 199,255,221,4,252,234,65,221,4,199,255,252,242,65,15,16,4,199,252,242,15, | 608 | 199,255,221,4,252,234,65,221,4,199,255,252,242,65,15,16,4,199,252,242,15, |
598 | 16,12,252,234,255,65,221,4,199,221,4,252,234,255,252,242,15,16,4,252,234, | 609 | 16,12,252,234,255,65,221,4,199,221,4,252,234,255,252,242,15,16,4,252,234, |
599 | 252,242,15,16,12,194,255,221,4,252,234,221,4,194,255,248,166,232,244,156, | 610 | 252,242,15,16,12,194,255,221,4,252,234,221,4,194,255,248,168,232,244,157, |
600 | 255,252,233,244,166,255,232,244,116,255,15,182,252,236,15,182,192,139,124, | 611 | 255,252,233,244,168,255,232,244,117,255,15,182,252,236,15,182,192,139,124, |
601 | 36,24,137,151,233,141,52,194,137,194,41,252,234,248,35,137,252,253,137,92, | 612 | 36,24,137,151,233,141,52,194,137,194,41,252,234,248,36,137,252,253,137,92, |
602 | 36,28,232,251,1,27,139,149,233,133,192,15,133,244,44,15,182,107,252,255,15, | 613 | 36,28,232,251,1,29,139,149,233,133,192,15,133,244,45,15,182,107,252,255,15, |
603 | 182,75,252,253,72,139,4,252,234,72,137,4,202,139,3,15,182,204,15,182,232, | 614 | 182,75,252,253,72,139,4,252,234,72,137,4,202,139,3,15,182,204,15,182,232, |
604 | 131,195,4,193,232,16,65,252,255,36,252,238,255,72,252,247,208,65,139,4,135, | 615 | 131,195,4,193,232,16,65,252,255,36,252,238,255,72,252,247,208,65,139,4,135, |
605 | 199,68,202,4,237,137,4,202,139,3,15,182,204,15,182,232,131,195,4,193,232, | 616 | 199,68,202,4,237,137,4,202,139,3,15,182,204,15,182,232,131,195,4,193,232, |
@@ -616,82 +627,82 @@ static const unsigned char build_actionlist[16165] = { | |||
616 | 69,4,15,132,244,247,252,246,133,233,235,15,133,244,248,248,1,139,3,15,182, | 627 | 69,4,15,132,244,247,252,246,133,233,235,15,133,244,248,248,1,139,3,15,182, |
617 | 204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,248,2,129,232,239, | 628 | 204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,248,2,129,232,239, |
618 | 129,252,248,239,15,134,244,1,252,246,129,233,235,15,132,244,1,137,252,238, | 629 | 129,252,248,239,15,134,244,1,252,246,129,233,235,15,132,244,1,137,252,238, |
619 | 137,213,65,141,190,233,255,232,251,1,28,137,252,234,252,233,244,1,255,72, | 630 | 137,213,65,141,190,233,255,232,251,1,30,137,252,234,252,233,244,1,255,72, |
620 | 252,247,208,139,106,252,248,139,172,253,141,233,65,139,12,135,139,133,233, | 631 | 252,247,208,139,106,252,248,139,172,253,141,233,65,139,12,135,139,133,233, |
621 | 137,8,199,64,4,237,252,246,133,233,235,15,133,244,248,248,1,139,3,15,182, | 632 | 137,8,199,64,4,237,252,246,133,233,235,15,133,244,248,248,1,139,3,15,182, |
622 | 204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,248,2,252,246,129, | 633 | 204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,248,2,252,246,129, |
623 | 233,235,15,132,244,1,128,189,233,0,15,132,244,1,137,213,137,198,65,141,190, | 634 | 233,235,15,132,244,1,128,189,233,0,15,132,244,1,137,213,137,198,65,141,190, |
624 | 233,232,251,1,28,137,252,234,252,233,244,1,255,139,106,252,248,255,252,242, | 635 | 233,232,251,1,30,137,252,234,252,233,244,1,255,139,106,252,248,255,252,242, |
625 | 65,15,16,4,199,255,139,172,253,141,233,139,141,233,255,252,242,15,17,1,255, | 636 | 65,15,16,4,199,255,139,172,253,141,233,139,141,233,255,252,242,15,17,1,255, |
626 | 221,25,255,72,252,247,208,139,106,252,248,139,172,253,141,233,139,141,233, | 637 | 221,25,255,72,252,247,208,139,106,252,248,139,172,253,141,233,139,141,233, |
627 | 137,65,4,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252, | 638 | 137,65,4,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252, |
628 | 238,255,141,156,253,131,233,139,108,36,24,131,189,233,0,15,132,244,247,137, | 639 | 238,255,141,156,253,131,233,139,108,36,24,131,189,233,0,15,132,244,247,137, |
629 | 149,233,141,52,202,137,252,239,232,251,1,29,139,149,233,248,1,139,3,15,182, | 640 | 149,233,141,52,202,137,252,239,232,251,1,31,139,149,233,248,1,139,3,15,182, |
630 | 204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,255,72,252,247, | 641 | 204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,255,72,252,247, |
631 | 208,139,108,36,24,137,149,233,139,82,252,248,65,139,52,135,137,252,239,137, | 642 | 208,139,108,36,24,137,149,233,139,82,252,248,65,139,52,135,137,252,239,137, |
632 | 92,36,28,232,251,1,30,139,149,233,15,182,75,252,253,137,4,202,199,68,202, | 643 | 92,36,28,232,251,1,32,139,149,233,15,182,75,252,253,137,4,202,199,68,202, |
633 | 4,237,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252, | 644 | 4,237,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252, |
634 | 238,255,139,108,36,24,137,149,233,65,139,142,233,65,59,142,233,137,92,36, | 645 | 238,255,139,108,36,24,137,149,233,65,139,142,233,65,59,142,233,137,92,36, |
635 | 28,15,131,244,251,248,1,137,194,37,252,255,7,0,0,193,252,234,11,61,252,255, | 646 | 28,15,131,244,251,248,1,137,194,37,252,255,7,0,0,193,252,234,11,61,252,255, |
636 | 7,0,0,15,132,244,249,248,2,137,252,239,137,198,232,251,1,31,139,149,233,15, | 647 | 7,0,0,15,132,244,249,248,2,137,252,239,137,198,232,251,1,33,139,149,233,15, |
637 | 182,75,252,253,137,4,202,199,68,202,4,237,139,3,15,182,204,15,182,232,131, | 648 | 182,75,252,253,137,4,202,199,68,202,4,237,139,3,15,182,204,15,182,232,131, |
638 | 195,4,193,232,16,65,252,255,36,252,238,248,3,184,1,8,0,0,252,233,244,2,248, | 649 | 195,4,193,232,16,65,252,255,36,252,238,248,3,184,1,8,0,0,252,233,244,2,248, |
639 | 5,137,252,239,232,251,1,32,15,183,67,252,254,252,233,244,1,255,72,252,247, | 650 | 5,137,252,239,232,251,1,34,15,183,67,252,254,252,233,244,1,255,72,252,247, |
640 | 208,139,108,36,24,65,139,142,233,137,92,36,28,65,59,142,233,137,149,233,15, | 651 | 208,139,108,36,24,65,139,142,233,137,92,36,28,65,59,142,233,137,149,233,15, |
641 | 131,244,249,248,2,65,139,52,135,137,252,239,232,251,1,33,139,149,233,15,182, | 652 | 131,244,249,248,2,65,139,52,135,137,252,239,232,251,1,35,139,149,233,15,182, |
642 | 75,252,253,137,4,202,199,68,202,4,237,139,3,15,182,204,15,182,232,131,195, | 653 | 75,252,253,137,4,202,199,68,202,4,237,139,3,15,182,204,15,182,232,131,195, |
643 | 4,193,232,16,65,252,255,36,252,238,248,3,137,252,239,232,251,1,32,15,183, | 654 | 4,193,232,16,65,252,255,36,252,238,248,3,137,252,239,232,251,1,34,15,183, |
644 | 67,252,254,72,252,247,208,252,233,244,2,255,72,252,247,208,139,106,252,248, | 655 | 67,252,254,72,252,247,208,252,233,244,2,255,72,252,247,208,139,106,252,248, |
645 | 139,173,233,65,139,4,135,252,233,244,167,255,72,252,247,208,139,106,252,248, | 656 | 139,173,233,65,139,4,135,252,233,244,169,255,72,252,247,208,139,106,252,248, |
646 | 139,173,233,65,139,4,135,252,233,244,168,255,15,182,252,236,15,182,192,129, | 657 | 139,173,233,65,139,4,135,252,233,244,170,255,15,182,252,236,15,182,192,129, |
647 | 124,253,252,234,4,239,15,133,244,38,139,44,252,234,255,129,124,253,194,4, | 658 | 124,253,252,234,4,239,15,133,244,39,139,44,252,234,255,129,124,253,194,4, |
648 | 239,15,133,244,251,139,4,194,255,129,124,253,194,4,239,15,131,244,251,255, | 659 | 239,15,133,244,251,139,4,194,255,129,124,253,194,4,239,15,131,244,251,255, |
649 | 252,242,15,16,4,194,252,242,15,45,192,252,242,15,42,200,102,15,46,193,255, | 660 | 252,242,15,16,4,194,252,242,15,45,192,252,242,15,42,200,102,15,46,193,255, |
650 | 15,133,244,38,255,59,133,233,15,131,244,38,193,224,3,3,133,233,129,120,253, | 661 | 15,133,244,39,255,59,133,233,15,131,244,39,193,224,3,3,133,233,129,120,253, |
651 | 4,239,15,132,244,248,72,139,40,72,137,44,202,248,1,139,3,15,182,204,15,182, | 662 | 4,239,15,132,244,248,72,139,40,72,137,44,202,248,1,139,3,15,182,204,15,182, |
652 | 232,131,195,4,193,232,16,65,252,255,36,252,238,248,2,131,189,233,0,15,132, | 663 | 232,131,195,4,193,232,16,65,252,255,36,252,238,248,2,131,189,233,0,15,132, |
653 | 244,249,139,141,233,252,246,129,233,235,15,132,244,38,15,182,75,252,253,248, | 664 | 244,249,139,141,233,252,246,129,233,235,15,132,244,39,15,182,75,252,253,248, |
654 | 3,199,68,202,4,237,252,233,244,1,248,5,255,129,124,253,194,4,239,15,133,244, | 665 | 3,199,68,202,4,237,252,233,244,1,248,5,255,129,124,253,194,4,239,15,133,244, |
655 | 38,139,4,194,252,233,244,167,255,15,182,252,236,15,182,192,72,252,247,208, | 666 | 39,139,4,194,252,233,244,169,255,15,182,252,236,15,182,192,72,252,247,208, |
656 | 65,139,4,135,129,124,253,252,234,4,239,15,133,244,36,139,44,252,234,248,167, | 667 | 65,139,4,135,129,124,253,252,234,4,239,15,133,244,37,139,44,252,234,248,169, |
657 | 139,141,233,35,136,233,105,201,239,3,141,233,248,1,129,185,233,239,15,133, | 668 | 139,141,233,35,136,233,105,201,239,3,141,233,248,1,129,185,233,239,15,133, |
658 | 244,250,57,129,233,15,133,244,250,129,121,253,4,239,15,132,244,251,15,182, | 669 | 244,250,57,129,233,15,133,244,250,129,121,253,4,239,15,132,244,251,15,182, |
659 | 67,252,253,72,139,41,72,137,44,194,248,2,255,139,3,15,182,204,15,182,232, | 670 | 67,252,253,72,139,41,72,137,44,194,248,2,255,139,3,15,182,204,15,182,232, |
660 | 131,195,4,193,232,16,65,252,255,36,252,238,248,3,15,182,67,252,253,199,68, | 671 | 131,195,4,193,232,16,65,252,255,36,252,238,248,3,15,182,67,252,253,199,68, |
661 | 194,4,237,252,233,244,2,248,4,139,137,233,133,201,15,133,244,1,248,5,139, | 672 | 194,4,237,252,233,244,2,248,4,139,137,233,133,201,15,133,244,1,248,5,139, |
662 | 141,233,133,201,15,132,244,3,252,246,129,233,235,15,133,244,3,252,233,244, | 673 | 141,233,133,201,15,132,244,3,252,246,129,233,235,15,133,244,3,252,233,244, |
663 | 36,255,15,182,252,236,15,182,192,129,124,253,252,234,4,239,15,133,244,37, | 674 | 37,255,15,182,252,236,15,182,192,129,124,253,252,234,4,239,15,133,244,38, |
664 | 139,44,252,234,59,133,233,15,131,244,37,193,224,3,3,133,233,129,120,253,4, | 675 | 139,44,252,234,59,133,233,15,131,244,38,193,224,3,3,133,233,129,120,253,4, |
665 | 239,15,132,244,248,72,139,40,72,137,44,202,248,1,139,3,15,182,204,15,182, | 676 | 239,15,132,244,248,72,139,40,72,137,44,202,248,1,139,3,15,182,204,15,182, |
666 | 232,131,195,4,193,232,16,65,252,255,36,252,238,248,2,131,189,233,0,15,132, | 677 | 232,131,195,4,193,232,16,65,252,255,36,252,238,248,2,131,189,233,0,15,132, |
667 | 244,249,139,141,233,252,246,129,233,235,15,132,244,37,255,15,182,75,252,253, | 678 | 244,249,139,141,233,252,246,129,233,235,15,132,244,38,255,15,182,75,252,253, |
668 | 248,3,199,68,202,4,237,252,233,244,1,255,15,182,252,236,15,182,192,129,124, | 679 | 248,3,199,68,202,4,237,252,233,244,1,255,15,182,252,236,15,182,192,129,124, |
669 | 253,252,234,4,239,15,133,244,41,139,44,252,234,255,15,133,244,41,255,59,133, | 680 | 253,252,234,4,239,15,133,244,42,139,44,252,234,255,15,133,244,42,255,59,133, |
670 | 233,15,131,244,41,193,224,3,3,133,233,129,120,253,4,239,15,132,244,249,248, | 681 | 233,15,131,244,42,193,224,3,3,133,233,129,120,253,4,239,15,132,244,249,248, |
671 | 1,252,246,133,233,235,15,133,244,253,248,2,72,139,44,202,72,137,40,139,3, | 682 | 1,252,246,133,233,235,15,133,244,253,248,2,72,139,44,202,72,137,40,139,3, |
672 | 15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,248,3,131, | 683 | 15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,248,3,131, |
673 | 189,233,0,15,132,244,1,139,141,233,252,246,129,233,235,255,15,132,244,41, | 684 | 189,233,0,15,132,244,1,139,141,233,252,246,129,233,235,255,15,132,244,42, |
674 | 15,182,75,252,253,252,233,244,1,248,5,129,124,253,194,4,239,15,133,244,41, | 685 | 15,182,75,252,253,252,233,244,1,248,5,129,124,253,194,4,239,15,133,244,42, |
675 | 139,4,194,252,233,244,168,248,7,128,165,233,235,65,139,142,233,65,137,174, | 686 | 139,4,194,252,233,244,170,248,7,128,165,233,235,65,139,142,233,65,137,174, |
676 | 233,137,141,233,15,182,75,252,253,252,233,244,2,255,15,182,252,236,15,182, | 687 | 233,137,141,233,15,182,75,252,253,252,233,244,2,255,15,182,252,236,15,182, |
677 | 192,72,252,247,208,65,139,4,135,129,124,253,252,234,4,239,15,133,244,39,139, | 688 | 192,72,252,247,208,65,139,4,135,129,124,253,252,234,4,239,15,133,244,40,139, |
678 | 44,252,234,248,168,139,141,233,35,136,233,105,201,239,198,133,233,0,3,141, | 689 | 44,252,234,248,170,139,141,233,35,136,233,105,201,239,198,133,233,0,3,141, |
679 | 233,248,1,129,185,233,239,15,133,244,251,57,129,233,15,133,244,251,129,121, | 690 | 233,248,1,129,185,233,239,15,133,244,251,57,129,233,15,133,244,251,129,121, |
680 | 253,4,239,15,132,244,250,248,2,255,252,246,133,233,235,15,133,244,253,248, | 691 | 253,4,239,15,132,244,250,248,2,255,252,246,133,233,235,15,133,244,253,248, |
681 | 3,15,182,67,252,253,72,139,44,194,72,137,41,139,3,15,182,204,15,182,232,131, | 692 | 3,15,182,67,252,253,72,139,44,194,72,137,41,139,3,15,182,204,15,182,232,131, |
682 | 195,4,193,232,16,65,252,255,36,252,238,248,4,131,189,233,0,15,132,244,2,137, | 693 | 195,4,193,232,16,65,252,255,36,252,238,248,4,131,189,233,0,15,132,244,2,137, |
683 | 12,36,139,141,233,252,246,129,233,235,15,132,244,39,139,12,36,252,233,244, | 694 | 12,36,139,141,233,252,246,129,233,235,15,132,244,40,139,12,36,252,233,244, |
684 | 2,248,5,139,137,233,133,201,15,133,244,1,255,139,141,233,133,201,15,132,244, | 695 | 2,248,5,139,137,233,133,201,15,133,244,1,255,139,141,233,133,201,15,132,244, |
685 | 252,252,246,129,233,235,15,132,244,39,248,6,137,4,36,199,68,36,4,237,137, | 696 | 252,252,246,129,233,235,15,132,244,40,248,6,137,4,36,199,68,36,4,237,137, |
686 | 108,36,8,139,124,36,24,137,151,233,72,141,20,36,137,252,238,137,252,253,137, | 697 | 108,36,8,139,124,36,24,137,151,233,72,141,20,36,137,252,238,137,252,253,137, |
687 | 92,36,28,232,251,1,34,139,149,233,139,108,36,8,137,193,252,233,244,2,248, | 698 | 92,36,28,232,251,1,36,139,149,233,139,108,36,8,137,193,252,233,244,2,248, |
688 | 7,128,165,233,235,65,139,134,233,65,137,174,233,137,133,233,252,233,244,3, | 699 | 7,128,165,233,235,65,139,134,233,65,137,174,233,137,133,233,252,233,244,3, |
689 | 255,15,182,252,236,15,182,192,129,124,253,252,234,4,239,15,133,244,40,139, | 700 | 255,15,182,252,236,15,182,192,129,124,253,252,234,4,239,15,133,244,41,139, |
690 | 44,252,234,59,133,233,15,131,244,40,193,224,3,3,133,233,129,120,253,4,239, | 701 | 44,252,234,59,133,233,15,131,244,41,193,224,3,3,133,233,129,120,253,4,239, |
691 | 15,132,244,249,248,1,252,246,133,233,235,15,133,244,253,248,2,72,139,12,202, | 702 | 15,132,244,249,248,1,252,246,133,233,235,15,133,244,253,248,2,72,139,12,202, |
692 | 72,137,8,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252, | 703 | 72,137,8,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252, |
693 | 238,248,3,131,189,233,0,15,132,244,1,255,139,141,233,252,246,129,233,235, | 704 | 238,248,3,131,189,233,0,15,132,244,1,255,139,141,233,252,246,129,233,235, |
694 | 15,132,244,40,15,182,75,252,253,252,233,244,1,248,7,128,165,233,235,65,139, | 705 | 15,132,244,41,15,182,75,252,253,252,233,244,1,248,7,128,165,233,235,65,139, |
695 | 142,233,65,137,174,233,137,141,233,15,182,75,252,253,252,233,244,2,255,68, | 706 | 142,233,65,137,174,233,137,141,233,15,182,75,252,253,252,233,244,2,255,68, |
696 | 137,60,36,69,139,60,199,248,1,141,12,202,139,105,252,248,252,246,133,233, | 707 | 137,60,36,69,139,60,199,248,1,141,12,202,139,105,252,248,252,246,133,233, |
697 | 235,15,133,244,253,248,2,139,68,36,4,131,232,1,15,132,244,250,68,1,252,248, | 708 | 235,15,133,244,253,248,2,139,68,36,4,131,232,1,15,132,244,250,68,1,252,248, |
@@ -699,12 +710,12 @@ static const unsigned char build_actionlist[16165] = { | |||
699 | 139,41,131,193,8,73,137,47,65,131,199,8,131,232,1,15,133,244,3,248,4,68,139, | 710 | 139,41,131,193,8,73,137,47,65,131,199,8,131,232,1,15,133,244,3,248,4,68,139, |
700 | 60,36,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252, | 711 | 60,36,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252, |
701 | 238,248,5,139,124,36,24,137,151,233,137,252,238,137,194,137,252,253,137,92, | 712 | 238,248,5,139,124,36,24,137,151,233,137,252,238,137,194,137,252,253,137,92, |
702 | 36,28,232,251,1,35,139,149,233,15,182,75,252,253,252,233,244,1,248,7,255, | 713 | 36,28,232,251,1,37,139,149,233,15,182,75,252,253,252,233,244,1,248,7,255, |
703 | 128,165,233,235,65,139,134,233,65,137,174,233,137,133,233,252,233,244,2,255, | 714 | 128,165,233,235,65,139,134,233,65,137,174,233,137,133,233,252,233,244,2,255, |
704 | 3,68,36,4,255,129,124,253,202,4,239,139,44,202,15,133,244,58,141,84,202,8, | 715 | 3,68,36,4,255,129,124,253,202,4,239,139,44,202,15,133,244,59,141,84,202,8, |
705 | 137,90,252,252,139,157,233,139,11,15,182,252,233,15,182,205,131,195,4,65, | 716 | 137,90,252,252,139,157,233,139,11,15,182,252,233,15,182,205,131,195,4,65, |
706 | 252,255,36,252,238,255,141,76,202,8,65,137,215,139,105,252,248,129,121,253, | 717 | 252,255,36,252,238,255,141,76,202,8,65,137,215,139,105,252,248,129,121,253, |
707 | 252,252,239,15,133,244,29,248,59,139,90,252,252,252,247,195,237,15,133,244, | 718 | 252,252,239,15,133,244,29,248,60,139,90,252,252,252,247,195,237,15,133,244, |
708 | 253,248,1,137,106,252,248,137,68,36,4,131,232,1,15,132,244,249,248,2,72,139, | 719 | 253,248,1,137,106,252,248,137,68,36,4,131,232,1,15,132,244,249,248,2,72,139, |
709 | 41,131,193,8,73,137,47,65,131,199,8,131,232,1,15,133,244,2,139,106,252,248, | 720 | 41,131,193,8,73,137,47,65,131,199,8,131,232,1,15,133,244,2,139,106,252,248, |
710 | 248,3,139,68,36,4,128,189,233,1,15,135,244,251,248,4,139,157,233,139,11,15, | 721 | 248,3,139,68,36,4,128,189,233,1,15,135,244,251,248,4,139,157,233,139,11,15, |
@@ -752,19 +763,19 @@ static const unsigned char build_actionlist[16165] = { | |||
752 | 65,199,71,252,252,237,65,131,199,8,255,199,68,194,252,244,237,255,131,192, | 763 | 65,199,71,252,252,237,65,131,199,8,255,199,68,194,252,244,237,255,131,192, |
753 | 1,252,233,244,5,248,7,141,171,233,252,247,197,237,15,133,244,14,41,252,234, | 764 | 1,252,233,244,5,248,7,141,171,233,252,247,197,237,15,133,244,14,41,252,234, |
754 | 255,1,252,233,255,137,221,209,252,237,129,229,239,102,65,129,172,253,46,233, | 765 | 255,1,252,233,255,137,221,209,252,237,129,229,239,102,65,129,172,253,46,233, |
755 | 238,15,130,244,148,255,141,12,202,255,129,121,253,4,239,15,133,244,255,255, | 766 | 238,15,130,244,149,255,141,12,202,255,129,121,253,4,239,15,133,244,255,255, |
756 | 129,121,253,12,239,15,133,244,60,129,121,253,20,239,15,133,244,60,139,41, | 767 | 129,121,253,12,239,15,133,244,61,129,121,253,20,239,15,133,244,61,139,41, |
757 | 131,121,16,0,15,140,244,251,255,129,121,253,12,239,15,133,244,164,129,121, | 768 | 131,121,16,0,15,140,244,251,255,129,121,253,12,239,15,133,244,165,129,121, |
758 | 253,20,239,15,133,244,164,255,139,105,16,133,252,237,15,136,244,251,3,41, | 769 | 253,20,239,15,133,244,165,255,139,105,16,133,252,237,15,136,244,251,3,41, |
759 | 15,128,244,247,137,41,255,59,105,8,199,65,28,237,137,105,24,255,15,142,244, | 770 | 15,128,244,247,137,41,255,59,105,8,199,65,28,237,137,105,24,255,15,142,244, |
760 | 253,248,1,248,6,141,156,253,131,233,255,141,156,253,131,233,15,183,67,252, | 771 | 253,248,1,248,6,141,156,253,131,233,255,141,156,253,131,233,15,183,67,252, |
761 | 254,15,142,245,248,1,248,6,255,15,143,244,253,248,6,141,156,253,131,233,248, | 772 | 254,15,142,245,248,1,248,6,255,15,143,244,253,248,6,141,156,253,131,233,248, |
762 | 1,255,248,7,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36, | 773 | 1,255,248,7,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36, |
763 | 252,238,248,5,255,3,41,15,128,244,1,137,41,255,15,141,244,7,255,141,156,253, | 774 | 252,238,248,5,255,3,41,15,128,244,1,137,41,255,15,141,244,7,255,141,156,253, |
764 | 131,233,15,183,67,252,254,15,141,245,255,15,140,244,7,255,252,233,244,6,248, | 775 | 131,233,15,183,67,252,254,15,141,245,255,15,140,244,7,255,252,233,244,6,248, |
765 | 9,255,129,121,253,4,239,255,15,131,244,60,129,121,253,12,239,15,131,244,60, | 776 | 9,255,129,121,253,4,239,255,15,131,244,61,129,121,253,12,239,15,131,244,61, |
766 | 255,129,121,253,12,239,15,131,244,164,129,121,253,20,239,15,131,244,164,255, | 777 | 255,129,121,253,12,239,15,131,244,165,129,121,253,20,239,15,131,244,165,255, |
767 | 139,105,20,255,129,252,253,239,15,131,244,60,255,252,242,15,16,1,252,242, | 778 | 139,105,20,255,129,252,253,239,15,131,244,61,255,252,242,15,16,1,252,242, |
768 | 15,16,73,8,255,252,242,15,88,65,16,252,242,15,17,1,133,252,237,15,136,244, | 779 | 15,16,73,8,255,252,242,15,88,65,16,252,242,15,17,1,133,252,237,15,136,244, |
769 | 249,255,15,140,244,249,255,102,15,46,200,248,1,252,242,15,17,65,24,255,221, | 780 | 249,255,15,140,244,249,255,102,15,46,200,248,1,252,242,15,17,65,24,255,221, |
770 | 65,8,221,1,255,220,65,16,221,17,221,81,24,133,252,237,15,136,244,247,255, | 781 | 65,8,221,1,255,220,65,16,221,17,221,81,24,133,252,237,15,136,244,247,255, |
@@ -778,7 +789,7 @@ static const unsigned char build_actionlist[16165] = { | |||
778 | 233,76,137,36,36,76,137,108,36,8,72,131,252,236,16,252,255,224,255,141,156, | 789 | 233,76,137,36,36,76,137,108,36,8,72,131,252,236,16,252,255,224,255,141,156, |
779 | 253,131,233,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36, | 790 | 253,131,233,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36, |
780 | 252,238,255,137,221,209,252,237,129,229,239,102,65,129,172,253,46,233,238, | 791 | 252,238,255,137,221,209,252,237,129,229,239,102,65,129,172,253,46,233,238, |
781 | 15,130,244,150,255,68,139,187,233,139,108,36,24,141,12,202,59,141,233,15, | 792 | 15,130,244,151,255,68,139,187,233,139,108,36,24,141,12,202,59,141,233,15, |
782 | 135,244,24,15,182,139,233,57,200,15,134,244,249,248,2,255,15,183,67,252,254, | 793 | 135,244,24,15,182,139,233,57,200,15,134,244,249,248,2,255,15,183,67,252,254, |
783 | 252,233,245,255,248,3,199,68,194,252,252,237,131,192,1,57,200,15,134,244, | 794 | 252,233,245,255,248,3,199,68,194,252,252,237,131,192,1,57,200,15,134,244, |
784 | 3,252,233,244,2,255,141,44,197,237,141,4,194,68,139,122,252,248,137,104,252, | 795 | 3,252,233,244,2,255,141,44,197,237,141,4,194,68,139,122,252,248,137,104,252, |
@@ -818,6 +829,7 @@ enum { | |||
818 | GLOB_vmeta_call, | 829 | GLOB_vmeta_call, |
819 | GLOB_vm_call_dispatch_f, | 830 | GLOB_vm_call_dispatch_f, |
820 | GLOB_vm_cpcall, | 831 | GLOB_vm_cpcall, |
832 | GLOB_cont_ffi_callback, | ||
821 | GLOB_vm_call_tail, | 833 | GLOB_vm_call_tail, |
822 | GLOB_cont_cat, | 834 | GLOB_cont_cat, |
823 | GLOB_cont_ra, | 835 | GLOB_cont_ra, |
@@ -951,6 +963,7 @@ enum { | |||
951 | GLOB_vm_foldarith, | 963 | GLOB_vm_foldarith, |
952 | GLOB_vm_cpuid, | 964 | GLOB_vm_cpuid, |
953 | GLOB_assert_bad_for_arg_type, | 965 | GLOB_assert_bad_for_arg_type, |
966 | GLOB_vm_ffi_callback, | ||
954 | GLOB_vm_ffi_call, | 967 | GLOB_vm_ffi_call, |
955 | GLOB_BC_MODVN_Z, | 968 | GLOB_BC_MODVN_Z, |
956 | GLOB_BC_TGETS_Z, | 969 | GLOB_BC_TGETS_Z, |
@@ -980,6 +993,7 @@ static const char *const globnames[] = { | |||
980 | "vmeta_call", | 993 | "vmeta_call", |
981 | "vm_call_dispatch_f", | 994 | "vm_call_dispatch_f", |
982 | "vm_cpcall", | 995 | "vm_cpcall", |
996 | "cont_ffi_callback", | ||
983 | "vm_call_tail", | 997 | "vm_call_tail", |
984 | "cont_cat", | 998 | "cont_cat", |
985 | "cont_ra", | 999 | "cont_ra", |
@@ -1113,6 +1127,7 @@ static const char *const globnames[] = { | |||
1113 | "vm_foldarith", | 1127 | "vm_foldarith", |
1114 | "vm_cpuid", | 1128 | "vm_cpuid", |
1115 | "assert_bad_for_arg_type", | 1129 | "assert_bad_for_arg_type", |
1130 | "vm_ffi_callback", | ||
1116 | "vm_ffi_call@4", | 1131 | "vm_ffi_call@4", |
1117 | "BC_MODVN_Z", | 1132 | "BC_MODVN_Z", |
1118 | "BC_TGETS_Z", | 1133 | "BC_TGETS_Z", |
@@ -1147,6 +1162,8 @@ static const char *const extnames[] = { | |||
1147 | "lj_trace_hot@8", | 1162 | "lj_trace_hot@8", |
1148 | "lj_dispatch_call@8", | 1163 | "lj_dispatch_call@8", |
1149 | "lj_trace_exit@8", | 1164 | "lj_trace_exit@8", |
1165 | "lj_ccallback_enter@8", | ||
1166 | "lj_ccallback_leave@8", | ||
1150 | "lj_meta_cat", | 1167 | "lj_meta_cat", |
1151 | "lj_gc_barrieruv@8", | 1168 | "lj_gc_barrieruv@8", |
1152 | "lj_func_closeuv@8", | 1169 | "lj_func_closeuv@8", |
@@ -1187,667 +1204,686 @@ static void build_subroutines(BuildCtx *ctx, int cmov, int sse) | |||
1187 | dasm_put(Dst, 385, Dt1(->top), Dt1(->base), Dt1(->top), Dt7(->pc), FRAME_CP, CFRAME_RESUME, Dt1(->glref), GG_G2DISP, Dt1(->cframe), Dt1(->status), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->status), Dt1(->base), Dt1(->top), FRAME_TYPE); | 1204 | dasm_put(Dst, 385, Dt1(->top), Dt1(->base), Dt1(->top), Dt7(->pc), FRAME_CP, CFRAME_RESUME, Dt1(->glref), GG_G2DISP, Dt1(->cframe), Dt1(->status), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->status), Dt1(->base), Dt1(->top), FRAME_TYPE); |
1188 | dasm_put(Dst, 548, FRAME_CP, FRAME_C, Dt1(->cframe), Dt1(->cframe), Dt1(->glref), GG_G2DISP, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base)); | 1205 | dasm_put(Dst, 548, FRAME_CP, FRAME_C, Dt1(->cframe), Dt1(->cframe), Dt1(->glref), GG_G2DISP, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base)); |
1189 | dasm_put(Dst, 648, Dt1(->top), LJ_TFUNC, Dt7(->pc), Dt1(->stack), Dt1(->top), Dt1(->cframe), Dt1(->cframe), FRAME_CP, LJ_TNIL); | 1206 | dasm_put(Dst, 648, Dt1(->top), LJ_TFUNC, Dt7(->pc), Dt1(->stack), Dt1(->top), Dt1(->cframe), Dt1(->cframe), FRAME_CP, LJ_TNIL); |
1190 | dasm_put(Dst, 819, 0, Dt7(->pc), PC2PROTO(k), Dt1(->base), LJ_TSTR, BC_GGET, DISPATCH_GL(tmptv), LJ_TTAB); | 1207 | #if LJ_HASFFI |
1191 | dasm_put(Dst, 944); | 1208 | dasm_put(Dst, 813); |
1209 | #endif | ||
1210 | dasm_put(Dst, 822, 0); | ||
1211 | #if LJ_HASFFI | ||
1212 | #endif | ||
1213 | dasm_put(Dst, 831, Dt7(->pc), PC2PROTO(k)); | ||
1214 | #if LJ_HASFFI | ||
1215 | dasm_put(Dst, 848); | ||
1216 | #endif | ||
1217 | dasm_put(Dst, 869, Dt1(->base), LJ_TSTR, BC_GGET, DISPATCH_GL(tmptv), LJ_TTAB); | ||
1192 | if (LJ_DUALNUM) { | 1218 | if (LJ_DUALNUM) { |
1193 | dasm_put(Dst, 958, LJ_TISNUM); | 1219 | dasm_put(Dst, 967, LJ_TISNUM); |
1194 | } else if (sse) { | 1220 | } else if (sse) { |
1195 | dasm_put(Dst, 967); | 1221 | dasm_put(Dst, 976); |
1196 | } else { | 1222 | } else { |
1197 | } | 1223 | } |
1198 | dasm_put(Dst, 979, Dt1(->base), Dt1(->base), Dt1(->top), FRAME_CONT, 2+1, LJ_TSTR, BC_GSET); | 1224 | dasm_put(Dst, 988, Dt1(->base), Dt1(->base), Dt1(->top), FRAME_CONT, 2+1, LJ_TSTR, BC_GSET); |
1199 | dasm_put(Dst, 1125, DISPATCH_GL(tmptv), LJ_TTAB); | 1225 | dasm_put(Dst, 1134, DISPATCH_GL(tmptv), LJ_TTAB); |
1200 | if (LJ_DUALNUM) { | 1226 | if (LJ_DUALNUM) { |
1201 | dasm_put(Dst, 958, LJ_TISNUM); | 1227 | dasm_put(Dst, 967, LJ_TISNUM); |
1202 | } else if (sse) { | 1228 | } else if (sse) { |
1203 | dasm_put(Dst, 967); | 1229 | dasm_put(Dst, 976); |
1204 | } else { | 1230 | } else { |
1205 | } | 1231 | } |
1206 | dasm_put(Dst, 1149, Dt1(->base), Dt1(->base), Dt1(->top), FRAME_CONT, 3+1, Dt1(->base), Dt1(->base)); | 1232 | dasm_put(Dst, 1158, Dt1(->base), Dt1(->base), Dt1(->top), FRAME_CONT, 3+1, Dt1(->base), Dt1(->base)); |
1207 | dasm_put(Dst, 1321, -BCBIAS_J*4, LJ_TISTRUECOND, LJ_TISTRUECOND, Dt1(->base)); | 1233 | dasm_put(Dst, 1330, -BCBIAS_J*4, LJ_TISTRUECOND, LJ_TISTRUECOND, Dt1(->base)); |
1208 | dasm_put(Dst, 1420); | 1234 | dasm_put(Dst, 1429); |
1209 | #if LJ_HASFFI | 1235 | #if LJ_HASFFI |
1210 | dasm_put(Dst, 1440, Dt1(->base)); | 1236 | dasm_put(Dst, 1449, Dt1(->base)); |
1211 | #endif | 1237 | #endif |
1212 | dasm_put(Dst, 1471); | 1238 | dasm_put(Dst, 1480); |
1213 | #if LJ_DUALNUM | 1239 | #if LJ_DUALNUM |
1214 | dasm_put(Dst, 1474); | 1240 | dasm_put(Dst, 1483); |
1215 | #endif | 1241 | #endif |
1216 | dasm_put(Dst, 1480); | 1242 | dasm_put(Dst, 1489); |
1217 | #if LJ_DUALNUM | 1243 | #if LJ_DUALNUM |
1218 | dasm_put(Dst, 952); | 1244 | dasm_put(Dst, 961); |
1219 | #endif | 1245 | #endif |
1220 | dasm_put(Dst, 1493); | 1246 | dasm_put(Dst, 1502); |
1221 | #if LJ_DUALNUM | 1247 | #if LJ_DUALNUM |
1222 | dasm_put(Dst, 1474); | 1248 | dasm_put(Dst, 1483); |
1223 | #endif | 1249 | #endif |
1224 | dasm_put(Dst, 1522, Dt1(->base), Dt1(->base), FRAME_CONT, 2+1, Dt1(->base), Dt1(->base)); | 1250 | dasm_put(Dst, 1531, Dt1(->base), Dt1(->base), FRAME_CONT, 2+1, Dt1(->base), Dt1(->base)); |
1225 | #ifdef LUAJIT_ENABLE_LUA52COMPAT | 1251 | #ifdef LUAJIT_ENABLE_LUA52COMPAT |
1226 | dasm_put(Dst, 1624); | 1252 | dasm_put(Dst, 1633); |
1227 | #else | 1253 | #else |
1228 | dasm_put(Dst, 1643); | 1254 | dasm_put(Dst, 1652); |
1229 | #endif | 1255 | #endif |
1230 | dasm_put(Dst, 1648, Dt1(->base), Dt1(->base), Dt7(->pc), Dt1(->base), Dt1(->base), GG_DISP2STATIC, 1+1, LJ_TISTRUECOND); | 1256 | dasm_put(Dst, 1657, Dt1(->base), Dt1(->base), Dt7(->pc), Dt1(->base), Dt1(->base), GG_DISP2STATIC, 1+1, LJ_TISTRUECOND); |
1231 | dasm_put(Dst, 1834, 1+1, ~LJ_TNUMX); | 1257 | dasm_put(Dst, 1843, 1+1, ~LJ_TNUMX); |
1232 | if (cmov) { | 1258 | if (cmov) { |
1233 | dasm_put(Dst, 1903); | 1259 | dasm_put(Dst, 1912); |
1234 | } else { | 1260 | } else { |
1235 | dasm_put(Dst, 1907); | 1261 | dasm_put(Dst, 1916); |
1236 | } | 1262 | } |
1237 | dasm_put(Dst, 1916, ((char *)(&((GCfuncC *)0)->upvalue)), LJ_TSTR, ~LJ_TLIGHTUD, 1+1, LJ_TTAB, Dt6(->metatable), LJ_TNIL); | 1263 | dasm_put(Dst, 1925, ((char *)(&((GCfuncC *)0)->upvalue)), LJ_TSTR, ~LJ_TLIGHTUD, 1+1, LJ_TTAB, Dt6(->metatable), LJ_TNIL); |
1238 | dasm_put(Dst, 1995, DISPATCH_GL(gcroot)+4*(GCROOT_MMNAME+MM_metatable), LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), DtB(->next)); | 1264 | dasm_put(Dst, 2004, DISPATCH_GL(gcroot)+4*(GCROOT_MMNAME+MM_metatable), LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), DtB(->next)); |
1239 | dasm_put(Dst, 2053, LJ_TNIL, LJ_TUDATA, LJ_TNUMX, LJ_TISNUM, LJ_TLIGHTUD); | 1265 | dasm_put(Dst, 2062, LJ_TNIL, LJ_TUDATA, LJ_TNUMX, LJ_TISNUM, LJ_TLIGHTUD); |
1240 | dasm_put(Dst, 2119, LJ_TNUMX, DISPATCH_GL(gcroot[GCROOT_BASEMT]), 2+1, LJ_TTAB, Dt6(->metatable), LJ_TTAB, Dt6(->metatable), LJ_TTAB); | 1266 | dasm_put(Dst, 2128, LJ_TNUMX, DISPATCH_GL(gcroot[GCROOT_BASEMT]), 2+1, LJ_TTAB, Dt6(->metatable), LJ_TTAB, Dt6(->metatable), LJ_TTAB); |
1241 | dasm_put(Dst, 2190, Dt6(->marked), LJ_GC_BLACK, Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist), 2+1, LJ_TTAB); | 1267 | dasm_put(Dst, 2199, Dt6(->marked), LJ_GC_BLACK, Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist), 2+1, LJ_TTAB); |
1242 | dasm_put(Dst, 2280, 1+1, LJ_TISNUM); | 1268 | dasm_put(Dst, 2289, 1+1, LJ_TISNUM); |
1243 | if (LJ_DUALNUM) { | 1269 | if (LJ_DUALNUM) { |
1244 | dasm_put(Dst, 2294); | 1270 | dasm_put(Dst, 2303); |
1245 | } else { | 1271 | } else { |
1246 | dasm_put(Dst, 2311); | 1272 | dasm_put(Dst, 2320); |
1247 | } | 1273 | } |
1248 | if (sse) { | 1274 | if (sse) { |
1249 | dasm_put(Dst, 2316); | 1275 | dasm_put(Dst, 2325); |
1250 | } else { | 1276 | } else { |
1251 | dasm_put(Dst, 2326); | 1277 | dasm_put(Dst, 2335); |
1252 | } | 1278 | } |
1253 | dasm_put(Dst, 2333, 1+1, LJ_TSTR, LJ_TSTR, LJ_TISNUM, DISPATCH_GL(gcroot[GCROOT_BASEMT_NUM]), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold)); | 1279 | dasm_put(Dst, 2342, 1+1, LJ_TSTR, LJ_TSTR, LJ_TISNUM, DISPATCH_GL(gcroot[GCROOT_BASEMT_NUM]), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold)); |
1254 | dasm_put(Dst, 2402, Dt1(->base)); | 1280 | dasm_put(Dst, 2411, Dt1(->base)); |
1255 | if (LJ_DUALNUM) { | 1281 | if (LJ_DUALNUM) { |
1256 | dasm_put(Dst, 2428); | 1282 | dasm_put(Dst, 2437); |
1257 | } else { | 1283 | } else { |
1258 | dasm_put(Dst, 2433); | 1284 | dasm_put(Dst, 2442); |
1259 | } | 1285 | } |
1260 | dasm_put(Dst, 2438, Dt1(->base), 1+1, LJ_TTAB, Dt1(->base), Dt1(->top), Dt1(->base), 1+2); | 1286 | dasm_put(Dst, 2447, Dt1(->base), 1+1, LJ_TTAB, Dt1(->base), Dt1(->top), Dt1(->base), 1+2); |
1261 | dasm_put(Dst, 2530, LJ_TNIL, LJ_TNIL, 1+1, LJ_TTAB); | 1287 | dasm_put(Dst, 2539, LJ_TNIL, LJ_TNIL, 1+1, LJ_TTAB); |
1262 | #ifdef LUAJIT_ENABLE_LUA52COMPAT | 1288 | #ifdef LUAJIT_ENABLE_LUA52COMPAT |
1263 | dasm_put(Dst, 2577, Dt6(->metatable)); | 1289 | dasm_put(Dst, 2586, Dt6(->metatable)); |
1264 | #endif | 1290 | #endif |
1265 | dasm_put(Dst, 2586, Dt8(->upvalue[0]), LJ_TFUNC, LJ_TNIL, 1+3, 1+1, LJ_TTAB, LJ_TISNUM); | 1291 | dasm_put(Dst, 2595, Dt8(->upvalue[0]), LJ_TFUNC, LJ_TNIL, 1+3, 1+1, LJ_TTAB, LJ_TISNUM); |
1266 | if (LJ_DUALNUM) { | 1292 | if (LJ_DUALNUM) { |
1267 | dasm_put(Dst, 2572); | 1293 | dasm_put(Dst, 2581); |
1268 | } else { | 1294 | } else { |
1269 | dasm_put(Dst, 2311); | 1295 | dasm_put(Dst, 2320); |
1270 | } | 1296 | } |
1271 | dasm_put(Dst, 2641); | 1297 | dasm_put(Dst, 2650); |
1272 | if (LJ_DUALNUM) { | 1298 | if (LJ_DUALNUM) { |
1273 | dasm_put(Dst, 2646, LJ_TISNUM); | 1299 | dasm_put(Dst, 2655, LJ_TISNUM); |
1274 | } else if (sse) { | 1300 | } else if (sse) { |
1275 | dasm_put(Dst, 2662, (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32)); | 1301 | dasm_put(Dst, 2671, (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32)); |
1276 | } else { | 1302 | } else { |
1277 | } | 1303 | } |
1278 | dasm_put(Dst, 2695, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->hmask), 1+0); | 1304 | dasm_put(Dst, 2704, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->hmask), 1+0); |
1279 | dasm_put(Dst, 2557, 1+1, LJ_TTAB); | 1305 | dasm_put(Dst, 2566, 1+1, LJ_TTAB); |
1280 | #ifdef LUAJIT_ENABLE_LUA52COMPAT | 1306 | #ifdef LUAJIT_ENABLE_LUA52COMPAT |
1281 | dasm_put(Dst, 2577, Dt6(->metatable)); | 1307 | dasm_put(Dst, 2586, Dt6(->metatable)); |
1282 | #endif | 1308 | #endif |
1283 | dasm_put(Dst, 2772, Dt8(->upvalue[0]), LJ_TFUNC); | 1309 | dasm_put(Dst, 2781, Dt8(->upvalue[0]), LJ_TFUNC); |
1284 | if (LJ_DUALNUM) { | 1310 | if (LJ_DUALNUM) { |
1285 | dasm_put(Dst, 2793, LJ_TISNUM); | 1311 | dasm_put(Dst, 2802, LJ_TISNUM); |
1286 | } else if (sse) { | 1312 | } else if (sse) { |
1287 | dasm_put(Dst, 2805); | 1313 | dasm_put(Dst, 2814); |
1288 | } else { | 1314 | } else { |
1289 | dasm_put(Dst, 2815); | 1315 | dasm_put(Dst, 2824); |
1290 | } | 1316 | } |
1291 | dasm_put(Dst, 2822, 1+3, 1+1, 8+FRAME_PCALL, DISPATCH_GL(hookmask), HOOK_ACTIVE_SHIFT, 2+1, LJ_TFUNC); | 1317 | dasm_put(Dst, 2831, 1+3, 1+1, 8+FRAME_PCALL, DISPATCH_GL(hookmask), HOOK_ACTIVE_SHIFT, 2+1, LJ_TFUNC); |
1292 | dasm_put(Dst, 2887, LJ_TFUNC, 16+FRAME_PCALL, 1+1, LJ_TTHREAD, Dt1(->cframe), Dt1(->status), LUA_YIELD, Dt1(->top)); | 1318 | dasm_put(Dst, 2896, LJ_TFUNC, 16+FRAME_PCALL, 1+1, LJ_TTHREAD, Dt1(->cframe), Dt1(->status), LUA_YIELD, Dt1(->top)); |
1293 | dasm_put(Dst, 2976, Dt1(->base), Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->top), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP); | 1319 | dasm_put(Dst, 2985, Dt1(->base), Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->top), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP); |
1294 | dasm_put(Dst, 3063, Dt1(->base), LUA_YIELD, Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->maxstack), LJ_TTRUE, FRAME_TYPE); | 1320 | dasm_put(Dst, 3072, Dt1(->base), LUA_YIELD, Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->maxstack), LJ_TTRUE, FRAME_TYPE); |
1295 | dasm_put(Dst, 3178, LJ_TFALSE, Dt1(->top), Dt1(->top), 1+2, Dt1(->top), Dt1(->base), Dt8(->upvalue[0].gcr), Dt1(->cframe)); | 1321 | dasm_put(Dst, 3187, LJ_TFALSE, Dt1(->top), Dt1(->top), 1+2, Dt1(->top), Dt1(->base), Dt8(->upvalue[0].gcr), Dt1(->cframe)); |
1296 | dasm_put(Dst, 3273, Dt1(->status), LUA_YIELD, Dt1(->top), Dt1(->base), Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->top)); | 1322 | dasm_put(Dst, 3282, Dt1(->status), LUA_YIELD, Dt1(->top), Dt1(->base), Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->top)); |
1297 | dasm_put(Dst, 3339, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), LUA_YIELD, Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->maxstack)); | 1323 | dasm_put(Dst, 3348, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), LUA_YIELD, Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->maxstack)); |
1298 | dasm_put(Dst, 3428, FRAME_TYPE, Dt1(->top), Dt1(->base), Dt1(->cframe), CFRAME_RESUME); | 1324 | dasm_put(Dst, 3437, FRAME_TYPE, Dt1(->top), Dt1(->base), Dt1(->cframe), CFRAME_RESUME); |
1299 | dasm_put(Dst, 3538, Dt1(->base), Dt1(->top), Dt1(->cframe), LUA_YIELD, Dt1(->status)); | 1325 | dasm_put(Dst, 3547, Dt1(->base), Dt1(->top), Dt1(->cframe), LUA_YIELD, Dt1(->status)); |
1300 | if (!LJ_DUALNUM) { | 1326 | if (!LJ_DUALNUM) { |
1301 | dasm_put(Dst, 3565); | 1327 | dasm_put(Dst, 3574); |
1302 | } | 1328 | } |
1303 | if (sse) { | 1329 | if (sse) { |
1304 | dasm_put(Dst, 3568); | 1330 | dasm_put(Dst, 3577); |
1305 | } | 1331 | } |
1306 | dasm_put(Dst, 3583, 1+1); | 1332 | dasm_put(Dst, 3592, 1+1); |
1307 | if (LJ_DUALNUM) { | 1333 | if (LJ_DUALNUM) { |
1308 | dasm_put(Dst, 3594, LJ_TISNUM, LJ_TISNUM); | 1334 | dasm_put(Dst, 3603, LJ_TISNUM, LJ_TISNUM); |
1309 | } else { | 1335 | } else { |
1310 | dasm_put(Dst, 3674, LJ_TISNUM); | 1336 | dasm_put(Dst, 3683, LJ_TISNUM); |
1311 | } | 1337 | } |
1312 | if (sse) { | 1338 | if (sse) { |
1313 | dasm_put(Dst, 3684, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32)); | 1339 | dasm_put(Dst, 3693, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32)); |
1314 | } else { | 1340 | } else { |
1315 | dasm_put(Dst, 3715); | 1341 | dasm_put(Dst, 3724); |
1316 | } | 1342 | } |
1317 | dasm_put(Dst, 3732, 1+1, FRAME_TYPE, LJ_TNIL); | 1343 | dasm_put(Dst, 3741, 1+1, FRAME_TYPE, LJ_TNIL); |
1318 | if (LJ_DUALNUM) { | 1344 | if (LJ_DUALNUM) { |
1319 | dasm_put(Dst, 3829, LJ_TISNUM); | 1345 | dasm_put(Dst, 3838, LJ_TISNUM); |
1320 | } else { | 1346 | } else { |
1321 | dasm_put(Dst, 3674, LJ_TISNUM); | 1347 | dasm_put(Dst, 3683, LJ_TISNUM); |
1322 | } | 1348 | } |
1323 | if (sse) { | 1349 | if (sse) { |
1324 | dasm_put(Dst, 3851); | ||
1325 | if (LJ_DUALNUM) { | ||
1326 | dasm_put(Dst, 3860); | 1350 | dasm_put(Dst, 3860); |
1351 | if (LJ_DUALNUM) { | ||
1352 | dasm_put(Dst, 3869); | ||
1327 | } | 1353 | } |
1328 | dasm_put(Dst, 2321); | 1354 | dasm_put(Dst, 2330); |
1329 | } else { | 1355 | } else { |
1330 | dasm_put(Dst, 3894); | 1356 | dasm_put(Dst, 3903); |
1331 | if (LJ_DUALNUM) { | 1357 | if (LJ_DUALNUM) { |
1332 | } else { | 1358 | } else { |
1333 | dasm_put(Dst, 2328); | 1359 | dasm_put(Dst, 2337); |
1334 | } | 1360 | } |
1335 | } | 1361 | } |
1336 | dasm_put(Dst, 3900); | 1362 | dasm_put(Dst, 3909); |
1337 | if (LJ_DUALNUM) { | 1363 | if (LJ_DUALNUM) { |
1338 | dasm_put(Dst, 3829, LJ_TISNUM); | 1364 | dasm_put(Dst, 3838, LJ_TISNUM); |
1339 | } else { | 1365 | } else { |
1340 | dasm_put(Dst, 3674, LJ_TISNUM); | 1366 | dasm_put(Dst, 3683, LJ_TISNUM); |
1341 | } | 1367 | } |
1342 | if (sse) { | 1368 | if (sse) { |
1343 | dasm_put(Dst, 3903); | 1369 | dasm_put(Dst, 3912); |
1344 | if (LJ_DUALNUM) { | 1370 | if (LJ_DUALNUM) { |
1345 | dasm_put(Dst, 3860); | 1371 | dasm_put(Dst, 3869); |
1346 | } | 1372 | } |
1347 | dasm_put(Dst, 2321); | 1373 | dasm_put(Dst, 2330); |
1348 | } else { | 1374 | } else { |
1349 | dasm_put(Dst, 3912); | 1375 | dasm_put(Dst, 3921); |
1350 | if (LJ_DUALNUM) { | 1376 | if (LJ_DUALNUM) { |
1351 | } else { | 1377 | } else { |
1352 | dasm_put(Dst, 2328); | 1378 | dasm_put(Dst, 2337); |
1353 | } | 1379 | } |
1354 | } | 1380 | } |
1355 | if (sse) { | 1381 | if (sse) { |
1356 | dasm_put(Dst, 3918, 1+1, LJ_TISNUM); | 1382 | dasm_put(Dst, 3927, 1+1, LJ_TISNUM); |
1357 | } else { | 1383 | } else { |
1358 | dasm_put(Dst, 3947, 1+1, LJ_TISNUM); | 1384 | dasm_put(Dst, 3956, 1+1, LJ_TISNUM); |
1359 | } | 1385 | } |
1360 | dasm_put(Dst, 3976, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1); | 1386 | dasm_put(Dst, 3985, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1); |
1361 | dasm_put(Dst, 4045, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1); | 1387 | dasm_put(Dst, 4054, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1); |
1362 | dasm_put(Dst, 4102, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1); | 1388 | dasm_put(Dst, 4111, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1); |
1363 | dasm_put(Dst, 4165, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM); | 1389 | dasm_put(Dst, 4174, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM); |
1364 | dasm_put(Dst, 4255); | 1390 | dasm_put(Dst, 4264); |
1365 | if (sse) { | 1391 | if (sse) { |
1366 | dasm_put(Dst, 4267, 1+1, LJ_TISNUM); | 1392 | dasm_put(Dst, 4276, 1+1, LJ_TISNUM); |
1367 | } else { | 1393 | } else { |
1368 | } | 1394 | } |
1369 | dasm_put(Dst, 4292); | 1395 | dasm_put(Dst, 4301); |
1370 | if (sse) { | 1396 | if (sse) { |
1371 | dasm_put(Dst, 4306, 1+1, LJ_TISNUM); | 1397 | dasm_put(Dst, 4315, 1+1, LJ_TISNUM); |
1372 | } else { | 1398 | } else { |
1373 | } | 1399 | } |
1374 | dasm_put(Dst, 4331); | 1400 | dasm_put(Dst, 4340); |
1375 | if (sse) { | 1401 | if (sse) { |
1376 | dasm_put(Dst, 4345, 1+1, LJ_TISNUM); | 1402 | dasm_put(Dst, 4354, 1+1, LJ_TISNUM); |
1377 | } else { | 1403 | } else { |
1378 | } | 1404 | } |
1379 | dasm_put(Dst, 4370); | 1405 | dasm_put(Dst, 4379); |
1380 | if (sse) { | 1406 | if (sse) { |
1381 | dasm_put(Dst, 4386, 1+1, LJ_TISNUM, Dt8(->upvalue[0])); | 1407 | dasm_put(Dst, 4395, 1+1, LJ_TISNUM, Dt8(->upvalue[0])); |
1382 | } else { | 1408 | } else { |
1383 | dasm_put(Dst, 4425, 1+1, LJ_TISNUM, Dt8(->upvalue[0])); | 1409 | dasm_put(Dst, 4434, 1+1, LJ_TISNUM, Dt8(->upvalue[0])); |
1384 | } | 1410 | } |
1385 | dasm_put(Dst, 4458, 2+1, LJ_TISNUM, LJ_TISNUM, 2+1, LJ_TISNUM, LJ_TISNUM); | 1411 | dasm_put(Dst, 4467, 2+1, LJ_TISNUM, LJ_TISNUM, 2+1, LJ_TISNUM, LJ_TISNUM); |
1386 | dasm_put(Dst, 4523, 1+1, LJ_TISNUM); | 1412 | dasm_put(Dst, 4532, 1+1, LJ_TISNUM); |
1387 | if (sse) { | 1413 | if (sse) { |
1388 | dasm_put(Dst, 4622); | 1414 | dasm_put(Dst, 4631); |
1389 | } else { | 1415 | } else { |
1390 | dasm_put(Dst, 4628); | 1416 | dasm_put(Dst, 4637); |
1391 | } | 1417 | } |
1392 | dasm_put(Dst, 4635); | 1418 | dasm_put(Dst, 4644); |
1393 | if (sse) { | 1419 | if (sse) { |
1394 | dasm_put(Dst, 4660); | 1420 | dasm_put(Dst, 4669); |
1395 | } else { | 1421 | } else { |
1396 | dasm_put(Dst, 4666); | 1422 | dasm_put(Dst, 4675); |
1397 | } | 1423 | } |
1398 | dasm_put(Dst, 4669, 1+2); | 1424 | dasm_put(Dst, 4678, 1+2); |
1399 | if (sse) { | 1425 | if (sse) { |
1400 | dasm_put(Dst, 4678); | 1426 | dasm_put(Dst, 4687); |
1401 | } else { | 1427 | } else { |
1402 | dasm_put(Dst, 4686); | 1428 | dasm_put(Dst, 4695); |
1403 | } | 1429 | } |
1404 | dasm_put(Dst, 4694); | 1430 | dasm_put(Dst, 4703); |
1405 | if (sse) { | 1431 | if (sse) { |
1406 | dasm_put(Dst, 4697, (unsigned int)(U64x(43500000,00000000)), (unsigned int)((U64x(43500000,00000000))>>32)); | 1432 | dasm_put(Dst, 4706, (unsigned int)(U64x(43500000,00000000)), (unsigned int)((U64x(43500000,00000000))>>32)); |
1407 | } else { | 1433 | } else { |
1408 | dasm_put(Dst, 4724); | 1434 | dasm_put(Dst, 4733); |
1409 | } | 1435 | } |
1410 | dasm_put(Dst, 4741); | 1436 | dasm_put(Dst, 4750); |
1411 | if (sse) { | 1437 | if (sse) { |
1412 | dasm_put(Dst, 4757, 1+1, LJ_TISNUM); | 1438 | dasm_put(Dst, 4766, 1+1, LJ_TISNUM); |
1413 | } else { | 1439 | } else { |
1414 | dasm_put(Dst, 4782, 1+1, LJ_TISNUM); | 1440 | dasm_put(Dst, 4791, 1+1, LJ_TISNUM); |
1415 | } | 1441 | } |
1416 | dasm_put(Dst, 4804); | 1442 | dasm_put(Dst, 4813); |
1417 | if (sse) { | 1443 | if (sse) { |
1418 | dasm_put(Dst, 4826); | 1444 | dasm_put(Dst, 4835); |
1419 | } else { | 1445 | } else { |
1420 | dasm_put(Dst, 4852); | 1446 | dasm_put(Dst, 4861); |
1421 | } | 1447 | } |
1422 | dasm_put(Dst, 4869, 1+2); | 1448 | dasm_put(Dst, 4878, 1+2); |
1423 | if (sse) { | 1449 | if (sse) { |
1424 | dasm_put(Dst, 4909); | 1450 | dasm_put(Dst, 4918); |
1425 | } else { | 1451 | } else { |
1426 | dasm_put(Dst, 4917); | 1452 | dasm_put(Dst, 4926); |
1427 | } | 1453 | } |
1428 | dasm_put(Dst, 4927, 2+1, LJ_TISNUM, LJ_TISNUM); | 1454 | dasm_put(Dst, 4936, 2+1, LJ_TISNUM, LJ_TISNUM); |
1429 | if (sse) { | 1455 | if (sse) { |
1430 | dasm_put(Dst, 4979, 2+1, LJ_TISNUM, LJ_TISNUM); | 1456 | dasm_put(Dst, 4988, 2+1, LJ_TISNUM, LJ_TISNUM); |
1431 | } else { | 1457 | } else { |
1432 | dasm_put(Dst, 5026, 2+1, LJ_TISNUM, LJ_TISNUM); | 1458 | dasm_put(Dst, 5035, 2+1, LJ_TISNUM, LJ_TISNUM); |
1433 | } | 1459 | } |
1434 | dasm_put(Dst, 5067, LJ_TISNUM); | 1460 | dasm_put(Dst, 5076, LJ_TISNUM); |
1435 | if (LJ_DUALNUM) { | 1461 | if (LJ_DUALNUM) { |
1436 | dasm_put(Dst, 5080, LJ_TISNUM); | 1462 | dasm_put(Dst, 5089, LJ_TISNUM); |
1437 | if (sse) { | 1463 | if (sse) { |
1438 | dasm_put(Dst, 4622); | 1464 | dasm_put(Dst, 4631); |
1439 | } else { | 1465 | } else { |
1440 | } | 1466 | } |
1441 | dasm_put(Dst, 5130); | 1467 | dasm_put(Dst, 5139); |
1442 | } else { | 1468 | } else { |
1443 | dasm_put(Dst, 2311); | 1469 | dasm_put(Dst, 2320); |
1444 | } | 1470 | } |
1445 | if (sse) { | 1471 | if (sse) { |
1446 | dasm_put(Dst, 5141, LJ_TISNUM); | 1472 | dasm_put(Dst, 5150, LJ_TISNUM); |
1447 | if (LJ_DUALNUM) { | 1473 | if (LJ_DUALNUM) { |
1448 | dasm_put(Dst, 5162); | 1474 | dasm_put(Dst, 5171); |
1449 | } else { | 1475 | } else { |
1450 | dasm_put(Dst, 2311); | 1476 | dasm_put(Dst, 2320); |
1451 | } | 1477 | } |
1452 | dasm_put(Dst, 5183); | 1478 | dasm_put(Dst, 5192); |
1453 | } else { | 1479 | } else { |
1454 | } | 1480 | } |
1455 | dasm_put(Dst, 5208, LJ_TISNUM); | 1481 | dasm_put(Dst, 5217, LJ_TISNUM); |
1456 | if (LJ_DUALNUM) { | 1482 | if (LJ_DUALNUM) { |
1457 | dasm_put(Dst, 5221, LJ_TISNUM); | 1483 | dasm_put(Dst, 5230, LJ_TISNUM); |
1458 | if (sse) { | 1484 | if (sse) { |
1459 | dasm_put(Dst, 4622); | 1485 | dasm_put(Dst, 4631); |
1460 | } else { | 1486 | } else { |
1461 | } | 1487 | } |
1462 | dasm_put(Dst, 5130); | 1488 | dasm_put(Dst, 5139); |
1463 | } else { | 1489 | } else { |
1464 | dasm_put(Dst, 2311); | 1490 | dasm_put(Dst, 2320); |
1465 | } | 1491 | } |
1466 | if (sse) { | 1492 | if (sse) { |
1467 | dasm_put(Dst, 5141, LJ_TISNUM); | 1493 | dasm_put(Dst, 5150, LJ_TISNUM); |
1468 | if (LJ_DUALNUM) { | 1494 | if (LJ_DUALNUM) { |
1469 | dasm_put(Dst, 5162); | 1495 | dasm_put(Dst, 5171); |
1470 | } else { | 1496 | } else { |
1471 | dasm_put(Dst, 2311); | 1497 | dasm_put(Dst, 2320); |
1472 | } | 1498 | } |
1473 | dasm_put(Dst, 5271); | 1499 | dasm_put(Dst, 5280); |
1474 | } else { | 1500 | } else { |
1475 | } | 1501 | } |
1476 | if (!sse) { | 1502 | if (!sse) { |
1477 | dasm_put(Dst, 5296); | 1503 | dasm_put(Dst, 5305); |
1478 | } | 1504 | } |
1479 | dasm_put(Dst, 5305, 1+1, LJ_TSTR); | 1505 | dasm_put(Dst, 5314, 1+1, LJ_TSTR); |
1480 | if (LJ_DUALNUM) { | 1506 | if (LJ_DUALNUM) { |
1481 | dasm_put(Dst, 5327, Dt5(->len)); | 1507 | dasm_put(Dst, 5336, Dt5(->len)); |
1482 | } else if (sse) { | 1508 | } else if (sse) { |
1483 | dasm_put(Dst, 5335, Dt5(->len)); | 1509 | dasm_put(Dst, 5344, Dt5(->len)); |
1484 | } else { | 1510 | } else { |
1485 | dasm_put(Dst, 5346, Dt5(->len)); | 1511 | dasm_put(Dst, 5355, Dt5(->len)); |
1486 | } | 1512 | } |
1487 | dasm_put(Dst, 5354, 1+1, LJ_TSTR, Dt5(->len), Dt5([1])); | 1513 | dasm_put(Dst, 5363, 1+1, LJ_TSTR, Dt5(->len), Dt5([1])); |
1488 | if (LJ_DUALNUM) { | 1514 | if (LJ_DUALNUM) { |
1489 | dasm_put(Dst, 5330); | 1515 | dasm_put(Dst, 5339); |
1490 | } else if (sse) { | 1516 | } else if (sse) { |
1491 | dasm_put(Dst, 5392); | 1517 | dasm_put(Dst, 5401); |
1492 | } else { | 1518 | } else { |
1493 | dasm_put(Dst, 5402); | 1519 | dasm_put(Dst, 5411); |
1494 | } | 1520 | } |
1495 | dasm_put(Dst, 5413, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), 1+1, LJ_TISNUM); | 1521 | dasm_put(Dst, 5422, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), 1+1, LJ_TISNUM); |
1496 | if (LJ_DUALNUM) { | 1522 | if (LJ_DUALNUM) { |
1497 | dasm_put(Dst, 5446); | 1523 | dasm_put(Dst, 5455); |
1498 | } else if (sse) { | 1524 | } else if (sse) { |
1499 | dasm_put(Dst, 5469); | 1525 | dasm_put(Dst, 5478); |
1500 | } else { | 1526 | } else { |
1501 | dasm_put(Dst, 5495); | 1527 | dasm_put(Dst, 5504); |
1502 | } | 1528 | } |
1503 | dasm_put(Dst, 5519, Dt1(->base), Dt1(->base), LJ_TSTR, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), 1+2, LJ_TISNUM); | 1529 | dasm_put(Dst, 5528, Dt1(->base), Dt1(->base), LJ_TSTR, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), 1+2, LJ_TISNUM); |
1504 | if (LJ_DUALNUM) { | 1530 | if (LJ_DUALNUM) { |
1505 | dasm_put(Dst, 5628); | 1531 | dasm_put(Dst, 5637); |
1506 | } else if (sse) { | 1532 | } else if (sse) { |
1507 | dasm_put(Dst, 5640); | 1533 | dasm_put(Dst, 5649); |
1508 | } else { | 1534 | } else { |
1509 | dasm_put(Dst, 5655); | 1535 | dasm_put(Dst, 5664); |
1510 | } | 1536 | } |
1511 | dasm_put(Dst, 5667, LJ_TSTR, LJ_TISNUM); | 1537 | dasm_put(Dst, 5676, LJ_TSTR, LJ_TISNUM); |
1512 | if (LJ_DUALNUM) { | 1538 | if (LJ_DUALNUM) { |
1513 | dasm_put(Dst, 2572); | 1539 | dasm_put(Dst, 2581); |
1514 | } else { | 1540 | } else { |
1515 | dasm_put(Dst, 2311); | 1541 | dasm_put(Dst, 2320); |
1516 | } | 1542 | } |
1517 | dasm_put(Dst, 5684, Dt5(->len)); | 1543 | dasm_put(Dst, 5693, Dt5(->len)); |
1518 | if (LJ_DUALNUM) { | 1544 | if (LJ_DUALNUM) { |
1519 | dasm_put(Dst, 5694); | 1545 | dasm_put(Dst, 5703); |
1520 | } else if (sse) { | 1546 | } else if (sse) { |
1521 | dasm_put(Dst, 5698); | 1547 | dasm_put(Dst, 5707); |
1522 | } else { | 1548 | } else { |
1523 | } | 1549 | } |
1524 | dasm_put(Dst, 5705, sizeof(GCstr)-1); | 1550 | dasm_put(Dst, 5714, sizeof(GCstr)-1); |
1525 | dasm_put(Dst, 5780, 2+1, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold)); | 1551 | dasm_put(Dst, 5789, 2+1, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold)); |
1526 | dasm_put(Dst, 5841, LJ_TSTR, LJ_TISNUM); | 1552 | dasm_put(Dst, 5850, LJ_TSTR, LJ_TISNUM); |
1527 | if (LJ_DUALNUM) { | 1553 | if (LJ_DUALNUM) { |
1528 | dasm_put(Dst, 5858); | 1554 | dasm_put(Dst, 5867); |
1529 | } else if (sse) { | 1555 | } else if (sse) { |
1530 | dasm_put(Dst, 5866); | 1556 | dasm_put(Dst, 5875); |
1531 | } else { | 1557 | } else { |
1532 | dasm_put(Dst, 5877); | 1558 | dasm_put(Dst, 5886); |
1533 | } | 1559 | } |
1534 | dasm_put(Dst, 5893, Dt5(->len), DISPATCH_GL(tmpbuf.sz), Dt5([1]), DISPATCH_GL(tmpbuf.buf), DISPATCH_GL(tmpbuf.buf), 1+1); | 1560 | dasm_put(Dst, 5902, Dt5(->len), DISPATCH_GL(tmpbuf.sz), Dt5([1]), DISPATCH_GL(tmpbuf.buf), DISPATCH_GL(tmpbuf.buf), 1+1); |
1535 | dasm_put(Dst, 5961, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf)); | 1561 | dasm_put(Dst, 5970, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf)); |
1536 | dasm_put(Dst, 6028, 1+1, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz)); | 1562 | dasm_put(Dst, 6037, 1+1, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz)); |
1537 | dasm_put(Dst, 6101, sizeof(GCstr), DISPATCH_GL(tmpbuf.buf), 1+1); | 1563 | dasm_put(Dst, 6110, sizeof(GCstr), DISPATCH_GL(tmpbuf.buf), 1+1); |
1538 | dasm_put(Dst, 6186, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf)); | 1564 | dasm_put(Dst, 6195, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf)); |
1539 | dasm_put(Dst, 6260, 1+1, LJ_TTAB); | 1565 | dasm_put(Dst, 6269, 1+1, LJ_TTAB); |
1540 | if (LJ_DUALNUM) { | 1566 | if (LJ_DUALNUM) { |
1541 | dasm_put(Dst, 6327); | 1567 | dasm_put(Dst, 6336); |
1542 | } else if (sse) { | 1568 | } else if (sse) { |
1543 | dasm_put(Dst, 6334); | 1569 | dasm_put(Dst, 6343); |
1544 | } else { | 1570 | } else { |
1545 | } | 1571 | } |
1546 | dasm_put(Dst, 6344, 1+1, LJ_TISNUM); | 1572 | dasm_put(Dst, 6353, 1+1, LJ_TISNUM); |
1547 | if (LJ_DUALNUM) { | 1573 | if (LJ_DUALNUM) { |
1548 | dasm_put(Dst, 6360); | 1574 | dasm_put(Dst, 6369); |
1549 | } else { | 1575 | } else { |
1550 | dasm_put(Dst, 2311); | 1576 | dasm_put(Dst, 2320); |
1551 | } | 1577 | } |
1552 | if (sse) { | 1578 | if (sse) { |
1553 | dasm_put(Dst, 6377, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); | 1579 | dasm_put(Dst, 6386, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); |
1554 | } else { | 1580 | } else { |
1555 | } | 1581 | } |
1556 | dasm_put(Dst, 106); | 1582 | dasm_put(Dst, 106); |
1557 | if (LJ_DUALNUM || sse) { | 1583 | if (LJ_DUALNUM || sse) { |
1558 | if (!sse) { | 1584 | if (!sse) { |
1559 | } | 1585 | } |
1560 | dasm_put(Dst, 6401); | 1586 | dasm_put(Dst, 6410); |
1561 | } else { | 1587 | } else { |
1562 | } | 1588 | } |
1563 | dasm_put(Dst, 6406, 1+1); | 1589 | dasm_put(Dst, 6415, 1+1); |
1564 | if (sse) { | 1590 | if (sse) { |
1565 | dasm_put(Dst, 6417, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); | 1591 | dasm_put(Dst, 6426, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); |
1566 | } else { | 1592 | } else { |
1567 | dasm_put(Dst, 6427); | 1593 | dasm_put(Dst, 6436); |
1568 | } | 1594 | } |
1569 | dasm_put(Dst, 2288, LJ_TISNUM); | 1595 | dasm_put(Dst, 2297, LJ_TISNUM); |
1570 | if (LJ_DUALNUM) { | 1596 | if (LJ_DUALNUM) { |
1571 | dasm_put(Dst, 6435); | 1597 | dasm_put(Dst, 6444); |
1572 | } else { | 1598 | } else { |
1573 | dasm_put(Dst, 2311); | 1599 | dasm_put(Dst, 2320); |
1574 | } | 1600 | } |
1575 | if (sse) { | 1601 | if (sse) { |
1576 | dasm_put(Dst, 6452); | 1602 | dasm_put(Dst, 6461); |
1577 | } else { | 1603 | } else { |
1578 | } | 1604 | } |
1579 | dasm_put(Dst, 6467, LJ_TISNUM); | 1605 | dasm_put(Dst, 6476, LJ_TISNUM); |
1580 | if (LJ_DUALNUM) { | 1606 | if (LJ_DUALNUM) { |
1581 | dasm_put(Dst, 6492); | 1607 | dasm_put(Dst, 6501); |
1582 | } else { | 1608 | } else { |
1583 | dasm_put(Dst, 6512); | 1609 | dasm_put(Dst, 6521); |
1584 | } | 1610 | } |
1585 | if (sse) { | 1611 | if (sse) { |
1586 | dasm_put(Dst, 6517); | 1612 | dasm_put(Dst, 6526); |
1587 | } else { | 1613 | } else { |
1588 | } | 1614 | } |
1589 | dasm_put(Dst, 6534, 1+1); | 1615 | dasm_put(Dst, 6543, 1+1); |
1590 | if (sse) { | 1616 | if (sse) { |
1591 | dasm_put(Dst, 6417, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); | 1617 | dasm_put(Dst, 6426, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); |
1592 | } else { | 1618 | } else { |
1593 | dasm_put(Dst, 6427); | 1619 | dasm_put(Dst, 6436); |
1594 | } | 1620 | } |
1595 | dasm_put(Dst, 2288, LJ_TISNUM); | 1621 | dasm_put(Dst, 2297, LJ_TISNUM); |
1596 | if (LJ_DUALNUM) { | 1622 | if (LJ_DUALNUM) { |
1597 | dasm_put(Dst, 6435); | 1623 | dasm_put(Dst, 6444); |
1598 | } else { | 1624 | } else { |
1599 | dasm_put(Dst, 2311); | 1625 | dasm_put(Dst, 2320); |
1600 | } | 1626 | } |
1601 | if (sse) { | 1627 | if (sse) { |
1602 | dasm_put(Dst, 6452); | 1628 | dasm_put(Dst, 6461); |
1603 | } else { | 1629 | } else { |
1604 | } | 1630 | } |
1605 | dasm_put(Dst, 6467, LJ_TISNUM); | 1631 | dasm_put(Dst, 6476, LJ_TISNUM); |
1606 | if (LJ_DUALNUM) { | 1632 | if (LJ_DUALNUM) { |
1607 | dasm_put(Dst, 6552); | 1633 | dasm_put(Dst, 6561); |
1608 | } else { | 1634 | } else { |
1609 | dasm_put(Dst, 6512); | 1635 | dasm_put(Dst, 6521); |
1610 | } | 1636 | } |
1611 | if (sse) { | 1637 | if (sse) { |
1612 | dasm_put(Dst, 6572); | 1638 | dasm_put(Dst, 6581); |
1613 | } else { | 1639 | } else { |
1614 | } | 1640 | } |
1615 | dasm_put(Dst, 6589, 1+1); | 1641 | dasm_put(Dst, 6598, 1+1); |
1616 | if (sse) { | 1642 | if (sse) { |
1617 | dasm_put(Dst, 6417, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); | 1643 | dasm_put(Dst, 6426, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); |
1618 | } else { | 1644 | } else { |
1619 | dasm_put(Dst, 6427); | 1645 | dasm_put(Dst, 6436); |
1620 | } | 1646 | } |
1621 | dasm_put(Dst, 2288, LJ_TISNUM); | 1647 | dasm_put(Dst, 2297, LJ_TISNUM); |
1622 | if (LJ_DUALNUM) { | 1648 | if (LJ_DUALNUM) { |
1623 | dasm_put(Dst, 6435); | 1649 | dasm_put(Dst, 6444); |
1624 | } else { | 1650 | } else { |
1625 | dasm_put(Dst, 2311); | 1651 | dasm_put(Dst, 2320); |
1626 | } | 1652 | } |
1627 | if (sse) { | 1653 | if (sse) { |
1628 | dasm_put(Dst, 6452); | 1654 | dasm_put(Dst, 6461); |
1629 | } else { | 1655 | } else { |
1630 | } | 1656 | } |
1631 | dasm_put(Dst, 6467, LJ_TISNUM); | 1657 | dasm_put(Dst, 6476, LJ_TISNUM); |
1632 | if (LJ_DUALNUM) { | 1658 | if (LJ_DUALNUM) { |
1633 | dasm_put(Dst, 6607); | 1659 | dasm_put(Dst, 6616); |
1634 | } else { | 1660 | } else { |
1635 | dasm_put(Dst, 6512); | 1661 | dasm_put(Dst, 6521); |
1636 | } | 1662 | } |
1637 | if (sse) { | 1663 | if (sse) { |
1638 | dasm_put(Dst, 6627); | 1664 | dasm_put(Dst, 6636); |
1639 | } else { | 1665 | } else { |
1640 | } | 1666 | } |
1641 | dasm_put(Dst, 6644, 1+1, LJ_TISNUM); | 1667 | dasm_put(Dst, 6653, 1+1, LJ_TISNUM); |
1642 | if (LJ_DUALNUM) { | 1668 | if (LJ_DUALNUM) { |
1643 | dasm_put(Dst, 6435); | 1669 | dasm_put(Dst, 6444); |
1644 | } else { | 1670 | } else { |
1645 | dasm_put(Dst, 2311); | 1671 | dasm_put(Dst, 2320); |
1646 | } | 1672 | } |
1647 | if (sse) { | 1673 | if (sse) { |
1648 | dasm_put(Dst, 6377, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); | 1674 | dasm_put(Dst, 6386, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); |
1649 | } else { | 1675 | } else { |
1650 | } | 1676 | } |
1651 | dasm_put(Dst, 6667, 1+1, LJ_TISNUM); | 1677 | dasm_put(Dst, 6676, 1+1, LJ_TISNUM); |
1652 | if (LJ_DUALNUM) { | 1678 | if (LJ_DUALNUM) { |
1653 | dasm_put(Dst, 6435); | 1679 | dasm_put(Dst, 6444); |
1654 | } else { | 1680 | } else { |
1655 | dasm_put(Dst, 2311); | 1681 | dasm_put(Dst, 2320); |
1656 | } | 1682 | } |
1657 | if (sse) { | 1683 | if (sse) { |
1658 | dasm_put(Dst, 6377, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); | 1684 | dasm_put(Dst, 6386, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); |
1659 | } else { | 1685 | } else { |
1660 | } | 1686 | } |
1661 | dasm_put(Dst, 6691); | 1687 | dasm_put(Dst, 6700); |
1662 | if (LJ_DUALNUM) { | 1688 | if (LJ_DUALNUM) { |
1663 | dasm_put(Dst, 6401); | 1689 | dasm_put(Dst, 6410); |
1664 | } else if (sse) { | 1690 | } else if (sse) { |
1665 | dasm_put(Dst, 6697); | 1691 | dasm_put(Dst, 6706); |
1666 | } else { | 1692 | } else { |
1667 | } | 1693 | } |
1668 | dasm_put(Dst, 6709); | 1694 | dasm_put(Dst, 6718); |
1669 | if (LJ_DUALNUM) { | 1695 | if (LJ_DUALNUM) { |
1670 | dasm_put(Dst, 6720, 1+1, LJ_TISNUM); | 1696 | dasm_put(Dst, 6729, 1+1, LJ_TISNUM); |
1671 | if (LJ_DUALNUM) { | 1697 | if (LJ_DUALNUM) { |
1672 | dasm_put(Dst, 6435); | 1698 | dasm_put(Dst, 6444); |
1673 | } else { | 1699 | } else { |
1674 | dasm_put(Dst, 2311); | 1700 | dasm_put(Dst, 2320); |
1675 | } | 1701 | } |
1676 | if (sse) { | 1702 | if (sse) { |
1677 | dasm_put(Dst, 6377, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); | 1703 | dasm_put(Dst, 6386, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); |
1678 | } else { | 1704 | } else { |
1679 | } | 1705 | } |
1680 | dasm_put(Dst, 6736, LJ_TISNUM); | 1706 | dasm_put(Dst, 6745, LJ_TISNUM); |
1681 | } else if (sse) { | 1707 | } else if (sse) { |
1682 | dasm_put(Dst, 6751, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); | 1708 | dasm_put(Dst, 6760, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); |
1683 | } else { | 1709 | } else { |
1684 | } | 1710 | } |
1685 | dasm_put(Dst, 6818); | 1711 | dasm_put(Dst, 6827); |
1686 | if (LJ_DUALNUM) { | 1712 | if (LJ_DUALNUM) { |
1687 | dasm_put(Dst, 6825, 1+1, LJ_TISNUM); | 1713 | dasm_put(Dst, 6834, 1+1, LJ_TISNUM); |
1688 | if (LJ_DUALNUM) { | 1714 | if (LJ_DUALNUM) { |
1689 | dasm_put(Dst, 6435); | 1715 | dasm_put(Dst, 6444); |
1690 | } else { | 1716 | } else { |
1691 | dasm_put(Dst, 2311); | 1717 | dasm_put(Dst, 2320); |
1692 | } | 1718 | } |
1693 | if (sse) { | 1719 | if (sse) { |
1694 | dasm_put(Dst, 6377, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); | 1720 | dasm_put(Dst, 6386, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); |
1695 | } else { | 1721 | } else { |
1696 | } | 1722 | } |
1697 | dasm_put(Dst, 6736, LJ_TISNUM); | 1723 | dasm_put(Dst, 6745, LJ_TISNUM); |
1698 | } else if (sse) { | 1724 | } else if (sse) { |
1699 | dasm_put(Dst, 6841, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); | 1725 | dasm_put(Dst, 6850, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); |
1700 | } else { | 1726 | } else { |
1701 | } | 1727 | } |
1702 | dasm_put(Dst, 6908); | 1728 | dasm_put(Dst, 6917); |
1703 | if (LJ_DUALNUM) { | 1729 | if (LJ_DUALNUM) { |
1704 | dasm_put(Dst, 6916, 1+1, LJ_TISNUM); | 1730 | dasm_put(Dst, 6925, 1+1, LJ_TISNUM); |
1705 | if (LJ_DUALNUM) { | 1731 | if (LJ_DUALNUM) { |
1706 | dasm_put(Dst, 6435); | 1732 | dasm_put(Dst, 6444); |
1707 | } else { | 1733 | } else { |
1708 | dasm_put(Dst, 2311); | 1734 | dasm_put(Dst, 2320); |
1709 | } | 1735 | } |
1710 | if (sse) { | 1736 | if (sse) { |
1711 | dasm_put(Dst, 6377, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); | 1737 | dasm_put(Dst, 6386, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); |
1712 | } else { | 1738 | } else { |
1713 | } | 1739 | } |
1714 | dasm_put(Dst, 6736, LJ_TISNUM); | 1740 | dasm_put(Dst, 6745, LJ_TISNUM); |
1715 | } else if (sse) { | 1741 | } else if (sse) { |
1716 | dasm_put(Dst, 6932, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); | 1742 | dasm_put(Dst, 6941, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); |
1717 | } else { | 1743 | } else { |
1718 | } | 1744 | } |
1719 | dasm_put(Dst, 6999); | 1745 | dasm_put(Dst, 7008); |
1720 | if (LJ_DUALNUM) { | 1746 | if (LJ_DUALNUM) { |
1721 | dasm_put(Dst, 7007, 1+1, LJ_TISNUM); | 1747 | dasm_put(Dst, 7016, 1+1, LJ_TISNUM); |
1722 | if (LJ_DUALNUM) { | 1748 | if (LJ_DUALNUM) { |
1723 | dasm_put(Dst, 6435); | 1749 | dasm_put(Dst, 6444); |
1724 | } else { | 1750 | } else { |
1725 | dasm_put(Dst, 2311); | 1751 | dasm_put(Dst, 2320); |
1726 | } | 1752 | } |
1727 | if (sse) { | 1753 | if (sse) { |
1728 | dasm_put(Dst, 6377, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); | 1754 | dasm_put(Dst, 6386, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); |
1729 | } else { | 1755 | } else { |
1730 | } | 1756 | } |
1731 | dasm_put(Dst, 6736, LJ_TISNUM); | 1757 | dasm_put(Dst, 6745, LJ_TISNUM); |
1732 | } else if (sse) { | 1758 | } else if (sse) { |
1733 | dasm_put(Dst, 7023, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); | 1759 | dasm_put(Dst, 7032, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); |
1734 | } else { | 1760 | } else { |
1735 | } | 1761 | } |
1736 | dasm_put(Dst, 7090); | 1762 | dasm_put(Dst, 7099); |
1737 | if (LJ_DUALNUM) { | 1763 | if (LJ_DUALNUM) { |
1738 | dasm_put(Dst, 7097, 1+1, LJ_TISNUM); | 1764 | dasm_put(Dst, 7106, 1+1, LJ_TISNUM); |
1739 | if (LJ_DUALNUM) { | 1765 | if (LJ_DUALNUM) { |
1740 | dasm_put(Dst, 6435); | 1766 | dasm_put(Dst, 6444); |
1741 | } else { | 1767 | } else { |
1742 | dasm_put(Dst, 2311); | 1768 | dasm_put(Dst, 2320); |
1743 | } | 1769 | } |
1744 | if (sse) { | 1770 | if (sse) { |
1745 | dasm_put(Dst, 6377, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); | 1771 | dasm_put(Dst, 6386, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); |
1746 | } else { | 1772 | } else { |
1747 | } | 1773 | } |
1748 | dasm_put(Dst, 6736, LJ_TISNUM); | 1774 | dasm_put(Dst, 6745, LJ_TISNUM); |
1749 | } else if (sse) { | 1775 | } else if (sse) { |
1750 | dasm_put(Dst, 7113, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); | 1776 | dasm_put(Dst, 7122, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); |
1751 | } else { | 1777 | } else { |
1752 | } | 1778 | } |
1753 | dasm_put(Dst, 7180, 1+2, 1+1, Dt1(->base), 8*LUA_MINSTACK, Dt1(->top), Dt1(->maxstack), Dt8(->f), Dt1(->base)); | 1779 | dasm_put(Dst, 7189, 1+2, 1+1, Dt1(->base), 8*LUA_MINSTACK, Dt1(->top), Dt1(->maxstack), Dt8(->f), Dt1(->base)); |
1754 | dasm_put(Dst, 7256, Dt1(->top), Dt7(->pc), FRAME_TYPE, LUA_MINSTACK, Dt1(->base), Dt1(->base)); | 1780 | dasm_put(Dst, 7265, Dt1(->top), Dt7(->pc), FRAME_TYPE, LUA_MINSTACK, Dt1(->base), Dt1(->base)); |
1755 | dasm_put(Dst, 7383, Dt1(->top), Dt1(->base), Dt1(->top)); | 1781 | dasm_put(Dst, 7392, Dt1(->top), Dt1(->base), Dt1(->top)); |
1756 | #if LJ_HASJIT | 1782 | #if LJ_HASJIT |
1757 | dasm_put(Dst, 7422, DISPATCH_GL(hookmask), HOOK_VMEVENT, HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount)); | 1783 | dasm_put(Dst, 7431, DISPATCH_GL(hookmask), HOOK_VMEVENT, HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount)); |
1758 | #endif | 1784 | #endif |
1759 | dasm_put(Dst, 7455, DISPATCH_GL(hookmask), HOOK_ACTIVE, DISPATCH_GL(hookmask), HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount), LUA_MASKLINE); | 1785 | dasm_put(Dst, 7464, DISPATCH_GL(hookmask), HOOK_ACTIVE, DISPATCH_GL(hookmask), HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount), LUA_MASKLINE); |
1760 | dasm_put(Dst, 7509, Dt1(->base), Dt1(->base), GG_DISP2STATIC); | 1786 | dasm_put(Dst, 7518, Dt1(->base), Dt1(->base), GG_DISP2STATIC); |
1761 | #if LJ_HASJIT | 1787 | #if LJ_HASJIT |
1762 | dasm_put(Dst, 7576, Dt7(->pc), PC2PROTO(framesize), Dt1(->base), Dt1(->top), GG_DISP2J, DISPATCH_J(L)); | 1788 | dasm_put(Dst, 7585, Dt7(->pc), PC2PROTO(framesize), Dt1(->base), Dt1(->top), GG_DISP2J, DISPATCH_J(L)); |
1763 | #endif | 1789 | #endif |
1764 | dasm_put(Dst, 7623); | 1790 | dasm_put(Dst, 7632); |
1765 | #if LJ_HASJIT | 1791 | #if LJ_HASJIT |
1766 | dasm_put(Dst, 7450); | 1792 | dasm_put(Dst, 7459); |
1767 | #endif | 1793 | #endif |
1768 | dasm_put(Dst, 7630); | 1794 | dasm_put(Dst, 7639); |
1769 | #if LJ_HASJIT | 1795 | #if LJ_HASJIT |
1770 | dasm_put(Dst, 7633); | 1796 | dasm_put(Dst, 7642); |
1771 | #endif | 1797 | #endif |
1772 | dasm_put(Dst, 7643, Dt1(->base), Dt1(->top)); | 1798 | dasm_put(Dst, 7652, Dt1(->base), Dt1(->top)); |
1773 | #if LJ_HASJIT | 1799 | #if LJ_HASJIT |
1774 | dasm_put(Dst, 7676); | 1800 | dasm_put(Dst, 7685); |
1775 | #endif | 1801 | #endif |
1776 | dasm_put(Dst, 7681, Dt1(->base), Dt1(->top)); | 1802 | dasm_put(Dst, 7690, Dt1(->base), Dt1(->top)); |
1777 | #if LJ_HASJIT | 1803 | #if LJ_HASJIT |
1778 | dasm_put(Dst, 7712, DISPATCH_GL(vmstate), DISPATCH_GL(vmstate), ~LJ_VMST_EXIT, DISPATCH_J(exitno), DISPATCH_J(parent), 16*8, DISPATCH_GL(jit_L), DISPATCH_GL(jit_base), DISPATCH_J(L), DISPATCH_GL(jit_L), Dt1(->base), GG_DISP2J, Dt1(->cframe), CFRAME_RAWMASK, CFRAME_OFS_L, Dt1(->base), CFRAME_OFS_PC); | 1804 | dasm_put(Dst, 7721, DISPATCH_GL(vmstate), DISPATCH_GL(vmstate), ~LJ_VMST_EXIT, DISPATCH_J(exitno), DISPATCH_J(parent), 16*8, DISPATCH_GL(jit_L), DISPATCH_GL(jit_base), DISPATCH_J(L), DISPATCH_GL(jit_L), Dt1(->base), GG_DISP2J, Dt1(->cframe), CFRAME_RAWMASK, CFRAME_OFS_L, Dt1(->base), CFRAME_OFS_PC); |
1779 | #endif | 1805 | #endif |
1780 | dasm_put(Dst, 7951); | 1806 | dasm_put(Dst, 7960); |
1781 | #if LJ_HASJIT | 1807 | #if LJ_HASJIT |
1782 | dasm_put(Dst, 7954, Dt7(->pc), PC2PROTO(k), DISPATCH_GL(jit_L), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, BC_FUNCF); | 1808 | dasm_put(Dst, 7963, Dt7(->pc), PC2PROTO(k), DISPATCH_GL(jit_L), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, BC_FUNCF); |
1783 | #endif | 1809 | #endif |
1784 | dasm_put(Dst, 8054); | 1810 | dasm_put(Dst, 8063); |
1785 | if (!sse) { | 1811 | if (!sse) { |
1786 | dasm_put(Dst, 8057); | 1812 | dasm_put(Dst, 8066); |
1787 | } | 1813 | } |
1788 | dasm_put(Dst, 8102, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(43300000,00000000)), (unsigned int)((U64x(43300000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32)); | 1814 | dasm_put(Dst, 8111, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(43300000,00000000)), (unsigned int)((U64x(43300000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32)); |
1789 | if (!sse) { | 1815 | if (!sse) { |
1790 | dasm_put(Dst, 8188); | 1816 | dasm_put(Dst, 8197); |
1791 | } | 1817 | } |
1792 | dasm_put(Dst, 8233, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(43300000,00000000)), (unsigned int)((U64x(43300000,00000000))>>32), (unsigned int)(U64x(bff00000,00000000)), (unsigned int)((U64x(bff00000,00000000))>>32)); | 1818 | dasm_put(Dst, 8242, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(43300000,00000000)), (unsigned int)((U64x(43300000,00000000))>>32), (unsigned int)(U64x(bff00000,00000000)), (unsigned int)((U64x(bff00000,00000000))>>32)); |
1793 | if (!sse) { | 1819 | if (!sse) { |
1794 | dasm_put(Dst, 8319); | 1820 | dasm_put(Dst, 8328); |
1795 | } | 1821 | } |
1796 | dasm_put(Dst, 8358, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(43300000,00000000)), (unsigned int)((U64x(43300000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32)); | 1822 | dasm_put(Dst, 8367, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(43300000,00000000)), (unsigned int)((U64x(43300000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32)); |
1797 | if (sse) { | 1823 | if (sse) { |
1798 | dasm_put(Dst, 8447, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(43300000,00000000)), (unsigned int)((U64x(43300000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32)); | 1824 | dasm_put(Dst, 8456, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(43300000,00000000)), (unsigned int)((U64x(43300000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32)); |
1799 | } else { | 1825 | } else { |
1800 | dasm_put(Dst, 8561); | 1826 | dasm_put(Dst, 8570); |
1801 | } | 1827 | } |
1802 | dasm_put(Dst, 8608); | 1828 | dasm_put(Dst, 8617); |
1803 | if (!sse) { | 1829 | if (!sse) { |
1804 | } else { | 1830 | } else { |
1805 | dasm_put(Dst, 8685); | 1831 | dasm_put(Dst, 8694); |
1806 | } | 1832 | } |
1807 | dasm_put(Dst, 8688); | 1833 | dasm_put(Dst, 8697); |
1808 | dasm_put(Dst, 8773, (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32)); | 1834 | dasm_put(Dst, 8782, (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32)); |
1809 | dasm_put(Dst, 8876, (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32), (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32), (unsigned int)(U64x(7ff00000,00000000)), (unsigned int)((U64x(7ff00000,00000000))>>32)); | 1835 | dasm_put(Dst, 8885, (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32), (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32), (unsigned int)(U64x(7ff00000,00000000)), (unsigned int)((U64x(7ff00000,00000000))>>32)); |
1810 | dasm_put(Dst, 9038); | 1836 | dasm_put(Dst, 9047); |
1811 | #if LJ_HASJIT | 1837 | #if LJ_HASJIT |
1812 | if (sse) { | 1838 | if (sse) { |
1813 | dasm_put(Dst, 9079); | 1839 | dasm_put(Dst, 9088); |
1814 | dasm_put(Dst, 9149); | 1840 | dasm_put(Dst, 9158); |
1815 | dasm_put(Dst, 9221); | 1841 | dasm_put(Dst, 9230); |
1816 | } else { | 1842 | } else { |
1817 | dasm_put(Dst, 9273); | 1843 | dasm_put(Dst, 9282); |
1818 | dasm_put(Dst, 9365); | 1844 | dasm_put(Dst, 9374); |
1819 | } | 1845 | } |
1820 | dasm_put(Dst, 9411); | 1846 | dasm_put(Dst, 9420); |
1821 | #endif | 1847 | #endif |
1822 | dasm_put(Dst, 9415); | 1848 | dasm_put(Dst, 9424); |
1823 | if (sse) { | 1849 | if (sse) { |
1824 | dasm_put(Dst, 9418, (unsigned int)(U64x(80000000,00000000)), (unsigned int)((U64x(80000000,00000000))>>32)); | 1850 | dasm_put(Dst, 9427, (unsigned int)(U64x(80000000,00000000)), (unsigned int)((U64x(80000000,00000000))>>32)); |
1825 | dasm_put(Dst, 9503, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32)); | 1851 | dasm_put(Dst, 9512, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32)); |
1826 | } else { | 1852 | } else { |
1827 | dasm_put(Dst, 9631); | 1853 | dasm_put(Dst, 9640); |
1828 | dasm_put(Dst, 9714); | 1854 | dasm_put(Dst, 9723); |
1829 | if (cmov) { | 1855 | if (cmov) { |
1830 | dasm_put(Dst, 9769); | 1856 | dasm_put(Dst, 9778); |
1831 | } else { | 1857 | } else { |
1832 | dasm_put(Dst, 9788); | 1858 | dasm_put(Dst, 9797); |
1833 | } | 1859 | } |
1834 | dasm_put(Dst, 9411); | 1860 | dasm_put(Dst, 9420); |
1835 | } | 1861 | } |
1836 | dasm_put(Dst, 9829); | 1862 | dasm_put(Dst, 9838); |
1837 | #ifdef LUA_USE_ASSERT | 1863 | #ifdef LUA_USE_ASSERT |
1838 | dasm_put(Dst, 9413); | 1864 | dasm_put(Dst, 9422); |
1865 | #endif | ||
1866 | dasm_put(Dst, 9862); | ||
1867 | #if LJ_HASFFI | ||
1868 | #define DtE(_V) (int)(ptrdiff_t)&(((CTState *)0)_V) | ||
1869 | dasm_put(Dst, 9866, GG_G2DISP, Dt2(->ctype_state), DtE(->cb.slot), DtE(->cb.gpr[0]), DtE(->cb.gpr[1]), DtE(->cb.gpr[2]), DtE(->cb.gpr[3]), DtE(->cb.fpr[0]), DtE(->cb.fpr[1]), DtE(->cb.fpr[2]), DtE(->cb.fpr[3]), CFRAME_SIZE, DtE(->cb.gpr[4]), DtE(->cb.gpr[5]), DtE(->cb.fpr[4]), DtE(->cb.fpr[5]), DtE(->cb.fpr[6]), DtE(->cb.fpr[7]), DtE(->cb.stack), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP); | ||
1870 | dasm_put(Dst, 9990, Dt1(->base), Dt1(->top), Dt7(->pc)); | ||
1839 | #endif | 1871 | #endif |
1840 | dasm_put(Dst, 9853); | 1872 | dasm_put(Dst, 10030); |
1841 | #if LJ_HASFFI | 1873 | #if LJ_HASFFI |
1842 | #define DtE(_V) (int)(ptrdiff_t)&(((CCallState *)0)_V) | 1874 | dasm_put(Dst, 10033, DISPATCH_GL(ctype_state), DtE(->L), Dt1(->base), Dt1(->top), DtE(->cb.gpr[0]), DtE(->cb.fpr[0])); |
1843 | dasm_put(Dst, 9857, DtE(->spadj)); | 1875 | #endif |
1876 | dasm_put(Dst, 10074); | ||
1877 | #if LJ_HASFFI | ||
1878 | #define DtF(_V) (int)(ptrdiff_t)&(((CCallState *)0)_V) | ||
1879 | dasm_put(Dst, 10077, DtF(->spadj)); | ||
1844 | #if LJ_TARGET_WINDOWS | 1880 | #if LJ_TARGET_WINDOWS |
1845 | #endif | 1881 | #endif |
1846 | dasm_put(Dst, 9873, DtE(->nsp), offsetof(CCallState, stack), CCALL_SPS_EXTRA*8, DtE(->nfpr), DtE(->gpr[0]), DtE(->gpr[1]), DtE(->gpr[2]), DtE(->gpr[3]), DtE(->gpr[4]), DtE(->gpr[5]), DtE(->fpr[0]), DtE(->fpr[1])); | 1882 | dasm_put(Dst, 10093, DtF(->nsp), offsetof(CCallState, stack), CCALL_SPS_EXTRA*8, DtF(->nfpr), DtF(->gpr[0]), DtF(->gpr[1]), DtF(->gpr[2]), DtF(->gpr[3]), DtF(->gpr[4]), DtF(->gpr[5]), DtF(->fpr[0]), DtF(->fpr[1])); |
1847 | dasm_put(Dst, 9952, DtE(->fpr[2]), DtE(->fpr[3]), DtE(->fpr[4]), DtE(->fpr[5]), DtE(->fpr[6]), DtE(->fpr[7]), DtE(->func), DtE(->gpr[0]), DtE(->fpr[0]), DtE(->gpr[1]), DtE(->fpr[1])); | 1883 | dasm_put(Dst, 10172, DtF(->fpr[2]), DtF(->fpr[3]), DtF(->fpr[4]), DtF(->fpr[5]), DtF(->fpr[6]), DtF(->fpr[7]), DtF(->func), DtF(->gpr[0]), DtF(->fpr[0]), DtF(->gpr[1]), DtF(->fpr[1])); |
1848 | #if LJ_TARGET_WINDOWS | 1884 | #if LJ_TARGET_WINDOWS |
1849 | #endif | 1885 | #endif |
1850 | dasm_put(Dst, 10007); | 1886 | dasm_put(Dst, 10227); |
1851 | #endif | 1887 | #endif |
1852 | } | 1888 | } |
1853 | 1889 | ||
@@ -1855,7 +1891,7 @@ static void build_subroutines(BuildCtx *ctx, int cmov, int sse) | |||
1855 | static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | 1891 | static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) |
1856 | { | 1892 | { |
1857 | int vk = 0; | 1893 | int vk = 0; |
1858 | dasm_put(Dst, 10015, defop); | 1894 | dasm_put(Dst, 829, defop); |
1859 | 1895 | ||
1860 | switch (op) { | 1896 | switch (op) { |
1861 | 1897 | ||
@@ -1866,302 +1902,302 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
1866 | 1902 | ||
1867 | case BC_ISLT: case BC_ISGE: case BC_ISLE: case BC_ISGT: | 1903 | case BC_ISLT: case BC_ISGE: case BC_ISLE: case BC_ISGT: |
1868 | if (LJ_DUALNUM) { | 1904 | if (LJ_DUALNUM) { |
1869 | dasm_put(Dst, 10017, LJ_TISNUM, LJ_TISNUM); | 1905 | dasm_put(Dst, 10235, LJ_TISNUM, LJ_TISNUM); |
1870 | switch (op) { | 1906 | switch (op) { |
1871 | case BC_ISLT: | 1907 | case BC_ISLT: |
1872 | dasm_put(Dst, 10047); | 1908 | dasm_put(Dst, 10265); |
1873 | break; | 1909 | break; |
1874 | case BC_ISGE: | 1910 | case BC_ISGE: |
1875 | dasm_put(Dst, 10052); | 1911 | dasm_put(Dst, 10270); |
1876 | break; | 1912 | break; |
1877 | case BC_ISLE: | 1913 | case BC_ISLE: |
1878 | dasm_put(Dst, 10057); | 1914 | dasm_put(Dst, 10275); |
1879 | break; | 1915 | break; |
1880 | case BC_ISGT: | 1916 | case BC_ISGT: |
1881 | dasm_put(Dst, 10062); | 1917 | dasm_put(Dst, 10280); |
1882 | break; | 1918 | break; |
1883 | default: break; /* Shut up GCC. */ | 1919 | default: break; /* Shut up GCC. */ |
1884 | } | 1920 | } |
1885 | dasm_put(Dst, 10067, -BCBIAS_J*4, LJ_TISNUM); | 1921 | dasm_put(Dst, 10285, -BCBIAS_J*4, LJ_TISNUM); |
1886 | if (sse) { | 1922 | if (sse) { |
1887 | dasm_put(Dst, 10122); | 1923 | dasm_put(Dst, 10340); |
1888 | } else { | 1924 | } else { |
1889 | dasm_put(Dst, 10133); | 1925 | dasm_put(Dst, 10351); |
1890 | } | 1926 | } |
1891 | dasm_put(Dst, 10144); | 1927 | dasm_put(Dst, 10362); |
1892 | if (sse) { | 1928 | if (sse) { |
1893 | dasm_put(Dst, 10151); | 1929 | dasm_put(Dst, 10369); |
1894 | switch (op) { | 1930 | switch (op) { |
1895 | case BC_ISLT: | 1931 | case BC_ISLT: |
1896 | dasm_put(Dst, 10171); | 1932 | dasm_put(Dst, 10389); |
1897 | break; | 1933 | break; |
1898 | case BC_ISGE: | 1934 | case BC_ISGE: |
1899 | dasm_put(Dst, 10176); | 1935 | dasm_put(Dst, 10394); |
1900 | break; | 1936 | break; |
1901 | case BC_ISLE: | 1937 | case BC_ISLE: |
1902 | dasm_put(Dst, 10181); | 1938 | dasm_put(Dst, 10399); |
1903 | break; | 1939 | break; |
1904 | case BC_ISGT: | 1940 | case BC_ISGT: |
1905 | dasm_put(Dst, 10186); | 1941 | dasm_put(Dst, 10404); |
1906 | break; | 1942 | break; |
1907 | default: break; /* Shut up GCC. */ | 1943 | default: break; /* Shut up GCC. */ |
1908 | } | 1944 | } |
1909 | dasm_put(Dst, 10191); | 1945 | dasm_put(Dst, 10409); |
1910 | } else { | 1946 | } else { |
1911 | dasm_put(Dst, 10196); | 1947 | dasm_put(Dst, 10414); |
1912 | } | 1948 | } |
1913 | } else { | 1949 | } else { |
1914 | dasm_put(Dst, 10204, LJ_TISNUM, LJ_TISNUM); | 1950 | dasm_put(Dst, 10422, LJ_TISNUM, LJ_TISNUM); |
1915 | } | 1951 | } |
1916 | if (sse) { | 1952 | if (sse) { |
1917 | dasm_put(Dst, 10225); | 1953 | dasm_put(Dst, 10443); |
1918 | } else { | 1954 | } else { |
1919 | dasm_put(Dst, 10246); | 1955 | dasm_put(Dst, 10464); |
1920 | if (cmov) { | 1956 | if (cmov) { |
1921 | dasm_put(Dst, 10262); | 1957 | dasm_put(Dst, 10480); |
1922 | } else { | 1958 | } else { |
1923 | dasm_put(Dst, 10268); | 1959 | dasm_put(Dst, 10486); |
1924 | } | 1960 | } |
1925 | } | 1961 | } |
1926 | if (LJ_DUALNUM) { | 1962 | if (LJ_DUALNUM) { |
1927 | switch (op) { | 1963 | switch (op) { |
1928 | case BC_ISLT: | 1964 | case BC_ISLT: |
1929 | dasm_put(Dst, 10171); | 1965 | dasm_put(Dst, 10389); |
1930 | break; | 1966 | break; |
1931 | case BC_ISGE: | 1967 | case BC_ISGE: |
1932 | dasm_put(Dst, 10176); | 1968 | dasm_put(Dst, 10394); |
1933 | break; | 1969 | break; |
1934 | case BC_ISLE: | 1970 | case BC_ISLE: |
1935 | dasm_put(Dst, 10181); | 1971 | dasm_put(Dst, 10399); |
1936 | break; | 1972 | break; |
1937 | case BC_ISGT: | 1973 | case BC_ISGT: |
1938 | dasm_put(Dst, 10186); | 1974 | dasm_put(Dst, 10404); |
1939 | break; | 1975 | break; |
1940 | default: break; /* Shut up GCC. */ | 1976 | default: break; /* Shut up GCC. */ |
1941 | } | 1977 | } |
1942 | dasm_put(Dst, 10191); | 1978 | dasm_put(Dst, 10409); |
1943 | } else { | 1979 | } else { |
1944 | switch (op) { | 1980 | switch (op) { |
1945 | case BC_ISLT: | 1981 | case BC_ISLT: |
1946 | dasm_put(Dst, 10275); | 1982 | dasm_put(Dst, 817); |
1947 | break; | 1983 | break; |
1948 | case BC_ISGE: | 1984 | case BC_ISGE: |
1949 | dasm_put(Dst, 10280); | 1985 | dasm_put(Dst, 10493); |
1950 | break; | 1986 | break; |
1951 | case BC_ISLE: | 1987 | case BC_ISLE: |
1952 | dasm_put(Dst, 10285); | 1988 | dasm_put(Dst, 10498); |
1953 | break; | 1989 | break; |
1954 | case BC_ISGT: | 1990 | case BC_ISGT: |
1955 | dasm_put(Dst, 10290); | 1991 | dasm_put(Dst, 10503); |
1956 | break; | 1992 | break; |
1957 | default: break; /* Shut up GCC. */ | 1993 | default: break; /* Shut up GCC. */ |
1958 | } | 1994 | } |
1959 | dasm_put(Dst, 10295, -BCBIAS_J*4); | 1995 | dasm_put(Dst, 10508, -BCBIAS_J*4); |
1960 | } | 1996 | } |
1961 | break; | 1997 | break; |
1962 | 1998 | ||
1963 | case BC_ISEQV: case BC_ISNEV: | 1999 | case BC_ISEQV: case BC_ISNEV: |
1964 | vk = op == BC_ISEQV; | 2000 | vk = op == BC_ISEQV; |
1965 | dasm_put(Dst, 10328); | 2001 | dasm_put(Dst, 10541); |
1966 | if (LJ_DUALNUM) { | 2002 | if (LJ_DUALNUM) { |
1967 | dasm_put(Dst, 10336, LJ_TISNUM, LJ_TISNUM); | 2003 | dasm_put(Dst, 10549, LJ_TISNUM, LJ_TISNUM); |
1968 | if (vk) { | 2004 | if (vk) { |
1969 | dasm_put(Dst, 10361); | 2005 | dasm_put(Dst, 10574); |
1970 | } else { | 2006 | } else { |
1971 | dasm_put(Dst, 10366); | 2007 | dasm_put(Dst, 10579); |
1972 | } | 2008 | } |
1973 | dasm_put(Dst, 10371, -BCBIAS_J*4, LJ_TISNUM); | 2009 | dasm_put(Dst, 10584, -BCBIAS_J*4, LJ_TISNUM); |
1974 | if (sse) { | 2010 | if (sse) { |
1975 | dasm_put(Dst, 10424); | 2011 | dasm_put(Dst, 10637); |
1976 | } else { | 2012 | } else { |
1977 | dasm_put(Dst, 10431); | 2013 | dasm_put(Dst, 10644); |
1978 | } | 2014 | } |
1979 | dasm_put(Dst, 10435); | 2015 | dasm_put(Dst, 10648); |
1980 | if (sse) { | 2016 | if (sse) { |
1981 | dasm_put(Dst, 10446); | 2017 | dasm_put(Dst, 10659); |
1982 | } else { | 2018 | } else { |
1983 | dasm_put(Dst, 10458); | 2019 | dasm_put(Dst, 10671); |
1984 | } | 2020 | } |
1985 | dasm_put(Dst, 10465); | 2021 | dasm_put(Dst, 10678); |
1986 | } else { | 2022 | } else { |
1987 | dasm_put(Dst, 10470, LJ_TISNUM, LJ_TISNUM); | 2023 | dasm_put(Dst, 10683, LJ_TISNUM, LJ_TISNUM); |
1988 | } | 2024 | } |
1989 | if (sse) { | 2025 | if (sse) { |
1990 | dasm_put(Dst, 10489); | 2026 | dasm_put(Dst, 10702); |
1991 | } else { | 2027 | } else { |
1992 | dasm_put(Dst, 10507); | 2028 | dasm_put(Dst, 10720); |
1993 | if (cmov) { | 2029 | if (cmov) { |
1994 | dasm_put(Dst, 10262); | 2030 | dasm_put(Dst, 10480); |
1995 | } else { | 2031 | } else { |
1996 | dasm_put(Dst, 10268); | 2032 | dasm_put(Dst, 10486); |
1997 | } | 2033 | } |
1998 | } | 2034 | } |
1999 | iseqne_fp: | 2035 | iseqne_fp: |
2000 | if (vk) { | 2036 | if (vk) { |
2001 | dasm_put(Dst, 10520); | 2037 | dasm_put(Dst, 10733); |
2002 | } else { | 2038 | } else { |
2003 | dasm_put(Dst, 10529); | 2039 | dasm_put(Dst, 10742); |
2004 | } | 2040 | } |
2005 | iseqne_end: | 2041 | iseqne_end: |
2006 | if (vk) { | 2042 | if (vk) { |
2007 | dasm_put(Dst, 10538, -BCBIAS_J*4); | 2043 | dasm_put(Dst, 10751, -BCBIAS_J*4); |
2008 | if (!LJ_HASFFI) { | 2044 | if (!LJ_HASFFI) { |
2009 | dasm_put(Dst, 4675); | 2045 | dasm_put(Dst, 4684); |
2010 | } | 2046 | } |
2011 | } else { | 2047 | } else { |
2012 | if (!LJ_HASFFI) { | 2048 | if (!LJ_HASFFI) { |
2013 | dasm_put(Dst, 4675); | 2049 | dasm_put(Dst, 4684); |
2014 | } | 2050 | } |
2015 | dasm_put(Dst, 10553, -BCBIAS_J*4); | 2051 | dasm_put(Dst, 10766, -BCBIAS_J*4); |
2016 | } | 2052 | } |
2017 | if (LJ_DUALNUM && (op == BC_ISEQV || op == BC_ISNEV || | 2053 | if (LJ_DUALNUM && (op == BC_ISEQV || op == BC_ISNEV || |
2018 | op == BC_ISEQN || op == BC_ISNEN)) { | 2054 | op == BC_ISEQN || op == BC_ISNEN)) { |
2019 | dasm_put(Dst, 10568); | 2055 | dasm_put(Dst, 10781); |
2020 | } else { | 2056 | } else { |
2021 | dasm_put(Dst, 10307); | 2057 | dasm_put(Dst, 10520); |
2022 | } | 2058 | } |
2023 | if (op == BC_ISEQV || op == BC_ISNEV) { | 2059 | if (op == BC_ISEQV || op == BC_ISNEV) { |
2024 | dasm_put(Dst, 10573); | 2060 | dasm_put(Dst, 10786); |
2025 | if (LJ_HASFFI) { | 2061 | if (LJ_HASFFI) { |
2026 | dasm_put(Dst, 10576, LJ_TCDATA, LJ_TCDATA); | 2062 | dasm_put(Dst, 10789, LJ_TCDATA, LJ_TCDATA); |
2027 | } | 2063 | } |
2028 | dasm_put(Dst, 10595, LJ_TISPRI, LJ_TISTABUD, LJ_TUDATA, Dt6(->metatable), Dt6(->nomm), 1<<MM_eq); | 2064 | dasm_put(Dst, 10808, LJ_TISPRI, LJ_TISTABUD, LJ_TUDATA, Dt6(->metatable), Dt6(->nomm), 1<<MM_eq); |
2029 | if (vk) { | 2065 | if (vk) { |
2030 | dasm_put(Dst, 10659); | 2066 | dasm_put(Dst, 10872); |
2031 | } else { | 2067 | } else { |
2032 | dasm_put(Dst, 10663); | 2068 | dasm_put(Dst, 10876); |
2033 | } | 2069 | } |
2034 | dasm_put(Dst, 10669); | 2070 | dasm_put(Dst, 10882); |
2035 | } else if (LJ_HASFFI) { | 2071 | } else if (LJ_HASFFI) { |
2036 | dasm_put(Dst, 10674, LJ_TCDATA); | 2072 | dasm_put(Dst, 10887, LJ_TCDATA); |
2037 | if (LJ_DUALNUM && vk) { | 2073 | if (LJ_DUALNUM && vk) { |
2038 | dasm_put(Dst, 10681); | 2074 | dasm_put(Dst, 10894); |
2039 | } else { | 2075 | } else { |
2040 | dasm_put(Dst, 10654); | 2076 | dasm_put(Dst, 10867); |
2041 | } | 2077 | } |
2042 | dasm_put(Dst, 10686); | 2078 | dasm_put(Dst, 10899); |
2043 | } | 2079 | } |
2044 | break; | 2080 | break; |
2045 | case BC_ISEQS: case BC_ISNES: | 2081 | case BC_ISEQS: case BC_ISNES: |
2046 | vk = op == BC_ISEQS; | 2082 | vk = op == BC_ISEQS; |
2047 | dasm_put(Dst, 10691, LJ_TSTR); | 2083 | dasm_put(Dst, 10904, LJ_TSTR); |
2048 | iseqne_test: | 2084 | iseqne_test: |
2049 | if (vk) { | 2085 | if (vk) { |
2050 | dasm_put(Dst, 10524); | 2086 | dasm_put(Dst, 10737); |
2051 | } else { | 2087 | } else { |
2052 | dasm_put(Dst, 814); | 2088 | dasm_put(Dst, 2980); |
2053 | } | 2089 | } |
2054 | goto iseqne_end; | 2090 | goto iseqne_end; |
2055 | case BC_ISEQN: case BC_ISNEN: | 2091 | case BC_ISEQN: case BC_ISNEN: |
2056 | vk = op == BC_ISEQN; | 2092 | vk = op == BC_ISEQN; |
2057 | dasm_put(Dst, 10718); | 2093 | dasm_put(Dst, 10931); |
2058 | if (LJ_DUALNUM) { | 2094 | if (LJ_DUALNUM) { |
2059 | dasm_put(Dst, 10726, LJ_TISNUM, LJ_TISNUM); | 2095 | dasm_put(Dst, 10939, LJ_TISNUM, LJ_TISNUM); |
2060 | if (vk) { | 2096 | if (vk) { |
2061 | dasm_put(Dst, 10361); | 2097 | dasm_put(Dst, 10574); |
2062 | } else { | 2098 | } else { |
2063 | dasm_put(Dst, 10366); | 2099 | dasm_put(Dst, 10579); |
2064 | } | 2100 | } |
2065 | dasm_put(Dst, 10753, -BCBIAS_J*4, LJ_TISNUM); | 2101 | dasm_put(Dst, 10966, -BCBIAS_J*4, LJ_TISNUM); |
2066 | if (sse) { | 2102 | if (sse) { |
2067 | dasm_put(Dst, 10803); | 2103 | dasm_put(Dst, 11016); |
2068 | } else { | 2104 | } else { |
2069 | dasm_put(Dst, 10811); | 2105 | dasm_put(Dst, 11024); |
2070 | } | 2106 | } |
2071 | dasm_put(Dst, 10816); | 2107 | dasm_put(Dst, 11029); |
2072 | if (sse) { | 2108 | if (sse) { |
2073 | dasm_put(Dst, 10823); | 2109 | dasm_put(Dst, 11036); |
2074 | } else { | 2110 | } else { |
2075 | dasm_put(Dst, 10836); | 2111 | dasm_put(Dst, 11049); |
2076 | } | 2112 | } |
2077 | dasm_put(Dst, 10465); | 2113 | dasm_put(Dst, 10678); |
2078 | } else { | 2114 | } else { |
2079 | dasm_put(Dst, 10844, LJ_TISNUM); | 2115 | dasm_put(Dst, 11057, LJ_TISNUM); |
2080 | } | 2116 | } |
2081 | if (sse) { | 2117 | if (sse) { |
2082 | dasm_put(Dst, 10853); | 2118 | dasm_put(Dst, 11066); |
2083 | } else { | 2119 | } else { |
2084 | dasm_put(Dst, 10872); | 2120 | dasm_put(Dst, 11085); |
2085 | if (cmov) { | 2121 | if (cmov) { |
2086 | dasm_put(Dst, 10262); | 2122 | dasm_put(Dst, 10480); |
2087 | } else { | 2123 | } else { |
2088 | dasm_put(Dst, 10268); | 2124 | dasm_put(Dst, 10486); |
2089 | } | 2125 | } |
2090 | } | 2126 | } |
2091 | goto iseqne_fp; | 2127 | goto iseqne_fp; |
2092 | case BC_ISEQP: case BC_ISNEP: | 2128 | case BC_ISEQP: case BC_ISNEP: |
2093 | vk = op == BC_ISEQP; | 2129 | vk = op == BC_ISEQP; |
2094 | dasm_put(Dst, 10886); | 2130 | dasm_put(Dst, 11099); |
2095 | if (!LJ_HASFFI) goto iseqne_test; | 2131 | if (!LJ_HASFFI) goto iseqne_test; |
2096 | if (vk) { | 2132 | if (vk) { |
2097 | dasm_put(Dst, 10900, -BCBIAS_J*4, LJ_TCDATA); | 2133 | dasm_put(Dst, 11113, -BCBIAS_J*4, LJ_TCDATA); |
2098 | } else { | 2134 | } else { |
2099 | dasm_put(Dst, 10951, LJ_TCDATA, -BCBIAS_J*4); | 2135 | dasm_put(Dst, 11164, LJ_TCDATA, -BCBIAS_J*4); |
2100 | } | 2136 | } |
2101 | break; | 2137 | break; |
2102 | 2138 | ||
2103 | /* -- Unary test and copy ops ------------------------------------------- */ | 2139 | /* -- Unary test and copy ops ------------------------------------------- */ |
2104 | 2140 | ||
2105 | case BC_ISTC: case BC_ISFC: case BC_IST: case BC_ISF: | 2141 | case BC_ISTC: case BC_ISFC: case BC_IST: case BC_ISF: |
2106 | dasm_put(Dst, 10996, LJ_TISTRUECOND); | 2142 | dasm_put(Dst, 11209, LJ_TISTRUECOND); |
2107 | if (op == BC_IST || op == BC_ISTC) { | 2143 | if (op == BC_IST || op == BC_ISTC) { |
2108 | dasm_put(Dst, 10290); | 2144 | dasm_put(Dst, 10503); |
2109 | } else { | 2145 | } else { |
2110 | dasm_put(Dst, 10285); | 2146 | dasm_put(Dst, 10498); |
2111 | } | 2147 | } |
2112 | if (op == BC_ISTC || op == BC_ISFC) { | 2148 | if (op == BC_ISTC || op == BC_ISFC) { |
2113 | dasm_put(Dst, 11008); | 2149 | dasm_put(Dst, 11221); |
2114 | } | 2150 | } |
2115 | dasm_put(Dst, 10295, -BCBIAS_J*4); | 2151 | dasm_put(Dst, 10508, -BCBIAS_J*4); |
2116 | break; | 2152 | break; |
2117 | 2153 | ||
2118 | /* -- Unary ops --------------------------------------------------------- */ | 2154 | /* -- Unary ops --------------------------------------------------------- */ |
2119 | 2155 | ||
2120 | case BC_MOV: | 2156 | case BC_MOV: |
2121 | dasm_put(Dst, 11019); | 2157 | dasm_put(Dst, 11232); |
2122 | break; | 2158 | break; |
2123 | case BC_NOT: | 2159 | case BC_NOT: |
2124 | dasm_put(Dst, 11048, LJ_TISTRUECOND, LJ_TTRUE); | 2160 | dasm_put(Dst, 11261, LJ_TISTRUECOND, LJ_TTRUE); |
2125 | break; | 2161 | break; |
2126 | case BC_UNM: | 2162 | case BC_UNM: |
2127 | if (LJ_DUALNUM) { | 2163 | if (LJ_DUALNUM) { |
2128 | dasm_put(Dst, 11085, LJ_TISNUM, LJ_TISNUM); | 2164 | dasm_put(Dst, 11298, LJ_TISNUM, LJ_TISNUM); |
2129 | } else { | 2165 | } else { |
2130 | dasm_put(Dst, 11163, LJ_TISNUM); | 2166 | dasm_put(Dst, 11376, LJ_TISNUM); |
2131 | } | 2167 | } |
2132 | if (sse) { | 2168 | if (sse) { |
2133 | dasm_put(Dst, 11174, (unsigned int)(U64x(80000000,00000000)), (unsigned int)((U64x(80000000,00000000))>>32)); | 2169 | dasm_put(Dst, 11387, (unsigned int)(U64x(80000000,00000000)), (unsigned int)((U64x(80000000,00000000))>>32)); |
2134 | } else { | 2170 | } else { |
2135 | dasm_put(Dst, 11199); | 2171 | dasm_put(Dst, 11412); |
2136 | } | 2172 | } |
2137 | if (LJ_DUALNUM) { | 2173 | if (LJ_DUALNUM) { |
2138 | dasm_put(Dst, 10568); | 2174 | dasm_put(Dst, 10781); |
2139 | } else { | 2175 | } else { |
2140 | dasm_put(Dst, 10307); | 2176 | dasm_put(Dst, 10520); |
2141 | } | 2177 | } |
2142 | break; | 2178 | break; |
2143 | case BC_LEN: | 2179 | case BC_LEN: |
2144 | dasm_put(Dst, 11208, LJ_TSTR); | 2180 | dasm_put(Dst, 11421, LJ_TSTR); |
2145 | if (LJ_DUALNUM) { | 2181 | if (LJ_DUALNUM) { |
2146 | dasm_put(Dst, 11222, Dt5(->len), LJ_TISNUM); | 2182 | dasm_put(Dst, 11435, Dt5(->len), LJ_TISNUM); |
2147 | } else if (sse) { | 2183 | } else if (sse) { |
2148 | dasm_put(Dst, 11236, Dt5(->len)); | 2184 | dasm_put(Dst, 11449, Dt5(->len)); |
2149 | } else { | 2185 | } else { |
2150 | dasm_put(Dst, 11254, Dt5(->len)); | 2186 | dasm_put(Dst, 11467, Dt5(->len)); |
2151 | } | 2187 | } |
2152 | dasm_put(Dst, 11263, LJ_TTAB); | 2188 | dasm_put(Dst, 11476, LJ_TTAB); |
2153 | #ifdef LUAJIT_ENABLE_LUA52COMPAT | 2189 | #ifdef LUAJIT_ENABLE_LUA52COMPAT |
2154 | dasm_put(Dst, 11299, Dt6(->metatable)); | 2190 | dasm_put(Dst, 11512, Dt6(->metatable)); |
2155 | #endif | 2191 | #endif |
2156 | dasm_put(Dst, 11313); | 2192 | dasm_put(Dst, 11526); |
2157 | if (LJ_DUALNUM) { | 2193 | if (LJ_DUALNUM) { |
2158 | } else if (sse) { | 2194 | } else if (sse) { |
2159 | dasm_put(Dst, 11322); | 2195 | dasm_put(Dst, 11535); |
2160 | } else { | 2196 | } else { |
2161 | } | 2197 | } |
2162 | dasm_put(Dst, 11328); | 2198 | dasm_put(Dst, 11541); |
2163 | #ifdef LUAJIT_ENABLE_LUA52COMPAT | 2199 | #ifdef LUAJIT_ENABLE_LUA52COMPAT |
2164 | dasm_put(Dst, 11341, Dt6(->nomm), 1<<MM_len); | 2200 | dasm_put(Dst, 11554, Dt6(->nomm), 1<<MM_len); |
2165 | #endif | 2201 | #endif |
2166 | break; | 2202 | break; |
2167 | 2203 | ||
@@ -2170,605 +2206,605 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
2170 | 2206 | ||
2171 | case BC_ADDVN: case BC_ADDNV: case BC_ADDVV: | 2207 | case BC_ADDVN: case BC_ADDNV: case BC_ADDVV: |
2172 | if (LJ_DUALNUM) { | 2208 | if (LJ_DUALNUM) { |
2173 | dasm_put(Dst, 11357); | 2209 | dasm_put(Dst, 11570); |
2174 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 2210 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
2175 | switch (vk) { | 2211 | switch (vk) { |
2176 | case 0: | 2212 | case 0: |
2177 | dasm_put(Dst, 11365, LJ_TISNUM, LJ_TISNUM); | 2213 | dasm_put(Dst, 11578, LJ_TISNUM, LJ_TISNUM); |
2178 | break; | 2214 | break; |
2179 | case 1: | 2215 | case 1: |
2180 | dasm_put(Dst, 11400, LJ_TISNUM, LJ_TISNUM); | 2216 | dasm_put(Dst, 11613, LJ_TISNUM, LJ_TISNUM); |
2181 | break; | 2217 | break; |
2182 | default: | 2218 | default: |
2183 | dasm_put(Dst, 11435, LJ_TISNUM, LJ_TISNUM); | 2219 | dasm_put(Dst, 11648, LJ_TISNUM, LJ_TISNUM); |
2184 | break; | 2220 | break; |
2185 | } | 2221 | } |
2186 | dasm_put(Dst, 11468, LJ_TISNUM); | 2222 | dasm_put(Dst, 11681, LJ_TISNUM); |
2187 | if (vk == 1) { | 2223 | if (vk == 1) { |
2188 | dasm_put(Dst, 11232); | 2224 | dasm_put(Dst, 11445); |
2189 | } else { | 2225 | } else { |
2190 | dasm_put(Dst, 11015); | 2226 | dasm_put(Dst, 11228); |
2191 | } | 2227 | } |
2192 | dasm_put(Dst, 10307); | 2228 | dasm_put(Dst, 10520); |
2193 | } else { | 2229 | } else { |
2194 | dasm_put(Dst, 11357); | 2230 | dasm_put(Dst, 11570); |
2195 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 2231 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
2196 | switch (vk) { | 2232 | switch (vk) { |
2197 | case 0: | 2233 | case 0: |
2198 | dasm_put(Dst, 11474, LJ_TISNUM); | 2234 | dasm_put(Dst, 11687, LJ_TISNUM); |
2199 | if (LJ_DUALNUM) { | 2235 | if (LJ_DUALNUM) { |
2200 | dasm_put(Dst, 11486, LJ_TISNUM); | 2236 | dasm_put(Dst, 11699, LJ_TISNUM); |
2201 | } | 2237 | } |
2202 | if (sse) { | 2238 | if (sse) { |
2203 | dasm_put(Dst, 11498); | 2239 | dasm_put(Dst, 11711); |
2204 | } else { | 2240 | } else { |
2205 | dasm_put(Dst, 11513); | 2241 | dasm_put(Dst, 11726); |
2206 | } | 2242 | } |
2207 | break; | 2243 | break; |
2208 | case 1: | 2244 | case 1: |
2209 | dasm_put(Dst, 11522, LJ_TISNUM); | 2245 | dasm_put(Dst, 11735, LJ_TISNUM); |
2210 | if (LJ_DUALNUM) { | 2246 | if (LJ_DUALNUM) { |
2211 | dasm_put(Dst, 11534, LJ_TISNUM); | 2247 | dasm_put(Dst, 11747, LJ_TISNUM); |
2212 | } | 2248 | } |
2213 | if (sse) { | 2249 | if (sse) { |
2214 | dasm_put(Dst, 11546); | 2250 | dasm_put(Dst, 11759); |
2215 | } else { | 2251 | } else { |
2216 | dasm_put(Dst, 11561); | 2252 | dasm_put(Dst, 11774); |
2217 | } | 2253 | } |
2218 | break; | 2254 | break; |
2219 | default: | 2255 | default: |
2220 | dasm_put(Dst, 11570, LJ_TISNUM, LJ_TISNUM); | 2256 | dasm_put(Dst, 11783, LJ_TISNUM, LJ_TISNUM); |
2221 | if (sse) { | 2257 | if (sse) { |
2222 | dasm_put(Dst, 11592); | 2258 | dasm_put(Dst, 11805); |
2223 | } else { | 2259 | } else { |
2224 | dasm_put(Dst, 11606); | 2260 | dasm_put(Dst, 11819); |
2225 | } | 2261 | } |
2226 | break; | 2262 | break; |
2227 | } | 2263 | } |
2228 | if (sse) { | 2264 | if (sse) { |
2229 | dasm_put(Dst, 11192); | 2265 | dasm_put(Dst, 11405); |
2230 | } else { | 2266 | } else { |
2231 | dasm_put(Dst, 11204); | 2267 | dasm_put(Dst, 11417); |
2232 | } | 2268 | } |
2233 | dasm_put(Dst, 10307); | 2269 | dasm_put(Dst, 10520); |
2234 | } | 2270 | } |
2235 | break; | 2271 | break; |
2236 | case BC_SUBVN: case BC_SUBNV: case BC_SUBVV: | 2272 | case BC_SUBVN: case BC_SUBNV: case BC_SUBVV: |
2237 | if (LJ_DUALNUM) { | 2273 | if (LJ_DUALNUM) { |
2238 | dasm_put(Dst, 11357); | 2274 | dasm_put(Dst, 11570); |
2239 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 2275 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
2240 | switch (vk) { | 2276 | switch (vk) { |
2241 | case 0: | 2277 | case 0: |
2242 | dasm_put(Dst, 11614, LJ_TISNUM, LJ_TISNUM); | 2278 | dasm_put(Dst, 11827, LJ_TISNUM, LJ_TISNUM); |
2243 | break; | 2279 | break; |
2244 | case 1: | 2280 | case 1: |
2245 | dasm_put(Dst, 11649, LJ_TISNUM, LJ_TISNUM); | 2281 | dasm_put(Dst, 11862, LJ_TISNUM, LJ_TISNUM); |
2246 | break; | 2282 | break; |
2247 | default: | 2283 | default: |
2248 | dasm_put(Dst, 11684, LJ_TISNUM, LJ_TISNUM); | 2284 | dasm_put(Dst, 11897, LJ_TISNUM, LJ_TISNUM); |
2249 | break; | 2285 | break; |
2250 | } | 2286 | } |
2251 | dasm_put(Dst, 11468, LJ_TISNUM); | 2287 | dasm_put(Dst, 11681, LJ_TISNUM); |
2252 | if (vk == 1) { | 2288 | if (vk == 1) { |
2253 | dasm_put(Dst, 11232); | 2289 | dasm_put(Dst, 11445); |
2254 | } else { | 2290 | } else { |
2255 | dasm_put(Dst, 11015); | 2291 | dasm_put(Dst, 11228); |
2256 | } | 2292 | } |
2257 | dasm_put(Dst, 10307); | 2293 | dasm_put(Dst, 10520); |
2258 | } else { | 2294 | } else { |
2259 | dasm_put(Dst, 11357); | 2295 | dasm_put(Dst, 11570); |
2260 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 2296 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
2261 | switch (vk) { | 2297 | switch (vk) { |
2262 | case 0: | 2298 | case 0: |
2263 | dasm_put(Dst, 11474, LJ_TISNUM); | 2299 | dasm_put(Dst, 11687, LJ_TISNUM); |
2264 | if (LJ_DUALNUM) { | 2300 | if (LJ_DUALNUM) { |
2265 | dasm_put(Dst, 11486, LJ_TISNUM); | 2301 | dasm_put(Dst, 11699, LJ_TISNUM); |
2266 | } | 2302 | } |
2267 | if (sse) { | 2303 | if (sse) { |
2268 | dasm_put(Dst, 11717); | 2304 | dasm_put(Dst, 11930); |
2269 | } else { | 2305 | } else { |
2270 | dasm_put(Dst, 11732); | 2306 | dasm_put(Dst, 11945); |
2271 | } | 2307 | } |
2272 | break; | 2308 | break; |
2273 | case 1: | 2309 | case 1: |
2274 | dasm_put(Dst, 11522, LJ_TISNUM); | 2310 | dasm_put(Dst, 11735, LJ_TISNUM); |
2275 | if (LJ_DUALNUM) { | 2311 | if (LJ_DUALNUM) { |
2276 | dasm_put(Dst, 11534, LJ_TISNUM); | 2312 | dasm_put(Dst, 11747, LJ_TISNUM); |
2277 | } | 2313 | } |
2278 | if (sse) { | 2314 | if (sse) { |
2279 | dasm_put(Dst, 11741); | 2315 | dasm_put(Dst, 11954); |
2280 | } else { | 2316 | } else { |
2281 | dasm_put(Dst, 11756); | 2317 | dasm_put(Dst, 11969); |
2282 | } | 2318 | } |
2283 | break; | 2319 | break; |
2284 | default: | 2320 | default: |
2285 | dasm_put(Dst, 11570, LJ_TISNUM, LJ_TISNUM); | 2321 | dasm_put(Dst, 11783, LJ_TISNUM, LJ_TISNUM); |
2286 | if (sse) { | 2322 | if (sse) { |
2287 | dasm_put(Dst, 11765); | 2323 | dasm_put(Dst, 11978); |
2288 | } else { | 2324 | } else { |
2289 | dasm_put(Dst, 11779); | 2325 | dasm_put(Dst, 11992); |
2290 | } | 2326 | } |
2291 | break; | 2327 | break; |
2292 | } | 2328 | } |
2293 | if (sse) { | 2329 | if (sse) { |
2294 | dasm_put(Dst, 11192); | 2330 | dasm_put(Dst, 11405); |
2295 | } else { | 2331 | } else { |
2296 | dasm_put(Dst, 11204); | 2332 | dasm_put(Dst, 11417); |
2297 | } | 2333 | } |
2298 | dasm_put(Dst, 10307); | 2334 | dasm_put(Dst, 10520); |
2299 | } | 2335 | } |
2300 | break; | 2336 | break; |
2301 | case BC_MULVN: case BC_MULNV: case BC_MULVV: | 2337 | case BC_MULVN: case BC_MULNV: case BC_MULVV: |
2302 | if (LJ_DUALNUM) { | 2338 | if (LJ_DUALNUM) { |
2303 | dasm_put(Dst, 11357); | 2339 | dasm_put(Dst, 11570); |
2304 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 2340 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
2305 | switch (vk) { | 2341 | switch (vk) { |
2306 | case 0: | 2342 | case 0: |
2307 | dasm_put(Dst, 11787, LJ_TISNUM, LJ_TISNUM); | 2343 | dasm_put(Dst, 12000, LJ_TISNUM, LJ_TISNUM); |
2308 | break; | 2344 | break; |
2309 | case 1: | 2345 | case 1: |
2310 | dasm_put(Dst, 11823, LJ_TISNUM, LJ_TISNUM); | 2346 | dasm_put(Dst, 12036, LJ_TISNUM, LJ_TISNUM); |
2311 | break; | 2347 | break; |
2312 | default: | 2348 | default: |
2313 | dasm_put(Dst, 11859, LJ_TISNUM, LJ_TISNUM); | 2349 | dasm_put(Dst, 12072, LJ_TISNUM, LJ_TISNUM); |
2314 | break; | 2350 | break; |
2315 | } | 2351 | } |
2316 | dasm_put(Dst, 11468, LJ_TISNUM); | 2352 | dasm_put(Dst, 11681, LJ_TISNUM); |
2317 | if (vk == 1) { | 2353 | if (vk == 1) { |
2318 | dasm_put(Dst, 11232); | 2354 | dasm_put(Dst, 11445); |
2319 | } else { | 2355 | } else { |
2320 | dasm_put(Dst, 11015); | 2356 | dasm_put(Dst, 11228); |
2321 | } | 2357 | } |
2322 | dasm_put(Dst, 10307); | 2358 | dasm_put(Dst, 10520); |
2323 | } else { | 2359 | } else { |
2324 | dasm_put(Dst, 11357); | 2360 | dasm_put(Dst, 11570); |
2325 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 2361 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
2326 | switch (vk) { | 2362 | switch (vk) { |
2327 | case 0: | 2363 | case 0: |
2328 | dasm_put(Dst, 11474, LJ_TISNUM); | 2364 | dasm_put(Dst, 11687, LJ_TISNUM); |
2329 | if (LJ_DUALNUM) { | 2365 | if (LJ_DUALNUM) { |
2330 | dasm_put(Dst, 11486, LJ_TISNUM); | 2366 | dasm_put(Dst, 11699, LJ_TISNUM); |
2331 | } | 2367 | } |
2332 | if (sse) { | 2368 | if (sse) { |
2333 | dasm_put(Dst, 11893); | 2369 | dasm_put(Dst, 12106); |
2334 | } else { | 2370 | } else { |
2335 | dasm_put(Dst, 11908); | 2371 | dasm_put(Dst, 12121); |
2336 | } | 2372 | } |
2337 | break; | 2373 | break; |
2338 | case 1: | 2374 | case 1: |
2339 | dasm_put(Dst, 11522, LJ_TISNUM); | 2375 | dasm_put(Dst, 11735, LJ_TISNUM); |
2340 | if (LJ_DUALNUM) { | 2376 | if (LJ_DUALNUM) { |
2341 | dasm_put(Dst, 11534, LJ_TISNUM); | 2377 | dasm_put(Dst, 11747, LJ_TISNUM); |
2342 | } | 2378 | } |
2343 | if (sse) { | 2379 | if (sse) { |
2344 | dasm_put(Dst, 11917); | 2380 | dasm_put(Dst, 12130); |
2345 | } else { | 2381 | } else { |
2346 | dasm_put(Dst, 11932); | 2382 | dasm_put(Dst, 12145); |
2347 | } | 2383 | } |
2348 | break; | 2384 | break; |
2349 | default: | 2385 | default: |
2350 | dasm_put(Dst, 11570, LJ_TISNUM, LJ_TISNUM); | 2386 | dasm_put(Dst, 11783, LJ_TISNUM, LJ_TISNUM); |
2351 | if (sse) { | 2387 | if (sse) { |
2352 | dasm_put(Dst, 11941); | 2388 | dasm_put(Dst, 12154); |
2353 | } else { | 2389 | } else { |
2354 | dasm_put(Dst, 11955); | 2390 | dasm_put(Dst, 12168); |
2355 | } | 2391 | } |
2356 | break; | 2392 | break; |
2357 | } | 2393 | } |
2358 | if (sse) { | 2394 | if (sse) { |
2359 | dasm_put(Dst, 11192); | 2395 | dasm_put(Dst, 11405); |
2360 | } else { | 2396 | } else { |
2361 | dasm_put(Dst, 11204); | 2397 | dasm_put(Dst, 11417); |
2362 | } | 2398 | } |
2363 | dasm_put(Dst, 10307); | 2399 | dasm_put(Dst, 10520); |
2364 | } | 2400 | } |
2365 | break; | 2401 | break; |
2366 | case BC_DIVVN: case BC_DIVNV: case BC_DIVVV: | 2402 | case BC_DIVVN: case BC_DIVNV: case BC_DIVVV: |
2367 | dasm_put(Dst, 11357); | 2403 | dasm_put(Dst, 11570); |
2368 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 2404 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
2369 | switch (vk) { | 2405 | switch (vk) { |
2370 | case 0: | 2406 | case 0: |
2371 | dasm_put(Dst, 11474, LJ_TISNUM); | 2407 | dasm_put(Dst, 11687, LJ_TISNUM); |
2372 | if (LJ_DUALNUM) { | 2408 | if (LJ_DUALNUM) { |
2373 | dasm_put(Dst, 11486, LJ_TISNUM); | 2409 | dasm_put(Dst, 11699, LJ_TISNUM); |
2374 | } | 2410 | } |
2375 | if (sse) { | 2411 | if (sse) { |
2376 | dasm_put(Dst, 11963); | 2412 | dasm_put(Dst, 12176); |
2377 | } else { | 2413 | } else { |
2378 | dasm_put(Dst, 11978); | 2414 | dasm_put(Dst, 12191); |
2379 | } | 2415 | } |
2380 | break; | 2416 | break; |
2381 | case 1: | 2417 | case 1: |
2382 | dasm_put(Dst, 11522, LJ_TISNUM); | 2418 | dasm_put(Dst, 11735, LJ_TISNUM); |
2383 | if (LJ_DUALNUM) { | 2419 | if (LJ_DUALNUM) { |
2384 | dasm_put(Dst, 11534, LJ_TISNUM); | 2420 | dasm_put(Dst, 11747, LJ_TISNUM); |
2385 | } | 2421 | } |
2386 | if (sse) { | 2422 | if (sse) { |
2387 | dasm_put(Dst, 11987); | 2423 | dasm_put(Dst, 12200); |
2388 | } else { | 2424 | } else { |
2389 | dasm_put(Dst, 12002); | 2425 | dasm_put(Dst, 12215); |
2390 | } | 2426 | } |
2391 | break; | 2427 | break; |
2392 | default: | 2428 | default: |
2393 | dasm_put(Dst, 11570, LJ_TISNUM, LJ_TISNUM); | 2429 | dasm_put(Dst, 11783, LJ_TISNUM, LJ_TISNUM); |
2394 | if (sse) { | 2430 | if (sse) { |
2395 | dasm_put(Dst, 12011); | 2431 | dasm_put(Dst, 12224); |
2396 | } else { | 2432 | } else { |
2397 | dasm_put(Dst, 12025); | 2433 | dasm_put(Dst, 12238); |
2398 | } | 2434 | } |
2399 | break; | 2435 | break; |
2400 | } | 2436 | } |
2401 | if (sse) { | 2437 | if (sse) { |
2402 | dasm_put(Dst, 11192); | 2438 | dasm_put(Dst, 11405); |
2403 | } else { | 2439 | } else { |
2404 | dasm_put(Dst, 11204); | 2440 | dasm_put(Dst, 11417); |
2405 | } | 2441 | } |
2406 | dasm_put(Dst, 10307); | 2442 | dasm_put(Dst, 10520); |
2407 | break; | 2443 | break; |
2408 | case BC_MODVN: | 2444 | case BC_MODVN: |
2409 | dasm_put(Dst, 11357); | 2445 | dasm_put(Dst, 11570); |
2410 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 2446 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
2411 | switch (vk) { | 2447 | switch (vk) { |
2412 | case 0: | 2448 | case 0: |
2413 | dasm_put(Dst, 11474, LJ_TISNUM); | 2449 | dasm_put(Dst, 11687, LJ_TISNUM); |
2414 | if (LJ_DUALNUM) { | 2450 | if (LJ_DUALNUM) { |
2415 | dasm_put(Dst, 11486, LJ_TISNUM); | 2451 | dasm_put(Dst, 11699, LJ_TISNUM); |
2416 | } | 2452 | } |
2417 | if (sse) { | 2453 | if (sse) { |
2418 | dasm_put(Dst, 12033); | 2454 | dasm_put(Dst, 12246); |
2419 | } else { | 2455 | } else { |
2420 | dasm_put(Dst, 12048); | 2456 | dasm_put(Dst, 12261); |
2421 | } | 2457 | } |
2422 | break; | 2458 | break; |
2423 | case 1: | 2459 | case 1: |
2424 | dasm_put(Dst, 11522, LJ_TISNUM); | 2460 | dasm_put(Dst, 11735, LJ_TISNUM); |
2425 | if (LJ_DUALNUM) { | 2461 | if (LJ_DUALNUM) { |
2426 | dasm_put(Dst, 11534, LJ_TISNUM); | 2462 | dasm_put(Dst, 11747, LJ_TISNUM); |
2427 | } | 2463 | } |
2428 | if (sse) { | 2464 | if (sse) { |
2429 | dasm_put(Dst, 12057); | 2465 | dasm_put(Dst, 12270); |
2430 | } else { | 2466 | } else { |
2431 | dasm_put(Dst, 12072); | 2467 | dasm_put(Dst, 12285); |
2432 | } | 2468 | } |
2433 | break; | 2469 | break; |
2434 | default: | 2470 | default: |
2435 | dasm_put(Dst, 11570, LJ_TISNUM, LJ_TISNUM); | 2471 | dasm_put(Dst, 11783, LJ_TISNUM, LJ_TISNUM); |
2436 | if (sse) { | 2472 | if (sse) { |
2437 | dasm_put(Dst, 12081); | 2473 | dasm_put(Dst, 12294); |
2438 | } else { | 2474 | } else { |
2439 | dasm_put(Dst, 12095); | 2475 | dasm_put(Dst, 12308); |
2440 | } | 2476 | } |
2441 | break; | 2477 | break; |
2442 | } | 2478 | } |
2443 | dasm_put(Dst, 12103); | 2479 | dasm_put(Dst, 12316); |
2444 | if (sse) { | 2480 | if (sse) { |
2445 | dasm_put(Dst, 11192); | 2481 | dasm_put(Dst, 11405); |
2446 | } else { | 2482 | } else { |
2447 | dasm_put(Dst, 11204); | 2483 | dasm_put(Dst, 11417); |
2448 | } | 2484 | } |
2449 | dasm_put(Dst, 10307); | 2485 | dasm_put(Dst, 10520); |
2450 | break; | 2486 | break; |
2451 | case BC_MODNV: case BC_MODVV: | 2487 | case BC_MODNV: case BC_MODVV: |
2452 | dasm_put(Dst, 11357); | 2488 | dasm_put(Dst, 11570); |
2453 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 2489 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
2454 | switch (vk) { | 2490 | switch (vk) { |
2455 | case 0: | 2491 | case 0: |
2456 | dasm_put(Dst, 11474, LJ_TISNUM); | 2492 | dasm_put(Dst, 11687, LJ_TISNUM); |
2457 | if (LJ_DUALNUM) { | 2493 | if (LJ_DUALNUM) { |
2458 | dasm_put(Dst, 11486, LJ_TISNUM); | 2494 | dasm_put(Dst, 11699, LJ_TISNUM); |
2459 | } | 2495 | } |
2460 | if (sse) { | 2496 | if (sse) { |
2461 | dasm_put(Dst, 12033); | 2497 | dasm_put(Dst, 12246); |
2462 | } else { | 2498 | } else { |
2463 | dasm_put(Dst, 12048); | 2499 | dasm_put(Dst, 12261); |
2464 | } | 2500 | } |
2465 | break; | 2501 | break; |
2466 | case 1: | 2502 | case 1: |
2467 | dasm_put(Dst, 11522, LJ_TISNUM); | 2503 | dasm_put(Dst, 11735, LJ_TISNUM); |
2468 | if (LJ_DUALNUM) { | 2504 | if (LJ_DUALNUM) { |
2469 | dasm_put(Dst, 11534, LJ_TISNUM); | 2505 | dasm_put(Dst, 11747, LJ_TISNUM); |
2470 | } | 2506 | } |
2471 | if (sse) { | 2507 | if (sse) { |
2472 | dasm_put(Dst, 12057); | 2508 | dasm_put(Dst, 12270); |
2473 | } else { | 2509 | } else { |
2474 | dasm_put(Dst, 12072); | 2510 | dasm_put(Dst, 12285); |
2475 | } | 2511 | } |
2476 | break; | 2512 | break; |
2477 | default: | 2513 | default: |
2478 | dasm_put(Dst, 11570, LJ_TISNUM, LJ_TISNUM); | 2514 | dasm_put(Dst, 11783, LJ_TISNUM, LJ_TISNUM); |
2479 | if (sse) { | 2515 | if (sse) { |
2480 | dasm_put(Dst, 12081); | 2516 | dasm_put(Dst, 12294); |
2481 | } else { | 2517 | } else { |
2482 | dasm_put(Dst, 12095); | 2518 | dasm_put(Dst, 12308); |
2483 | } | 2519 | } |
2484 | break; | 2520 | break; |
2485 | } | 2521 | } |
2486 | dasm_put(Dst, 12109); | 2522 | dasm_put(Dst, 12322); |
2487 | break; | 2523 | break; |
2488 | case BC_POW: | 2524 | case BC_POW: |
2489 | dasm_put(Dst, 11357); | 2525 | dasm_put(Dst, 11570); |
2490 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 2526 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
2491 | switch (vk) { | 2527 | switch (vk) { |
2492 | case 0: | 2528 | case 0: |
2493 | dasm_put(Dst, 11474, LJ_TISNUM); | 2529 | dasm_put(Dst, 11687, LJ_TISNUM); |
2494 | if (LJ_DUALNUM) { | 2530 | if (LJ_DUALNUM) { |
2495 | dasm_put(Dst, 11486, LJ_TISNUM); | 2531 | dasm_put(Dst, 11699, LJ_TISNUM); |
2496 | } | 2532 | } |
2497 | if (sse) { | 2533 | if (sse) { |
2498 | dasm_put(Dst, 12033); | 2534 | dasm_put(Dst, 12246); |
2499 | } else { | 2535 | } else { |
2500 | dasm_put(Dst, 12048); | 2536 | dasm_put(Dst, 12261); |
2501 | } | 2537 | } |
2502 | break; | 2538 | break; |
2503 | case 1: | 2539 | case 1: |
2504 | dasm_put(Dst, 11522, LJ_TISNUM); | 2540 | dasm_put(Dst, 11735, LJ_TISNUM); |
2505 | if (LJ_DUALNUM) { | 2541 | if (LJ_DUALNUM) { |
2506 | dasm_put(Dst, 11534, LJ_TISNUM); | 2542 | dasm_put(Dst, 11747, LJ_TISNUM); |
2507 | } | 2543 | } |
2508 | if (sse) { | 2544 | if (sse) { |
2509 | dasm_put(Dst, 12057); | 2545 | dasm_put(Dst, 12270); |
2510 | } else { | 2546 | } else { |
2511 | dasm_put(Dst, 12072); | 2547 | dasm_put(Dst, 12285); |
2512 | } | 2548 | } |
2513 | break; | 2549 | break; |
2514 | default: | 2550 | default: |
2515 | dasm_put(Dst, 11570, LJ_TISNUM, LJ_TISNUM); | 2551 | dasm_put(Dst, 11783, LJ_TISNUM, LJ_TISNUM); |
2516 | if (sse) { | 2552 | if (sse) { |
2517 | dasm_put(Dst, 12081); | 2553 | dasm_put(Dst, 12294); |
2518 | } else { | 2554 | } else { |
2519 | dasm_put(Dst, 12095); | 2555 | dasm_put(Dst, 12308); |
2520 | } | 2556 | } |
2521 | break; | 2557 | break; |
2522 | } | 2558 | } |
2523 | dasm_put(Dst, 12114); | 2559 | dasm_put(Dst, 12327); |
2524 | if (sse) { | 2560 | if (sse) { |
2525 | dasm_put(Dst, 11192); | 2561 | dasm_put(Dst, 11405); |
2526 | } else { | 2562 | } else { |
2527 | dasm_put(Dst, 11204); | 2563 | dasm_put(Dst, 11417); |
2528 | } | 2564 | } |
2529 | dasm_put(Dst, 10307); | 2565 | dasm_put(Dst, 10520); |
2530 | break; | 2566 | break; |
2531 | 2567 | ||
2532 | case BC_CAT: | 2568 | case BC_CAT: |
2533 | dasm_put(Dst, 12118, Dt1(->base), Dt1(->base)); | 2569 | dasm_put(Dst, 12331, Dt1(->base), Dt1(->base)); |
2534 | break; | 2570 | break; |
2535 | 2571 | ||
2536 | /* -- Constant ops ------------------------------------------------------ */ | 2572 | /* -- Constant ops ------------------------------------------------------ */ |
2537 | 2573 | ||
2538 | case BC_KSTR: | 2574 | case BC_KSTR: |
2539 | dasm_put(Dst, 12202, LJ_TSTR); | 2575 | dasm_put(Dst, 12415, LJ_TSTR); |
2540 | break; | 2576 | break; |
2541 | case BC_KCDATA: | 2577 | case BC_KCDATA: |
2542 | #if LJ_HASFFI | 2578 | #if LJ_HASFFI |
2543 | dasm_put(Dst, 12202, LJ_TCDATA); | 2579 | dasm_put(Dst, 12415, LJ_TCDATA); |
2544 | #endif | 2580 | #endif |
2545 | break; | 2581 | break; |
2546 | case BC_KSHORT: | 2582 | case BC_KSHORT: |
2547 | if (LJ_DUALNUM) { | 2583 | if (LJ_DUALNUM) { |
2548 | dasm_put(Dst, 12239, LJ_TISNUM); | 2584 | dasm_put(Dst, 12452, LJ_TISNUM); |
2549 | } else if (sse) { | 2585 | } else if (sse) { |
2550 | dasm_put(Dst, 12251); | 2586 | dasm_put(Dst, 12464); |
2551 | } else { | 2587 | } else { |
2552 | dasm_put(Dst, 12266); | 2588 | dasm_put(Dst, 12479); |
2553 | } | 2589 | } |
2554 | dasm_put(Dst, 10307); | 2590 | dasm_put(Dst, 10520); |
2555 | break; | 2591 | break; |
2556 | case BC_KNUM: | 2592 | case BC_KNUM: |
2557 | if (sse) { | 2593 | if (sse) { |
2558 | dasm_put(Dst, 12274); | 2594 | dasm_put(Dst, 12487); |
2559 | } else { | 2595 | } else { |
2560 | dasm_put(Dst, 12288); | 2596 | dasm_put(Dst, 12501); |
2561 | } | 2597 | } |
2562 | dasm_put(Dst, 10307); | 2598 | dasm_put(Dst, 10520); |
2563 | break; | 2599 | break; |
2564 | case BC_KPRI: | 2600 | case BC_KPRI: |
2565 | dasm_put(Dst, 12296); | 2601 | dasm_put(Dst, 12509); |
2566 | break; | 2602 | break; |
2567 | case BC_KNIL: | 2603 | case BC_KNIL: |
2568 | dasm_put(Dst, 12325, LJ_TNIL); | 2604 | dasm_put(Dst, 12538, LJ_TNIL); |
2569 | break; | 2605 | break; |
2570 | 2606 | ||
2571 | /* -- Upvalue and function ops ------------------------------------------ */ | 2607 | /* -- Upvalue and function ops ------------------------------------------ */ |
2572 | 2608 | ||
2573 | case BC_UGET: | 2609 | case BC_UGET: |
2574 | dasm_put(Dst, 12373, offsetof(GCfuncL, uvptr), DtA(->v)); | 2610 | dasm_put(Dst, 12586, offsetof(GCfuncL, uvptr), DtA(->v)); |
2575 | break; | 2611 | break; |
2576 | case BC_USETV: | 2612 | case BC_USETV: |
2577 | #define TV2MARKOFS \ | 2613 | #define TV2MARKOFS \ |
2578 | ((int32_t)offsetof(GCupval, marked)-(int32_t)offsetof(GCupval, tv)) | 2614 | ((int32_t)offsetof(GCupval, marked)-(int32_t)offsetof(GCupval, tv)) |
2579 | dasm_put(Dst, 12414, 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); | 2615 | dasm_put(Dst, 12627, 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); |
2580 | dasm_put(Dst, 12510); | 2616 | dasm_put(Dst, 12723); |
2581 | break; | 2617 | break; |
2582 | #undef TV2MARKOFS | 2618 | #undef TV2MARKOFS |
2583 | case BC_USETS: | 2619 | case BC_USETS: |
2584 | dasm_put(Dst, 12522, offsetof(GCfuncL, uvptr), DtA(->v), LJ_TSTR, DtA(->marked), LJ_GC_BLACK, Dt4(->gch.marked), LJ_GC_WHITES, DtA(->closed), GG_DISP2G); | 2620 | dasm_put(Dst, 12735, offsetof(GCfuncL, uvptr), DtA(->v), LJ_TSTR, DtA(->marked), LJ_GC_BLACK, Dt4(->gch.marked), LJ_GC_WHITES, DtA(->closed), GG_DISP2G); |
2585 | break; | 2621 | break; |
2586 | case BC_USETN: | 2622 | case BC_USETN: |
2587 | dasm_put(Dst, 12618); | 2623 | dasm_put(Dst, 12831); |
2588 | if (sse) { | 2624 | if (sse) { |
2589 | dasm_put(Dst, 12623); | 2625 | dasm_put(Dst, 12836); |
2590 | } else { | 2626 | } else { |
2591 | dasm_put(Dst, 10839); | 2627 | dasm_put(Dst, 11052); |
2592 | } | 2628 | } |
2593 | dasm_put(Dst, 12631, offsetof(GCfuncL, uvptr), DtA(->v)); | 2629 | dasm_put(Dst, 12844, offsetof(GCfuncL, uvptr), DtA(->v)); |
2594 | if (sse) { | 2630 | if (sse) { |
2595 | dasm_put(Dst, 12640); | 2631 | dasm_put(Dst, 12853); |
2596 | } else { | 2632 | } else { |
2597 | dasm_put(Dst, 12646); | 2633 | dasm_put(Dst, 12859); |
2598 | } | 2634 | } |
2599 | dasm_put(Dst, 10307); | 2635 | dasm_put(Dst, 10520); |
2600 | break; | 2636 | break; |
2601 | case BC_USETP: | 2637 | case BC_USETP: |
2602 | dasm_put(Dst, 12649, offsetof(GCfuncL, uvptr), DtA(->v)); | 2638 | dasm_put(Dst, 12862, offsetof(GCfuncL, uvptr), DtA(->v)); |
2603 | break; | 2639 | break; |
2604 | case BC_UCLO: | 2640 | case BC_UCLO: |
2605 | dasm_put(Dst, 12689, -BCBIAS_J*4, Dt1(->openupval), Dt1(->base), Dt1(->base)); | 2641 | dasm_put(Dst, 12902, -BCBIAS_J*4, Dt1(->openupval), Dt1(->base), Dt1(->base)); |
2606 | break; | 2642 | break; |
2607 | 2643 | ||
2608 | case BC_FNEW: | 2644 | case BC_FNEW: |
2609 | dasm_put(Dst, 12745, Dt1(->base), Dt1(->base), LJ_TFUNC); | 2645 | dasm_put(Dst, 12958, Dt1(->base), Dt1(->base), LJ_TFUNC); |
2610 | break; | 2646 | break; |
2611 | 2647 | ||
2612 | /* -- Table ops --------------------------------------------------------- */ | 2648 | /* -- Table ops --------------------------------------------------------- */ |
2613 | 2649 | ||
2614 | case BC_TNEW: | 2650 | case BC_TNEW: |
2615 | dasm_put(Dst, 12812, Dt1(->base), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), LJ_TTAB); | 2651 | dasm_put(Dst, 13025, Dt1(->base), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), LJ_TTAB); |
2616 | break; | 2652 | break; |
2617 | case BC_TDUP: | 2653 | case BC_TDUP: |
2618 | dasm_put(Dst, 12936, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), Dt1(->base), LJ_TTAB); | 2654 | dasm_put(Dst, 13149, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), Dt1(->base), LJ_TTAB); |
2619 | break; | 2655 | break; |
2620 | 2656 | ||
2621 | case BC_GGET: | 2657 | case BC_GGET: |
2622 | dasm_put(Dst, 13035, Dt7(->env)); | 2658 | dasm_put(Dst, 13248, Dt7(->env)); |
2623 | break; | 2659 | break; |
2624 | case BC_GSET: | 2660 | case BC_GSET: |
2625 | dasm_put(Dst, 13055, Dt7(->env)); | 2661 | dasm_put(Dst, 13268, Dt7(->env)); |
2626 | break; | 2662 | break; |
2627 | 2663 | ||
2628 | case BC_TGETV: | 2664 | case BC_TGETV: |
2629 | dasm_put(Dst, 13075, LJ_TTAB); | 2665 | dasm_put(Dst, 13288, LJ_TTAB); |
2630 | if (LJ_DUALNUM) { | 2666 | if (LJ_DUALNUM) { |
2631 | dasm_put(Dst, 13098, LJ_TISNUM); | 2667 | dasm_put(Dst, 13311, LJ_TISNUM); |
2632 | } else { | 2668 | } else { |
2633 | dasm_put(Dst, 13112, LJ_TISNUM); | 2669 | dasm_put(Dst, 13325, LJ_TISNUM); |
2634 | if (sse) { | 2670 | if (sse) { |
2635 | dasm_put(Dst, 13123); | 2671 | dasm_put(Dst, 13336); |
2636 | } else { | 2672 | } else { |
2637 | } | 2673 | } |
2638 | dasm_put(Dst, 13144); | 2674 | dasm_put(Dst, 13357); |
2639 | } | 2675 | } |
2640 | dasm_put(Dst, 13149, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index, LJ_TNIL); | 2676 | dasm_put(Dst, 13362, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index, LJ_TNIL); |
2641 | dasm_put(Dst, 13241, LJ_TSTR); | 2677 | dasm_put(Dst, 13454, LJ_TSTR); |
2642 | break; | 2678 | break; |
2643 | case BC_TGETS: | 2679 | case BC_TGETS: |
2644 | dasm_put(Dst, 13259, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL); | 2680 | dasm_put(Dst, 13472, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL); |
2645 | dasm_put(Dst, 13344, LJ_TNIL, DtB(->next), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); | 2681 | dasm_put(Dst, 13557, LJ_TNIL, DtB(->next), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); |
2646 | break; | 2682 | break; |
2647 | case BC_TGETB: | 2683 | case BC_TGETB: |
2648 | dasm_put(Dst, 13416, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); | 2684 | dasm_put(Dst, 13629, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); |
2649 | dasm_put(Dst, 13512, LJ_TNIL); | 2685 | dasm_put(Dst, 13725, LJ_TNIL); |
2650 | break; | 2686 | break; |
2651 | 2687 | ||
2652 | case BC_TSETV: | 2688 | case BC_TSETV: |
2653 | dasm_put(Dst, 13529, LJ_TTAB); | 2689 | dasm_put(Dst, 13742, LJ_TTAB); |
2654 | if (LJ_DUALNUM) { | 2690 | if (LJ_DUALNUM) { |
2655 | dasm_put(Dst, 13098, LJ_TISNUM); | 2691 | dasm_put(Dst, 13311, LJ_TISNUM); |
2656 | } else { | 2692 | } else { |
2657 | dasm_put(Dst, 13112, LJ_TISNUM); | 2693 | dasm_put(Dst, 13325, LJ_TISNUM); |
2658 | if (sse) { | 2694 | if (sse) { |
2659 | dasm_put(Dst, 13123); | 2695 | dasm_put(Dst, 13336); |
2660 | } else { | 2696 | } else { |
2661 | } | 2697 | } |
2662 | dasm_put(Dst, 13552); | 2698 | dasm_put(Dst, 13765); |
2663 | } | 2699 | } |
2664 | dasm_put(Dst, 13557, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex); | 2700 | dasm_put(Dst, 13770, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex); |
2665 | dasm_put(Dst, 13638, LJ_TSTR, Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); | 2701 | dasm_put(Dst, 13851, LJ_TSTR, Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); |
2666 | break; | 2702 | break; |
2667 | case BC_TSETS: | 2703 | case BC_TSETS: |
2668 | dasm_put(Dst, 13697, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->nomm), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL); | 2704 | dasm_put(Dst, 13910, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->nomm), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL); |
2669 | dasm_put(Dst, 13774, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, DtB(->next)); | 2705 | dasm_put(Dst, 13987, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, DtB(->next)); |
2670 | dasm_put(Dst, 13861, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, LJ_TSTR, Dt1(->base), Dt1(->base), Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); | 2706 | dasm_put(Dst, 14074, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, LJ_TSTR, Dt1(->base), Dt1(->base), Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); |
2671 | break; | 2707 | break; |
2672 | case BC_TSETB: | 2708 | case BC_TSETB: |
2673 | dasm_put(Dst, 13953, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable)); | 2709 | dasm_put(Dst, 14166, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable)); |
2674 | dasm_put(Dst, 14048, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); | 2710 | dasm_put(Dst, 14261, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); |
2675 | break; | 2711 | break; |
2676 | 2712 | ||
2677 | case BC_TSETM: | 2713 | case BC_TSETM: |
2678 | dasm_put(Dst, 14096, Dt6(->marked), LJ_GC_BLACK, Dt6(->asize), Dt6(->array), Dt1(->base), Dt1(->base)); | 2714 | dasm_put(Dst, 14309, Dt6(->marked), LJ_GC_BLACK, Dt6(->asize), Dt6(->array), Dt1(->base), Dt1(->base)); |
2679 | dasm_put(Dst, 14246, Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); | 2715 | dasm_put(Dst, 14459, Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); |
2680 | break; | 2716 | break; |
2681 | 2717 | ||
2682 | /* -- Calls and vararg handling ----------------------------------------- */ | 2718 | /* -- Calls and vararg handling ----------------------------------------- */ |
2683 | 2719 | ||
2684 | case BC_CALL: case BC_CALLM: | 2720 | case BC_CALL: case BC_CALLM: |
2685 | dasm_put(Dst, 11361); | 2721 | dasm_put(Dst, 11574); |
2686 | if (op == BC_CALLM) { | 2722 | if (op == BC_CALLM) { |
2687 | dasm_put(Dst, 14266); | 2723 | dasm_put(Dst, 14479); |
2688 | } | 2724 | } |
2689 | dasm_put(Dst, 14271, LJ_TFUNC, Dt7(->pc)); | 2725 | dasm_put(Dst, 14484, LJ_TFUNC, Dt7(->pc)); |
2690 | break; | 2726 | break; |
2691 | 2727 | ||
2692 | case BC_CALLMT: | 2728 | case BC_CALLMT: |
2693 | dasm_put(Dst, 14266); | 2729 | dasm_put(Dst, 14479); |
2694 | break; | 2730 | break; |
2695 | case BC_CALLT: | 2731 | case BC_CALLT: |
2696 | dasm_put(Dst, 14314, LJ_TFUNC, FRAME_TYPE, Dt7(->ffid), Dt7(->pc)); | 2732 | dasm_put(Dst, 14527, LJ_TFUNC, FRAME_TYPE, Dt7(->ffid), Dt7(->pc)); |
2697 | dasm_put(Dst, 14432, FRAME_TYPE, Dt7(->pc), PC2PROTO(k), FRAME_VARG, FRAME_TYPEP, FRAME_VARG); | 2733 | dasm_put(Dst, 14645, FRAME_TYPE, Dt7(->pc), PC2PROTO(k), FRAME_VARG, FRAME_TYPEP, FRAME_VARG); |
2698 | break; | 2734 | break; |
2699 | 2735 | ||
2700 | case BC_ITERC: | 2736 | case BC_ITERC: |
2701 | dasm_put(Dst, 14506, LJ_TFUNC, 2+1, Dt7(->pc)); | 2737 | dasm_put(Dst, 14719, LJ_TFUNC, 2+1, Dt7(->pc)); |
2702 | break; | 2738 | break; |
2703 | 2739 | ||
2704 | case BC_ITERN: | 2740 | case BC_ITERN: |
2705 | #if LJ_HASJIT | 2741 | #if LJ_HASJIT |
2706 | #endif | 2742 | #endif |
2707 | dasm_put(Dst, 14578, Dt6(->asize), Dt6(->array), LJ_TNIL); | 2743 | dasm_put(Dst, 14791, Dt6(->asize), Dt6(->array), LJ_TNIL); |
2708 | if (LJ_DUALNUM) { | 2744 | if (LJ_DUALNUM) { |
2709 | dasm_put(Dst, 11227, LJ_TISNUM); | 2745 | dasm_put(Dst, 11440, LJ_TISNUM); |
2710 | } else if (sse) { | 2746 | } else if (sse) { |
2711 | dasm_put(Dst, 11322); | 2747 | dasm_put(Dst, 11535); |
2712 | } else { | 2748 | } else { |
2713 | dasm_put(Dst, 14630); | 2749 | dasm_put(Dst, 14843); |
2714 | } | 2750 | } |
2715 | dasm_put(Dst, 14636); | 2751 | dasm_put(Dst, 14849); |
2716 | if (LJ_DUALNUM) { | 2752 | if (LJ_DUALNUM) { |
2717 | } else if (sse) { | 2753 | } else if (sse) { |
2718 | dasm_put(Dst, 11192); | 2754 | dasm_put(Dst, 11405); |
2719 | } else { | 2755 | } else { |
2720 | dasm_put(Dst, 11204); | 2756 | dasm_put(Dst, 11417); |
2721 | } | 2757 | } |
2722 | dasm_put(Dst, 14649, -BCBIAS_J*4); | 2758 | dasm_put(Dst, 14862, -BCBIAS_J*4); |
2723 | if (!LJ_DUALNUM && !sse) { | 2759 | if (!LJ_DUALNUM && !sse) { |
2724 | dasm_put(Dst, 14703); | 2760 | dasm_put(Dst, 14916); |
2725 | } | 2761 | } |
2726 | dasm_put(Dst, 14709, Dt6(->hmask), sizeof(Node), Dt6(->node), DtB(->val.it), LJ_TNIL, DtB(->key), DtB(->val)); | 2762 | dasm_put(Dst, 14922, Dt6(->hmask), sizeof(Node), Dt6(->node), DtB(->val.it), LJ_TNIL, DtB(->key), DtB(->val)); |
2727 | break; | 2763 | break; |
2728 | 2764 | ||
2729 | case BC_ISNEXT: | 2765 | case BC_ISNEXT: |
2730 | dasm_put(Dst, 14788, LJ_TFUNC, LJ_TTAB, LJ_TNIL, Dt8(->ffid), FF_next_N, -BCBIAS_J*4, BC_JMP, -BCBIAS_J*4, BC_ITERC); | 2766 | dasm_put(Dst, 15001, LJ_TFUNC, LJ_TTAB, LJ_TNIL, Dt8(->ffid), FF_next_N, -BCBIAS_J*4, BC_JMP, -BCBIAS_J*4, BC_ITERC); |
2731 | break; | 2767 | break; |
2732 | 2768 | ||
2733 | case BC_VARG: | 2769 | case BC_VARG: |
2734 | dasm_put(Dst, 14889, (8+FRAME_VARG), LJ_TNIL, Dt1(->maxstack)); | 2770 | dasm_put(Dst, 15102, (8+FRAME_VARG), LJ_TNIL, Dt1(->maxstack)); |
2735 | dasm_put(Dst, 15056, Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top)); | 2771 | dasm_put(Dst, 15269, Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top)); |
2736 | break; | 2772 | break; |
2737 | 2773 | ||
2738 | /* -- Returns ----------------------------------------------------------- */ | 2774 | /* -- Returns ----------------------------------------------------------- */ |
2739 | 2775 | ||
2740 | case BC_RETM: | 2776 | case BC_RETM: |
2741 | dasm_put(Dst, 14266); | 2777 | dasm_put(Dst, 14479); |
2742 | break; | 2778 | break; |
2743 | 2779 | ||
2744 | case BC_RET: case BC_RET0: case BC_RET1: | 2780 | case BC_RET: case BC_RET0: case BC_RET1: |
2745 | if (op != BC_RET0) { | 2781 | if (op != BC_RET0) { |
2746 | dasm_put(Dst, 15126); | 2782 | dasm_put(Dst, 15339); |
2747 | } | 2783 | } |
2748 | dasm_put(Dst, 15130, FRAME_TYPE); | 2784 | dasm_put(Dst, 15343, FRAME_TYPE); |
2749 | switch (op) { | 2785 | switch (op) { |
2750 | case BC_RET: | 2786 | case BC_RET: |
2751 | dasm_put(Dst, 15149); | 2787 | dasm_put(Dst, 15362); |
2752 | break; | 2788 | break; |
2753 | case BC_RET1: | 2789 | case BC_RET1: |
2754 | dasm_put(Dst, 15203); | 2790 | dasm_put(Dst, 15416); |
2755 | /* fallthrough */ | 2791 | /* fallthrough */ |
2756 | case BC_RET0: | 2792 | case BC_RET0: |
2757 | dasm_put(Dst, 15213); | 2793 | dasm_put(Dst, 15426); |
2758 | default: | 2794 | default: |
2759 | break; | 2795 | break; |
2760 | } | 2796 | } |
2761 | dasm_put(Dst, 15224, Dt7(->pc), PC2PROTO(k)); | 2797 | dasm_put(Dst, 15437, Dt7(->pc), PC2PROTO(k)); |
2762 | if (op == BC_RET) { | 2798 | if (op == BC_RET) { |
2763 | dasm_put(Dst, 15272, LJ_TNIL); | 2799 | dasm_put(Dst, 15485, LJ_TNIL); |
2764 | } else { | 2800 | } else { |
2765 | dasm_put(Dst, 15283, LJ_TNIL); | 2801 | dasm_put(Dst, 15496, LJ_TNIL); |
2766 | } | 2802 | } |
2767 | dasm_put(Dst, 15290, -FRAME_VARG, FRAME_TYPEP); | 2803 | dasm_put(Dst, 15503, -FRAME_VARG, FRAME_TYPEP); |
2768 | if (op != BC_RET0) { | 2804 | if (op != BC_RET0) { |
2769 | dasm_put(Dst, 15314); | 2805 | dasm_put(Dst, 15527); |
2770 | } | 2806 | } |
2771 | dasm_put(Dst, 4752); | 2807 | dasm_put(Dst, 4761); |
2772 | break; | 2808 | break; |
2773 | 2809 | ||
2774 | /* -- Loops and branches ------------------------------------------------ */ | 2810 | /* -- Loops and branches ------------------------------------------------ */ |
@@ -2776,7 +2812,7 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
2776 | 2812 | ||
2777 | case BC_FORL: | 2813 | case BC_FORL: |
2778 | #if LJ_HASJIT | 2814 | #if LJ_HASJIT |
2779 | dasm_put(Dst, 15318, HOTCOUNT_PCMASK, GG_DISP2HOT, HOTCOUNT_LOOP); | 2815 | dasm_put(Dst, 15531, HOTCOUNT_PCMASK, GG_DISP2HOT, HOTCOUNT_LOOP); |
2780 | #endif | 2816 | #endif |
2781 | break; | 2817 | break; |
2782 | 2818 | ||
@@ -2788,111 +2824,111 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
2788 | case BC_FORI: | 2824 | case BC_FORI: |
2789 | case BC_IFORL: | 2825 | case BC_IFORL: |
2790 | vk = (op == BC_IFORL || op == BC_JFORL); | 2826 | vk = (op == BC_IFORL || op == BC_JFORL); |
2791 | dasm_put(Dst, 15339); | 2827 | dasm_put(Dst, 15552); |
2792 | if (LJ_DUALNUM) { | 2828 | if (LJ_DUALNUM) { |
2793 | dasm_put(Dst, 15343, LJ_TISNUM); | 2829 | dasm_put(Dst, 15556, LJ_TISNUM); |
2794 | if (!vk) { | 2830 | if (!vk) { |
2795 | dasm_put(Dst, 15353, LJ_TISNUM, LJ_TISNUM); | 2831 | dasm_put(Dst, 15566, LJ_TISNUM, LJ_TISNUM); |
2796 | } else { | 2832 | } else { |
2797 | #ifdef LUA_USE_ASSERT | 2833 | #ifdef LUA_USE_ASSERT |
2798 | dasm_put(Dst, 15382, LJ_TISNUM, LJ_TISNUM); | 2834 | dasm_put(Dst, 15595, LJ_TISNUM, LJ_TISNUM); |
2799 | #endif | 2835 | #endif |
2800 | dasm_put(Dst, 15401); | 2836 | dasm_put(Dst, 15614); |
2801 | } | 2837 | } |
2802 | dasm_put(Dst, 15420, LJ_TISNUM); | 2838 | dasm_put(Dst, 15633, LJ_TISNUM); |
2803 | if (op == BC_FORI) { | 2839 | if (op == BC_FORI) { |
2804 | dasm_put(Dst, 15431, -BCBIAS_J*4); | 2840 | dasm_put(Dst, 15644, -BCBIAS_J*4); |
2805 | } else if (op == BC_JFORI) { | 2841 | } else if (op == BC_JFORI) { |
2806 | dasm_put(Dst, 15445, -BCBIAS_J*4, BC_JLOOP); | 2842 | dasm_put(Dst, 15658, -BCBIAS_J*4, BC_JLOOP); |
2807 | } else if (op == BC_IFORL) { | 2843 | } else if (op == BC_IFORL) { |
2808 | dasm_put(Dst, 15463, -BCBIAS_J*4); | 2844 | dasm_put(Dst, 15676, -BCBIAS_J*4); |
2809 | } else { | 2845 | } else { |
2810 | dasm_put(Dst, 15455, BC_JLOOP); | 2846 | dasm_put(Dst, 15668, BC_JLOOP); |
2811 | } | 2847 | } |
2812 | dasm_put(Dst, 15477); | 2848 | dasm_put(Dst, 15690); |
2813 | if (vk) { | 2849 | if (vk) { |
2814 | dasm_put(Dst, 15502); | 2850 | dasm_put(Dst, 15715); |
2815 | } | 2851 | } |
2816 | dasm_put(Dst, 15420, LJ_TISNUM); | 2852 | dasm_put(Dst, 15633, LJ_TISNUM); |
2817 | if (op == BC_FORI) { | 2853 | if (op == BC_FORI) { |
2818 | dasm_put(Dst, 15511); | 2854 | dasm_put(Dst, 15724); |
2819 | } else if (op == BC_JFORI) { | 2855 | } else if (op == BC_JFORI) { |
2820 | dasm_put(Dst, 15516, -BCBIAS_J*4, BC_JLOOP); | 2856 | dasm_put(Dst, 15729, -BCBIAS_J*4, BC_JLOOP); |
2821 | } else if (op == BC_IFORL) { | 2857 | } else if (op == BC_IFORL) { |
2822 | dasm_put(Dst, 15530); | 2858 | dasm_put(Dst, 15743); |
2823 | } else { | 2859 | } else { |
2824 | dasm_put(Dst, 15526, BC_JLOOP); | 2860 | dasm_put(Dst, 15739, BC_JLOOP); |
2825 | } | 2861 | } |
2826 | dasm_put(Dst, 15535); | 2862 | dasm_put(Dst, 15748); |
2827 | } else if (!vk) { | 2863 | } else if (!vk) { |
2828 | dasm_put(Dst, 15542, LJ_TISNUM); | 2864 | dasm_put(Dst, 15755, LJ_TISNUM); |
2829 | } | 2865 | } |
2830 | if (!vk) { | 2866 | if (!vk) { |
2831 | dasm_put(Dst, 15548, LJ_TISNUM); | 2867 | dasm_put(Dst, 15761, LJ_TISNUM); |
2832 | } else { | 2868 | } else { |
2833 | #ifdef LUA_USE_ASSERT | 2869 | #ifdef LUA_USE_ASSERT |
2834 | dasm_put(Dst, 15562, LJ_TISNUM, LJ_TISNUM); | 2870 | dasm_put(Dst, 15775, LJ_TISNUM, LJ_TISNUM); |
2835 | #endif | 2871 | #endif |
2836 | } | 2872 | } |
2837 | dasm_put(Dst, 15581); | 2873 | dasm_put(Dst, 15794); |
2838 | if (!vk) { | 2874 | if (!vk) { |
2839 | dasm_put(Dst, 15585, LJ_TISNUM); | 2875 | dasm_put(Dst, 15798, LJ_TISNUM); |
2840 | } | 2876 | } |
2841 | if (sse) { | 2877 | if (sse) { |
2842 | dasm_put(Dst, 15594); | 2878 | dasm_put(Dst, 15807); |
2843 | if (vk) { | 2879 | if (vk) { |
2844 | dasm_put(Dst, 15606); | 2880 | dasm_put(Dst, 15819); |
2845 | } else { | 2881 | } else { |
2846 | dasm_put(Dst, 15625); | 2882 | dasm_put(Dst, 15838); |
2847 | } | 2883 | } |
2848 | dasm_put(Dst, 15630); | 2884 | dasm_put(Dst, 15843); |
2849 | } else { | 2885 | } else { |
2850 | dasm_put(Dst, 15643); | 2886 | dasm_put(Dst, 15856); |
2851 | if (vk) { | 2887 | if (vk) { |
2852 | dasm_put(Dst, 15649); | 2888 | dasm_put(Dst, 15862); |
2853 | } else { | 2889 | } else { |
2854 | dasm_put(Dst, 15665); | 2890 | dasm_put(Dst, 15878); |
2855 | } | 2891 | } |
2856 | dasm_put(Dst, 15673); | 2892 | dasm_put(Dst, 15886); |
2857 | if (cmov) { | 2893 | if (cmov) { |
2858 | dasm_put(Dst, 10262); | 2894 | dasm_put(Dst, 10480); |
2859 | } else { | 2895 | } else { |
2860 | dasm_put(Dst, 10268); | 2896 | dasm_put(Dst, 10486); |
2861 | } | 2897 | } |
2862 | if (!cmov) { | 2898 | if (!cmov) { |
2863 | dasm_put(Dst, 15678); | 2899 | dasm_put(Dst, 15891); |
2864 | } | 2900 | } |
2865 | } | 2901 | } |
2866 | if (op == BC_FORI) { | 2902 | if (op == BC_FORI) { |
2867 | if (LJ_DUALNUM) { | 2903 | if (LJ_DUALNUM) { |
2868 | dasm_put(Dst, 15684); | 2904 | dasm_put(Dst, 15897); |
2869 | } else { | 2905 | } else { |
2870 | dasm_put(Dst, 15689, -BCBIAS_J*4); | 2906 | dasm_put(Dst, 15902, -BCBIAS_J*4); |
2871 | } | 2907 | } |
2872 | } else if (op == BC_JFORI) { | 2908 | } else if (op == BC_JFORI) { |
2873 | dasm_put(Dst, 15699, -BCBIAS_J*4, BC_JLOOP); | 2909 | dasm_put(Dst, 15912, -BCBIAS_J*4, BC_JLOOP); |
2874 | } else if (op == BC_IFORL) { | 2910 | } else if (op == BC_IFORL) { |
2875 | if (LJ_DUALNUM) { | 2911 | if (LJ_DUALNUM) { |
2876 | dasm_put(Dst, 15713); | 2912 | dasm_put(Dst, 15926); |
2877 | } else { | 2913 | } else { |
2878 | dasm_put(Dst, 15718, -BCBIAS_J*4); | 2914 | dasm_put(Dst, 15931, -BCBIAS_J*4); |
2879 | } | 2915 | } |
2880 | } else { | 2916 | } else { |
2881 | dasm_put(Dst, 15709, BC_JLOOP); | 2917 | dasm_put(Dst, 15922, BC_JLOOP); |
2882 | } | 2918 | } |
2883 | if (LJ_DUALNUM) { | 2919 | if (LJ_DUALNUM) { |
2884 | dasm_put(Dst, 10191); | 2920 | dasm_put(Dst, 10409); |
2885 | } else { | 2921 | } else { |
2886 | dasm_put(Dst, 10973); | 2922 | dasm_put(Dst, 11186); |
2887 | } | 2923 | } |
2888 | if (sse) { | 2924 | if (sse) { |
2889 | dasm_put(Dst, 15728); | 2925 | dasm_put(Dst, 15941); |
2890 | } | 2926 | } |
2891 | break; | 2927 | break; |
2892 | 2928 | ||
2893 | case BC_ITERL: | 2929 | case BC_ITERL: |
2894 | #if LJ_HASJIT | 2930 | #if LJ_HASJIT |
2895 | dasm_put(Dst, 15318, HOTCOUNT_PCMASK, GG_DISP2HOT, HOTCOUNT_LOOP); | 2931 | dasm_put(Dst, 15531, HOTCOUNT_PCMASK, GG_DISP2HOT, HOTCOUNT_LOOP); |
2896 | #endif | 2932 | #endif |
2897 | break; | 2933 | break; |
2898 | 2934 | ||
@@ -2901,33 +2937,33 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
2901 | break; | 2937 | break; |
2902 | #endif | 2938 | #endif |
2903 | case BC_IITERL: | 2939 | case BC_IITERL: |
2904 | dasm_put(Dst, 15739, LJ_TNIL); | 2940 | dasm_put(Dst, 15952, LJ_TNIL); |
2905 | if (op == BC_JITERL) { | 2941 | if (op == BC_JITERL) { |
2906 | dasm_put(Dst, 15754, BC_JLOOP); | 2942 | dasm_put(Dst, 15967, BC_JLOOP); |
2907 | } else { | 2943 | } else { |
2908 | dasm_put(Dst, 15768, -BCBIAS_J*4); | 2944 | dasm_put(Dst, 15981, -BCBIAS_J*4); |
2909 | } | 2945 | } |
2910 | dasm_put(Dst, 10305); | 2946 | dasm_put(Dst, 10518); |
2911 | break; | 2947 | break; |
2912 | 2948 | ||
2913 | case BC_LOOP: | 2949 | case BC_LOOP: |
2914 | #if LJ_HASJIT | 2950 | #if LJ_HASJIT |
2915 | dasm_put(Dst, 15318, HOTCOUNT_PCMASK, GG_DISP2HOT, HOTCOUNT_LOOP); | 2951 | dasm_put(Dst, 15531, HOTCOUNT_PCMASK, GG_DISP2HOT, HOTCOUNT_LOOP); |
2916 | #endif | 2952 | #endif |
2917 | break; | 2953 | break; |
2918 | 2954 | ||
2919 | case BC_ILOOP: | 2955 | case BC_ILOOP: |
2920 | dasm_put(Dst, 10307); | 2956 | dasm_put(Dst, 10520); |
2921 | break; | 2957 | break; |
2922 | 2958 | ||
2923 | case BC_JLOOP: | 2959 | case BC_JLOOP: |
2924 | #if LJ_HASJIT | 2960 | #if LJ_HASJIT |
2925 | dasm_put(Dst, 15784, DISPATCH_J(trace), DtD(->mcode), DISPATCH_GL(jit_base), DISPATCH_GL(jit_L)); | 2961 | dasm_put(Dst, 15997, DISPATCH_J(trace), DtD(->mcode), DISPATCH_GL(jit_base), DISPATCH_GL(jit_L)); |
2926 | #endif | 2962 | #endif |
2927 | break; | 2963 | break; |
2928 | 2964 | ||
2929 | case BC_JMP: | 2965 | case BC_JMP: |
2930 | dasm_put(Dst, 15825, -BCBIAS_J*4); | 2966 | dasm_put(Dst, 16038, -BCBIAS_J*4); |
2931 | break; | 2967 | break; |
2932 | 2968 | ||
2933 | /* -- Function headers -------------------------------------------------- */ | 2969 | /* -- Function headers -------------------------------------------------- */ |
@@ -2941,7 +2977,7 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
2941 | 2977 | ||
2942 | case BC_FUNCF: | 2978 | case BC_FUNCF: |
2943 | #if LJ_HASJIT | 2979 | #if LJ_HASJIT |
2944 | dasm_put(Dst, 15851, HOTCOUNT_PCMASK, GG_DISP2HOT, HOTCOUNT_CALL); | 2980 | dasm_put(Dst, 16064, HOTCOUNT_PCMASK, GG_DISP2HOT, HOTCOUNT_CALL); |
2945 | #endif | 2981 | #endif |
2946 | case BC_FUNCV: /* NYI: compiled vararg functions. */ | 2982 | case BC_FUNCV: /* NYI: compiled vararg functions. */ |
2947 | break; | 2983 | break; |
@@ -2951,47 +2987,47 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
2951 | break; | 2987 | break; |
2952 | #endif | 2988 | #endif |
2953 | case BC_IFUNCF: | 2989 | case BC_IFUNCF: |
2954 | dasm_put(Dst, 15872, -4+PC2PROTO(k), Dt1(->maxstack), -4+PC2PROTO(numparams)); | 2990 | dasm_put(Dst, 16085, -4+PC2PROTO(k), Dt1(->maxstack), -4+PC2PROTO(numparams)); |
2955 | if (op == BC_JFUNCF) { | 2991 | if (op == BC_JFUNCF) { |
2956 | dasm_put(Dst, 15903, BC_JLOOP); | 2992 | dasm_put(Dst, 16116, BC_JLOOP); |
2957 | } else { | 2993 | } else { |
2958 | dasm_put(Dst, 10307); | 2994 | dasm_put(Dst, 10520); |
2959 | } | 2995 | } |
2960 | dasm_put(Dst, 15912, LJ_TNIL); | 2996 | dasm_put(Dst, 16125, LJ_TNIL); |
2961 | break; | 2997 | break; |
2962 | 2998 | ||
2963 | case BC_JFUNCV: | 2999 | case BC_JFUNCV: |
2964 | #if !LJ_HASJIT | 3000 | #if !LJ_HASJIT |
2965 | break; | 3001 | break; |
2966 | #endif | 3002 | #endif |
2967 | dasm_put(Dst, 9413); | 3003 | dasm_put(Dst, 9422); |
2968 | break; /* NYI: compiled vararg functions. */ | 3004 | break; /* NYI: compiled vararg functions. */ |
2969 | 3005 | ||
2970 | case BC_IFUNCV: | 3006 | case BC_IFUNCV: |
2971 | dasm_put(Dst, 15934, FRAME_VARG, Dt1(->maxstack), -4+PC2PROTO(numparams), LJ_TNIL); | 3007 | dasm_put(Dst, 16147, FRAME_VARG, Dt1(->maxstack), -4+PC2PROTO(numparams), LJ_TNIL); |
2972 | if (op == BC_JFUNCV) { | 3008 | if (op == BC_JFUNCV) { |
2973 | dasm_put(Dst, 15903, BC_JLOOP); | 3009 | dasm_put(Dst, 16116, BC_JLOOP); |
2974 | } else { | 3010 | } else { |
2975 | dasm_put(Dst, 16031, -4+PC2PROTO(k)); | 3011 | dasm_put(Dst, 16244, -4+PC2PROTO(k)); |
2976 | } | 3012 | } |
2977 | dasm_put(Dst, 16056, LJ_TNIL); | 3013 | dasm_put(Dst, 16269, LJ_TNIL); |
2978 | break; | 3014 | break; |
2979 | 3015 | ||
2980 | case BC_FUNCC: | 3016 | case BC_FUNCC: |
2981 | case BC_FUNCCW: | 3017 | case BC_FUNCCW: |
2982 | dasm_put(Dst, 16078, Dt8(->f), Dt1(->base), 8*LUA_MINSTACK, Dt1(->maxstack), Dt1(->top)); | 3018 | dasm_put(Dst, 16291, Dt8(->f), Dt1(->base), 8*LUA_MINSTACK, Dt1(->maxstack), Dt1(->top)); |
2983 | if (op == BC_FUNCC) { | 3019 | if (op == BC_FUNCC) { |
2984 | dasm_put(Dst, 2424); | 3020 | dasm_put(Dst, 2433); |
2985 | } else { | 3021 | } else { |
2986 | dasm_put(Dst, 16108); | 3022 | dasm_put(Dst, 16321); |
2987 | } | 3023 | } |
2988 | dasm_put(Dst, 16116, DISPATCH_GL(vmstate), ~LJ_VMST_C); | 3024 | dasm_put(Dst, 16329, DISPATCH_GL(vmstate), ~LJ_VMST_C); |
2989 | if (op == BC_FUNCC) { | 3025 | if (op == BC_FUNCC) { |
2990 | dasm_put(Dst, 16126); | 3026 | dasm_put(Dst, 16339); |
2991 | } else { | 3027 | } else { |
2992 | dasm_put(Dst, 16131, DISPATCH_GL(wrapf)); | 3028 | dasm_put(Dst, 16344, DISPATCH_GL(wrapf)); |
2993 | } | 3029 | } |
2994 | dasm_put(Dst, 16137, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top)); | 3030 | dasm_put(Dst, 16350, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top)); |
2995 | break; | 3031 | break; |
2996 | 3032 | ||
2997 | /* ---------------------------------------------------------------------- */ | 3033 | /* ---------------------------------------------------------------------- */ |
@@ -3019,7 +3055,7 @@ static int build_backend(BuildCtx *ctx) | |||
3019 | 3055 | ||
3020 | build_subroutines(ctx, cmov, sse); | 3056 | build_subroutines(ctx, cmov, sse); |
3021 | 3057 | ||
3022 | dasm_put(Dst, 16163); | 3058 | dasm_put(Dst, 16376); |
3023 | for (op = 0; op < BC__MAX; op++) | 3059 | for (op = 0; op < BC__MAX; op++) |
3024 | build_ins(ctx, (BCOp)op, op, cmov, sse); | 3060 | build_ins(ctx, (BCOp)op, op, cmov, sse); |
3025 | 3061 | ||
diff --git a/src/buildvm_x64win.h b/src/buildvm_x64win.h index b051974c..533d5b00 100644 --- a/src/buildvm_x64win.h +++ b/src/buildvm_x64win.h | |||
@@ -12,7 +12,7 @@ | |||
12 | #define DASM_SECTION_CODE_OP 0 | 12 | #define DASM_SECTION_CODE_OP 0 |
13 | #define DASM_SECTION_CODE_SUB 1 | 13 | #define DASM_SECTION_CODE_SUB 1 |
14 | #define DASM_MAXSECTION 2 | 14 | #define DASM_MAXSECTION 2 |
15 | static const unsigned char build_actionlist[16020] = { | 15 | static const unsigned char build_actionlist[16196] = { |
16 | 254,1,248,10,252,247,198,237,15,132,244,11,131,230,252,248,41,252,242,72, | 16 | 254,1,248,10,252,247,198,237,15,132,244,11,131,230,252,248,41,252,242,72, |
17 | 141,76,49,252,248,139,114,252,252,199,68,10,4,237,248,12,131,192,1,137,68, | 17 | 141,76,49,252,248,139,114,252,252,199,68,10,4,237,248,12,131,192,1,137,68, |
18 | 36,84,252,247,198,237,15,132,244,13,248,14,129,252,246,239,252,247,198,237, | 18 | 36,84,252,247,198,237,15,132,244,13,248,14,129,252,246,239,252,247,198,237, |
@@ -50,746 +50,755 @@ static const unsigned char build_actionlist[16020] = { | |||
50 | 124,36,88,72,139,189,233,72,137,124,36,104,72,137,165,233,65,252,255,209, | 50 | 124,36,88,72,139,189,233,72,137,124,36,104,72,137,165,233,65,252,255,209, |
51 | 133,192,15,132,244,15,137,193,190,237,252,233,244,2,248,11,1,209,131,230, | 51 | 133,192,15,132,244,15,137,193,190,237,252,233,244,2,248,11,1,209,131,230, |
52 | 252,248,137,213,41,252,242,199,68,193,252,252,237,137,200,139,117,252,244, | 52 | 252,248,137,213,41,252,242,199,68,193,252,252,237,137,200,139,117,252,244, |
53 | 72,99,77,252,240,133,201,15,132,244,247,255,72,141,61,245,72,1,252,249,139, | 53 | 72,99,77,252,240,255,131,252,249,1,15,134,244,247,255,72,141,61,245,72,1, |
54 | 122,252,248,139,191,233,139,191,233,252,255,225,248,1,41,213,193,252,237, | 54 | 252,249,255,139,122,252,248,139,191,233,139,191,233,252,255,225,255,248,1, |
55 | 3,141,69,252,255,252,233,244,32,248,33,15,182,78,252,255,131,252,237,16,141, | 55 | 15,132,244,32,41,213,193,252,237,3,141,69,252,255,252,233,244,33,255,248, |
56 | 12,202,41,252,233,15,132,244,34,252,247,217,193,252,233,3,65,137,200,139, | 56 | 34,15,182,78,252,255,131,252,237,16,141,12,202,41,252,233,15,132,244,35,252, |
57 | 76,36,96,137,145,233,72,139,0,72,137,69,0,137,252,234,252,233,244,35,248, | 57 | 247,217,193,252,233,3,65,137,200,139,76,36,96,137,145,233,72,139,0,72,137, |
58 | 36,137,68,36,80,199,68,36,84,237,72,141,68,36,80,128,126,252,252,235,15,133, | 58 | 69,0,137,252,234,252,233,244,36,248,37,137,68,36,80,199,68,36,84,237,72,141, |
59 | 244,247,141,139,233,137,41,199,65,4,237,255,137,205,252,233,244,248,248,37, | 59 | 68,36,80,128,126,252,252,235,15,133,244,247,141,139,233,137,41,199,65,4,237, |
60 | 15,182,70,252,254,255,199,68,36,84,237,137,68,36,80,255,252,242,15,42,192, | 60 | 137,205,252,233,244,248,248,38,15,182,70,252,254,255,199,68,36,84,237,137, |
61 | 252,242,15,17,68,36,80,255,72,141,68,36,80,252,233,244,247,248,38,15,182, | 61 | 68,36,80,255,252,242,15,42,192,252,242,15,17,68,36,80,255,72,141,68,36,80, |
62 | 70,252,254,141,4,194,248,1,15,182,110,252,255,141,44,252,234,248,2,139,76, | 62 | 252,233,244,247,248,39,15,182,70,252,254,141,4,194,248,1,15,182,110,252,255, |
63 | 36,96,137,145,233,137,252,234,73,137,192,137,205,137,116,36,100,232,251,1, | 63 | 141,44,252,234,248,2,139,76,36,96,137,145,233,137,252,234,73,137,192,137, |
64 | 1,139,149,233,133,192,15,132,244,249,248,34,15,182,78,252,253,72,139,40,72, | 64 | 205,137,116,36,100,232,251,1,1,139,149,233,133,192,15,132,244,249,248,35, |
65 | 137,44,202,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252, | 65 | 15,182,78,252,253,72,139,40,72,137,44,202,139,6,15,182,204,15,182,232,131, |
66 | 235,248,3,139,141,233,137,113,252,244,141,177,233,41,214,139,105,252,248, | 66 | 198,4,193,232,16,252,255,36,252,235,248,3,139,141,233,137,113,252,244,141, |
67 | 184,237,252,233,244,30,248,39,137,68,36,80,199,68,36,84,237,72,141,68,36, | 67 | 177,233,41,214,139,105,252,248,184,237,252,233,244,30,248,40,137,68,36,80, |
68 | 80,128,126,252,252,235,15,133,244,247,255,141,139,233,137,41,199,65,4,237, | 68 | 199,68,36,84,237,72,141,68,36,80,128,126,252,252,235,15,133,244,247,255,141, |
69 | 137,205,252,233,244,248,248,40,15,182,70,252,254,255,72,141,68,36,80,252, | 69 | 139,233,137,41,199,65,4,237,137,205,252,233,244,248,248,41,15,182,70,252, |
70 | 233,244,247,248,41,15,182,70,252,254,141,4,194,248,1,15,182,110,252,255,141, | 70 | 254,255,72,141,68,36,80,252,233,244,247,248,42,15,182,70,252,254,141,4,194, |
71 | 44,252,234,248,2,139,76,36,96,137,145,233,137,252,234,73,137,192,137,205, | 71 | 248,1,15,182,110,252,255,141,44,252,234,248,2,139,76,36,96,137,145,233,137, |
72 | 137,116,36,100,232,251,1,2,139,149,233,133,192,15,132,244,249,15,182,78,252, | 72 | 252,234,73,137,192,137,205,137,116,36,100,232,251,1,2,139,149,233,133,192, |
73 | 253,72,139,44,202,72,137,40,248,42,139,6,15,182,204,15,182,232,131,198,4, | 73 | 15,132,244,249,15,182,78,252,253,72,139,44,202,72,137,40,248,43,139,6,15, |
74 | 193,232,16,252,255,36,252,235,248,3,139,141,233,137,113,252,244,15,182,70, | 74 | 182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,3,139,141, |
75 | 252,253,72,139,44,194,72,137,105,16,141,177,233,41,214,139,105,252,248,184, | 75 | 233,137,113,252,244,15,182,70,252,253,72,139,44,194,72,137,105,16,141,177, |
76 | 237,252,233,244,30,248,43,139,108,36,96,137,149,233,68,141,4,194,141,20,202, | 76 | 233,41,214,139,105,252,248,184,237,252,233,244,30,248,44,139,108,36,96,137, |
77 | 137,252,233,68,15,182,78,252,252,137,116,36,100,232,251,1,3,248,3,139,149, | 77 | 149,233,68,141,4,194,141,20,202,137,252,233,68,15,182,78,252,252,137,116, |
78 | 233,255,131,252,248,1,15,135,244,44,248,4,141,118,4,15,130,244,252,248,5, | 78 | 36,100,232,251,1,3,248,3,139,149,233,255,131,252,248,1,15,135,244,45,248, |
79 | 15,183,70,252,254,141,180,253,134,233,248,6,139,6,15,182,204,15,182,232,131, | 79 | 4,141,118,4,15,130,244,252,248,5,15,183,70,252,254,141,180,253,134,233,248, |
80 | 198,4,193,232,16,252,255,36,252,235,248,45,131,198,4,129,120,253,4,239,15, | 80 | 6,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,248, |
81 | 130,244,5,252,233,244,6,248,46,129,120,253,4,239,252,233,244,4,248,47,131, | 81 | 46,131,198,4,129,120,253,4,239,15,130,244,5,252,233,244,6,248,47,129,120, |
82 | 252,238,4,65,137,192,65,137,252,233,139,108,36,96,137,149,233,255,137,202, | 82 | 253,4,239,252,233,244,4,248,48,131,252,238,4,65,137,192,65,137,252,233,139, |
83 | 137,252,233,137,116,36,100,232,251,1,4,252,233,244,3,248,48,255,131,252,238, | 83 | 108,36,96,137,149,233,255,137,202,137,252,233,137,116,36,100,232,251,1,4, |
84 | 4,139,108,36,96,137,149,233,137,252,233,139,86,252,252,137,116,36,100,232, | 84 | 252,233,244,3,248,49,255,131,252,238,4,139,108,36,96,137,149,233,137,252, |
85 | 251,1,5,252,233,244,3,255,248,49,255,15,182,110,252,255,255,248,50,141,4, | 85 | 233,139,86,252,252,137,116,36,100,232,251,1,5,252,233,244,3,255,248,50,255, |
86 | 199,252,233,244,247,248,51,255,248,52,141,4,199,141,44,252,234,149,252,233, | 86 | 15,182,110,252,255,255,248,51,141,4,199,252,233,244,247,248,52,255,248,53, |
87 | 244,248,248,53,141,4,194,137,197,252,233,244,248,248,54,255,248,55,141,4, | 87 | 141,4,199,141,44,252,234,149,252,233,244,248,248,54,141,4,194,137,197,252, |
88 | 194,248,1,141,44,252,234,248,2,141,12,202,65,137,232,65,137,193,15,182,70, | 88 | 233,244,248,248,55,255,248,56,141,4,194,248,1,141,44,252,234,248,2,141,12, |
89 | 252,252,137,68,36,32,139,108,36,96,137,149,233,137,202,137,252,233,137,116, | 89 | 202,65,137,232,65,137,193,15,182,70,252,252,137,68,36,32,139,108,36,96,137, |
90 | 36,100,232,251,1,6,139,149,233,133,192,15,132,244,42,248,44,137,193,41,208, | 90 | 149,233,137,202,137,252,233,137,116,36,100,232,251,1,6,139,149,233,133,192, |
91 | 137,113,252,244,141,176,233,184,237,252,233,244,28,248,56,139,108,36,96,137, | 91 | 15,132,244,43,248,45,137,193,41,208,137,113,252,244,141,176,233,184,237,252, |
92 | 149,233,141,20,194,137,252,233,137,116,36,100,232,251,1,7,139,149,233,255, | 92 | 233,244,28,248,57,139,108,36,96,137,149,233,141,20,194,137,252,233,137,116, |
93 | 133,192,15,133,244,44,15,183,70,252,254,139,12,194,252,233,244,57,255,252, | 93 | 36,100,232,251,1,7,139,149,233,255,133,192,15,133,244,45,15,183,70,252,254, |
94 | 233,244,44,255,248,58,141,76,202,8,248,29,137,76,36,84,137,68,36,80,131,252, | 94 | 139,12,194,252,233,244,58,255,252,233,244,45,255,248,59,141,76,202,8,248, |
95 | 233,8,139,108,36,96,137,149,233,137,202,68,141,4,193,137,252,233,137,116, | 95 | 29,137,76,36,84,137,68,36,80,131,252,233,8,139,108,36,96,137,149,233,137, |
96 | 36,100,232,251,1,8,139,149,233,139,76,36,84,139,68,36,80,139,105,252,248, | 96 | 202,68,141,4,193,137,252,233,137,116,36,100,232,251,1,8,139,149,233,139,76, |
97 | 131,192,1,57,215,15,132,244,59,137,202,137,114,252,252,139,181,233,139,14, | 97 | 36,84,139,68,36,80,139,105,252,248,131,192,1,57,215,15,132,244,60,137,202, |
98 | 15,182,252,233,15,182,205,131,198,4,252,255,36,252,235,248,60,139,108,36, | 98 | 137,114,252,252,139,181,233,139,14,15,182,252,233,15,182,205,131,198,4,252, |
99 | 96,137,149,233,137,202,137,252,233,137,116,36,100,232,251,1,9,139,149,233, | 99 | 255,36,252,235,248,61,139,108,36,96,137,149,233,137,202,137,252,233,137,116, |
100 | 139,70,252,252,15,182,204,15,182,232,193,232,16,252,255,164,253,252,235,233, | 100 | 36,100,232,251,1,9,139,149,233,139,70,252,252,15,182,204,15,182,232,193,232, |
101 | 248,61,129,252,248,239,15,130,244,62,139,106,4,129,252,253,239,15,131,244, | 101 | 16,252,255,164,253,252,235,233,248,62,129,252,248,239,15,130,244,63,139,106, |
102 | 62,139,114,252,252,137,68,36,84,137,106,252,252,139,42,137,106,252,248,131, | 102 | 4,129,252,253,239,15,131,244,63,139,114,252,252,137,68,36,84,137,106,252, |
103 | 232,2,15,132,244,248,255,137,209,248,1,131,193,8,72,139,41,72,137,105,252, | 103 | 252,139,42,137,106,252,248,131,232,2,15,132,244,248,255,137,209,248,1,131, |
104 | 248,131,232,1,15,133,244,1,248,2,139,68,36,84,252,233,244,63,248,64,129,252, | 104 | 193,8,72,139,41,72,137,105,252,248,131,232,1,15,133,244,1,248,2,139,68,36, |
105 | 248,239,15,130,244,62,139,106,4,137,252,233,193,252,249,15,131,252,249,252, | 105 | 84,252,233,244,64,248,65,129,252,248,239,15,130,244,63,139,106,4,137,252, |
106 | 254,15,132,244,249,184,237,252,247,213,57,232,255,15,71,197,255,15,134,244, | 106 | 233,193,252,249,15,131,252,249,252,254,15,132,244,249,184,237,252,247,213, |
107 | 247,137,232,248,1,255,248,2,139,106,252,248,139,132,253,197,233,139,114,252, | 107 | 57,232,255,15,71,197,255,15,134,244,247,137,232,248,1,255,248,2,139,106,252, |
108 | 252,199,66,252,252,237,137,66,252,248,252,233,244,65,248,3,184,237,252,233, | 108 | 248,139,132,253,197,233,139,114,252,252,199,66,252,252,237,137,66,252,248, |
109 | 244,2,248,66,129,252,248,239,15,130,244,62,139,106,4,139,114,252,252,129, | 109 | 252,233,244,66,248,3,184,237,252,233,244,2,248,67,129,252,248,239,15,130, |
110 | 252,253,239,15,133,244,252,248,1,139,42,139,173,233,248,2,133,252,237,199, | 110 | 244,63,139,106,4,139,114,252,252,129,252,253,239,15,133,244,252,248,1,139, |
111 | 66,252,252,237,255,15,132,244,65,139,131,233,199,66,252,252,237,137,106,252, | 111 | 42,139,173,233,248,2,133,252,237,199,66,252,252,237,255,15,132,244,66,139, |
112 | 248,139,141,233,35,136,233,105,201,239,3,141,233,248,3,129,185,233,239,15, | 112 | 131,233,199,66,252,252,237,137,106,252,248,139,141,233,35,136,233,105,201, |
113 | 133,244,250,57,129,233,15,132,244,251,248,4,139,137,233,133,201,15,133,244, | 113 | 239,3,141,233,248,3,129,185,233,239,15,133,244,250,57,129,233,15,132,244, |
114 | 3,255,252,233,244,65,248,5,139,105,4,129,252,253,239,15,132,244,65,139,1, | 114 | 251,248,4,139,137,233,133,201,15,133,244,3,255,252,233,244,66,248,5,139,105, |
115 | 137,106,252,252,137,66,252,248,252,233,244,65,248,6,129,252,253,239,15,132, | 115 | 4,129,252,253,239,15,132,244,66,139,1,137,106,252,252,137,66,252,248,252, |
116 | 244,1,129,252,253,239,15,135,244,254,129,252,253,239,15,134,244,253,189,237, | 116 | 233,244,66,248,6,129,252,253,239,15,132,244,1,129,252,253,239,15,135,244, |
117 | 252,233,244,254,248,7,255,189,237,248,8,252,247,213,139,172,253,171,233,252, | 117 | 254,129,252,253,239,15,134,244,253,189,237,252,233,244,254,248,7,255,189, |
118 | 233,244,2,248,67,129,252,248,239,15,130,244,62,129,122,253,4,239,15,133,244, | 118 | 237,248,8,252,247,213,139,172,253,171,233,252,233,244,2,248,68,129,252,248, |
119 | 62,139,42,131,189,233,0,15,133,244,62,129,122,253,12,239,15,133,244,62,139, | 119 | 239,15,130,244,63,129,122,253,4,239,15,133,244,63,139,42,131,189,233,0,15, |
120 | 66,8,137,133,233,139,114,252,252,199,66,252,252,237,255,137,106,252,248,252, | 120 | 133,244,63,129,122,253,12,239,15,133,244,63,139,66,8,137,133,233,139,114, |
121 | 246,133,233,235,15,132,244,247,128,165,233,235,139,131,233,137,171,233,137, | 121 | 252,252,199,66,252,252,237,255,137,106,252,248,252,246,133,233,235,15,132, |
122 | 133,233,248,1,252,233,244,65,248,68,129,252,248,239,15,130,244,62,129,122, | 122 | 244,247,128,165,233,235,139,131,233,137,171,233,137,133,233,248,1,252,233, |
123 | 253,4,239,15,133,244,62,137,213,68,141,66,8,139,18,139,76,36,96,232,251,1, | 123 | 244,66,248,69,129,252,248,239,15,130,244,63,129,122,253,4,239,15,133,244, |
124 | 10,137,252,234,72,139,40,139,114,252,252,72,137,106,252,248,252,233,244,65, | 124 | 63,137,213,68,141,66,8,139,18,139,76,36,96,232,251,1,10,137,252,234,72,139, |
125 | 248,69,255,129,252,248,239,15,133,244,62,129,122,253,4,239,255,15,133,244, | 125 | 40,139,114,252,252,72,137,106,252,248,252,233,244,66,248,70,255,129,252,248, |
126 | 247,139,42,252,233,244,70,248,1,15,135,244,62,255,15,131,244,62,255,252,242, | 126 | 239,15,133,244,63,129,122,253,4,239,255,15,133,244,247,139,42,252,233,244, |
127 | 15,16,2,252,233,244,71,255,221,2,252,233,244,72,255,248,73,129,252,248,239, | 127 | 71,248,1,15,135,244,63,255,15,131,244,63,255,252,242,15,16,2,252,233,244, |
128 | 15,130,244,62,139,114,252,252,129,122,253,4,239,15,133,244,249,139,2,248, | 128 | 72,255,221,2,252,233,244,73,255,248,74,129,252,248,239,15,130,244,63,139, |
129 | 2,199,66,252,252,237,137,66,252,248,252,233,244,65,248,3,129,122,253,4,239, | 129 | 114,252,252,129,122,253,4,239,15,133,244,249,139,2,248,2,199,66,252,252,237, |
130 | 15,135,244,62,131,187,233,0,15,133,244,62,139,171,233,59,171,233,255,15,130, | 130 | 137,66,252,248,252,233,244,66,248,3,129,122,253,4,239,15,135,244,63,131,187, |
131 | 244,247,232,244,74,248,1,139,108,36,96,137,149,233,137,116,36,100,137,252, | 131 | 233,0,15,133,244,63,139,171,233,59,171,233,255,15,130,244,247,232,244,75, |
132 | 233,255,232,251,1,11,255,232,251,1,12,255,139,149,233,252,233,244,2,248,75, | 132 | 248,1,139,108,36,96,137,149,233,137,116,36,100,137,252,233,255,232,251,1, |
133 | 129,252,248,239,15,130,244,62,15,132,244,248,248,1,129,122,253,4,239,15,133, | 133 | 11,255,232,251,1,12,255,139,149,233,252,233,244,2,248,76,129,252,248,239, |
134 | 244,62,139,108,36,96,137,149,233,137,149,233,139,114,252,252,68,141,66,8, | 134 | 15,130,244,63,15,132,244,248,248,1,129,122,253,4,239,15,133,244,63,139,108, |
135 | 139,18,137,252,233,137,116,36,100,232,251,1,13,139,149,233,133,192,15,132, | 135 | 36,96,137,149,233,137,149,233,139,114,252,252,68,141,66,8,139,18,137,252, |
136 | 244,249,72,139,106,8,72,139,66,16,72,137,106,252,248,72,137,2,248,76,184, | 136 | 233,137,116,36,100,232,251,1,13,139,149,233,133,192,15,132,244,249,72,139, |
137 | 237,255,252,233,244,77,248,2,199,66,12,237,252,233,244,1,248,3,199,66,252, | 137 | 106,8,72,139,66,16,72,137,106,252,248,72,137,2,248,77,184,237,255,252,233, |
138 | 252,237,252,233,244,65,248,78,129,252,248,239,15,130,244,62,139,42,129,122, | 138 | 244,78,248,2,199,66,12,237,252,233,244,1,248,3,199,66,252,252,237,252,233, |
139 | 253,4,239,15,133,244,62,255,131,189,233,0,15,133,244,62,255,139,106,252,248, | 139 | 244,66,248,79,129,252,248,239,15,130,244,63,139,42,129,122,253,4,239,15,133, |
140 | 139,133,233,139,114,252,252,199,66,252,252,237,137,66,252,248,199,66,12,237, | 140 | 244,63,255,131,189,233,0,15,133,244,63,255,139,106,252,248,139,133,233,139, |
141 | 184,237,252,233,244,77,248,79,129,252,248,239,15,130,244,62,129,122,253,4, | 141 | 114,252,252,199,66,252,252,237,137,66,252,248,199,66,12,237,184,237,252,233, |
142 | 239,15,133,244,62,129,122,253,12,239,255,139,114,252,252,255,139,66,8,131, | 142 | 244,78,248,80,129,252,248,239,15,130,244,63,129,122,253,4,239,15,133,244, |
143 | 192,1,199,66,252,252,237,137,66,252,248,255,252,242,15,16,66,8,72,189,237, | 143 | 63,129,122,253,12,239,255,139,114,252,252,255,139,66,8,131,192,1,199,66,252, |
144 | 237,102,72,15,110,205,252,242,15,88,193,252,242,15,45,192,252,242,15,17,66, | 144 | 252,237,137,66,252,248,255,252,242,15,16,66,8,72,189,237,237,102,72,15,110, |
145 | 252,248,255,139,42,59,133,233,15,131,244,248,193,224,3,3,133,233,248,1,129, | 145 | 205,252,242,15,88,193,252,242,15,45,192,252,242,15,17,66,252,248,255,139, |
146 | 120,253,4,239,15,132,244,80,72,139,40,72,137,42,252,233,244,76,248,2,131, | 146 | 42,59,133,233,15,131,244,248,193,224,3,3,133,233,248,1,129,120,253,4,239, |
147 | 189,233,0,15,132,244,80,137,252,233,137,213,137,194,232,251,1,14,137,252, | 147 | 15,132,244,81,72,139,40,72,137,42,252,233,244,77,248,2,131,189,233,0,15,132, |
148 | 234,133,192,15,133,244,1,248,80,184,237,252,233,244,77,248,81,255,139,106, | 148 | 244,81,137,252,233,137,213,137,194,232,251,1,14,137,252,234,133,192,15,133, |
149 | 252,248,139,133,233,139,114,252,252,199,66,252,252,237,137,66,252,248,255, | 149 | 244,1,248,81,184,237,252,233,244,78,248,82,255,139,106,252,248,139,133,233, |
150 | 199,66,12,237,199,66,8,0,0,0,0,255,15,87,192,252,242,15,17,66,8,255,217,252, | 150 | 139,114,252,252,199,66,252,252,237,137,66,252,248,255,199,66,12,237,199,66, |
151 | 238,221,90,8,255,184,237,252,233,244,77,248,82,129,252,248,239,15,130,244, | 151 | 8,0,0,0,0,255,15,87,192,252,242,15,17,66,8,255,217,252,238,221,90,8,255,184, |
152 | 62,141,74,8,131,232,1,190,237,248,1,15,182,171,233,193,252,237,235,131,229, | 152 | 237,252,233,244,78,248,83,129,252,248,239,15,130,244,63,141,74,8,131,232, |
153 | 1,1,252,238,252,233,244,28,248,83,129,252,248,239,15,130,244,62,129,122,253, | 153 | 1,190,237,248,1,15,182,171,233,193,252,237,235,131,229,1,1,252,238,252,233, |
154 | 12,239,15,133,244,62,255,139,106,4,137,106,12,199,66,4,237,139,42,139,114, | 154 | 244,28,248,84,129,252,248,239,15,130,244,63,129,122,253,12,239,15,133,244, |
155 | 8,137,106,8,137,50,141,74,16,131,232,2,190,237,252,233,244,1,248,84,129,252, | 155 | 63,255,139,106,4,137,106,12,199,66,4,237,139,42,139,114,8,137,106,8,137,50, |
156 | 248,239,15,130,244,62,139,42,139,114,252,252,137,116,36,100,137,108,36,80, | 156 | 141,74,16,131,232,2,190,237,252,233,244,1,248,85,129,252,248,239,15,130,244, |
157 | 129,122,253,4,239,15,133,244,62,72,131,189,233,0,15,133,244,62,128,189,233, | 157 | 63,139,42,139,114,252,252,137,116,36,100,137,108,36,80,129,122,253,4,239, |
158 | 235,15,135,244,62,139,141,233,15,132,244,247,255,59,141,233,15,132,244,62, | 158 | 15,133,244,63,72,131,189,233,0,15,133,244,63,128,189,233,235,15,135,244,63, |
159 | 248,1,141,116,193,252,240,59,181,233,15,135,244,62,137,181,233,139,108,36, | 159 | 139,141,233,15,132,244,247,255,59,141,233,15,132,244,63,248,1,141,116,193, |
160 | 96,137,149,233,131,194,8,137,149,233,141,108,194,232,72,41,252,245,57,206, | 160 | 252,240,59,181,233,15,135,244,63,137,181,233,139,108,36,96,137,149,233,131, |
161 | 15,132,244,249,248,2,72,139,4,46,72,137,70,252,248,131,252,238,8,57,206,15, | 161 | 194,8,137,149,233,141,108,194,232,72,41,252,245,57,206,15,132,244,249,248, |
162 | 133,244,2,248,3,137,202,139,76,36,80,232,244,25,199,131,233,237,255,139,108, | 162 | 2,72,139,4,46,72,137,70,252,248,131,252,238,8,57,206,15,133,244,2,248,3,137, |
163 | 36,96,139,116,36,80,139,149,233,129,252,248,239,15,135,244,254,248,4,139, | 163 | 202,139,76,36,80,232,244,25,199,131,233,237,255,139,108,36,96,139,116,36, |
164 | 142,233,139,190,233,137,142,233,137,252,254,41,206,15,132,244,252,141,4,50, | 164 | 80,139,149,233,129,252,248,239,15,135,244,254,248,4,139,142,233,139,190,233, |
165 | 193,252,238,3,59,133,233,15,135,244,255,137,213,72,41,205,248,5,72,139,1, | 165 | 137,142,233,137,252,254,41,206,15,132,244,252,141,4,50,193,252,238,3,59,133, |
166 | 72,137,4,41,131,193,8,57,252,249,15,133,244,5,248,6,141,70,2,199,66,252,252, | 166 | 233,15,135,244,255,137,213,72,41,205,248,5,72,139,1,72,137,4,41,131,193,8, |
167 | 237,248,7,139,116,36,100,137,68,36,84,72,199,193,252,248,252,255,252,255, | 167 | 57,252,249,15,133,244,5,248,6,141,70,2,199,66,252,252,237,248,7,139,116,36, |
168 | 252,255,252,247,198,237,255,15,132,244,13,252,233,244,14,248,8,199,66,252, | 168 | 100,137,68,36,84,72,199,193,252,248,252,255,252,255,252,255,252,247,198,237, |
169 | 252,237,139,142,233,131,252,233,8,137,142,233,72,139,1,72,137,2,184,237,252, | 169 | 255,15,132,244,13,252,233,244,14,248,8,199,66,252,252,237,139,142,233,131, |
170 | 233,244,7,248,9,139,76,36,80,137,185,233,137,252,242,137,252,233,232,251, | 170 | 252,233,8,137,142,233,72,139,1,72,137,2,184,237,252,233,244,7,248,9,139,76, |
171 | 1,0,139,116,36,80,139,149,233,252,233,244,4,248,85,139,106,252,248,139,173, | 171 | 36,80,137,185,233,137,252,242,137,252,233,232,251,1,0,139,116,36,80,139,149, |
172 | 233,139,114,252,252,137,116,36,100,137,108,36,80,72,131,189,233,0,15,133, | 172 | 233,252,233,244,4,248,86,139,106,252,248,139,173,233,139,114,252,252,137, |
173 | 244,62,255,128,189,233,235,15,135,244,62,139,141,233,15,132,244,247,59,141, | 173 | 116,36,100,137,108,36,80,72,131,189,233,0,15,133,244,63,255,128,189,233,235, |
174 | 233,15,132,244,62,248,1,141,116,193,252,248,59,181,233,15,135,244,62,137, | 174 | 15,135,244,63,139,141,233,15,132,244,247,59,141,233,15,132,244,63,248,1,141, |
175 | 181,233,139,108,36,96,137,149,233,137,149,233,141,108,194,252,240,72,41,252, | 175 | 116,193,252,248,59,181,233,15,135,244,63,137,181,233,139,108,36,96,137,149, |
176 | 245,57,206,15,132,244,249,248,2,255,72,139,4,46,72,137,70,252,248,131,252, | 176 | 233,137,149,233,141,108,194,252,240,72,41,252,245,57,206,15,132,244,249,248, |
177 | 238,8,57,206,15,133,244,2,248,3,137,202,139,76,36,80,232,244,25,199,131,233, | 177 | 2,255,72,139,4,46,72,137,70,252,248,131,252,238,8,57,206,15,133,244,2,248, |
178 | 237,139,108,36,96,139,116,36,80,139,149,233,129,252,248,239,15,135,244,254, | 178 | 3,137,202,139,76,36,80,232,244,25,199,131,233,237,139,108,36,96,139,116,36, |
179 | 248,4,139,142,233,139,190,233,137,142,233,137,252,254,41,206,15,132,244,252, | 179 | 80,139,149,233,129,252,248,239,15,135,244,254,248,4,139,142,233,139,190,233, |
180 | 141,4,50,193,252,238,3,59,133,233,15,135,244,255,255,137,213,72,41,205,248, | 180 | 137,142,233,137,252,254,41,206,15,132,244,252,141,4,50,193,252,238,3,59,133, |
181 | 5,72,139,1,72,137,4,41,131,193,8,57,252,249,15,133,244,5,248,6,141,70,1,248, | 181 | 233,15,135,244,255,255,137,213,72,41,205,248,5,72,139,1,72,137,4,41,131,193, |
182 | 7,139,116,36,100,137,68,36,84,49,201,252,247,198,237,15,132,244,13,252,233, | 182 | 8,57,252,249,15,133,244,5,248,6,141,70,1,248,7,139,116,36,100,137,68,36,84, |
183 | 244,14,248,8,137,252,242,137,252,233,232,251,1,15,248,9,139,76,36,80,137, | 183 | 49,201,252,247,198,237,15,132,244,13,252,233,244,14,248,8,137,252,242,137, |
184 | 185,233,137,252,242,137,252,233,232,251,1,0,139,116,36,80,139,149,233,252, | 184 | 252,233,232,251,1,15,248,9,139,76,36,80,137,185,233,137,252,242,137,252,233, |
185 | 233,244,4,248,86,139,108,36,96,72,252,247,133,233,237,15,132,244,62,255,137, | 185 | 232,251,1,0,139,116,36,80,139,149,233,252,233,244,4,248,87,139,108,36,96, |
186 | 149,233,141,68,194,252,248,137,133,233,49,192,72,137,133,233,176,235,136, | 186 | 72,252,247,133,233,237,15,132,244,63,255,137,149,233,141,68,194,252,248,137, |
187 | 133,233,252,233,244,16,255,248,70,255,248,72,139,114,252,252,221,90,252,248, | 187 | 133,233,49,192,72,137,133,233,176,235,136,133,233,252,233,244,16,255,248, |
188 | 252,233,244,65,255,248,87,129,252,248,239,15,130,244,62,255,129,122,253,4, | 188 | 71,255,248,73,139,114,252,252,221,90,252,248,252,233,244,66,255,248,88,129, |
189 | 239,15,133,244,248,139,42,131,252,253,0,15,137,244,70,252,247,221,15,136, | 189 | 252,248,239,15,130,244,63,255,129,122,253,4,239,15,133,244,248,139,42,131, |
190 | 244,247,248,88,248,70,139,114,252,252,199,66,252,252,237,137,106,252,248, | 190 | 252,253,0,15,137,244,71,252,247,221,15,136,244,247,248,89,248,71,139,114, |
191 | 252,233,244,65,248,1,139,114,252,252,199,66,252,252,0,0,224,65,199,66,252, | 191 | 252,252,199,66,252,252,237,137,106,252,248,252,233,244,66,248,1,139,114,252, |
192 | 248,0,0,0,0,252,233,244,65,248,2,15,135,244,62,255,129,122,253,4,239,15,131, | 192 | 252,199,66,252,252,0,0,224,65,199,66,252,248,0,0,0,0,252,233,244,66,248,2, |
193 | 244,62,255,252,242,15,16,2,72,184,237,237,102,72,15,110,200,15,84,193,248, | 193 | 15,135,244,63,255,129,122,253,4,239,15,131,244,63,255,252,242,15,16,2,72, |
194 | 71,139,114,252,252,252,242,15,17,66,252,248,255,221,2,217,225,248,71,248, | 194 | 184,237,237,102,72,15,110,200,15,84,193,248,72,139,114,252,252,252,242,15, |
195 | 72,139,114,252,252,221,90,252,248,255,248,65,184,237,248,77,137,68,36,84, | 195 | 17,66,252,248,255,221,2,217,225,248,72,248,73,139,114,252,252,221,90,252, |
196 | 248,63,252,247,198,237,15,133,244,253,248,5,56,70,252,255,15,135,244,252, | 196 | 248,255,248,66,184,237,248,78,137,68,36,84,248,64,252,247,198,237,15,133, |
197 | 15,182,78,252,253,72,252,247,209,141,20,202,139,6,15,182,204,15,182,232,131, | 197 | 244,253,248,5,56,70,252,255,15,135,244,252,15,182,78,252,253,72,252,247,209, |
198 | 198,4,193,232,16,252,255,36,252,235,248,6,199,68,194,252,244,237,131,192, | 198 | 141,20,202,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252, |
199 | 1,252,233,244,5,248,7,72,199,193,252,248,252,255,252,255,252,255,252,233, | 199 | 235,248,6,199,68,194,252,244,237,131,192,1,252,233,244,5,248,7,72,199,193, |
200 | 244,14,248,89,255,129,122,253,4,239,15,133,244,247,139,42,252,233,244,70, | 200 | 252,248,252,255,252,255,252,255,252,233,244,14,248,90,255,129,122,253,4,239, |
201 | 248,1,15,135,244,62,255,252,242,15,16,2,232,244,90,255,252,242,15,45,232, | 201 | 15,133,244,247,139,42,252,233,244,71,248,1,15,135,244,63,255,252,242,15,16, |
202 | 129,252,253,0,0,0,128,15,133,244,70,252,242,15,42,205,102,15,46,193,15,138, | 202 | 2,232,244,91,255,252,242,15,45,232,129,252,253,0,0,0,128,15,133,244,71,252, |
203 | 244,71,15,132,244,70,255,221,2,232,244,90,255,248,91,255,252,242,15,16,2, | 203 | 242,15,42,205,102,15,46,193,15,138,244,72,15,132,244,71,255,221,2,232,244, |
204 | 232,244,92,255,221,2,232,244,92,255,248,93,129,252,248,239,15,130,244,62, | 204 | 91,255,248,92,255,252,242,15,16,2,232,244,93,255,221,2,232,244,93,255,248, |
205 | 129,122,253,4,239,15,131,244,62,252,242,15,81,2,252,233,244,71,255,248,93, | 205 | 94,129,252,248,239,15,130,244,63,129,122,253,4,239,15,131,244,63,252,242, |
206 | 129,252,248,239,15,130,244,62,129,122,253,4,239,15,131,244,62,221,2,217,252, | 206 | 15,81,2,252,233,244,72,255,248,94,129,252,248,239,15,130,244,63,129,122,253, |
207 | 250,252,233,244,72,255,248,94,129,252,248,239,15,130,244,62,129,122,253,4, | 207 | 4,239,15,131,244,63,221,2,217,252,250,252,233,244,73,255,248,95,129,252,248, |
208 | 239,15,131,244,62,217,252,237,221,2,217,252,241,252,233,244,72,248,95,129, | 208 | 239,15,130,244,63,129,122,253,4,239,15,131,244,63,217,252,237,221,2,217,252, |
209 | 252,248,239,15,130,244,62,129,122,253,4,239,15,131,244,62,217,252,236,221, | 209 | 241,252,233,244,73,248,96,129,252,248,239,15,130,244,63,129,122,253,4,239, |
210 | 2,217,252,241,252,233,244,72,248,96,129,252,248,239,255,15,130,244,62,129, | 210 | 15,131,244,63,217,252,236,221,2,217,252,241,252,233,244,73,248,97,129,252, |
211 | 122,253,4,239,15,131,244,62,221,2,232,244,97,252,233,244,72,248,98,129,252, | 211 | 248,239,255,15,130,244,63,129,122,253,4,239,15,131,244,63,221,2,232,244,98, |
212 | 248,239,15,130,244,62,129,122,253,4,239,15,131,244,62,221,2,217,252,254,252, | 212 | 252,233,244,73,248,99,129,252,248,239,15,130,244,63,129,122,253,4,239,15, |
213 | 233,244,72,248,99,129,252,248,239,255,15,130,244,62,129,122,253,4,239,15, | 213 | 131,244,63,221,2,217,252,254,252,233,244,73,248,100,129,252,248,239,255,15, |
214 | 131,244,62,221,2,217,252,255,252,233,244,72,248,100,129,252,248,239,15,130, | 214 | 130,244,63,129,122,253,4,239,15,131,244,63,221,2,217,252,255,252,233,244, |
215 | 244,62,129,122,253,4,239,15,131,244,62,221,2,217,252,242,221,216,252,233, | 215 | 73,248,101,129,252,248,239,15,130,244,63,129,122,253,4,239,15,131,244,63, |
216 | 244,72,248,101,129,252,248,239,15,130,244,62,255,129,122,253,4,239,15,131, | 216 | 221,2,217,252,242,221,216,252,233,244,73,248,102,129,252,248,239,15,130,244, |
217 | 244,62,221,2,217,192,216,200,217,232,222,225,217,252,250,217,252,243,252, | 217 | 63,255,129,122,253,4,239,15,131,244,63,221,2,217,192,216,200,217,232,222, |
218 | 233,244,72,248,102,129,252,248,239,15,130,244,62,129,122,253,4,239,15,131, | 218 | 225,217,252,250,217,252,243,252,233,244,73,248,103,129,252,248,239,15,130, |
219 | 244,62,221,2,217,192,216,200,217,232,222,225,217,252,250,217,201,217,252, | 219 | 244,63,129,122,253,4,239,15,131,244,63,221,2,217,192,216,200,217,232,222, |
220 | 243,252,233,244,72,248,103,129,252,248,239,15,130,244,62,129,122,253,4,239, | 220 | 225,217,252,250,217,201,217,252,243,252,233,244,73,248,104,129,252,248,239, |
221 | 15,131,244,62,255,221,2,217,232,217,252,243,252,233,244,72,255,248,104,129, | 221 | 15,130,244,63,129,122,253,4,239,15,131,244,63,255,221,2,217,232,217,252,243, |
222 | 252,248,239,15,130,244,62,129,122,253,4,239,15,131,244,62,252,242,15,16,2, | 222 | 252,233,244,73,255,248,105,129,252,248,239,15,130,244,63,129,122,253,4,239, |
223 | 255,137,213,232,251,1,16,137,252,234,252,233,244,71,255,248,105,129,252,248, | 223 | 15,131,244,63,252,242,15,16,2,255,137,213,232,251,1,16,137,252,234,252,233, |
224 | 239,15,130,244,62,129,122,253,4,239,15,131,244,62,252,242,15,16,2,255,137, | 224 | 244,72,255,248,106,129,252,248,239,15,130,244,63,129,122,253,4,239,15,131, |
225 | 213,232,251,1,17,137,252,234,252,233,244,71,255,248,106,129,252,248,239,15, | 225 | 244,63,252,242,15,16,2,255,137,213,232,251,1,17,137,252,234,252,233,244,72, |
226 | 130,244,62,129,122,253,4,239,15,131,244,62,252,242,15,16,2,255,137,213,232, | 226 | 255,248,107,129,252,248,239,15,130,244,63,129,122,253,4,239,15,131,244,63, |
227 | 251,1,18,137,252,234,252,233,244,71,248,107,255,248,108,129,252,248,239,15, | 227 | 252,242,15,16,2,255,137,213,232,251,1,18,137,252,234,252,233,244,72,248,108, |
228 | 130,244,62,129,122,253,4,239,15,131,244,62,252,242,15,16,2,139,106,252,248, | 228 | 255,248,109,129,252,248,239,15,130,244,63,129,122,253,4,239,15,131,244,63, |
229 | 252,242,15,89,133,233,252,233,244,71,255,248,108,129,252,248,239,15,130,244, | 229 | 252,242,15,16,2,139,106,252,248,252,242,15,89,133,233,252,233,244,72,255, |
230 | 62,129,122,253,4,239,15,131,244,62,221,2,139,106,252,248,220,141,233,252, | 230 | 248,109,129,252,248,239,15,130,244,63,129,122,253,4,239,15,131,244,63,221, |
231 | 233,244,72,255,248,109,129,252,248,239,15,130,244,62,129,122,253,4,239,15, | 231 | 2,139,106,252,248,220,141,233,252,233,244,73,255,248,110,129,252,248,239, |
232 | 131,244,62,129,122,253,12,239,15,131,244,62,221,2,221,66,8,217,252,243,252, | 232 | 15,130,244,63,129,122,253,4,239,15,131,244,63,129,122,253,12,239,15,131,244, |
233 | 233,244,72,248,110,129,252,248,239,15,130,244,62,129,122,253,4,239,15,131, | 233 | 63,221,2,221,66,8,217,252,243,252,233,244,73,248,111,129,252,248,239,15,130, |
234 | 244,62,129,122,253,12,239,255,15,131,244,62,221,66,8,221,2,217,252,253,221, | 234 | 244,63,129,122,253,4,239,15,131,244,63,129,122,253,12,239,255,15,131,244, |
235 | 217,252,233,244,72,248,111,129,252,248,239,15,130,244,62,139,106,4,129,252, | 235 | 63,221,66,8,221,2,217,252,253,221,217,252,233,244,73,248,112,129,252,248, |
236 | 253,239,15,131,244,62,139,114,252,252,139,2,137,106,252,252,137,66,252,248, | 236 | 239,15,130,244,63,139,106,4,129,252,253,239,15,131,244,63,139,114,252,252, |
237 | 209,229,129,252,253,0,0,224,252,255,15,131,244,249,9,232,15,132,244,249,184, | 237 | 139,2,137,106,252,252,137,66,252,248,209,229,129,252,253,0,0,224,252,255, |
238 | 252,254,3,0,0,129,252,253,0,0,32,0,15,130,244,250,248,1,193,252,237,21,41, | 238 | 15,131,244,249,9,232,15,132,244,249,184,252,254,3,0,0,129,252,253,0,0,32, |
239 | 197,255,252,242,15,42,197,255,137,108,36,80,219,68,36,80,255,139,106,252, | 239 | 0,15,130,244,250,248,1,193,252,237,21,41,197,255,252,242,15,42,197,255,137, |
240 | 252,129,229,252,255,252,255,15,128,129,205,0,0,224,63,137,106,252,252,248, | 240 | 108,36,80,219,68,36,80,255,139,106,252,252,129,229,252,255,252,255,15,128, |
241 | 2,255,252,242,15,17,2,255,221,26,255,184,237,252,233,244,77,248,3,255,15, | 241 | 129,205,0,0,224,63,137,106,252,252,248,2,255,252,242,15,17,2,255,221,26,255, |
242 | 87,192,252,233,244,2,255,217,252,238,252,233,244,2,255,248,4,255,252,242, | 242 | 184,237,252,233,244,78,248,3,255,15,87,192,252,233,244,2,255,217,252,238, |
243 | 15,16,2,72,189,237,237,102,72,15,110,205,252,242,15,89,193,252,242,15,17, | 243 | 252,233,244,2,255,248,4,255,252,242,15,16,2,72,189,237,237,102,72,15,110, |
244 | 66,252,248,255,221,2,199,68,36,80,0,0,128,90,216,76,36,80,221,90,252,248, | 244 | 205,252,242,15,89,193,252,242,15,17,66,252,248,255,221,2,199,68,36,80,0,0, |
245 | 255,139,106,252,252,184,52,4,0,0,209,229,252,233,244,1,255,248,112,129,252, | 245 | 128,90,216,76,36,80,221,90,252,248,255,139,106,252,252,184,52,4,0,0,209,229, |
246 | 248,239,15,130,244,62,129,122,253,4,239,15,131,244,62,252,242,15,16,2,255, | 246 | 252,233,244,1,255,248,113,129,252,248,239,15,130,244,63,129,122,253,4,239, |
247 | 248,112,129,252,248,239,15,130,244,62,129,122,253,4,239,15,131,244,62,221, | 247 | 15,131,244,63,252,242,15,16,2,255,248,113,129,252,248,239,15,130,244,63,129, |
248 | 2,255,139,106,4,139,114,252,252,209,229,129,252,253,0,0,224,252,255,15,132, | 248 | 122,253,4,239,15,131,244,63,221,2,255,139,106,4,139,114,252,252,209,229,129, |
249 | 244,250,255,15,40,224,232,244,113,252,242,15,92,224,248,1,252,242,15,17,66, | 249 | 252,253,0,0,224,252,255,15,132,244,250,255,15,40,224,232,244,114,252,242, |
250 | 252,248,252,242,15,17,34,255,217,192,232,244,113,220,252,233,248,1,221,90, | 250 | 15,92,224,248,1,252,242,15,17,66,252,248,252,242,15,17,34,255,217,192,232, |
251 | 252,248,221,26,255,139,66,252,252,139,106,4,49,232,15,136,244,249,248,2,184, | 251 | 244,114,220,252,233,248,1,221,90,252,248,221,26,255,139,66,252,252,139,106, |
252 | 237,252,233,244,77,248,3,129,252,245,0,0,0,128,137,106,4,252,233,244,2,248, | 252 | 4,49,232,15,136,244,249,248,2,184,237,252,233,244,78,248,3,129,252,245,0, |
253 | 4,255,15,87,228,252,233,244,1,255,217,252,238,217,201,252,233,244,1,255,248, | 253 | 0,0,128,137,106,4,252,233,244,2,248,4,255,15,87,228,252,233,244,1,255,217, |
254 | 114,129,252,248,239,15,130,244,62,129,122,253,4,239,15,131,244,62,129,122, | 254 | 252,238,217,201,252,233,244,1,255,248,115,129,252,248,239,15,130,244,63,129, |
255 | 253,12,239,15,131,244,62,221,66,8,221,2,248,1,217,252,248,223,224,158,15, | 255 | 122,253,4,239,15,131,244,63,129,122,253,12,239,15,131,244,63,221,66,8,221, |
256 | 138,244,1,221,217,252,233,244,72,255,248,115,129,252,248,239,15,130,244,62, | 256 | 2,248,1,217,252,248,223,224,158,15,138,244,1,221,217,252,233,244,73,255,248, |
257 | 129,122,253,4,239,15,131,244,62,129,122,253,12,239,15,131,244,62,252,242, | 257 | 116,129,252,248,239,15,130,244,63,129,122,253,4,239,15,131,244,63,129,122, |
258 | 15,16,2,252,242,15,16,74,8,232,244,116,252,233,244,71,255,248,115,129,252, | 258 | 253,12,239,15,131,244,63,252,242,15,16,2,252,242,15,16,74,8,232,244,117,252, |
259 | 248,239,15,130,244,62,129,122,253,4,239,15,131,244,62,129,122,253,12,239, | 259 | 233,244,72,255,248,116,129,252,248,239,15,130,244,63,129,122,253,4,239,15, |
260 | 15,131,244,62,221,2,221,66,8,232,244,116,252,233,244,72,255,248,117,185,2, | 260 | 131,244,63,129,122,253,12,239,15,131,244,63,221,2,221,66,8,232,244,117,252, |
261 | 0,0,0,129,122,253,4,239,255,15,133,244,250,139,42,248,1,57,193,15,131,244, | 261 | 233,244,73,255,248,118,185,2,0,0,0,129,122,253,4,239,255,15,133,244,250,139, |
262 | 70,129,124,253,202,252,252,239,15,133,244,249,59,108,202,252,248,15,79,108, | 262 | 42,248,1,57,193,15,131,244,71,129,124,253,202,252,252,239,15,133,244,249, |
263 | 202,252,248,131,193,1,252,233,244,1,248,3,15,135,244,62,255,252,233,244,252, | 263 | 59,108,202,252,248,15,79,108,202,252,248,131,193,1,252,233,244,1,248,3,15, |
264 | 248,4,15,135,244,62,255,252,242,15,16,2,248,5,57,193,15,131,244,71,129,124, | 264 | 135,244,63,255,252,233,244,252,248,4,15,135,244,63,255,252,242,15,16,2,248, |
265 | 253,202,252,252,239,255,15,130,244,252,15,135,244,62,252,242,15,42,76,202, | 265 | 5,57,193,15,131,244,72,129,124,253,202,252,252,239,255,15,130,244,252,15, |
266 | 252,248,252,233,244,253,255,248,6,252,242,15,16,76,202,252,248,248,7,252, | 266 | 135,244,63,252,242,15,42,76,202,252,248,252,233,244,253,255,248,6,252,242, |
267 | 242,15,93,193,131,193,1,252,233,244,5,255,248,118,185,2,0,0,0,129,122,253, | 267 | 15,16,76,202,252,248,248,7,252,242,15,93,193,131,193,1,252,233,244,5,255, |
268 | 4,239,255,15,133,244,250,139,42,248,1,57,193,15,131,244,70,129,124,253,202, | 268 | 248,119,185,2,0,0,0,129,122,253,4,239,255,15,133,244,250,139,42,248,1,57, |
269 | 252,252,239,15,133,244,249,59,108,202,252,248,15,76,108,202,252,248,131,193, | 269 | 193,15,131,244,71,129,124,253,202,252,252,239,15,133,244,249,59,108,202,252, |
270 | 1,252,233,244,1,248,3,15,135,244,62,255,248,6,252,242,15,16,76,202,252,248, | 270 | 248,15,76,108,202,252,248,131,193,1,252,233,244,1,248,3,15,135,244,63,255, |
271 | 248,7,252,242,15,95,193,131,193,1,252,233,244,5,255,248,9,221,216,252,233, | 271 | 248,6,252,242,15,16,76,202,252,248,248,7,252,242,15,95,193,131,193,1,252, |
272 | 244,62,255,248,119,129,252,248,239,15,130,244,62,129,122,253,4,239,15,133, | 272 | 233,244,5,255,248,9,221,216,252,233,244,63,255,248,120,129,252,248,239,15, |
273 | 244,62,139,42,255,139,173,233,252,233,244,70,255,252,242,15,42,133,233,252, | 273 | 130,244,63,129,122,253,4,239,15,133,244,63,139,42,255,139,173,233,252,233, |
274 | 233,244,71,255,219,133,233,252,233,244,72,255,248,120,129,252,248,239,15, | 274 | 244,71,255,252,242,15,42,133,233,252,233,244,72,255,219,133,233,252,233,244, |
275 | 133,244,62,129,122,253,4,239,15,133,244,62,139,42,139,114,252,252,131,189, | 275 | 73,255,248,121,129,252,248,239,15,133,244,63,129,122,253,4,239,15,133,244, |
276 | 233,1,15,130,244,80,15,182,173,233,255,252,242,15,42,197,252,233,244,71,255, | 276 | 63,139,42,139,114,252,252,131,189,233,1,15,130,244,81,15,182,173,233,255, |
277 | 137,108,36,80,219,68,36,80,252,233,244,72,255,248,121,139,171,233,59,171, | 277 | 252,242,15,42,197,252,233,244,72,255,137,108,36,80,219,68,36,80,252,233,244, |
278 | 233,15,130,244,247,232,244,74,248,1,129,252,248,239,15,133,244,62,129,122, | 278 | 73,255,248,122,139,171,233,59,171,233,15,130,244,247,232,244,75,248,1,129, |
279 | 253,4,239,255,15,133,244,62,139,42,129,252,253,252,255,0,0,0,15,135,244,62, | 279 | 252,248,239,15,133,244,63,129,122,253,4,239,255,15,133,244,63,139,42,129, |
280 | 137,108,36,84,255,15,131,244,62,252,242,15,44,42,129,252,253,252,255,0,0, | 280 | 252,253,252,255,0,0,0,15,135,244,63,137,108,36,84,255,15,131,244,63,252,242, |
281 | 0,15,135,244,62,137,108,36,84,255,15,131,244,62,221,2,219,92,36,84,129,124, | 281 | 15,44,42,129,252,253,252,255,0,0,0,15,135,244,63,137,108,36,84,255,15,131, |
282 | 36,84,252,255,0,0,0,15,135,244,62,255,199,68,36,32,1,0,0,0,72,141,68,36,84, | 282 | 244,63,221,2,219,92,36,84,129,124,36,84,252,255,0,0,0,15,135,244,63,255,199, |
283 | 248,122,139,108,36,96,137,149,233,68,139,68,36,32,72,137,194,137,252,233, | 283 | 68,36,32,1,0,0,0,72,141,68,36,84,248,123,139,108,36,96,137,149,233,68,139, |
284 | 137,116,36,100,232,251,1,19,139,149,233,139,114,252,252,199,66,252,252,237, | 284 | 68,36,32,72,137,194,137,252,233,137,116,36,100,232,251,1,19,139,149,233,139, |
285 | 137,66,252,248,252,233,244,65,248,123,139,171,233,59,171,233,15,130,244,247, | 285 | 114,252,252,199,66,252,252,237,137,66,252,248,252,233,244,66,248,124,139, |
286 | 232,244,74,248,1,199,68,36,84,252,255,252,255,252,255,252,255,129,252,248, | 286 | 171,233,59,171,233,15,130,244,247,232,244,75,248,1,199,68,36,84,252,255,252, |
287 | 239,15,130,244,62,15,134,244,247,129,122,253,20,239,255,15,133,244,62,139, | 287 | 255,252,255,252,255,129,252,248,239,15,130,244,63,15,134,244,247,129,122, |
288 | 106,16,137,108,36,84,255,15,131,244,62,252,242,15,44,106,16,137,108,36,84, | 288 | 253,20,239,255,15,133,244,63,139,106,16,137,108,36,84,255,15,131,244,63,252, |
289 | 255,15,131,244,62,221,66,16,219,92,36,84,255,248,1,129,122,253,4,239,15,133, | 289 | 242,15,44,106,16,137,108,36,84,255,15,131,244,63,221,66,16,219,92,36,84,255, |
290 | 244,62,129,122,253,12,239,255,139,42,137,108,36,32,139,173,233,255,139,74, | 290 | 248,1,129,122,253,4,239,15,133,244,63,129,122,253,12,239,255,139,42,137,108, |
291 | 8,255,252,242,15,44,74,8,255,139,68,36,84,57,197,15,130,244,251,248,2,133, | 291 | 36,32,139,173,233,255,139,74,8,255,252,242,15,44,74,8,255,139,68,36,84,57, |
292 | 201,15,142,244,253,248,3,139,108,36,32,41,200,15,140,244,124,141,172,253, | 292 | 197,15,130,244,251,248,2,133,201,15,142,244,253,248,3,139,108,36,32,41,200, |
293 | 13,233,131,192,1,248,4,137,68,36,32,137,232,252,233,244,122,248,5,15,140, | 293 | 15,140,244,125,141,172,253,13,233,131,192,1,248,4,137,68,36,32,137,232,252, |
294 | 244,252,141,68,40,1,252,233,244,2,248,6,137,232,252,233,244,2,248,7,255,15, | 294 | 233,244,123,248,5,15,140,244,252,141,68,40,1,252,233,244,2,248,6,137,232, |
295 | 132,244,254,1,252,233,131,193,1,15,143,244,3,248,8,185,1,0,0,0,252,233,244, | 295 | 252,233,244,2,248,7,255,15,132,244,254,1,252,233,131,193,1,15,143,244,3,248, |
296 | 3,248,124,49,192,252,233,244,4,248,125,129,252,248,239,15,130,244,62,139, | 296 | 8,185,1,0,0,0,252,233,244,3,248,125,49,192,252,233,244,4,248,126,129,252, |
297 | 171,233,59,171,233,15,130,244,247,232,244,74,248,1,255,129,122,253,4,239, | 297 | 248,239,15,130,244,63,139,171,233,59,171,233,15,130,244,247,232,244,75,248, |
298 | 15,133,244,62,129,122,253,12,239,139,42,255,15,133,244,62,139,66,8,255,15, | 298 | 1,255,129,122,253,4,239,15,133,244,63,129,122,253,12,239,139,42,255,15,133, |
299 | 131,244,62,252,242,15,44,66,8,255,15,131,244,62,221,66,8,219,92,36,84,139, | 299 | 244,63,139,66,8,255,15,131,244,63,252,242,15,44,66,8,255,15,131,244,63,221, |
300 | 68,36,84,255,133,192,15,142,244,124,131,189,233,1,15,130,244,124,15,133,244, | 300 | 66,8,219,92,36,84,139,68,36,84,255,133,192,15,142,244,125,131,189,233,1,15, |
301 | 126,57,131,233,15,130,244,126,15,182,141,233,139,171,233,137,68,36,32,248, | 301 | 130,244,125,15,133,244,127,57,131,233,15,130,244,127,15,182,141,233,139,171, |
302 | 1,136,77,0,131,197,1,131,232,1,15,133,244,1,139,131,233,252,233,244,122,248, | 302 | 233,137,68,36,32,248,1,136,77,0,131,197,1,131,232,1,15,133,244,1,139,131, |
303 | 127,129,252,248,239,255,15,130,244,62,139,171,233,59,171,233,15,130,244,247, | 303 | 233,252,233,244,123,248,128,129,252,248,239,255,15,130,244,63,139,171,233, |
304 | 232,244,74,248,1,129,122,253,4,239,15,133,244,62,139,42,139,133,233,133,192, | 304 | 59,171,233,15,130,244,247,232,244,75,248,1,129,122,253,4,239,15,133,244,63, |
305 | 15,132,244,124,57,131,233,15,130,244,128,129,197,239,137,116,36,84,137,68, | 305 | 139,42,139,133,233,133,192,15,132,244,125,57,131,233,15,130,244,129,129,197, |
306 | 36,32,139,179,233,248,1,255,15,182,77,0,131,197,1,131,232,1,136,12,6,15,133, | 306 | 239,137,116,36,84,137,68,36,32,139,179,233,248,1,255,15,182,77,0,131,197, |
307 | 244,1,137,252,240,139,116,36,84,252,233,244,122,248,129,129,252,248,239,15, | 307 | 1,131,232,1,136,12,6,15,133,244,1,137,252,240,139,116,36,84,252,233,244,123, |
308 | 130,244,62,139,171,233,59,171,233,15,130,244,247,232,244,74,248,1,129,122, | 308 | 248,130,129,252,248,239,15,130,244,63,139,171,233,59,171,233,15,130,244,247, |
309 | 253,4,239,15,133,244,62,139,42,139,133,233,57,131,233,255,15,130,244,128, | 309 | 232,244,75,248,1,129,122,253,4,239,15,133,244,63,139,42,139,133,233,57,131, |
310 | 233,255,15,130,244,129,129,197,239,137,116,36,84,137,68,36,32,139,179,233, | ||
311 | 252,233,244,249,248,1,15,182,76,5,0,131,252,249,65,15,130,244,248,131,252, | ||
312 | 249,90,15,135,244,248,131,252,241,32,248,2,136,12,6,248,3,131,232,1,15,137, | ||
313 | 244,1,137,252,240,139,116,36,84,252,233,244,123,248,131,129,252,248,239,15, | ||
314 | 130,244,63,255,139,171,233,59,171,233,15,130,244,247,232,244,75,248,1,129, | ||
315 | 122,253,4,239,15,133,244,63,139,42,139,133,233,57,131,233,15,130,244,129, | ||
310 | 129,197,239,137,116,36,84,137,68,36,32,139,179,233,252,233,244,249,248,1, | 316 | 129,197,239,137,116,36,84,137,68,36,32,139,179,233,252,233,244,249,248,1, |
311 | 15,182,76,5,0,131,252,249,65,15,130,244,248,131,252,249,90,15,135,244,248, | 317 | 15,182,76,5,0,131,252,249,97,15,130,244,248,255,131,252,249,122,15,135,244, |
312 | 131,252,241,32,248,2,136,12,6,248,3,131,232,1,15,137,244,1,137,252,240,139, | 318 | 248,131,252,241,32,248,2,136,12,6,248,3,131,232,1,15,137,244,1,137,252,240, |
313 | 116,36,84,252,233,244,122,248,130,129,252,248,239,15,130,244,62,255,139,171, | 319 | 139,116,36,84,252,233,244,123,248,132,129,252,248,239,15,130,244,63,129,122, |
314 | 233,59,171,233,15,130,244,247,232,244,74,248,1,129,122,253,4,239,15,133,244, | 320 | 253,4,239,15,133,244,63,137,213,139,10,232,251,1,20,137,252,234,255,137,197, |
315 | 62,139,42,139,133,233,57,131,233,15,130,244,128,129,197,239,137,116,36,84, | 321 | 252,233,244,71,255,252,242,15,42,192,252,233,244,72,255,248,133,129,252,248, |
316 | 137,68,36,32,139,179,233,252,233,244,249,248,1,15,182,76,5,0,131,252,249, | 322 | 239,15,130,244,63,129,122,253,4,239,255,15,133,244,247,139,42,252,233,244, |
317 | 97,15,130,244,248,255,131,252,249,122,15,135,244,248,131,252,241,32,248,2, | 323 | 89,248,1,15,135,244,63,255,252,242,15,16,2,72,189,237,237,102,72,15,110,205, |
318 | 136,12,6,248,3,131,232,1,15,137,244,1,137,252,240,139,116,36,84,252,233,244, | 324 | 252,242,15,88,193,102,15,126,197,255,252,233,244,89,255,248,134,129,252,248, |
319 | 122,248,131,129,252,248,239,15,130,244,62,129,122,253,4,239,15,133,244,62, | 325 | 239,15,130,244,63,255,72,189,237,237,102,72,15,110,205,255,199,68,36,80,0, |
320 | 137,213,139,10,232,251,1,20,137,252,234,255,137,197,252,233,244,70,255,252, | 326 | 0,192,89,255,15,133,244,247,139,42,252,233,244,248,248,1,15,135,244,63,255, |
321 | 242,15,42,192,252,233,244,71,255,248,132,129,252,248,239,15,130,244,62,129, | 327 | 252,242,15,16,2,252,242,15,88,193,102,15,126,197,255,248,2,137,68,36,84,141, |
322 | 122,253,4,239,255,15,133,244,247,139,42,252,233,244,88,248,1,15,135,244,62, | 328 | 68,194,252,240,248,1,57,208,15,134,244,89,129,120,253,4,239,255,15,133,244, |
323 | 255,252,242,15,16,2,72,189,237,237,102,72,15,110,205,252,242,15,88,193,102, | 329 | 248,35,40,131,232,8,252,233,244,1,248,2,15,135,244,135,255,15,131,244,135, |
324 | 15,126,197,255,252,233,244,88,255,248,133,129,252,248,239,15,130,244,62,255, | 330 | 255,252,242,15,16,0,252,242,15,88,193,102,15,126,193,33,205,255,131,232,8, |
325 | 72,189,237,237,102,72,15,110,205,255,199,68,36,80,0,0,192,89,255,15,133,244, | 331 | 252,233,244,1,248,136,129,252,248,239,15,130,244,63,255,15,133,244,248,11, |
326 | 247,139,42,252,233,244,248,248,1,15,135,244,62,255,252,242,15,16,2,252,242, | 332 | 40,131,232,8,252,233,244,1,248,2,15,135,244,135,255,252,242,15,16,0,252,242, |
327 | 15,88,193,102,15,126,197,255,248,2,137,68,36,84,141,68,194,252,240,248,1, | 333 | 15,88,193,102,15,126,193,9,205,255,131,232,8,252,233,244,1,248,137,129,252, |
328 | 57,208,15,134,244,88,129,120,253,4,239,255,15,133,244,248,35,40,131,232,8, | 334 | 248,239,15,130,244,63,255,15,133,244,248,51,40,131,232,8,252,233,244,1,248, |
329 | 252,233,244,1,248,2,15,135,244,134,255,15,131,244,134,255,252,242,15,16,0, | 335 | 2,15,135,244,135,255,252,242,15,16,0,252,242,15,88,193,102,15,126,193,49, |
330 | 252,242,15,88,193,102,15,126,193,33,205,255,131,232,8,252,233,244,1,248,135, | 336 | 205,255,131,232,8,252,233,244,1,248,138,129,252,248,239,15,130,244,63,129, |
331 | 129,252,248,239,15,130,244,62,255,15,133,244,248,11,40,131,232,8,252,233, | 337 | 122,253,4,239,255,248,2,15,205,252,233,244,89,248,139,129,252,248,239,15, |
332 | 244,1,248,2,15,135,244,134,255,252,242,15,16,0,252,242,15,88,193,102,15,126, | 338 | 130,244,63,129,122,253,4,239,255,248,2,252,247,213,255,248,89,252,242,15, |
333 | 193,9,205,255,131,232,8,252,233,244,1,248,136,129,252,248,239,15,130,244, | 339 | 42,197,252,233,244,72,255,248,135,139,68,36,84,252,233,244,63,255,248,140, |
334 | 62,255,15,133,244,248,51,40,131,232,8,252,233,244,1,248,2,15,135,244,134, | 340 | 129,252,248,239,15,130,244,63,129,122,253,4,239,255,248,2,129,122,253,12, |
335 | 255,252,242,15,16,0,252,242,15,88,193,102,15,126,193,49,205,255,131,232,8, | 341 | 239,15,133,244,63,139,74,8,255,248,140,129,252,248,239,15,130,244,63,129, |
336 | 252,233,244,1,248,137,129,252,248,239,15,130,244,62,129,122,253,4,239,255, | 342 | 122,253,4,239,15,131,244,63,129,122,253,12,239,15,131,244,63,252,242,15,16, |
337 | 248,2,15,205,252,233,244,88,248,138,129,252,248,239,15,130,244,62,129,122, | ||
338 | 253,4,239,255,248,2,252,247,213,255,248,88,252,242,15,42,197,252,233,244, | ||
339 | 71,255,248,134,139,68,36,84,252,233,244,62,255,248,139,129,252,248,239,15, | ||
340 | 130,244,62,129,122,253,4,239,255,248,2,129,122,253,12,239,15,133,244,62,139, | ||
341 | 74,8,255,248,139,129,252,248,239,15,130,244,62,129,122,253,4,239,15,131,244, | ||
342 | 62,129,122,253,12,239,15,131,244,62,252,242,15,16,2,252,242,15,16,74,8,72, | ||
343 | 189,237,237,102,72,15,110,213,252,242,15,88,194,252,242,15,88,202,102,15, | ||
344 | 126,197,102,15,126,201,255,211,229,252,233,244,88,255,248,140,129,252,248, | ||
345 | 239,15,130,244,62,129,122,253,4,239,255,248,140,129,252,248,239,15,130,244, | ||
346 | 62,129,122,253,4,239,15,131,244,62,129,122,253,12,239,15,131,244,62,252,242, | ||
347 | 15,16,2,252,242,15,16,74,8,72,189,237,237,102,72,15,110,213,252,242,15,88, | ||
348 | 194,252,242,15,88,202,102,15,126,197,102,15,126,201,255,211,252,237,252,233, | ||
349 | 244,88,255,248,141,129,252,248,239,15,130,244,62,129,122,253,4,239,255,248, | ||
350 | 141,129,252,248,239,15,130,244,62,129,122,253,4,239,15,131,244,62,129,122, | ||
351 | 253,12,239,15,131,244,62,252,242,15,16,2,252,242,15,16,74,8,72,189,237,237, | ||
352 | 102,72,15,110,213,252,242,15,88,194,252,242,15,88,202,102,15,126,197,102, | ||
353 | 15,126,201,255,211,252,253,252,233,244,88,255,248,142,129,252,248,239,15, | ||
354 | 130,244,62,129,122,253,4,239,255,248,142,129,252,248,239,15,130,244,62,129, | ||
355 | 122,253,4,239,15,131,244,62,129,122,253,12,239,15,131,244,62,252,242,15,16, | ||
356 | 2,252,242,15,16,74,8,72,189,237,237,102,72,15,110,213,252,242,15,88,194,252, | 343 | 2,252,242,15,16,74,8,72,189,237,237,102,72,15,110,213,252,242,15,88,194,252, |
357 | 242,15,88,202,102,15,126,197,102,15,126,201,255,211,197,252,233,244,88,255, | 344 | 242,15,88,202,102,15,126,197,102,15,126,201,255,211,229,252,233,244,89,255, |
358 | 248,143,129,252,248,239,15,130,244,62,129,122,253,4,239,255,248,143,129,252, | 345 | 248,141,129,252,248,239,15,130,244,63,129,122,253,4,239,255,248,141,129,252, |
359 | 248,239,15,130,244,62,129,122,253,4,239,15,131,244,62,129,122,253,12,239, | 346 | 248,239,15,130,244,63,129,122,253,4,239,15,131,244,63,129,122,253,12,239, |
360 | 15,131,244,62,252,242,15,16,2,252,242,15,16,74,8,72,189,237,237,102,72,15, | 347 | 15,131,244,63,252,242,15,16,2,252,242,15,16,74,8,72,189,237,237,102,72,15, |
361 | 110,213,252,242,15,88,194,252,242,15,88,202,102,15,126,197,102,15,126,201, | 348 | 110,213,252,242,15,88,194,252,242,15,88,202,102,15,126,197,102,15,126,201, |
362 | 255,211,205,252,233,244,88,248,126,184,237,252,233,244,62,248,128,184,237, | 349 | 255,211,252,237,252,233,244,89,255,248,142,129,252,248,239,15,130,244,63, |
363 | 248,62,139,108,36,96,139,114,252,252,137,116,36,100,137,149,233,141,68,194, | 350 | 129,122,253,4,239,255,248,142,129,252,248,239,15,130,244,63,129,122,253,4, |
364 | 252,248,141,136,233,137,133,233,139,66,252,248,59,141,233,15,135,244,251, | 351 | 239,15,131,244,63,129,122,253,12,239,15,131,244,63,252,242,15,16,2,252,242, |
365 | 137,252,233,252,255,144,233,139,149,233,133,192,15,143,244,77,248,1,255,139, | 352 | 15,16,74,8,72,189,237,237,102,72,15,110,213,252,242,15,88,194,252,242,15, |
366 | 141,233,41,209,193,252,233,3,133,192,141,65,1,139,106,252,248,15,133,244, | 353 | 88,202,102,15,126,197,102,15,126,201,255,211,252,253,252,233,244,89,255,248, |
367 | 32,139,181,233,139,14,15,182,252,233,15,182,205,131,198,4,252,255,36,252, | 354 | 143,129,252,248,239,15,130,244,63,129,122,253,4,239,255,248,143,129,252,248, |
368 | 235,248,32,137,209,252,247,198,237,15,133,244,249,15,182,110,252,253,72,252, | 355 | 239,15,130,244,63,129,122,253,4,239,15,131,244,63,129,122,253,12,239,15,131, |
369 | 247,213,141,20,252,234,252,233,244,28,248,3,137,252,245,131,229,252,248,41, | 356 | 244,63,252,242,15,16,2,252,242,15,16,74,8,72,189,237,237,102,72,15,110,213, |
370 | 252,234,252,233,244,28,248,5,186,237,137,252,233,232,251,1,0,139,149,233, | 357 | 252,242,15,88,194,252,242,15,88,202,102,15,126,197,102,15,126,201,255,211, |
371 | 49,192,252,233,244,1,248,74,93,72,137,108,36,32,139,108,36,96,137,116,36, | 358 | 197,252,233,244,89,255,248,144,129,252,248,239,15,130,244,63,129,122,253, |
372 | 100,137,149,233,255,141,68,194,252,248,137,252,233,137,133,233,232,251,1, | 359 | 4,239,255,248,144,129,252,248,239,15,130,244,63,129,122,253,4,239,15,131, |
373 | 21,139,149,233,139,133,233,41,208,193,232,3,131,192,1,72,139,108,36,32,85, | 360 | 244,63,129,122,253,12,239,15,131,244,63,252,242,15,16,2,252,242,15,16,74, |
374 | 195,248,144,255,15,182,131,233,168,235,15,133,244,251,168,235,15,133,244, | 361 | 8,72,189,237,237,102,72,15,110,213,252,242,15,88,194,252,242,15,88,202,102, |
375 | 247,168,235,15,132,244,247,252,255,139,233,252,233,244,247,255,248,145,15, | 362 | 15,126,197,102,15,126,201,255,211,205,252,233,244,89,248,127,184,237,252, |
376 | 182,131,233,168,235,15,133,244,251,252,233,244,247,248,146,15,182,131,233, | 363 | 233,244,63,248,129,184,237,248,63,139,108,36,96,139,114,252,252,137,116,36, |
377 | 168,235,15,133,244,251,168,235,15,132,244,251,252,255,139,233,15,132,244, | 364 | 100,137,149,233,141,68,194,252,248,141,136,233,137,133,233,139,66,252,248, |
378 | 247,168,235,15,132,244,251,248,1,255,139,108,36,96,137,149,233,137,252,242, | 365 | 59,141,233,15,135,244,251,137,252,233,252,255,144,233,139,149,233,133,192, |
379 | 137,252,233,232,251,1,22,248,3,139,149,233,248,4,15,182,78,252,253,248,5, | 366 | 15,143,244,78,248,1,255,139,141,233,41,209,193,252,233,3,133,192,141,65,1, |
380 | 15,182,110,252,252,15,183,70,252,254,252,255,164,253,252,235,233,248,147, | 367 | 139,106,252,248,15,133,244,33,139,181,233,139,14,15,182,252,233,15,182,205, |
381 | 131,198,4,139,77,232,137,76,36,84,252,233,244,4,248,148,255,139,106,252,248, | 368 | 131,198,4,252,255,36,252,235,248,33,137,209,252,247,198,237,15,133,244,249, |
382 | 139,173,233,15,182,133,233,141,4,194,139,108,36,96,137,149,233,137,133,233, | 369 | 15,182,110,252,253,72,252,247,213,141,20,252,234,252,233,244,28,248,3,137, |
383 | 137,252,242,141,139,233,72,137,171,233,137,116,36,100,232,251,1,23,252,233, | 370 | 252,245,131,229,252,248,41,252,234,252,233,244,28,248,5,186,237,137,252,233, |
384 | 244,3,255,248,149,137,116,36,100,255,248,150,255,137,116,36,100,131,206,1, | 371 | 232,251,1,0,139,149,233,49,192,252,233,244,1,248,75,93,72,137,108,36,32,139, |
385 | 248,1,255,141,68,194,252,248,139,108,36,96,137,149,233,137,133,233,137,252, | 372 | 108,36,96,137,116,36,100,137,149,233,255,141,68,194,252,248,137,252,233,137, |
386 | 242,137,252,233,232,251,1,24,199,68,36,100,0,0,0,0,255,131,230,252,254,255, | 373 | 133,233,232,251,1,21,139,149,233,139,133,233,41,208,193,232,3,131,192,1,72, |
387 | 139,149,233,72,137,193,139,133,233,41,208,72,137,205,15,182,78,252,253,193, | 374 | 139,108,36,32,85,195,248,145,255,15,182,131,233,168,235,15,133,244,251,168, |
388 | 232,3,131,192,1,252,255,229,248,151,255,65,85,65,84,65,83,65,82,65,81,65, | 375 | 235,15,133,244,247,168,235,15,132,244,247,252,255,139,233,252,233,244,247, |
389 | 80,87,86,85,72,141,108,36,88,85,83,82,81,80,15,182,69,252,248,138,101,252, | 376 | 255,248,146,15,182,131,233,168,235,15,133,244,251,252,233,244,247,248,147, |
390 | 240,76,137,125,252,248,76,137,117,252,240,139,93,0,139,139,233,199,131,233, | 377 | 15,182,131,233,168,235,15,133,244,251,168,235,15,132,244,251,252,255,139, |
391 | 237,137,131,233,137,139,233,72,129,252,236,239,72,131,197,128,252,242,68, | 378 | 233,15,132,244,247,168,235,15,132,244,251,248,1,255,139,108,36,96,137,149, |
392 | 15,17,125,252,248,252,242,68,15,17,117,252,240,252,242,68,15,17,109,232,252, | 379 | 233,137,252,242,137,252,233,232,251,1,22,248,3,139,149,233,248,4,15,182,78, |
393 | 242,68,15,17,101,224,252,242,68,15,17,93,216,252,242,68,15,17,85,208,252, | 380 | 252,253,248,5,15,182,110,252,252,15,183,70,252,254,252,255,164,253,252,235, |
394 | 242,68,15,17,77,200,252,242,68,15,17,69,192,252,242,15,17,125,184,252,242, | 381 | 233,248,148,131,198,4,139,77,232,137,76,36,84,252,233,244,4,248,149,255,139, |
395 | 15,17,117,176,252,242,15,17,109,168,252,242,15,17,101,160,252,242,15,17,93, | 382 | 106,252,248,139,173,233,15,182,133,233,141,4,194,139,108,36,96,137,149,233, |
396 | 152,252,242,15,17,85,144,252,242,15,17,77,136,252,242,15,17,69,128,139,171, | 383 | 137,133,233,137,252,242,141,139,233,72,137,171,233,137,116,36,100,232,251, |
397 | 233,139,147,233,72,137,171,233,199,131,233,0,0,0,0,137,149,233,72,141,148, | 384 | 1,23,252,233,244,3,255,248,150,137,116,36,100,255,248,151,255,137,116,36, |
398 | 253,36,233,141,139,233,232,251,1,25,72,139,141,233,72,129,225,239,137,169, | 385 | 100,131,206,1,248,1,255,141,68,194,252,248,139,108,36,96,137,149,233,137, |
399 | 233,139,149,233,139,177,233,252,233,244,247,255,248,152,255,72,141,140,253, | 386 | 133,233,137,252,242,137,252,233,232,251,1,24,199,68,36,100,0,0,0,0,255,131, |
400 | 36,233,248,1,102,68,15,111,185,233,102,68,15,111,177,233,102,68,15,111,169, | 387 | 230,252,254,255,139,149,233,72,137,193,139,133,233,41,208,72,137,205,15,182, |
401 | 233,102,68,15,111,161,233,102,68,15,111,153,233,102,68,15,111,145,233,102, | 388 | 78,252,253,193,232,3,131,192,1,252,255,229,248,152,255,65,85,65,84,65,83, |
402 | 68,15,111,137,233,102,68,15,111,129,233,102,15,111,185,233,72,137,204,102, | 389 | 65,82,65,81,65,80,87,86,85,72,141,108,36,88,85,83,82,81,80,15,182,69,252, |
403 | 15,111,49,76,139,124,36,16,76,139,116,36,24,76,139,108,36,32,76,139,100,36, | 390 | 248,138,101,252,240,76,137,125,252,248,76,137,117,252,240,139,93,0,139,139, |
404 | 80,133,192,15,136,244,249,137,68,36,84,139,122,252,248,139,191,233,139,191, | 391 | 233,199,131,233,237,137,131,233,137,139,233,72,129,252,236,239,72,131,197, |
405 | 233,199,131,233,0,0,0,0,199,131,233,237,139,6,15,182,204,15,182,232,131,198, | 392 | 128,252,242,68,15,17,125,252,248,252,242,68,15,17,117,252,240,252,242,68, |
406 | 4,193,232,16,129,252,253,239,15,130,244,248,255,139,68,36,84,248,2,252,255, | 393 | 15,17,109,232,252,242,68,15,17,101,224,252,242,68,15,17,93,216,252,242,68, |
407 | 36,252,235,248,3,252,247,216,137,252,233,137,194,232,251,1,26,255,248,90, | 394 | 15,17,85,208,252,242,68,15,17,77,200,252,242,68,15,17,69,192,252,242,15,17, |
408 | 255,217,124,36,4,137,68,36,8,102,184,0,4,102,11,68,36,4,102,37,252,255,252, | 395 | 125,184,252,242,15,17,117,176,252,242,15,17,109,168,252,242,15,17,101,160, |
409 | 247,102,137,68,36,6,217,108,36,6,217,252,252,217,108,36,4,139,68,36,8,195, | 396 | 252,242,15,17,93,152,252,242,15,17,85,144,252,242,15,17,77,136,252,242,15, |
410 | 255,248,153,72,184,237,237,102,72,15,110,208,72,184,237,237,102,72,15,110, | 397 | 17,69,128,139,171,233,139,147,233,72,137,171,233,199,131,233,0,0,0,0,137, |
411 | 216,15,40,200,102,15,84,202,102,15,46,217,15,134,244,247,102,15,85,208,252, | 398 | 149,233,72,141,148,253,36,233,141,139,233,232,251,1,25,72,139,141,233,72, |
412 | 242,15,88,203,252,242,15,92,203,102,15,86,202,72,184,237,237,102,72,15,110, | 399 | 129,225,239,137,169,233,139,149,233,139,177,233,252,233,244,247,255,248,153, |
413 | 208,252,242,15,194,193,1,102,15,84,194,252,242,15,92,200,15,40,193,248,1, | 400 | 255,72,141,140,253,36,233,248,1,102,68,15,111,185,233,102,68,15,111,177,233, |
414 | 195,248,92,255,217,124,36,4,137,68,36,8,102,184,0,8,102,11,68,36,4,102,37, | 401 | 102,68,15,111,169,233,102,68,15,111,161,233,102,68,15,111,153,233,102,68, |
415 | 252,255,252,251,102,137,68,36,6,217,108,36,6,217,252,252,217,108,36,4,139, | 402 | 15,111,145,233,102,68,15,111,137,233,102,68,15,111,129,233,102,15,111,185, |
416 | 68,36,8,195,255,248,154,72,184,237,237,102,72,15,110,208,72,184,237,237,102, | 403 | 233,72,137,204,102,15,111,49,76,139,124,36,16,76,139,116,36,24,76,139,108, |
417 | 72,15,110,216,15,40,200,102,15,84,202,102,15,46,217,15,134,244,247,102,15, | 404 | 36,32,76,139,100,36,80,133,192,15,136,244,249,137,68,36,84,139,122,252,248, |
418 | 85,208,252,242,15,88,203,252,242,15,92,203,102,15,86,202,72,184,237,237,102, | 405 | 139,191,233,139,191,233,199,131,233,0,0,0,0,199,131,233,237,139,6,15,182, |
419 | 72,15,110,208,252,242,15,194,193,6,102,15,84,194,252,242,15,92,200,15,40, | 406 | 204,15,182,232,131,198,4,193,232,16,129,252,253,239,15,130,244,248,255,139, |
420 | 193,248,1,195,248,113,255,217,124,36,4,137,68,36,8,102,184,0,12,102,11,68, | 407 | 68,36,84,248,2,252,255,36,252,235,248,3,252,247,216,137,252,233,137,194,232, |
421 | 36,4,102,137,68,36,6,217,108,36,6,217,252,252,217,108,36,4,139,68,36,8,195, | 408 | 251,1,26,255,248,91,255,217,124,36,4,137,68,36,8,102,184,0,4,102,11,68,36, |
422 | 255,248,155,72,184,237,237,102,72,15,110,208,72,184,237,237,102,72,15,110, | 409 | 4,102,37,252,255,252,247,102,137,68,36,6,217,108,36,6,217,252,252,217,108, |
423 | 216,15,40,200,102,15,84,202,102,15,46,217,15,134,244,247,102,15,85,208,15, | 410 | 36,4,139,68,36,8,195,255,248,154,72,184,237,237,102,72,15,110,208,72,184, |
424 | 40,193,252,242,15,88,203,252,242,15,92,203,72,184,237,237,102,72,15,110,216, | 411 | 237,237,102,72,15,110,216,15,40,200,102,15,84,202,102,15,46,217,15,134,244, |
425 | 252,242,15,194,193,1,102,15,84,195,252,242,15,92,200,102,15,86,202,15,40, | 412 | 247,102,15,85,208,252,242,15,88,203,252,242,15,92,203,102,15,86,202,72,184, |
426 | 193,248,1,195,248,156,255,15,40,232,252,242,15,94,193,72,184,237,237,102, | 413 | 237,237,102,72,15,110,208,252,242,15,194,193,1,102,15,84,194,252,242,15,92, |
427 | 72,15,110,208,72,184,237,237,102,72,15,110,216,15,40,224,102,15,84,226,102, | 414 | 200,15,40,193,248,1,195,248,93,255,217,124,36,4,137,68,36,8,102,184,0,8,102, |
428 | 15,46,220,15,134,244,247,102,15,85,208,252,242,15,88,227,252,242,15,92,227, | 415 | 11,68,36,4,102,37,252,255,252,251,102,137,68,36,6,217,108,36,6,217,252,252, |
429 | 102,15,86,226,72,184,237,237,102,72,15,110,208,252,242,15,194,196,1,102,15, | 416 | 217,108,36,4,139,68,36,8,195,255,248,155,72,184,237,237,102,72,15,110,208, |
430 | 84,194,252,242,15,92,224,15,40,197,252,242,15,89,204,252,242,15,92,193,195, | 417 | 72,184,237,237,102,72,15,110,216,15,40,200,102,15,84,202,102,15,46,217,15, |
431 | 248,1,252,242,15,89,200,15,40,197,252,242,15,92,193,195,255,217,193,216,252, | 418 | 134,244,247,102,15,85,208,252,242,15,88,203,252,242,15,92,203,102,15,86,202, |
432 | 241,217,124,36,4,102,184,0,4,102,11,68,36,4,102,37,252,255,252,247,102,137, | 419 | 72,184,237,237,102,72,15,110,208,252,242,15,194,193,6,102,15,84,194,252,242, |
433 | 68,36,6,217,108,36,6,217,252,252,217,108,36,4,222,201,222,252,233,195,255, | 420 | 15,92,200,15,40,193,248,1,195,248,114,255,217,124,36,4,137,68,36,8,102,184, |
434 | 248,97,217,252,234,222,201,248,157,217,84,36,8,129,124,36,8,0,0,128,127,15, | 421 | 0,12,102,11,68,36,4,102,137,68,36,6,217,108,36,6,217,252,252,217,108,36,4, |
435 | 132,244,247,129,124,36,8,0,0,128,252,255,15,132,244,248,248,158,217,192,217, | 422 | 139,68,36,8,195,255,248,156,72,184,237,237,102,72,15,110,208,72,184,237,237, |
436 | 252,252,220,252,233,217,201,217,252,240,217,232,222,193,217,252,253,221,217, | 423 | 102,72,15,110,216,15,40,200,102,15,84,202,102,15,46,217,15,134,244,247,102, |
437 | 248,1,195,248,2,221,216,217,252,238,195,255,248,116,255,248,159,252,242,15, | 424 | 15,85,208,15,40,193,252,242,15,88,203,252,242,15,92,203,72,184,237,237,102, |
438 | 45,193,252,242,15,42,208,102,15,46,202,15,133,244,254,15,138,244,255,248, | 425 | 72,15,110,216,252,242,15,194,193,1,102,15,84,195,252,242,15,92,200,102,15, |
439 | 160,131,252,248,1,15,142,244,252,248,1,169,1,0,0,0,15,133,244,248,252,242, | 426 | 86,202,15,40,193,248,1,195,248,157,255,15,40,232,252,242,15,94,193,72,184, |
440 | 15,89,192,209,232,252,233,244,1,248,2,209,232,15,132,244,251,15,40,200,248, | 427 | 237,237,102,72,15,110,208,72,184,237,237,102,72,15,110,216,15,40,224,102, |
441 | 3,252,242,15,89,192,209,232,15,132,244,250,15,131,244,3,255,252,242,15,89, | 428 | 15,84,226,102,15,46,220,15,134,244,247,102,15,85,208,252,242,15,88,227,252, |
442 | 200,252,233,244,3,248,4,252,242,15,89,193,248,5,195,248,6,15,132,244,5,15, | 429 | 242,15,92,227,102,15,86,226,72,184,237,237,102,72,15,110,208,252,242,15,194, |
443 | 130,244,253,252,247,216,232,244,1,72,184,237,237,102,72,15,110,200,252,242, | 430 | 196,1,102,15,84,194,252,242,15,92,224,15,40,197,252,242,15,89,204,252,242, |
444 | 15,94,200,15,40,193,195,248,7,72,184,237,237,102,72,15,110,192,195,248,8, | 431 | 15,92,193,195,248,1,252,242,15,89,200,15,40,197,252,242,15,92,193,195,255, |
445 | 102,72,15,126,200,72,209,224,72,193,192,12,72,61,252,254,15,0,0,15,132,244, | 432 | 217,193,216,252,241,217,124,36,4,102,184,0,4,102,11,68,36,4,102,37,252,255, |
446 | 248,102,72,15,126,192,72,209,224,15,132,244,250,255,72,193,192,12,72,61,252, | 433 | 252,247,102,137,68,36,6,217,108,36,6,217,252,252,217,108,36,4,222,201,222, |
447 | 254,15,0,0,15,132,244,251,252,242,15,17,76,36,16,252,242,15,17,68,36,8,221, | 434 | 252,233,195,255,248,98,217,252,234,222,201,248,158,217,84,36,8,129,124,36, |
448 | 68,36,16,221,68,36,8,217,252,241,217,192,217,252,252,220,252,233,217,201, | 435 | 8,0,0,128,127,15,132,244,247,129,124,36,8,0,0,128,252,255,15,132,244,248, |
449 | 217,252,240,217,232,222,193,217,252,253,221,217,221,92,36,8,252,242,15,16, | 436 | 248,159,217,192,217,252,252,220,252,233,217,201,217,252,240,217,232,222,193, |
450 | 68,36,8,195,248,9,72,184,237,237,102,72,15,110,208,102,15,46,194,15,132,244, | 437 | 217,252,253,221,217,248,1,195,248,2,221,216,217,252,238,195,255,248,117,255, |
451 | 247,15,40,193,248,1,195,248,2,72,184,237,237,102,72,15,110,208,102,15,84, | 438 | 248,160,252,242,15,45,193,252,242,15,42,208,102,15,46,202,15,133,244,254, |
452 | 194,72,184,237,237,102,72,15,110,208,102,15,46,194,15,132,244,1,102,15,80, | 439 | 15,138,244,255,248,161,131,252,248,1,15,142,244,252,248,1,169,1,0,0,0,15, |
453 | 193,15,87,192,136,196,15,146,208,48,224,15,133,244,1,248,3,72,184,237,237, | 440 | 133,244,248,252,242,15,89,192,209,232,252,233,244,1,248,2,209,232,15,132, |
454 | 255,102,72,15,110,192,195,248,4,102,15,80,193,133,192,15,133,244,3,15,87, | 441 | 244,251,15,40,200,248,3,252,242,15,89,192,209,232,15,132,244,250,15,131,244, |
455 | 192,195,248,5,102,15,80,193,133,192,15,132,244,3,15,87,192,195,248,161,255, | 442 | 3,255,252,242,15,89,200,252,233,244,3,248,4,252,242,15,89,193,248,5,195,248, |
456 | 131,252,250,1,15,130,244,90,15,132,244,92,131,252,250,3,15,130,244,113,15, | 443 | 6,15,132,244,5,15,130,244,253,252,247,216,232,244,1,72,184,237,237,102,72, |
457 | 135,244,248,252,242,15,81,192,195,248,2,252,242,15,17,68,36,8,221,68,36,8, | 444 | 15,110,200,252,242,15,94,200,15,40,193,195,248,7,72,184,237,237,102,72,15, |
458 | 131,252,250,5,15,135,244,248,88,15,132,244,247,232,244,97,80,252,233,244, | 445 | 110,192,195,248,8,102,72,15,126,200,72,209,224,72,193,192,12,72,61,252,254, |
459 | 253,248,1,232,244,157,255,80,252,233,244,253,248,2,131,252,250,7,15,132,244, | 446 | 15,0,0,15,132,244,248,102,72,15,126,192,72,209,224,15,132,244,250,255,72, |
460 | 247,15,135,244,248,217,252,237,217,201,217,252,241,252,233,244,253,248,1, | 447 | 193,192,12,72,61,252,254,15,0,0,15,132,244,251,252,242,15,17,76,36,16,252, |
461 | 217,232,217,201,217,252,241,252,233,244,253,248,2,131,252,250,9,15,132,244, | 448 | 242,15,17,68,36,8,221,68,36,16,221,68,36,8,217,252,241,217,192,217,252,252, |
462 | 247,15,135,244,248,217,252,236,217,201,217,252,241,252,233,244,253,248,1, | 449 | 220,252,233,217,201,217,252,240,217,232,222,193,217,252,253,221,217,221,92, |
463 | 255,217,252,254,252,233,244,253,248,2,131,252,250,11,15,132,244,247,15,135, | 450 | 36,8,252,242,15,16,68,36,8,195,248,9,72,184,237,237,102,72,15,110,208,102, |
464 | 244,255,217,252,255,252,233,244,253,248,1,217,252,242,221,216,248,7,221,92, | 451 | 15,46,194,15,132,244,247,15,40,193,248,1,195,248,2,72,184,237,237,102,72, |
465 | 36,8,252,242,15,16,68,36,8,195,255,139,84,36,12,221,68,36,4,131,252,250,1, | 452 | 15,110,208,102,15,84,194,72,184,237,237,102,72,15,110,208,102,15,46,194,15, |
466 | 15,130,244,90,15,132,244,92,131,252,250,3,15,130,244,113,15,135,244,248,217, | 453 | 132,244,1,102,15,80,193,15,87,192,136,196,15,146,208,48,224,15,133,244,1, |
467 | 252,250,195,248,2,131,252,250,5,15,130,244,97,15,132,244,157,131,252,250, | 454 | 248,3,72,184,237,237,255,102,72,15,110,192,195,248,4,102,15,80,193,133,192, |
468 | 7,15,132,244,247,15,135,244,248,217,252,237,217,201,217,252,241,195,248,1, | 455 | 15,133,244,3,15,87,192,195,248,5,102,15,80,193,133,192,15,132,244,3,15,87, |
469 | 217,232,217,201,217,252,241,195,248,2,131,252,250,9,15,132,244,247,255,15, | 456 | 192,195,248,162,255,131,252,250,1,15,130,244,91,15,132,244,93,131,252,250, |
470 | 135,244,248,217,252,236,217,201,217,252,241,195,248,1,217,252,254,195,248, | 457 | 3,15,130,244,114,15,135,244,248,252,242,15,81,192,195,248,2,252,242,15,17, |
471 | 2,131,252,250,11,15,132,244,247,15,135,244,255,217,252,255,195,248,1,217, | 458 | 68,36,8,221,68,36,8,131,252,250,5,15,135,244,248,88,15,132,244,247,232,244, |
472 | 252,242,221,216,195,255,248,9,204,255,248,162,255,65,131,252,248,1,15,132, | 459 | 98,80,252,233,244,253,248,1,232,244,158,255,80,252,233,244,253,248,2,131, |
473 | 244,247,15,135,244,248,252,242,15,88,193,195,248,1,252,242,15,92,193,195, | 460 | 252,250,7,15,132,244,247,15,135,244,248,217,252,237,217,201,217,252,241,252, |
474 | 248,2,65,131,252,248,3,15,132,244,247,15,135,244,248,252,242,15,89,193,195, | 461 | 233,244,253,248,1,217,232,217,201,217,252,241,252,233,244,253,248,2,131,252, |
475 | 248,1,252,242,15,94,193,195,248,2,65,131,252,248,5,15,130,244,156,15,132, | 462 | 250,9,15,132,244,247,15,135,244,248,217,252,236,217,201,217,252,241,252,233, |
476 | 244,116,65,131,252,248,7,15,132,244,247,15,135,244,248,72,184,237,237,255, | 463 | 244,253,248,1,255,217,252,254,252,233,244,253,248,2,131,252,250,11,15,132, |
477 | 102,72,15,110,200,15,87,193,195,248,1,72,184,237,237,102,72,15,110,200,15, | 464 | 244,247,15,135,244,255,217,252,255,252,233,244,253,248,1,217,252,242,221, |
478 | 84,193,195,248,2,65,131,252,248,9,15,135,244,248,252,242,15,17,68,36,8,252, | 465 | 216,248,7,221,92,36,8,252,242,15,16,68,36,8,195,255,139,84,36,12,221,68,36, |
479 | 242,15,17,76,36,16,221,68,36,8,221,68,36,16,15,132,244,247,217,252,243,248, | 466 | 4,131,252,250,1,15,130,244,91,15,132,244,93,131,252,250,3,15,130,244,114, |
480 | 7,221,92,36,8,252,242,15,16,68,36,8,195,248,1,217,201,217,252,253,221,217, | 467 | 15,135,244,248,217,252,250,195,248,2,131,252,250,5,15,130,244,98,15,132,244, |
481 | 252,233,244,7,248,2,65,131,252,248,11,15,132,244,247,15,135,244,255,252,242, | 468 | 158,131,252,250,7,15,132,244,247,15,135,244,248,217,252,237,217,201,217,252, |
482 | 15,93,193,195,248,1,252,242,15,95,193,195,248,9,204,255,139,68,36,20,221, | 469 | 241,195,248,1,217,232,217,201,217,252,241,195,248,2,131,252,250,9,15,132, |
483 | 68,36,4,221,68,36,12,131,252,248,1,15,132,244,247,15,135,244,248,222,193, | 470 | 244,247,255,15,135,244,248,217,252,236,217,201,217,252,241,195,248,1,217, |
484 | 195,248,1,222,252,233,195,248,2,131,252,248,3,15,132,244,247,15,135,244,248, | 471 | 252,254,195,248,2,131,252,250,11,15,132,244,247,15,135,244,255,217,252,255, |
485 | 222,201,195,248,1,222,252,249,195,248,2,131,252,248,5,15,130,244,156,15,132, | 472 | 195,248,1,217,252,242,221,216,195,255,248,9,204,255,248,163,255,65,131,252, |
486 | 244,116,131,252,248,7,15,132,244,247,15,135,244,248,255,221,216,217,224,195, | 473 | 248,1,15,132,244,247,15,135,244,248,252,242,15,88,193,195,248,1,252,242,15, |
487 | 248,1,221,216,217,225,195,248,2,131,252,248,9,15,132,244,247,15,135,244,248, | 474 | 92,193,195,248,2,65,131,252,248,3,15,132,244,247,15,135,244,248,252,242,15, |
488 | 217,252,243,195,248,1,217,201,217,252,253,221,217,195,248,2,131,252,248,11, | 475 | 89,193,195,248,1,252,242,15,94,193,195,248,2,65,131,252,248,5,15,130,244, |
489 | 15,132,244,247,15,135,244,255,255,219,252,233,219,209,221,217,195,248,1,219, | 476 | 157,15,132,244,117,65,131,252,248,7,15,132,244,247,15,135,244,248,72,184, |
490 | 252,233,218,209,221,217,195,255,221,225,223,224,252,246,196,1,15,132,244, | 477 | 237,237,255,102,72,15,110,200,15,87,193,195,248,1,72,184,237,237,102,72,15, |
491 | 248,217,201,248,2,221,216,195,248,1,221,225,223,224,252,246,196,1,15,133, | 478 | 110,200,15,84,193,195,248,2,65,131,252,248,9,15,135,244,248,252,242,15,17, |
492 | 244,248,217,201,248,2,221,216,195,255,248,163,137,200,86,72,137,214,83,15, | 479 | 68,36,8,252,242,15,17,76,36,16,221,68,36,8,221,68,36,16,15,132,244,247,217, |
493 | 162,137,6,137,94,4,137,78,8,137,86,12,91,94,195,248,164,255,204,248,165,255, | 480 | 252,243,248,7,221,92,36,8,252,242,15,16,68,36,8,195,248,1,217,201,217,252, |
494 | 85,72,137,229,83,72,137,203,139,131,233,72,41,196,255,15,182,139,233,131, | 481 | 253,221,217,252,233,244,7,248,2,65,131,252,248,11,15,132,244,247,15,135,244, |
495 | 252,233,1,15,136,244,248,248,1,72,139,132,253,203,233,72,137,132,253,204, | 482 | 255,252,242,15,93,193,195,248,1,252,242,15,95,193,195,248,9,204,255,139,68, |
496 | 233,131,252,233,1,15,137,244,1,248,2,15,182,131,233,72,139,139,233,72,139, | 483 | 36,20,221,68,36,4,221,68,36,12,131,252,248,1,15,132,244,247,15,135,244,248, |
497 | 147,233,76,139,131,233,76,139,139,233,133,192,15,132,244,251,15,40,131,233, | 484 | 222,193,195,248,1,222,252,233,195,248,2,131,252,248,3,15,132,244,247,15,135, |
498 | 15,40,139,233,15,40,147,233,15,40,155,233,248,5,255,252,255,147,233,72,137, | 485 | 244,248,222,201,195,248,1,222,252,249,195,248,2,131,252,248,5,15,130,244, |
499 | 131,233,15,41,131,233,255,72,139,93,252,248,201,195,255,249,255,129,124,253, | 486 | 157,15,132,244,117,131,252,248,7,15,132,244,247,15,135,244,248,255,221,216, |
500 | 202,4,239,15,133,244,253,129,124,253,194,4,239,15,133,244,254,139,44,202, | 487 | 217,224,195,248,1,221,216,217,225,195,248,2,131,252,248,9,15,132,244,247, |
501 | 131,198,4,59,44,194,255,15,141,244,255,255,15,140,244,255,255,15,143,244, | 488 | 15,135,244,248,217,252,243,195,248,1,217,201,217,252,253,221,217,195,248, |
502 | 255,255,15,142,244,255,255,248,6,15,183,70,252,254,141,180,253,134,233,248, | 489 | 2,131,252,248,11,15,132,244,247,15,135,244,255,255,219,252,233,219,209,221, |
503 | 9,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,248, | 490 | 217,195,248,1,219,252,233,218,209,221,217,195,255,221,225,223,224,252,246, |
504 | 7,15,135,244,43,129,124,253,194,4,239,15,130,244,247,15,133,244,43,255,252, | 491 | 196,1,15,132,244,248,217,201,248,2,221,216,195,248,1,221,225,223,224,252, |
505 | 242,15,42,4,194,252,233,244,248,255,221,4,202,219,4,194,252,233,244,249,255, | 492 | 246,196,1,15,133,244,248,217,201,248,2,221,216,195,255,248,164,137,200,86, |
506 | 248,8,15,135,244,43,255,252,242,15,42,12,202,252,242,15,16,4,194,131,198, | 493 | 72,137,214,83,15,162,137,6,137,94,4,137,78,8,137,86,12,91,94,195,248,165, |
507 | 4,102,15,46,193,255,15,134,244,9,255,15,135,244,9,255,15,130,244,9,255,15, | 494 | 255,204,248,166,255,87,86,83,72,131,252,236,40,141,157,233,139,181,233,15, |
508 | 131,244,9,255,252,233,244,6,255,219,4,202,252,233,244,248,255,129,124,253, | 495 | 183,192,137,134,233,72,137,142,233,72,137,150,233,76,137,134,233,76,137,142, |
509 | 202,4,239,15,131,244,43,129,124,253,194,4,239,15,131,244,43,255,248,1,252, | 496 | 233,252,242,15,17,134,233,252,242,15,17,142,233,252,242,15,17,150,233,252, |
510 | 242,15,16,4,194,248,2,131,198,4,102,15,46,4,202,248,3,255,248,1,221,4,202, | 497 | 242,15,17,158,233,72,141,132,253,36,233,72,137,134,233,72,137,226,137,116, |
511 | 248,2,221,4,194,248,3,131,198,4,255,223,252,233,221,216,255,218,252,233,223, | 498 | 36,100,137,252,241,232,251,1,27,199,131,233,237,139,144,233,139,128,233,41, |
512 | 224,158,255,15,134,244,247,255,15,135,244,247,255,15,130,244,247,255,15,131, | 499 | 208,139,106,252,248,193,232,3,131,192,1,139,181,233,139,14,15,182,252,233, |
513 | 244,247,255,15,183,70,252,254,141,180,253,134,233,248,1,139,6,15,182,204, | 500 | 15,182,205,131,198,4,252,255,36,252,235,255,248,32,255,139,76,36,96,139,179, |
514 | 15,182,232,131,198,4,193,232,16,252,255,36,252,235,255,139,108,194,4,131, | 501 | 233,72,137,142,233,137,145,233,137,169,233,137,252,241,137,194,232,251,1, |
515 | 198,4,255,129,252,253,239,15,133,244,253,129,124,253,202,4,239,15,133,244, | 502 | 28,72,139,134,233,252,242,15,16,134,233,252,233,244,16,255,248,167,255,85, |
516 | 254,139,44,194,59,44,202,255,15,133,244,255,255,15,132,244,255,255,15,183, | 503 | 72,137,229,83,72,137,203,139,131,233,72,41,196,255,15,182,139,233,131,252, |
517 | 70,252,254,141,180,253,134,233,248,9,139,6,15,182,204,15,182,232,131,198, | 504 | 233,1,15,136,244,248,248,1,72,139,132,253,203,233,72,137,132,253,204,233, |
518 | 4,193,232,16,252,255,36,252,235,248,7,15,135,244,251,129,124,253,202,4,239, | 505 | 131,252,233,1,15,137,244,1,248,2,15,182,131,233,72,139,139,233,72,139,147, |
519 | 15,130,244,247,15,133,244,251,255,252,242,15,42,4,202,255,219,4,202,255,252, | 506 | 233,76,139,131,233,76,139,139,233,133,192,15,132,244,251,15,40,131,233,15, |
520 | 233,244,248,248,8,15,135,244,251,255,252,242,15,42,4,194,102,15,46,4,202, | 507 | 40,139,233,15,40,147,233,15,40,155,233,248,5,255,252,255,147,233,72,137,131, |
521 | 255,219,4,194,221,4,202,255,252,233,244,250,255,129,252,253,239,15,131,244, | 508 | 233,15,41,131,233,255,72,139,93,252,248,201,195,255,129,124,253,202,4,239, |
522 | 251,129,124,253,202,4,239,15,131,244,251,255,248,1,252,242,15,16,4,202,248, | 509 | 15,133,244,253,129,124,253,194,4,239,15,133,244,254,139,44,202,131,198,4, |
523 | 2,102,15,46,4,194,248,4,255,248,1,221,4,202,248,2,221,4,194,248,4,255,15, | 510 | 59,44,194,255,15,141,244,255,255,15,140,244,255,255,15,143,244,255,255,15, |
524 | 138,244,248,15,133,244,248,255,15,138,244,248,15,132,244,247,255,248,1,15, | 511 | 142,244,255,255,248,6,15,183,70,252,254,141,180,253,134,233,248,9,139,6,15, |
525 | 183,70,252,254,141,180,253,134,233,248,2,255,248,2,15,183,70,252,254,141, | 512 | 182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,7,15,135,244, |
526 | 180,253,134,233,248,1,255,252,233,244,9,255,129,252,253,239,15,132,244,48, | 513 | 44,129,124,253,194,4,239,15,130,244,247,15,133,244,44,255,252,242,15,42,4, |
527 | 129,124,253,202,4,239,15,132,244,48,255,57,108,202,4,15,133,244,2,129,252, | 514 | 194,252,233,244,248,255,221,4,202,219,4,194,252,233,244,249,255,248,8,15, |
528 | 253,239,15,131,244,1,139,12,202,139,4,194,57,193,15,132,244,1,129,252,253, | 515 | 135,244,44,255,252,242,15,42,12,202,252,242,15,16,4,194,131,198,4,102,15, |
529 | 239,15,135,244,2,129,252,253,239,15,130,244,2,139,169,233,133,252,237,15, | 516 | 46,193,255,15,134,244,9,255,15,135,244,9,255,15,130,244,9,255,15,131,244, |
530 | 132,244,2,252,246,133,233,235,15,133,244,2,255,49,252,237,255,189,1,0,0,0, | 517 | 9,255,252,233,244,6,255,219,4,202,252,233,244,248,255,129,124,253,202,4,239, |
531 | 255,252,233,244,47,255,248,3,129,252,253,239,255,15,133,244,9,255,252,233, | 518 | 15,131,244,44,129,124,253,194,4,239,15,131,244,44,255,248,1,252,242,15,16, |
532 | 244,48,255,72,252,247,208,139,108,202,4,131,198,4,129,252,253,239,15,133, | 519 | 4,194,248,2,131,198,4,102,15,46,4,202,248,3,255,248,1,221,4,202,248,2,221, |
533 | 244,249,139,12,202,59,12,135,255,139,108,202,4,131,198,4,255,129,252,253, | 520 | 4,194,248,3,131,198,4,255,223,252,233,221,216,255,218,252,233,223,224,158, |
534 | 239,15,133,244,253,129,124,253,199,4,239,15,133,244,254,139,44,199,59,44, | 521 | 255,15,135,244,247,255,15,130,244,247,255,15,131,244,247,255,15,183,70,252, |
535 | 202,255,15,183,70,252,254,141,180,253,134,233,248,9,139,6,15,182,204,15,182, | 522 | 254,141,180,253,134,233,248,1,139,6,15,182,204,15,182,232,131,198,4,193,232, |
536 | 232,131,198,4,193,232,16,252,255,36,252,235,248,7,15,135,244,249,129,124, | 523 | 16,252,255,36,252,235,255,139,108,194,4,131,198,4,255,129,252,253,239,15, |
537 | 253,199,4,239,15,130,244,247,255,252,242,15,42,4,199,255,219,4,199,255,252, | 524 | 133,244,253,129,124,253,202,4,239,15,133,244,254,139,44,194,59,44,202,255, |
538 | 233,244,248,248,8,255,252,242,15,42,4,202,102,15,46,4,199,255,219,4,202,221, | 525 | 15,133,244,255,255,15,132,244,255,255,15,183,70,252,254,141,180,253,134,233, |
539 | 4,199,255,129,252,253,239,15,131,244,249,255,248,1,252,242,15,16,4,199,248, | 526 | 248,9,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235, |
540 | 2,102,15,46,4,202,248,4,255,248,1,221,4,199,248,2,221,4,202,248,4,255,72, | 527 | 248,7,15,135,244,251,129,124,253,202,4,239,15,130,244,247,15,133,244,251, |
541 | 252,247,208,139,108,202,4,131,198,4,57,197,255,15,133,244,249,15,183,70,252, | 528 | 255,252,242,15,42,4,202,255,219,4,202,255,252,233,244,248,248,8,15,135,244, |
542 | 254,141,180,253,134,233,248,2,139,6,15,182,204,15,182,232,131,198,4,193,232, | 529 | 251,255,252,242,15,42,4,194,102,15,46,4,202,255,219,4,194,221,4,202,255,252, |
543 | 16,252,255,36,252,235,248,3,129,252,253,239,15,133,244,2,252,233,244,48,255, | 530 | 233,244,250,255,129,252,253,239,15,131,244,251,129,124,253,202,4,239,15,131, |
544 | 15,132,244,248,129,252,253,239,15,132,244,48,15,183,70,252,254,141,180,253, | 531 | 244,251,255,248,1,252,242,15,16,4,202,248,2,102,15,46,4,194,248,4,255,248, |
545 | 134,233,248,2,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36, | 532 | 1,221,4,202,248,2,221,4,194,248,4,255,15,138,244,248,15,133,244,248,255,15, |
546 | 252,235,255,139,108,194,4,131,198,4,129,252,253,239,255,137,108,202,4,139, | 533 | 138,244,248,15,132,244,247,255,248,1,15,183,70,252,254,141,180,253,134,233, |
547 | 44,194,137,44,202,255,72,139,44,194,72,137,44,202,139,6,15,182,204,15,182, | 534 | 248,2,255,248,2,15,183,70,252,254,141,180,253,134,233,248,1,255,252,233,244, |
548 | 232,131,198,4,193,232,16,252,255,36,252,235,255,49,252,237,129,124,253,194, | 535 | 9,255,129,252,253,239,15,132,244,49,129,124,253,202,4,239,15,132,244,49,255, |
549 | 4,239,129,213,239,137,108,202,4,139,6,15,182,204,15,182,232,131,198,4,193, | 536 | 57,108,202,4,15,133,244,2,129,252,253,239,15,131,244,1,139,12,202,139,4,194, |
550 | 232,16,252,255,36,252,235,255,129,124,253,194,4,239,15,133,244,251,139,44, | 537 | 57,193,15,132,244,1,129,252,253,239,15,135,244,2,129,252,253,239,15,130,244, |
551 | 194,252,247,221,15,128,244,250,199,68,202,4,237,137,44,202,248,9,139,6,15, | 538 | 2,139,169,233,133,252,237,15,132,244,2,252,246,133,233,235,15,133,244,2,255, |
552 | 182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,4,199,68,202, | 539 | 49,252,237,255,189,1,0,0,0,255,252,233,244,48,255,248,3,129,252,253,239,255, |
553 | 4,0,0,224,65,199,4,202,0,0,0,0,252,233,244,9,248,5,15,135,244,53,255,129, | 540 | 15,133,244,9,255,252,233,244,49,255,72,252,247,208,139,108,202,4,131,198, |
554 | 124,253,194,4,239,15,131,244,53,255,252,242,15,16,4,194,72,184,237,237,102, | 541 | 4,129,252,253,239,15,133,244,249,139,12,202,59,12,135,255,139,108,202,4,131, |
555 | 72,15,110,200,15,87,193,252,242,15,17,4,202,255,221,4,194,217,224,221,28, | 542 | 198,4,255,129,252,253,239,15,133,244,253,129,124,253,199,4,239,15,133,244, |
556 | 202,255,129,124,253,194,4,239,15,133,244,248,139,4,194,255,139,128,233,248, | 543 | 254,139,44,199,59,44,202,255,15,183,70,252,254,141,180,253,134,233,248,9, |
557 | 1,199,68,202,4,237,137,4,202,255,15,87,192,252,242,15,42,128,233,248,1,252, | 544 | 139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,7, |
558 | 242,15,17,4,202,255,219,128,233,248,1,221,28,202,255,139,6,15,182,204,15, | 545 | 15,135,244,249,129,124,253,199,4,239,15,130,244,247,255,252,242,15,42,4,199, |
559 | 182,232,131,198,4,193,232,16,252,255,36,252,235,248,2,129,124,253,194,4,239, | 546 | 255,219,4,199,255,252,233,244,248,248,8,255,252,242,15,42,4,202,102,15,46, |
560 | 15,133,244,56,139,12,194,255,139,169,233,131,252,253,0,15,133,244,255,248, | 547 | 4,199,255,219,4,202,221,4,199,255,129,252,253,239,15,131,244,249,255,248, |
561 | 3,255,248,57,137,213,232,251,1,20,255,252,242,15,42,192,255,137,252,234,15, | 548 | 1,252,242,15,16,4,199,248,2,102,15,46,4,202,248,4,255,248,1,221,4,199,248, |
562 | 182,78,252,253,252,233,244,1,255,248,9,252,246,133,233,235,15,133,244,3,252, | 549 | 2,221,4,202,248,4,255,72,252,247,208,139,108,202,4,131,198,4,57,197,255,15, |
563 | 233,244,56,255,15,182,252,236,15,182,192,255,129,124,253,252,234,4,239,15, | 550 | 133,244,249,15,183,70,252,254,141,180,253,134,233,248,2,139,6,15,182,204, |
564 | 133,244,50,129,124,253,199,4,239,15,133,244,50,139,44,252,234,3,44,199,15, | 551 | 15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,3,129,252,253,239, |
565 | 128,244,49,255,129,124,253,252,234,4,239,15,133,244,52,129,124,253,199,4, | 552 | 15,133,244,2,252,233,244,49,255,15,132,244,248,129,252,253,239,15,132,244, |
566 | 239,15,133,244,52,139,4,199,3,4,252,234,15,128,244,51,255,129,124,253,252, | 553 | 49,15,183,70,252,254,141,180,253,134,233,248,2,139,6,15,182,204,15,182,232, |
567 | 234,4,239,15,133,244,55,129,124,253,194,4,239,15,133,244,55,139,44,252,234, | 554 | 131,198,4,193,232,16,252,255,36,252,235,255,139,108,194,4,131,198,4,129,252, |
568 | 3,44,194,15,128,244,54,255,199,68,202,4,237,255,129,124,253,252,234,4,239, | 555 | 253,239,255,137,108,202,4,139,44,194,137,44,202,255,72,139,44,194,72,137, |
569 | 15,131,244,50,255,129,124,253,199,4,239,15,131,244,50,255,252,242,15,16,4, | 556 | 44,202,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235, |
570 | 252,234,252,242,15,88,4,199,255,221,4,252,234,220,4,199,255,129,124,253,252, | 557 | 255,49,252,237,129,124,253,194,4,239,129,213,239,137,108,202,4,139,6,15,182, |
571 | 234,4,239,15,131,244,52,255,129,124,253,199,4,239,15,131,244,52,255,252,242, | 558 | 204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,255,129,124,253,194, |
572 | 15,16,4,199,252,242,15,88,4,252,234,255,221,4,199,220,4,252,234,255,129,124, | 559 | 4,239,15,133,244,251,139,44,194,252,247,221,15,128,244,250,199,68,202,4,237, |
573 | 253,252,234,4,239,15,131,244,55,129,124,253,194,4,239,15,131,244,55,255,252, | 560 | 137,44,202,248,9,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255, |
574 | 242,15,16,4,252,234,252,242,15,88,4,194,255,221,4,252,234,220,4,194,255,129, | 561 | 36,252,235,248,4,199,68,202,4,0,0,224,65,199,4,202,0,0,0,0,252,233,244,9, |
575 | 124,253,252,234,4,239,15,133,244,50,129,124,253,199,4,239,15,133,244,50,139, | 562 | 248,5,15,135,244,54,255,129,124,253,194,4,239,15,131,244,54,255,252,242,15, |
576 | 44,252,234,43,44,199,15,128,244,49,255,129,124,253,252,234,4,239,15,133,244, | 563 | 16,4,194,72,184,237,237,102,72,15,110,200,15,87,193,252,242,15,17,4,202,255, |
577 | 52,129,124,253,199,4,239,15,133,244,52,139,4,199,43,4,252,234,15,128,244, | 564 | 221,4,194,217,224,221,28,202,255,129,124,253,194,4,239,15,133,244,248,139, |
578 | 51,255,129,124,253,252,234,4,239,15,133,244,55,129,124,253,194,4,239,15,133, | 565 | 4,194,255,139,128,233,248,1,199,68,202,4,237,137,4,202,255,15,87,192,252, |
579 | 244,55,139,44,252,234,43,44,194,15,128,244,54,255,252,242,15,16,4,252,234, | 566 | 242,15,42,128,233,248,1,252,242,15,17,4,202,255,219,128,233,248,1,221,28, |
580 | 252,242,15,92,4,199,255,221,4,252,234,220,36,199,255,252,242,15,16,4,199, | 567 | 202,255,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235, |
581 | 252,242,15,92,4,252,234,255,221,4,199,220,36,252,234,255,252,242,15,16,4, | 568 | 248,2,129,124,253,194,4,239,15,133,244,57,139,12,194,255,139,169,233,131, |
582 | 252,234,252,242,15,92,4,194,255,221,4,252,234,220,36,194,255,129,124,253, | 569 | 252,253,0,15,133,244,255,248,3,255,248,58,137,213,232,251,1,20,255,252,242, |
583 | 252,234,4,239,15,133,244,50,129,124,253,199,4,239,15,133,244,50,139,44,252, | 570 | 15,42,192,255,137,252,234,15,182,78,252,253,252,233,244,1,255,248,9,252,246, |
584 | 234,15,175,44,199,15,128,244,49,255,129,124,253,252,234,4,239,15,133,244, | 571 | 133,233,235,15,133,244,3,252,233,244,57,255,15,182,252,236,15,182,192,255, |
585 | 52,129,124,253,199,4,239,15,133,244,52,139,4,199,15,175,4,252,234,15,128, | 572 | 129,124,253,252,234,4,239,15,133,244,51,129,124,253,199,4,239,15,133,244, |
586 | 244,51,255,129,124,253,252,234,4,239,15,133,244,55,129,124,253,194,4,239, | 573 | 51,139,44,252,234,3,44,199,15,128,244,50,255,129,124,253,252,234,4,239,15, |
587 | 15,133,244,55,139,44,252,234,15,175,44,194,15,128,244,54,255,252,242,15,16, | 574 | 133,244,53,129,124,253,199,4,239,15,133,244,53,139,4,199,3,4,252,234,15,128, |
588 | 4,252,234,252,242,15,89,4,199,255,221,4,252,234,220,12,199,255,252,242,15, | 575 | 244,52,255,129,124,253,252,234,4,239,15,133,244,56,129,124,253,194,4,239, |
589 | 16,4,199,252,242,15,89,4,252,234,255,221,4,199,220,12,252,234,255,252,242, | 576 | 15,133,244,56,139,44,252,234,3,44,194,15,128,244,55,255,199,68,202,4,237, |
590 | 15,16,4,252,234,252,242,15,89,4,194,255,221,4,252,234,220,12,194,255,252, | 577 | 255,129,124,253,252,234,4,239,15,131,244,51,255,129,124,253,199,4,239,15, |
591 | 242,15,16,4,252,234,252,242,15,94,4,199,255,221,4,252,234,220,52,199,255, | 578 | 131,244,51,255,252,242,15,16,4,252,234,252,242,15,88,4,199,255,221,4,252, |
592 | 252,242,15,16,4,199,252,242,15,94,4,252,234,255,221,4,199,220,52,252,234, | 579 | 234,220,4,199,255,129,124,253,252,234,4,239,15,131,244,53,255,129,124,253, |
593 | 255,252,242,15,16,4,252,234,252,242,15,94,4,194,255,221,4,252,234,220,52, | 580 | 199,4,239,15,131,244,53,255,252,242,15,16,4,199,252,242,15,88,4,252,234,255, |
594 | 194,255,252,242,15,16,4,252,234,252,242,15,16,12,199,255,221,4,252,234,221, | 581 | 221,4,199,220,4,252,234,255,129,124,253,252,234,4,239,15,131,244,56,129,124, |
595 | 4,199,255,252,242,15,16,4,199,252,242,15,16,12,252,234,255,221,4,199,221, | 582 | 253,194,4,239,15,131,244,56,255,252,242,15,16,4,252,234,252,242,15,88,4,194, |
596 | 4,252,234,255,252,242,15,16,4,252,234,252,242,15,16,12,194,255,221,4,252, | 583 | 255,221,4,252,234,220,4,194,255,129,124,253,252,234,4,239,15,133,244,51,129, |
597 | 234,221,4,194,255,248,166,232,244,156,255,252,233,244,166,255,232,244,116, | 584 | 124,253,199,4,239,15,133,244,51,139,44,252,234,43,44,199,15,128,244,50,255, |
598 | 255,15,182,252,236,15,182,192,139,76,36,96,137,145,233,141,20,194,65,137, | 585 | 129,124,253,252,234,4,239,15,133,244,53,129,124,253,199,4,239,15,133,244, |
599 | 192,65,41,232,248,35,137,205,137,116,36,100,232,251,1,27,139,149,233,133, | 586 | 53,139,4,199,43,4,252,234,15,128,244,52,255,129,124,253,252,234,4,239,15, |
600 | 192,15,133,244,44,15,182,110,252,255,15,182,78,252,253,72,139,4,252,234,72, | 587 | 133,244,56,129,124,253,194,4,239,15,133,244,56,139,44,252,234,43,44,194,15, |
601 | 137,4,202,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252, | 588 | 128,244,55,255,252,242,15,16,4,252,234,252,242,15,92,4,199,255,221,4,252, |
602 | 235,255,72,252,247,208,139,4,135,199,68,202,4,237,137,4,202,139,6,15,182, | 589 | 234,220,36,199,255,252,242,15,16,4,199,252,242,15,92,4,252,234,255,221,4, |
603 | 204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,255,15,191,192,199, | 590 | 199,220,36,252,234,255,252,242,15,16,4,252,234,252,242,15,92,4,194,255,221, |
604 | 68,202,4,237,137,4,202,255,15,191,192,252,242,15,42,192,252,242,15,17,4,202, | 591 | 4,252,234,220,36,194,255,129,124,253,252,234,4,239,15,133,244,51,129,124, |
605 | 255,223,70,252,254,221,28,202,255,252,242,15,16,4,199,252,242,15,17,4,202, | 592 | 253,199,4,239,15,133,244,51,139,44,252,234,15,175,44,199,15,128,244,50,255, |
606 | 255,221,4,199,221,28,202,255,72,252,247,208,137,68,202,4,139,6,15,182,204, | 593 | 129,124,253,252,234,4,239,15,133,244,53,129,124,253,199,4,239,15,133,244, |
607 | 15,182,232,131,198,4,193,232,16,252,255,36,252,235,255,141,76,202,12,141, | 594 | 53,139,4,199,15,175,4,252,234,15,128,244,52,255,129,124,253,252,234,4,239, |
608 | 68,194,4,189,237,137,105,252,248,248,1,137,41,131,193,8,57,193,15,134,244, | 595 | 15,133,244,56,129,124,253,194,4,239,15,133,244,56,139,44,252,234,15,175,44, |
609 | 1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,255, | 596 | 194,15,128,244,55,255,252,242,15,16,4,252,234,252,242,15,89,4,199,255,221, |
610 | 139,106,252,248,139,172,253,133,233,139,173,233,72,139,69,0,72,137,4,202, | 597 | 4,252,234,220,12,199,255,252,242,15,16,4,199,252,242,15,89,4,252,234,255, |
611 | 139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,255,139, | 598 | 221,4,199,220,12,252,234,255,252,242,15,16,4,252,234,252,242,15,89,4,194, |
612 | 106,252,248,139,172,253,141,233,128,189,233,0,139,173,233,139,12,194,139, | 599 | 255,221,4,252,234,220,12,194,255,252,242,15,16,4,252,234,252,242,15,94,4, |
613 | 68,194,4,137,77,0,137,69,4,15,132,244,247,252,246,133,233,235,15,133,244, | 600 | 199,255,221,4,252,234,220,52,199,255,252,242,15,16,4,199,252,242,15,94,4, |
614 | 248,248,1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252, | 601 | 252,234,255,221,4,199,220,52,252,234,255,252,242,15,16,4,252,234,252,242, |
615 | 235,248,2,129,232,239,129,252,248,239,15,134,244,1,252,246,129,233,235,15, | 602 | 15,94,4,194,255,221,4,252,234,220,52,194,255,252,242,15,16,4,252,234,252, |
616 | 132,244,1,135,213,141,139,233,255,232,251,1,28,137,252,234,252,233,244,1, | 603 | 242,15,16,12,199,255,221,4,252,234,221,4,199,255,252,242,15,16,4,199,252, |
617 | 255,72,252,247,208,139,106,252,248,139,172,253,141,233,139,12,135,139,133, | 604 | 242,15,16,12,252,234,255,221,4,199,221,4,252,234,255,252,242,15,16,4,252, |
618 | 233,137,8,199,64,4,237,252,246,133,233,235,15,133,244,248,248,1,139,6,15, | 605 | 234,252,242,15,16,12,194,255,221,4,252,234,221,4,194,255,248,168,232,244, |
619 | 182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,2,252,246, | 606 | 157,255,252,233,244,168,255,232,244,117,255,15,182,252,236,15,182,192,139, |
620 | 129,233,235,15,132,244,1,128,189,233,0,15,132,244,1,137,213,137,194,141,139, | 607 | 76,36,96,137,145,233,141,20,194,65,137,192,65,41,232,248,36,137,205,137,116, |
621 | 233,232,251,1,28,137,252,234,252,233,244,1,255,139,106,252,248,255,252,242, | 608 | 36,100,232,251,1,29,139,149,233,133,192,15,133,244,45,15,182,110,252,255, |
622 | 15,16,4,199,255,139,172,253,141,233,139,141,233,255,252,242,15,17,1,255,221, | 609 | 15,182,78,252,253,72,139,4,252,234,72,137,4,202,139,6,15,182,204,15,182,232, |
623 | 25,255,72,252,247,208,139,106,252,248,139,172,253,141,233,139,141,233,137, | 610 | 131,198,4,193,232,16,252,255,36,252,235,255,72,252,247,208,139,4,135,199, |
624 | 65,4,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235, | 611 | 68,202,4,237,137,4,202,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252, |
625 | 255,141,180,253,134,233,139,108,36,96,131,189,233,0,15,132,244,247,137,149, | 612 | 255,36,252,235,255,15,191,192,199,68,202,4,237,137,4,202,255,15,191,192,252, |
626 | 233,141,20,202,137,252,233,232,251,1,29,139,149,233,248,1,139,6,15,182,204, | 613 | 242,15,42,192,252,242,15,17,4,202,255,223,70,252,254,221,28,202,255,252,242, |
627 | 15,182,232,131,198,4,193,232,16,252,255,36,252,235,255,72,252,247,208,139, | 614 | 15,16,4,199,252,242,15,17,4,202,255,221,4,199,221,28,202,255,72,252,247,208, |
628 | 108,36,96,137,149,233,68,139,66,252,248,139,20,135,137,252,233,137,116,36, | 615 | 137,68,202,4,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36, |
629 | 100,232,251,1,30,139,149,233,15,182,78,252,253,137,4,202,199,68,202,4,237, | 616 | 252,235,255,141,76,202,12,141,68,194,4,189,237,137,105,252,248,248,1,137, |
630 | 139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,255,139, | 617 | 41,131,193,8,57,193,15,134,244,1,139,6,15,182,204,15,182,232,131,198,4,193, |
631 | 108,36,96,137,149,233,139,139,233,59,139,233,137,116,36,100,15,131,244,251, | 618 | 232,16,252,255,36,252,235,255,139,106,252,248,139,172,253,133,233,139,173, |
632 | 248,1,65,137,192,37,252,255,7,0,0,65,193,232,11,61,252,255,7,0,0,15,132,244, | 619 | 233,72,139,69,0,72,137,4,202,139,6,15,182,204,15,182,232,131,198,4,193,232, |
633 | 249,248,2,137,252,233,137,194,232,251,1,31,139,149,233,15,182,78,252,253, | 620 | 16,252,255,36,252,235,255,139,106,252,248,139,172,253,141,233,128,189,233, |
621 | 0,139,173,233,139,12,194,139,68,194,4,137,77,0,137,69,4,15,132,244,247,252, | ||
622 | 246,133,233,235,15,133,244,248,248,1,139,6,15,182,204,15,182,232,131,198, | ||
623 | 4,193,232,16,252,255,36,252,235,248,2,129,232,239,129,252,248,239,15,134, | ||
624 | 244,1,252,246,129,233,235,15,132,244,1,135,213,141,139,233,255,232,251,1, | ||
625 | 30,137,252,234,252,233,244,1,255,72,252,247,208,139,106,252,248,139,172,253, | ||
626 | 141,233,139,12,135,139,133,233,137,8,199,64,4,237,252,246,133,233,235,15, | ||
627 | 133,244,248,248,1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255, | ||
628 | 36,252,235,248,2,252,246,129,233,235,15,132,244,1,128,189,233,0,15,132,244, | ||
629 | 1,137,213,137,194,141,139,233,232,251,1,30,137,252,234,252,233,244,1,255, | ||
630 | 139,106,252,248,255,252,242,15,16,4,199,255,139,172,253,141,233,139,141,233, | ||
631 | 255,252,242,15,17,1,255,221,25,255,72,252,247,208,139,106,252,248,139,172, | ||
632 | 253,141,233,139,141,233,137,65,4,139,6,15,182,204,15,182,232,131,198,4,193, | ||
633 | 232,16,252,255,36,252,235,255,141,180,253,134,233,139,108,36,96,131,189,233, | ||
634 | 0,15,132,244,247,137,149,233,141,20,202,137,252,233,232,251,1,31,139,149, | ||
635 | 233,248,1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252, | ||
636 | 235,255,72,252,247,208,139,108,36,96,137,149,233,68,139,66,252,248,139,20, | ||
637 | 135,137,252,233,137,116,36,100,232,251,1,32,139,149,233,15,182,78,252,253, | ||
634 | 137,4,202,199,68,202,4,237,139,6,15,182,204,15,182,232,131,198,4,193,232, | 638 | 137,4,202,199,68,202,4,237,139,6,15,182,204,15,182,232,131,198,4,193,232, |
635 | 16,252,255,36,252,235,248,3,184,1,8,0,0,252,233,244,2,248,5,137,252,233,232, | 639 | 16,252,255,36,252,235,255,139,108,36,96,137,149,233,139,139,233,59,139,233, |
636 | 251,1,32,15,183,70,252,254,252,233,244,1,255,72,252,247,208,139,108,36,96, | 640 | 137,116,36,100,15,131,244,251,248,1,65,137,192,37,252,255,7,0,0,65,193,232, |
637 | 139,139,233,137,116,36,100,59,139,233,137,149,233,15,131,244,249,248,2,139, | 641 | 11,61,252,255,7,0,0,15,132,244,249,248,2,137,252,233,137,194,232,251,1,33, |
638 | 20,135,137,252,233,232,251,1,33,139,149,233,15,182,78,252,253,137,4,202,199, | 642 | 139,149,233,15,182,78,252,253,137,4,202,199,68,202,4,237,139,6,15,182,204, |
639 | 68,202,4,237,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36, | 643 | 15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,3,184,1,8,0,0,252, |
640 | 252,235,248,3,137,252,233,232,251,1,32,15,183,70,252,254,72,252,247,208,252, | 644 | 233,244,2,248,5,137,252,233,232,251,1,34,15,183,70,252,254,252,233,244,1, |
641 | 233,244,2,255,72,252,247,208,139,106,252,248,139,173,233,139,4,135,252,233, | 645 | 255,72,252,247,208,139,108,36,96,139,139,233,137,116,36,100,59,139,233,137, |
642 | 244,167,255,72,252,247,208,139,106,252,248,139,173,233,139,4,135,252,233, | 646 | 149,233,15,131,244,249,248,2,139,20,135,137,252,233,232,251,1,35,139,149, |
643 | 244,168,255,15,182,252,236,15,182,192,129,124,253,252,234,4,239,15,133,244, | 647 | 233,15,182,78,252,253,137,4,202,199,68,202,4,237,139,6,15,182,204,15,182, |
644 | 38,139,44,252,234,255,129,124,253,194,4,239,15,133,244,251,139,4,194,255, | 648 | 232,131,198,4,193,232,16,252,255,36,252,235,248,3,137,252,233,232,251,1,34, |
645 | 129,124,253,194,4,239,15,131,244,251,255,252,242,15,16,4,194,252,242,15,45, | 649 | 15,183,70,252,254,72,252,247,208,252,233,244,2,255,72,252,247,208,139,106, |
646 | 192,252,242,15,42,200,102,15,46,193,255,15,133,244,38,255,59,133,233,15,131, | 650 | 252,248,139,173,233,139,4,135,252,233,244,169,255,72,252,247,208,139,106, |
647 | 244,38,193,224,3,3,133,233,129,120,253,4,239,15,132,244,248,72,139,40,72, | 651 | 252,248,139,173,233,139,4,135,252,233,244,170,255,15,182,252,236,15,182,192, |
648 | 137,44,202,248,1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255, | 652 | 129,124,253,252,234,4,239,15,133,244,39,139,44,252,234,255,129,124,253,194, |
649 | 36,252,235,248,2,131,189,233,0,15,132,244,249,139,141,233,252,246,129,233, | 653 | 4,239,15,133,244,251,139,4,194,255,129,124,253,194,4,239,15,131,244,251,255, |
650 | 235,15,132,244,38,15,182,78,252,253,248,3,199,68,202,4,237,252,233,244,1, | 654 | 252,242,15,16,4,194,252,242,15,45,192,252,242,15,42,200,102,15,46,193,255, |
651 | 248,5,255,129,124,253,194,4,239,15,133,244,38,139,4,194,252,233,244,167,255, | 655 | 15,133,244,39,255,59,133,233,15,131,244,39,193,224,3,3,133,233,129,120,253, |
652 | 15,182,252,236,15,182,192,72,252,247,208,139,4,135,129,124,253,252,234,4, | 656 | 4,239,15,132,244,248,72,139,40,72,137,44,202,248,1,139,6,15,182,204,15,182, |
653 | 239,15,133,244,36,139,44,252,234,248,167,139,141,233,35,136,233,105,201,239, | 657 | 232,131,198,4,193,232,16,252,255,36,252,235,248,2,131,189,233,0,15,132,244, |
654 | 3,141,233,248,1,129,185,233,239,15,133,244,250,57,129,233,15,133,244,250, | 658 | 249,139,141,233,252,246,129,233,235,15,132,244,39,15,182,78,252,253,248,3, |
655 | 129,121,253,4,239,15,132,244,251,15,182,70,252,253,72,139,41,72,137,44,194, | 659 | 199,68,202,4,237,252,233,244,1,248,5,255,129,124,253,194,4,239,15,133,244, |
656 | 248,2,255,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252, | 660 | 39,139,4,194,252,233,244,169,255,15,182,252,236,15,182,192,72,252,247,208, |
657 | 235,248,3,15,182,70,252,253,199,68,194,4,237,252,233,244,2,248,4,139,137, | 661 | 139,4,135,129,124,253,252,234,4,239,15,133,244,37,139,44,252,234,248,169, |
658 | 233,133,201,15,133,244,1,248,5,139,141,233,133,201,15,132,244,3,252,246,129, | 662 | 139,141,233,35,136,233,105,201,239,3,141,233,248,1,129,185,233,239,15,133, |
659 | 233,235,15,133,244,3,252,233,244,36,255,15,182,252,236,15,182,192,129,124, | 663 | 244,250,57,129,233,15,133,244,250,129,121,253,4,239,15,132,244,251,15,182, |
660 | 253,252,234,4,239,15,133,244,37,139,44,252,234,59,133,233,15,131,244,37,193, | 664 | 70,252,253,72,139,41,72,137,44,194,248,2,255,139,6,15,182,204,15,182,232, |
661 | 224,3,3,133,233,129,120,253,4,239,15,132,244,248,72,139,40,72,137,44,202, | 665 | 131,198,4,193,232,16,252,255,36,252,235,248,3,15,182,70,252,253,199,68,194, |
662 | 248,1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235, | 666 | 4,237,252,233,244,2,248,4,139,137,233,133,201,15,133,244,1,248,5,139,141, |
663 | 248,2,131,189,233,0,15,132,244,249,139,141,233,252,246,129,233,235,15,132, | 667 | 233,133,201,15,132,244,3,252,246,129,233,235,15,133,244,3,252,233,244,37, |
664 | 244,37,255,15,182,78,252,253,248,3,199,68,202,4,237,252,233,244,1,255,15, | 668 | 255,15,182,252,236,15,182,192,129,124,253,252,234,4,239,15,133,244,38,139, |
665 | 182,252,236,15,182,192,129,124,253,252,234,4,239,15,133,244,41,139,44,252, | 669 | 44,252,234,59,133,233,15,131,244,38,193,224,3,3,133,233,129,120,253,4,239, |
666 | 234,255,15,133,244,41,255,59,133,233,15,131,244,41,193,224,3,3,133,233,129, | 670 | 15,132,244,248,72,139,40,72,137,44,202,248,1,139,6,15,182,204,15,182,232, |
667 | 120,253,4,239,15,132,244,249,248,1,252,246,133,233,235,15,133,244,253,248, | 671 | 131,198,4,193,232,16,252,255,36,252,235,248,2,131,189,233,0,15,132,244,249, |
668 | 2,72,139,44,202,72,137,40,139,6,15,182,204,15,182,232,131,198,4,193,232,16, | 672 | 139,141,233,252,246,129,233,235,15,132,244,38,255,15,182,78,252,253,248,3, |
669 | 252,255,36,252,235,248,3,131,189,233,0,15,132,244,1,139,141,233,252,246,129, | 673 | 199,68,202,4,237,252,233,244,1,255,15,182,252,236,15,182,192,129,124,253, |
670 | 233,235,255,15,132,244,41,15,182,78,252,253,252,233,244,1,248,5,129,124,253, | 674 | 252,234,4,239,15,133,244,42,139,44,252,234,255,15,133,244,42,255,59,133,233, |
671 | 194,4,239,15,133,244,41,139,4,194,252,233,244,168,248,7,128,165,233,235,139, | 675 | 15,131,244,42,193,224,3,3,133,233,129,120,253,4,239,15,132,244,249,248,1, |
672 | 139,233,137,171,233,137,141,233,15,182,78,252,253,252,233,244,2,255,15,182, | 676 | 252,246,133,233,235,15,133,244,253,248,2,72,139,44,202,72,137,40,139,6,15, |
673 | 252,236,15,182,192,72,252,247,208,139,4,135,129,124,253,252,234,4,239,15, | 677 | 182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,3,131,189, |
674 | 133,244,39,139,44,252,234,248,168,139,141,233,35,136,233,105,201,239,198, | 678 | 233,0,15,132,244,1,139,141,233,252,246,129,233,235,255,15,132,244,42,15,182, |
675 | 133,233,0,3,141,233,248,1,129,185,233,239,15,133,244,251,57,129,233,15,133, | 679 | 78,252,253,252,233,244,1,248,5,129,124,253,194,4,239,15,133,244,42,139,4, |
676 | 244,251,129,121,253,4,239,15,132,244,250,248,2,255,252,246,133,233,235,15, | 680 | 194,252,233,244,170,248,7,128,165,233,235,139,139,233,137,171,233,137,141, |
677 | 133,244,253,248,3,15,182,70,252,253,72,139,44,194,72,137,41,139,6,15,182, | 681 | 233,15,182,78,252,253,252,233,244,2,255,15,182,252,236,15,182,192,72,252, |
678 | 204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,4,131,189,233, | 682 | 247,208,139,4,135,129,124,253,252,234,4,239,15,133,244,40,139,44,252,234, |
679 | 0,15,132,244,2,137,76,36,80,139,141,233,252,246,129,233,235,15,132,244,39, | 683 | 248,170,139,141,233,35,136,233,105,201,239,198,133,233,0,3,141,233,248,1, |
680 | 139,76,36,80,252,233,244,2,248,5,139,137,233,133,201,15,133,244,1,255,139, | 684 | 129,185,233,239,15,133,244,251,57,129,233,15,133,244,251,129,121,253,4,239, |
681 | 141,233,133,201,15,132,244,252,252,246,129,233,235,15,132,244,39,248,6,137, | 685 | 15,132,244,250,248,2,255,252,246,133,233,235,15,133,244,253,248,3,15,182, |
682 | 68,36,80,199,68,36,84,237,137,108,36,32,139,76,36,96,137,145,233,76,141,68, | 686 | 70,252,253,72,139,44,194,72,137,41,139,6,15,182,204,15,182,232,131,198,4, |
683 | 36,80,137,252,234,137,205,137,116,36,100,232,251,1,34,139,149,233,139,108, | 687 | 193,232,16,252,255,36,252,235,248,4,131,189,233,0,15,132,244,2,137,76,36, |
684 | 36,32,137,193,252,233,244,2,248,7,128,165,233,235,139,131,233,137,171,233, | 688 | 80,139,141,233,252,246,129,233,235,15,132,244,40,139,76,36,80,252,233,244, |
685 | 137,133,233,252,233,244,3,255,15,182,252,236,15,182,192,129,124,253,252,234, | 689 | 2,248,5,139,137,233,133,201,15,133,244,1,255,139,141,233,133,201,15,132,244, |
686 | 4,239,15,133,244,40,139,44,252,234,59,133,233,15,131,244,40,193,224,3,3,133, | 690 | 252,252,246,129,233,235,15,132,244,40,248,6,137,68,36,80,199,68,36,84,237, |
687 | 233,129,120,253,4,239,15,132,244,249,248,1,252,246,133,233,235,15,133,244, | 691 | 137,108,36,32,139,76,36,96,137,145,233,76,141,68,36,80,137,252,234,137,205, |
688 | 253,248,2,72,139,12,202,72,137,8,139,6,15,182,204,15,182,232,131,198,4,193, | 692 | 137,116,36,100,232,251,1,36,139,149,233,139,108,36,32,137,193,252,233,244, |
689 | 232,16,252,255,36,252,235,248,3,131,189,233,0,15,132,244,1,255,139,141,233, | 693 | 2,248,7,128,165,233,235,139,131,233,137,171,233,137,133,233,252,233,244,3, |
690 | 252,246,129,233,235,15,132,244,40,15,182,78,252,253,252,233,244,1,248,7,128, | 694 | 255,15,182,252,236,15,182,192,129,124,253,252,234,4,239,15,133,244,41,139, |
691 | 165,233,235,139,139,233,137,171,233,137,141,233,15,182,78,252,253,252,233, | 695 | 44,252,234,59,133,233,15,131,244,41,193,224,3,3,133,233,129,120,253,4,239, |
692 | 244,2,255,137,124,36,80,139,60,199,248,1,141,12,202,139,105,252,248,252,246, | 696 | 15,132,244,249,248,1,252,246,133,233,235,15,133,244,253,248,2,72,139,12,202, |
693 | 133,233,235,15,133,244,253,248,2,139,68,36,84,131,232,1,15,132,244,250,1, | 697 | 72,137,8,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252, |
694 | 252,248,59,133,233,15,135,244,251,41,252,248,193,231,3,3,189,233,248,3,72, | 698 | 235,248,3,131,189,233,0,15,132,244,1,255,139,141,233,252,246,129,233,235, |
695 | 139,41,131,193,8,72,137,47,131,199,8,131,232,1,15,133,244,3,248,4,139,124, | 699 | 15,132,244,41,15,182,78,252,253,252,233,244,1,248,7,128,165,233,235,139,139, |
696 | 36,80,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235, | 700 | 233,137,171,233,137,141,233,15,182,78,252,253,252,233,244,2,255,137,124,36, |
697 | 248,5,139,76,36,96,137,145,233,137,252,234,65,137,192,137,205,137,116,36, | 701 | 80,139,60,199,248,1,141,12,202,139,105,252,248,252,246,133,233,235,15,133, |
698 | 100,232,251,1,35,139,149,233,15,182,78,252,253,252,233,244,1,248,7,255,128, | 702 | 244,253,248,2,139,68,36,84,131,232,1,15,132,244,250,1,252,248,59,133,233, |
699 | 165,233,235,139,131,233,137,171,233,137,133,233,252,233,244,2,255,3,68,36, | 703 | 15,135,244,251,41,252,248,193,231,3,3,189,233,248,3,72,139,41,131,193,8,72, |
700 | 84,255,129,124,253,202,4,239,139,44,202,15,133,244,58,141,84,202,8,137,114, | 704 | 137,47,131,199,8,131,232,1,15,133,244,3,248,4,139,124,36,80,139,6,15,182, |
701 | 252,252,139,181,233,139,14,15,182,252,233,15,182,205,131,198,4,252,255,36, | 705 | 204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,5,139,76,36,96, |
702 | 252,235,255,141,76,202,8,137,215,139,105,252,248,129,121,253,252,252,239, | 706 | 137,145,233,137,252,234,65,137,192,137,205,137,116,36,100,232,251,1,37,139, |
703 | 15,133,244,29,248,59,139,114,252,252,252,247,198,237,15,133,244,253,248,1, | 707 | 149,233,15,182,78,252,253,252,233,244,1,248,7,255,128,165,233,235,139,131, |
704 | 137,106,252,248,137,68,36,84,131,232,1,15,132,244,249,248,2,72,139,41,131, | 708 | 233,137,171,233,137,133,233,252,233,244,2,255,3,68,36,84,255,129,124,253, |
705 | 193,8,72,137,47,131,199,8,131,232,1,15,133,244,2,139,106,252,248,248,3,139, | 709 | 202,4,239,139,44,202,15,133,244,59,141,84,202,8,137,114,252,252,139,181,233, |
706 | 68,36,84,128,189,233,1,15,135,244,251,248,4,139,181,233,139,14,15,182,252, | 710 | 139,14,15,182,252,233,15,182,205,131,198,4,252,255,36,252,235,255,141,76, |
707 | 233,15,182,205,131,198,4,252,255,36,252,235,248,5,255,252,247,198,237,15, | 711 | 202,8,137,215,139,105,252,248,129,121,253,252,252,239,15,133,244,29,248,60, |
708 | 133,244,4,15,182,78,252,253,72,252,247,209,141,12,202,139,121,252,248,139, | 712 | 139,114,252,252,252,247,198,237,15,133,244,253,248,1,137,106,252,248,137, |
709 | 191,233,139,191,233,252,233,244,4,248,7,129,252,238,239,252,247,198,237,15, | 713 | 68,36,84,131,232,1,15,132,244,249,248,2,72,139,41,131,193,8,72,137,47,131, |
710 | 133,244,254,41,252,242,137,215,139,114,252,252,252,233,244,1,248,8,129,198, | 714 | 199,8,131,232,1,15,133,244,2,139,106,252,248,248,3,139,68,36,84,128,189,233, |
711 | 239,252,233,244,1,255,141,76,202,8,72,139,105,232,72,139,65,252,240,72,137, | 715 | 1,15,135,244,251,248,4,139,181,233,139,14,15,182,252,233,15,182,205,131,198, |
712 | 41,72,137,65,8,139,105,224,139,65,228,137,105,252,248,137,65,252,252,129, | 716 | 4,252,255,36,252,235,248,5,255,252,247,198,237,15,133,244,4,15,182,78,252, |
713 | 252,248,239,184,237,15,133,244,29,137,202,137,114,252,252,139,181,233,139, | 717 | 253,72,252,247,209,141,12,202,139,121,252,248,139,191,233,139,191,233,252, |
714 | 14,15,182,252,233,15,182,205,131,198,4,252,255,36,252,235,255,137,124,36, | 718 | 233,244,4,248,7,129,252,238,239,252,247,198,237,15,133,244,254,41,252,242, |
715 | 80,137,92,36,84,139,108,202,252,240,139,68,202,252,248,139,157,233,131,198, | 719 | 137,215,139,114,252,252,252,233,244,1,248,8,129,198,239,252,233,244,1,255, |
716 | 4,139,189,233,248,1,57,216,15,131,244,251,129,124,253,199,4,239,15,132,244, | 720 | 141,76,202,8,72,139,105,232,72,139,65,252,240,72,137,41,72,137,65,8,139,105, |
717 | 250,255,219,68,202,252,248,255,72,139,44,199,72,137,108,202,8,131,192,1,255, | 721 | 224,139,65,228,137,105,252,248,137,65,252,252,129,252,248,239,184,237,15, |
718 | 137,68,202,252,248,248,2,15,183,70,252,254,141,180,253,134,233,248,3,139, | 722 | 133,244,29,137,202,137,114,252,252,139,181,233,139,14,15,182,252,233,15,182, |
719 | 92,36,84,139,124,36,80,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252, | 723 | 205,131,198,4,252,255,36,252,235,255,137,124,36,80,137,92,36,84,139,108,202, |
720 | 255,36,252,235,248,4,131,192,1,255,137,68,202,252,248,255,252,233,244,1,248, | 724 | 252,240,139,68,202,252,248,139,157,233,131,198,4,139,189,233,248,1,57,216, |
721 | 5,41,216,248,6,59,133,233,15,135,244,3,105,252,248,239,3,189,233,129,191, | 725 | 15,131,244,251,129,124,253,199,4,239,15,132,244,250,255,219,68,202,252,248, |
722 | 233,239,15,132,244,253,141,92,24,1,72,139,175,233,72,139,135,233,72,137,44, | 726 | 255,72,139,44,199,72,137,108,202,8,131,192,1,255,137,68,202,252,248,248,2, |
723 | 202,72,137,68,202,8,137,92,202,252,248,252,233,244,2,248,7,131,192,1,252, | 727 | 15,183,70,252,254,141,180,253,134,233,248,3,139,92,36,84,139,124,36,80,139, |
724 | 233,244,6,255,129,124,253,202,252,236,239,15,133,244,251,139,108,202,232, | 728 | 6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,4,131, |
725 | 129,124,253,202,252,244,239,15,133,244,251,129,124,253,202,252,252,239,15, | 729 | 192,1,255,137,68,202,252,248,255,252,233,244,1,248,5,41,216,248,6,59,133, |
726 | 133,244,251,128,189,233,235,15,133,244,251,141,180,253,134,233,199,68,202, | 730 | 233,15,135,244,3,105,252,248,239,3,189,233,129,191,233,239,15,132,244,253, |
727 | 252,248,0,0,0,0,248,1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252, | 731 | 141,92,24,1,72,139,175,233,72,139,135,233,72,137,44,202,72,137,68,202,8,137, |
728 | 255,36,252,235,248,5,198,70,252,252,235,141,180,253,134,233,198,6,235,252, | 732 | 92,202,252,248,252,233,244,2,248,7,131,192,1,252,233,244,6,255,129,124,253, |
729 | 233,244,1,255,15,182,252,236,15,182,192,137,124,36,80,141,188,253,194,233, | 733 | 202,252,236,239,15,133,244,251,139,108,202,232,129,124,253,202,252,244,239, |
730 | 141,12,202,43,122,252,252,133,252,237,15,132,244,251,141,108,252,233,252, | 734 | 15,133,244,251,129,124,253,202,252,252,239,15,133,244,251,128,189,233,235, |
731 | 248,57,215,15,131,244,248,248,1,72,139,71,252,248,131,199,8,72,137,1,131, | 735 | 15,133,244,251,141,180,253,134,233,199,68,202,252,248,0,0,0,0,248,1,139,6, |
732 | 193,8,57,252,233,15,131,244,249,57,215,15,130,244,1,248,2,199,65,4,237,131, | 736 | 15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,5,198,70, |
733 | 193,8,57,252,233,15,130,244,2,248,3,139,124,36,80,139,6,15,182,204,15,182, | 737 | 252,252,235,141,180,253,134,233,198,6,235,252,233,244,1,255,15,182,252,236, |
734 | 232,131,198,4,193,232,16,252,255,36,252,235,248,5,199,68,36,84,1,0,0,0,137, | 738 | 15,182,192,137,124,36,80,141,188,253,194,233,141,12,202,43,122,252,252,133, |
735 | 208,41,252,248,15,134,244,3,137,197,193,252,237,3,131,197,1,137,108,36,84, | 739 | 252,237,15,132,244,251,141,108,252,233,252,248,57,215,15,131,244,248,248, |
736 | 139,108,36,96,1,200,59,133,233,15,135,244,253,248,6,255,72,139,71,252,248, | 740 | 1,72,139,71,252,248,131,199,8,72,137,1,131,193,8,57,252,233,15,131,244,249, |
737 | 131,199,8,72,137,1,131,193,8,57,215,15,130,244,6,252,233,244,3,248,7,137, | 741 | 57,215,15,130,244,1,248,2,199,65,4,237,131,193,8,57,252,233,15,130,244,2, |
738 | 149,233,137,141,233,137,116,36,100,41,215,139,84,36,84,131,252,234,1,137, | 742 | 248,3,139,124,36,80,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252, |
739 | 252,233,232,251,1,0,139,149,233,139,141,233,1,215,252,233,244,6,255,193,225, | 743 | 255,36,252,235,248,5,199,68,36,84,1,0,0,0,137,208,41,252,248,15,134,244,3, |
740 | 3,255,248,1,139,114,252,252,137,68,36,84,252,247,198,237,15,133,244,253,255, | 744 | 137,197,193,252,237,3,131,197,1,137,108,36,84,139,108,36,96,1,200,59,133, |
741 | 248,13,137,215,131,232,1,15,132,244,249,248,2,72,139,44,15,72,137,111,252, | 745 | 233,15,135,244,253,248,6,255,72,139,71,252,248,131,199,8,72,137,1,131,193, |
742 | 248,131,199,8,131,232,1,15,133,244,2,248,3,139,68,36,84,15,182,110,252,255, | 746 | 8,57,215,15,130,244,6,252,233,244,3,248,7,137,149,233,137,141,233,137,116, |
743 | 248,5,57,197,15,135,244,252,255,72,139,44,10,72,137,106,252,248,255,248,5, | 747 | 36,100,41,215,139,84,36,84,131,252,234,1,137,252,233,232,251,1,0,139,149, |
744 | 56,70,252,255,15,135,244,252,255,15,182,78,252,253,72,252,247,209,141,20, | 748 | 233,139,141,233,1,215,252,233,244,6,255,193,225,3,255,248,1,139,114,252,252, |
745 | 202,139,122,252,248,139,191,233,139,191,233,139,6,15,182,204,15,182,232,131, | 749 | 137,68,36,84,252,247,198,237,15,133,244,253,255,248,13,137,215,131,232,1, |
746 | 198,4,193,232,16,252,255,36,252,235,248,6,255,199,71,252,252,237,131,199, | 750 | 15,132,244,249,248,2,72,139,44,15,72,137,111,252,248,131,199,8,131,232,1, |
747 | 8,255,199,68,194,252,244,237,255,131,192,1,252,233,244,5,248,7,141,174,233, | 751 | 15,133,244,2,248,3,139,68,36,84,15,182,110,252,255,248,5,57,197,15,135,244, |
748 | 252,247,197,237,15,133,244,14,41,252,234,255,1,252,233,255,137,252,245,209, | 752 | 252,255,72,139,44,10,72,137,106,252,248,255,248,5,56,70,252,255,15,135,244, |
749 | 252,237,129,229,239,102,129,172,253,43,233,238,15,130,244,148,255,141,12, | 753 | 252,255,15,182,78,252,253,72,252,247,209,141,20,202,139,122,252,248,139,191, |
750 | 202,255,129,121,253,4,239,15,133,244,255,255,129,121,253,12,239,15,133,244, | 754 | 233,139,191,233,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255, |
751 | 60,129,121,253,20,239,15,133,244,60,139,41,131,121,16,0,15,140,244,251,255, | 755 | 36,252,235,248,6,255,199,71,252,252,237,131,199,8,255,199,68,194,252,244, |
752 | 129,121,253,12,239,15,133,244,164,129,121,253,20,239,15,133,244,164,255,139, | 756 | 237,255,131,192,1,252,233,244,5,248,7,141,174,233,252,247,197,237,15,133, |
753 | 105,16,133,252,237,15,136,244,251,3,41,15,128,244,247,137,41,255,59,105,8, | 757 | 244,14,41,252,234,255,1,252,233,255,137,252,245,209,252,237,129,229,239,102, |
754 | 199,65,28,237,137,105,24,255,15,142,244,253,248,1,248,6,141,180,253,134,233, | 758 | 129,172,253,43,233,238,15,130,244,149,255,141,12,202,255,129,121,253,4,239, |
755 | 255,141,180,253,134,233,15,183,70,252,254,15,142,245,248,1,248,6,255,15,143, | 759 | 15,133,244,255,255,129,121,253,12,239,15,133,244,61,129,121,253,20,239,15, |
756 | 244,253,248,6,141,180,253,134,233,248,1,255,248,7,139,6,15,182,204,15,182, | 760 | 133,244,61,139,41,131,121,16,0,15,140,244,251,255,129,121,253,12,239,15,133, |
757 | 232,131,198,4,193,232,16,252,255,36,252,235,248,5,255,3,41,15,128,244,1,137, | 761 | 244,165,129,121,253,20,239,15,133,244,165,255,139,105,16,133,252,237,15,136, |
758 | 41,255,15,141,244,7,255,141,180,253,134,233,15,183,70,252,254,15,141,245, | 762 | 244,251,3,41,15,128,244,247,137,41,255,59,105,8,199,65,28,237,137,105,24, |
759 | 255,15,140,244,7,255,252,233,244,6,248,9,255,129,121,253,4,239,255,15,131, | 763 | 255,15,142,244,253,248,1,248,6,141,180,253,134,233,255,141,180,253,134,233, |
760 | 244,60,129,121,253,12,239,15,131,244,60,255,129,121,253,12,239,15,131,244, | 764 | 15,183,70,252,254,15,142,245,248,1,248,6,255,15,143,244,253,248,6,141,180, |
761 | 164,129,121,253,20,239,15,131,244,164,255,139,105,20,255,129,252,253,239, | 765 | 253,134,233,248,1,255,248,7,139,6,15,182,204,15,182,232,131,198,4,193,232, |
762 | 15,131,244,60,255,252,242,15,16,1,252,242,15,16,73,8,255,252,242,15,88,65, | 766 | 16,252,255,36,252,235,248,5,255,3,41,15,128,244,1,137,41,255,15,141,244,7, |
763 | 16,252,242,15,17,1,133,252,237,15,136,244,249,255,15,140,244,249,255,102, | 767 | 255,141,180,253,134,233,15,183,70,252,254,15,141,245,255,15,140,244,7,255, |
764 | 15,46,200,248,1,252,242,15,17,65,24,255,221,65,8,221,1,255,220,65,16,221, | 768 | 252,233,244,6,248,9,255,129,121,253,4,239,255,15,131,244,61,129,121,253,12, |
765 | 17,221,81,24,133,252,237,15,136,244,247,255,221,81,24,15,140,244,247,255, | 769 | 239,15,131,244,61,255,129,121,253,12,239,15,131,244,165,129,121,253,20,239, |
766 | 217,201,248,1,255,15,183,70,252,254,255,15,131,244,7,255,15,131,244,248,141, | 770 | 15,131,244,165,255,139,105,20,255,129,252,253,239,15,131,244,61,255,252,242, |
767 | 180,253,134,233,255,141,180,253,134,233,15,183,70,252,254,15,131,245,255, | 771 | 15,16,1,252,242,15,16,73,8,255,252,242,15,88,65,16,252,242,15,17,1,133,252, |
768 | 15,130,244,7,255,15,130,244,248,141,180,253,134,233,255,248,3,102,15,46,193, | 772 | 237,15,136,244,249,255,15,140,244,249,255,102,15,46,200,248,1,252,242,15, |
769 | 252,233,244,1,255,141,12,202,139,105,4,129,252,253,239,15,132,244,247,255, | 773 | 17,65,24,255,221,65,8,221,1,255,220,65,16,221,17,221,81,24,133,252,237,15, |
770 | 137,105,252,252,139,41,137,105,252,248,252,233,245,255,141,180,253,134,233, | 774 | 136,244,247,255,221,81,24,15,140,244,247,255,217,201,248,1,255,15,183,70, |
771 | 139,1,137,105,252,252,137,65,252,248,255,139,139,233,139,4,129,72,139,128, | 775 | 252,254,255,15,131,244,7,255,15,131,244,248,141,180,253,134,233,255,141,180, |
772 | 233,139,108,36,96,137,147,233,137,171,233,76,137,100,36,80,76,137,108,36, | 776 | 253,134,233,15,183,70,252,254,15,131,245,255,15,130,244,7,255,15,130,244, |
773 | 32,76,137,116,36,24,76,137,124,36,16,72,137,225,72,129,252,236,239,102,15, | 777 | 248,141,180,253,134,233,255,248,3,102,15,46,193,252,233,244,1,255,141,12, |
774 | 127,49,102,15,127,185,233,102,68,15,127,129,233,102,68,15,127,137,233,102, | 778 | 202,139,105,4,129,252,253,239,15,132,244,247,255,137,105,252,252,139,41,137, |
775 | 68,15,127,145,233,102,68,15,127,153,233,102,68,15,127,161,233,102,68,15,127, | 779 | 105,252,248,252,233,245,255,141,180,253,134,233,139,1,137,105,252,252,137, |
776 | 169,233,102,68,15,127,177,233,102,68,15,127,185,233,252,255,224,255,141,180, | 780 | 65,252,248,255,139,139,233,139,4,129,72,139,128,233,139,108,36,96,137,147, |
777 | 253,134,233,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252, | 781 | 233,137,171,233,76,137,100,36,80,76,137,108,36,32,76,137,116,36,24,76,137, |
778 | 235,255,137,252,245,209,252,237,129,229,239,102,129,172,253,43,233,238,15, | 782 | 124,36,16,72,137,225,72,129,252,236,239,102,15,127,49,102,15,127,185,233, |
779 | 130,244,150,255,139,190,233,139,108,36,96,141,12,202,59,141,233,15,135,244, | 783 | 102,68,15,127,129,233,102,68,15,127,137,233,102,68,15,127,145,233,102,68, |
780 | 24,15,182,142,233,57,200,15,134,244,249,248,2,255,15,183,70,252,254,252,233, | 784 | 15,127,153,233,102,68,15,127,161,233,102,68,15,127,169,233,102,68,15,127, |
781 | 245,255,248,3,199,68,194,252,252,237,131,192,1,57,200,15,134,244,3,252,233, | 785 | 177,233,102,68,15,127,185,233,252,255,224,255,141,180,253,134,233,139,6,15, |
782 | 244,2,255,141,44,197,237,141,4,194,139,122,252,248,137,104,252,252,137,120, | 786 | 182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,255,137,252,245, |
783 | 252,248,139,108,36,96,141,12,200,59,141,233,15,135,244,23,137,209,137,194, | 787 | 209,252,237,129,229,239,102,129,172,253,43,233,238,15,130,244,151,255,139, |
784 | 15,182,174,233,133,252,237,15,132,244,248,248,1,131,193,8,57,209,15,131,244, | 788 | 190,233,139,108,36,96,141,12,202,59,141,233,15,135,244,24,15,182,142,233, |
785 | 249,139,121,252,248,137,56,139,121,252,252,137,120,4,131,192,8,199,65,252, | 789 | 57,200,15,134,244,249,248,2,255,15,183,70,252,254,252,233,245,255,248,3,199, |
786 | 252,237,131,252,237,1,15,133,244,1,248,2,255,139,190,233,139,6,15,182,204, | 790 | 68,194,252,252,237,131,192,1,57,200,15,134,244,3,252,233,244,2,255,141,44, |
787 | 15,182,232,131,198,4,193,232,16,252,255,36,252,235,255,248,3,199,64,4,237, | 791 | 197,237,141,4,194,139,122,252,248,137,104,252,252,137,120,252,248,139,108, |
788 | 131,192,8,131,252,237,1,15,133,244,3,252,233,244,2,255,139,106,252,248,72, | 792 | 36,96,141,12,200,59,141,233,15,135,244,23,137,209,137,194,15,182,174,233, |
789 | 139,189,233,139,108,36,96,141,68,194,252,248,137,149,233,141,136,233,59,141, | 793 | 133,252,237,15,132,244,248,248,1,131,193,8,57,209,15,131,244,249,139,121, |
790 | 233,137,133,233,255,72,137,252,250,137,252,233,255,15,135,244,22,199,131, | 794 | 252,248,137,56,139,121,252,252,137,120,4,131,192,8,199,65,252,252,237,131, |
791 | 233,237,255,252,255,215,255,252,255,147,233,255,199,131,233,237,139,149,233, | 795 | 252,237,1,15,133,244,1,248,2,255,139,190,233,139,6,15,182,204,15,182,232, |
792 | 141,12,194,252,247,217,3,141,233,139,114,252,252,252,233,244,12,255,254,0 | 796 | 131,198,4,193,232,16,252,255,36,252,235,255,248,3,199,64,4,237,131,192,8, |
797 | 131,252,237,1,15,133,244,3,252,233,244,2,255,139,106,252,248,72,139,189,233, | ||
798 | 139,108,36,96,141,68,194,252,248,137,149,233,141,136,233,59,141,233,137,133, | ||
799 | 233,255,72,137,252,250,137,252,233,255,15,135,244,22,199,131,233,237,255, | ||
800 | 252,255,215,255,252,255,147,233,255,199,131,233,237,139,149,233,141,12,194, | ||
801 | 252,247,217,3,141,233,139,114,252,252,252,233,244,12,255,254,0 | ||
793 | }; | 802 | }; |
794 | 803 | ||
795 | enum { | 804 | enum { |
@@ -815,6 +824,7 @@ enum { | |||
815 | GLOB_vmeta_call, | 824 | GLOB_vmeta_call, |
816 | GLOB_vm_call_dispatch_f, | 825 | GLOB_vm_call_dispatch_f, |
817 | GLOB_vm_cpcall, | 826 | GLOB_vm_cpcall, |
827 | GLOB_cont_ffi_callback, | ||
818 | GLOB_vm_call_tail, | 828 | GLOB_vm_call_tail, |
819 | GLOB_cont_cat, | 829 | GLOB_cont_cat, |
820 | GLOB_cont_ra, | 830 | GLOB_cont_ra, |
@@ -948,6 +958,7 @@ enum { | |||
948 | GLOB_vm_foldarith, | 958 | GLOB_vm_foldarith, |
949 | GLOB_vm_cpuid, | 959 | GLOB_vm_cpuid, |
950 | GLOB_assert_bad_for_arg_type, | 960 | GLOB_assert_bad_for_arg_type, |
961 | GLOB_vm_ffi_callback, | ||
951 | GLOB_vm_ffi_call, | 962 | GLOB_vm_ffi_call, |
952 | GLOB_BC_MODVN_Z, | 963 | GLOB_BC_MODVN_Z, |
953 | GLOB_BC_TGETS_Z, | 964 | GLOB_BC_TGETS_Z, |
@@ -977,6 +988,7 @@ static const char *const globnames[] = { | |||
977 | "vmeta_call", | 988 | "vmeta_call", |
978 | "vm_call_dispatch_f", | 989 | "vm_call_dispatch_f", |
979 | "vm_cpcall", | 990 | "vm_cpcall", |
991 | "cont_ffi_callback", | ||
980 | "vm_call_tail", | 992 | "vm_call_tail", |
981 | "cont_cat", | 993 | "cont_cat", |
982 | "cont_ra", | 994 | "cont_ra", |
@@ -1110,6 +1122,7 @@ static const char *const globnames[] = { | |||
1110 | "vm_foldarith", | 1122 | "vm_foldarith", |
1111 | "vm_cpuid", | 1123 | "vm_cpuid", |
1112 | "assert_bad_for_arg_type", | 1124 | "assert_bad_for_arg_type", |
1125 | "vm_ffi_callback", | ||
1113 | "vm_ffi_call@4", | 1126 | "vm_ffi_call@4", |
1114 | "BC_MODVN_Z", | 1127 | "BC_MODVN_Z", |
1115 | "BC_TGETS_Z", | 1128 | "BC_TGETS_Z", |
@@ -1144,6 +1157,8 @@ static const char *const extnames[] = { | |||
1144 | "lj_dispatch_call@8", | 1157 | "lj_dispatch_call@8", |
1145 | "lj_trace_exit@8", | 1158 | "lj_trace_exit@8", |
1146 | "lj_err_throw@8", | 1159 | "lj_err_throw@8", |
1160 | "lj_ccallback_enter@8", | ||
1161 | "lj_ccallback_leave@8", | ||
1147 | "lj_meta_cat", | 1162 | "lj_meta_cat", |
1148 | "lj_gc_barrieruv@8", | 1163 | "lj_gc_barrieruv@8", |
1149 | "lj_func_closeuv@8", | 1164 | "lj_func_closeuv@8", |
@@ -1184,668 +1199,686 @@ static void build_subroutines(BuildCtx *ctx, int cmov, int sse) | |||
1184 | dasm_put(Dst, 356, Dt1(->top), Dt1(->base), Dt1(->top), Dt7(->pc), FRAME_CP, CFRAME_RESUME, Dt1(->glref), GG_G2DISP, Dt1(->cframe), Dt1(->status), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->status), Dt1(->base), Dt1(->top), FRAME_TYPE); | 1199 | dasm_put(Dst, 356, Dt1(->top), Dt1(->base), Dt1(->top), Dt7(->pc), FRAME_CP, CFRAME_RESUME, Dt1(->glref), GG_G2DISP, Dt1(->cframe), Dt1(->status), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->status), Dt1(->base), Dt1(->top), FRAME_TYPE); |
1185 | dasm_put(Dst, 511, FRAME_CP, FRAME_C, Dt1(->cframe), Dt1(->cframe), Dt1(->glref), GG_G2DISP, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base)); | 1200 | dasm_put(Dst, 511, FRAME_CP, FRAME_C, Dt1(->cframe), Dt1(->cframe), Dt1(->glref), GG_G2DISP, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base)); |
1186 | dasm_put(Dst, 604, Dt1(->top), LJ_TFUNC, Dt7(->pc), Dt1(->stack), Dt1(->top), Dt1(->cframe), Dt1(->cframe), FRAME_CP, LJ_TNIL); | 1201 | dasm_put(Dst, 604, Dt1(->top), LJ_TFUNC, Dt7(->pc), Dt1(->stack), Dt1(->top), Dt1(->cframe), Dt1(->cframe), FRAME_CP, LJ_TNIL); |
1187 | dasm_put(Dst, 770, 0, Dt7(->pc), PC2PROTO(k), Dt1(->base), LJ_TSTR, BC_GGET, DISPATCH_GL(tmptv), LJ_TTAB); | 1202 | #if LJ_HASFFI |
1188 | dasm_put(Dst, 894); | 1203 | dasm_put(Dst, 764); |
1204 | #endif | ||
1205 | dasm_put(Dst, 773, 0); | ||
1206 | #if LJ_HASFFI | ||
1207 | #endif | ||
1208 | dasm_put(Dst, 782, Dt7(->pc), PC2PROTO(k)); | ||
1209 | #if LJ_HASFFI | ||
1210 | dasm_put(Dst, 796); | ||
1211 | #endif | ||
1212 | dasm_put(Dst, 817, Dt1(->base), LJ_TSTR, BC_GGET, DISPATCH_GL(tmptv), LJ_TTAB); | ||
1189 | if (LJ_DUALNUM) { | 1213 | if (LJ_DUALNUM) { |
1190 | dasm_put(Dst, 908, LJ_TISNUM); | 1214 | dasm_put(Dst, 917, LJ_TISNUM); |
1191 | } else if (sse) { | 1215 | } else if (sse) { |
1192 | dasm_put(Dst, 918); | 1216 | dasm_put(Dst, 927); |
1193 | } else { | 1217 | } else { |
1194 | } | 1218 | } |
1195 | dasm_put(Dst, 931, Dt1(->base), Dt1(->base), Dt1(->top), FRAME_CONT, 2+1, LJ_TSTR, BC_GSET); | 1219 | dasm_put(Dst, 940, Dt1(->base), Dt1(->base), Dt1(->top), FRAME_CONT, 2+1, LJ_TSTR, BC_GSET); |
1196 | dasm_put(Dst, 1078, DISPATCH_GL(tmptv), LJ_TTAB); | 1220 | dasm_put(Dst, 1087, DISPATCH_GL(tmptv), LJ_TTAB); |
1197 | if (LJ_DUALNUM) { | 1221 | if (LJ_DUALNUM) { |
1198 | dasm_put(Dst, 908, LJ_TISNUM); | 1222 | dasm_put(Dst, 917, LJ_TISNUM); |
1199 | } else if (sse) { | 1223 | } else if (sse) { |
1200 | dasm_put(Dst, 918); | 1224 | dasm_put(Dst, 927); |
1201 | } else { | 1225 | } else { |
1202 | } | 1226 | } |
1203 | dasm_put(Dst, 1101, Dt1(->base), Dt1(->base), Dt1(->top), FRAME_CONT, 3+1, Dt1(->base), Dt1(->base)); | 1227 | dasm_put(Dst, 1110, Dt1(->base), Dt1(->base), Dt1(->top), FRAME_CONT, 3+1, Dt1(->base), Dt1(->base)); |
1204 | dasm_put(Dst, 1274, -BCBIAS_J*4, LJ_TISTRUECOND, LJ_TISTRUECOND, Dt1(->base)); | 1228 | dasm_put(Dst, 1283, -BCBIAS_J*4, LJ_TISTRUECOND, LJ_TISTRUECOND, Dt1(->base)); |
1205 | dasm_put(Dst, 1374); | 1229 | dasm_put(Dst, 1383); |
1206 | #if LJ_HASFFI | 1230 | #if LJ_HASFFI |
1207 | dasm_put(Dst, 1394, Dt1(->base)); | 1231 | dasm_put(Dst, 1403, Dt1(->base)); |
1208 | #endif | 1232 | #endif |
1209 | dasm_put(Dst, 1425); | 1233 | dasm_put(Dst, 1434); |
1210 | #if LJ_DUALNUM | 1234 | #if LJ_DUALNUM |
1211 | dasm_put(Dst, 1428); | 1235 | dasm_put(Dst, 1437); |
1212 | #endif | 1236 | #endif |
1213 | dasm_put(Dst, 1434); | 1237 | dasm_put(Dst, 1443); |
1214 | #if LJ_DUALNUM | 1238 | #if LJ_DUALNUM |
1215 | dasm_put(Dst, 902); | 1239 | dasm_put(Dst, 911); |
1216 | #endif | 1240 | #endif |
1217 | dasm_put(Dst, 1446); | 1241 | dasm_put(Dst, 1455); |
1218 | #if LJ_DUALNUM | 1242 | #if LJ_DUALNUM |
1219 | dasm_put(Dst, 1428); | 1243 | dasm_put(Dst, 1437); |
1220 | #endif | 1244 | #endif |
1221 | dasm_put(Dst, 1474, Dt1(->base), Dt1(->base), FRAME_CONT, 2+1, Dt1(->base), Dt1(->base)); | 1245 | dasm_put(Dst, 1483, Dt1(->base), Dt1(->base), FRAME_CONT, 2+1, Dt1(->base), Dt1(->base)); |
1222 | #ifdef LUAJIT_ENABLE_LUA52COMPAT | 1246 | #ifdef LUAJIT_ENABLE_LUA52COMPAT |
1223 | dasm_put(Dst, 1580); | 1247 | dasm_put(Dst, 1589); |
1224 | #else | 1248 | #else |
1225 | dasm_put(Dst, 1599); | 1249 | dasm_put(Dst, 1608); |
1226 | #endif | 1250 | #endif |
1227 | dasm_put(Dst, 1604, Dt1(->base), Dt1(->base), Dt7(->pc), Dt1(->base), Dt1(->base), GG_DISP2STATIC, 1+1, LJ_TISTRUECOND); | 1251 | dasm_put(Dst, 1613, Dt1(->base), Dt1(->base), Dt7(->pc), Dt1(->base), Dt1(->base), GG_DISP2STATIC, 1+1, LJ_TISTRUECOND); |
1228 | dasm_put(Dst, 1790, 1+1, ~LJ_TNUMX); | 1252 | dasm_put(Dst, 1799, 1+1, ~LJ_TNUMX); |
1229 | if (cmov) { | 1253 | if (cmov) { |
1230 | dasm_put(Dst, 1859); | 1254 | dasm_put(Dst, 1868); |
1231 | } else { | 1255 | } else { |
1232 | dasm_put(Dst, 1863); | 1256 | dasm_put(Dst, 1872); |
1233 | } | 1257 | } |
1234 | dasm_put(Dst, 1872, ((char *)(&((GCfuncC *)0)->upvalue)), LJ_TSTR, ~LJ_TLIGHTUD, 1+1, LJ_TTAB, Dt6(->metatable), LJ_TNIL); | 1258 | dasm_put(Dst, 1881, ((char *)(&((GCfuncC *)0)->upvalue)), LJ_TSTR, ~LJ_TLIGHTUD, 1+1, LJ_TTAB, Dt6(->metatable), LJ_TNIL); |
1235 | dasm_put(Dst, 1951, DISPATCH_GL(gcroot)+4*(GCROOT_MMNAME+MM_metatable), LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), DtB(->next)); | 1259 | dasm_put(Dst, 1960, DISPATCH_GL(gcroot)+4*(GCROOT_MMNAME+MM_metatable), LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), DtB(->next)); |
1236 | dasm_put(Dst, 2008, LJ_TNIL, LJ_TUDATA, LJ_TNUMX, LJ_TISNUM, LJ_TLIGHTUD); | 1260 | dasm_put(Dst, 2017, LJ_TNIL, LJ_TUDATA, LJ_TNUMX, LJ_TISNUM, LJ_TLIGHTUD); |
1237 | dasm_put(Dst, 2074, LJ_TNUMX, DISPATCH_GL(gcroot[GCROOT_BASEMT]), 2+1, LJ_TTAB, Dt6(->metatable), LJ_TTAB, Dt6(->metatable), LJ_TTAB); | 1261 | dasm_put(Dst, 2083, LJ_TNUMX, DISPATCH_GL(gcroot[GCROOT_BASEMT]), 2+1, LJ_TTAB, Dt6(->metatable), LJ_TTAB, Dt6(->metatable), LJ_TTAB); |
1238 | dasm_put(Dst, 2144, Dt6(->marked), LJ_GC_BLACK, Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist), 2+1, LJ_TTAB); | 1262 | dasm_put(Dst, 2153, Dt6(->marked), LJ_GC_BLACK, Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist), 2+1, LJ_TTAB); |
1239 | dasm_put(Dst, 2233, 1+1, LJ_TISNUM); | 1263 | dasm_put(Dst, 2242, 1+1, LJ_TISNUM); |
1240 | if (LJ_DUALNUM) { | 1264 | if (LJ_DUALNUM) { |
1241 | dasm_put(Dst, 2247); | 1265 | dasm_put(Dst, 2256); |
1242 | } else { | 1266 | } else { |
1243 | dasm_put(Dst, 2264); | 1267 | dasm_put(Dst, 2273); |
1244 | } | 1268 | } |
1245 | if (sse) { | 1269 | if (sse) { |
1246 | dasm_put(Dst, 2269); | 1270 | dasm_put(Dst, 2278); |
1247 | } else { | 1271 | } else { |
1248 | dasm_put(Dst, 2279); | 1272 | dasm_put(Dst, 2288); |
1249 | } | 1273 | } |
1250 | dasm_put(Dst, 2286, 1+1, LJ_TSTR, LJ_TSTR, LJ_TISNUM, DISPATCH_GL(gcroot[GCROOT_BASEMT_NUM]), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold)); | 1274 | dasm_put(Dst, 2295, 1+1, LJ_TSTR, LJ_TSTR, LJ_TISNUM, DISPATCH_GL(gcroot[GCROOT_BASEMT_NUM]), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold)); |
1251 | dasm_put(Dst, 2352, Dt1(->base)); | 1275 | dasm_put(Dst, 2361, Dt1(->base)); |
1252 | if (LJ_DUALNUM) { | 1276 | if (LJ_DUALNUM) { |
1253 | dasm_put(Dst, 2376); | 1277 | dasm_put(Dst, 2385); |
1254 | } else { | 1278 | } else { |
1255 | dasm_put(Dst, 2381); | 1279 | dasm_put(Dst, 2390); |
1256 | } | 1280 | } |
1257 | dasm_put(Dst, 2386, Dt1(->base), 1+1, LJ_TTAB, Dt1(->base), Dt1(->top), Dt1(->base), 1+2); | 1281 | dasm_put(Dst, 2395, Dt1(->base), 1+1, LJ_TTAB, Dt1(->base), Dt1(->top), Dt1(->base), 1+2); |
1258 | dasm_put(Dst, 2479, LJ_TNIL, LJ_TNIL, 1+1, LJ_TTAB); | 1282 | dasm_put(Dst, 2488, LJ_TNIL, LJ_TNIL, 1+1, LJ_TTAB); |
1259 | #ifdef LUAJIT_ENABLE_LUA52COMPAT | 1283 | #ifdef LUAJIT_ENABLE_LUA52COMPAT |
1260 | dasm_put(Dst, 2526, Dt6(->metatable)); | 1284 | dasm_put(Dst, 2535, Dt6(->metatable)); |
1261 | #endif | 1285 | #endif |
1262 | dasm_put(Dst, 2535, Dt8(->upvalue[0]), LJ_TFUNC, LJ_TNIL, 1+3, 1+1, LJ_TTAB, LJ_TISNUM); | 1286 | dasm_put(Dst, 2544, Dt8(->upvalue[0]), LJ_TFUNC, LJ_TNIL, 1+3, 1+1, LJ_TTAB, LJ_TISNUM); |
1263 | if (LJ_DUALNUM) { | 1287 | if (LJ_DUALNUM) { |
1264 | dasm_put(Dst, 2521); | 1288 | dasm_put(Dst, 2530); |
1265 | } else { | 1289 | } else { |
1266 | dasm_put(Dst, 2264); | 1290 | dasm_put(Dst, 2273); |
1267 | } | 1291 | } |
1268 | dasm_put(Dst, 2590); | 1292 | dasm_put(Dst, 2599); |
1269 | if (LJ_DUALNUM) { | 1293 | if (LJ_DUALNUM) { |
1270 | dasm_put(Dst, 2595, LJ_TISNUM); | 1294 | dasm_put(Dst, 2604, LJ_TISNUM); |
1271 | } else if (sse) { | 1295 | } else if (sse) { |
1272 | dasm_put(Dst, 2611, (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32)); | 1296 | dasm_put(Dst, 2620, (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32)); |
1273 | } else { | 1297 | } else { |
1274 | } | 1298 | } |
1275 | dasm_put(Dst, 2644, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->hmask), 1+0); | 1299 | dasm_put(Dst, 2653, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->hmask), 1+0); |
1276 | dasm_put(Dst, 2506, 1+1, LJ_TTAB); | 1300 | dasm_put(Dst, 2515, 1+1, LJ_TTAB); |
1277 | #ifdef LUAJIT_ENABLE_LUA52COMPAT | 1301 | #ifdef LUAJIT_ENABLE_LUA52COMPAT |
1278 | dasm_put(Dst, 2526, Dt6(->metatable)); | 1302 | dasm_put(Dst, 2535, Dt6(->metatable)); |
1279 | #endif | 1303 | #endif |
1280 | dasm_put(Dst, 2721, Dt8(->upvalue[0]), LJ_TFUNC); | 1304 | dasm_put(Dst, 2730, Dt8(->upvalue[0]), LJ_TFUNC); |
1281 | if (LJ_DUALNUM) { | 1305 | if (LJ_DUALNUM) { |
1282 | dasm_put(Dst, 2742, LJ_TISNUM); | 1306 | dasm_put(Dst, 2751, LJ_TISNUM); |
1283 | } else if (sse) { | 1307 | } else if (sse) { |
1284 | dasm_put(Dst, 2754); | 1308 | dasm_put(Dst, 2763); |
1285 | } else { | 1309 | } else { |
1286 | dasm_put(Dst, 2764); | 1310 | dasm_put(Dst, 2773); |
1287 | } | 1311 | } |
1288 | dasm_put(Dst, 2771, 1+3, 1+1, 8+FRAME_PCALL, DISPATCH_GL(hookmask), HOOK_ACTIVE_SHIFT, 2+1, LJ_TFUNC); | 1312 | dasm_put(Dst, 2780, 1+3, 1+1, 8+FRAME_PCALL, DISPATCH_GL(hookmask), HOOK_ACTIVE_SHIFT, 2+1, LJ_TFUNC); |
1289 | dasm_put(Dst, 2835, LJ_TFUNC, 16+FRAME_PCALL, 1+1, LJ_TTHREAD, Dt1(->cframe), Dt1(->status), LUA_YIELD, Dt1(->top)); | 1313 | dasm_put(Dst, 2844, LJ_TFUNC, 16+FRAME_PCALL, 1+1, LJ_TTHREAD, Dt1(->cframe), Dt1(->status), LUA_YIELD, Dt1(->top)); |
1290 | dasm_put(Dst, 2925, Dt1(->base), Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->top), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP); | 1314 | dasm_put(Dst, 2934, Dt1(->base), Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->top), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP); |
1291 | dasm_put(Dst, 3013, Dt1(->base), LUA_YIELD, Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->maxstack), LJ_TTRUE, FRAME_TYPE); | 1315 | dasm_put(Dst, 3022, Dt1(->base), LUA_YIELD, Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->maxstack), LJ_TTRUE, FRAME_TYPE); |
1292 | dasm_put(Dst, 3126, LJ_TFALSE, Dt1(->top), Dt1(->top), 1+2, Dt1(->top), Dt1(->base), Dt8(->upvalue[0].gcr), Dt1(->cframe)); | 1316 | dasm_put(Dst, 3135, LJ_TFALSE, Dt1(->top), Dt1(->top), 1+2, Dt1(->top), Dt1(->base), Dt8(->upvalue[0].gcr), Dt1(->cframe)); |
1293 | dasm_put(Dst, 3224, Dt1(->status), LUA_YIELD, Dt1(->top), Dt1(->base), Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->top)); | 1317 | dasm_put(Dst, 3233, Dt1(->status), LUA_YIELD, Dt1(->top), Dt1(->base), Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->top)); |
1294 | dasm_put(Dst, 3291, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), LUA_YIELD, Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->maxstack)); | 1318 | dasm_put(Dst, 3300, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), LUA_YIELD, Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->maxstack)); |
1295 | dasm_put(Dst, 3379, FRAME_TYPE, Dt1(->top), Dt1(->base), Dt1(->cframe), CFRAME_RESUME); | 1319 | dasm_put(Dst, 3388, FRAME_TYPE, Dt1(->top), Dt1(->base), Dt1(->cframe), CFRAME_RESUME); |
1296 | dasm_put(Dst, 3491, Dt1(->base), Dt1(->top), Dt1(->cframe), LUA_YIELD, Dt1(->status)); | 1320 | dasm_put(Dst, 3500, Dt1(->base), Dt1(->top), Dt1(->cframe), LUA_YIELD, Dt1(->status)); |
1297 | if (!LJ_DUALNUM) { | 1321 | if (!LJ_DUALNUM) { |
1298 | dasm_put(Dst, 3518); | 1322 | dasm_put(Dst, 3527); |
1299 | } | 1323 | } |
1300 | if (sse) { | 1324 | if (sse) { |
1301 | dasm_put(Dst, 3521); | 1325 | dasm_put(Dst, 3530); |
1302 | } | 1326 | } |
1303 | dasm_put(Dst, 3536, 1+1); | 1327 | dasm_put(Dst, 3545, 1+1); |
1304 | if (LJ_DUALNUM) { | 1328 | if (LJ_DUALNUM) { |
1305 | dasm_put(Dst, 3547, LJ_TISNUM, LJ_TISNUM); | 1329 | dasm_put(Dst, 3556, LJ_TISNUM, LJ_TISNUM); |
1306 | } else { | 1330 | } else { |
1307 | dasm_put(Dst, 3627, LJ_TISNUM); | 1331 | dasm_put(Dst, 3636, LJ_TISNUM); |
1308 | } | 1332 | } |
1309 | if (sse) { | 1333 | if (sse) { |
1310 | dasm_put(Dst, 3637, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32)); | 1334 | dasm_put(Dst, 3646, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32)); |
1311 | } else { | 1335 | } else { |
1312 | dasm_put(Dst, 3668); | 1336 | dasm_put(Dst, 3677); |
1313 | } | 1337 | } |
1314 | dasm_put(Dst, 3685, 1+1, FRAME_TYPE, LJ_TNIL); | 1338 | dasm_put(Dst, 3694, 1+1, FRAME_TYPE, LJ_TNIL); |
1315 | if (LJ_DUALNUM) { | 1339 | if (LJ_DUALNUM) { |
1316 | dasm_put(Dst, 3781, LJ_TISNUM); | 1340 | dasm_put(Dst, 3790, LJ_TISNUM); |
1317 | } else { | 1341 | } else { |
1318 | dasm_put(Dst, 3627, LJ_TISNUM); | 1342 | dasm_put(Dst, 3636, LJ_TISNUM); |
1319 | } | 1343 | } |
1320 | if (sse) { | 1344 | if (sse) { |
1321 | dasm_put(Dst, 3803); | ||
1322 | if (LJ_DUALNUM) { | ||
1323 | dasm_put(Dst, 3812); | 1345 | dasm_put(Dst, 3812); |
1346 | if (LJ_DUALNUM) { | ||
1347 | dasm_put(Dst, 3821); | ||
1324 | } | 1348 | } |
1325 | dasm_put(Dst, 2274); | 1349 | dasm_put(Dst, 2283); |
1326 | } else { | 1350 | } else { |
1327 | dasm_put(Dst, 3846); | 1351 | dasm_put(Dst, 3855); |
1328 | if (LJ_DUALNUM) { | 1352 | if (LJ_DUALNUM) { |
1329 | } else { | 1353 | } else { |
1330 | dasm_put(Dst, 2281); | 1354 | dasm_put(Dst, 2290); |
1331 | } | 1355 | } |
1332 | } | 1356 | } |
1333 | dasm_put(Dst, 3852); | 1357 | dasm_put(Dst, 3861); |
1334 | if (LJ_DUALNUM) { | 1358 | if (LJ_DUALNUM) { |
1335 | dasm_put(Dst, 3781, LJ_TISNUM); | 1359 | dasm_put(Dst, 3790, LJ_TISNUM); |
1336 | } else { | 1360 | } else { |
1337 | dasm_put(Dst, 3627, LJ_TISNUM); | 1361 | dasm_put(Dst, 3636, LJ_TISNUM); |
1338 | } | 1362 | } |
1339 | if (sse) { | 1363 | if (sse) { |
1340 | dasm_put(Dst, 3855); | 1364 | dasm_put(Dst, 3864); |
1341 | if (LJ_DUALNUM) { | 1365 | if (LJ_DUALNUM) { |
1342 | dasm_put(Dst, 3812); | 1366 | dasm_put(Dst, 3821); |
1343 | } | 1367 | } |
1344 | dasm_put(Dst, 2274); | 1368 | dasm_put(Dst, 2283); |
1345 | } else { | 1369 | } else { |
1346 | dasm_put(Dst, 3864); | 1370 | dasm_put(Dst, 3873); |
1347 | if (LJ_DUALNUM) { | 1371 | if (LJ_DUALNUM) { |
1348 | } else { | 1372 | } else { |
1349 | dasm_put(Dst, 2281); | 1373 | dasm_put(Dst, 2290); |
1350 | } | 1374 | } |
1351 | } | 1375 | } |
1352 | if (sse) { | 1376 | if (sse) { |
1353 | dasm_put(Dst, 3870, 1+1, LJ_TISNUM); | 1377 | dasm_put(Dst, 3879, 1+1, LJ_TISNUM); |
1354 | } else { | 1378 | } else { |
1355 | dasm_put(Dst, 3899, 1+1, LJ_TISNUM); | 1379 | dasm_put(Dst, 3908, 1+1, LJ_TISNUM); |
1356 | } | 1380 | } |
1357 | dasm_put(Dst, 3928, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1); | 1381 | dasm_put(Dst, 3937, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1); |
1358 | dasm_put(Dst, 3997, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1); | 1382 | dasm_put(Dst, 4006, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1); |
1359 | dasm_put(Dst, 4054, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1); | 1383 | dasm_put(Dst, 4063, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1); |
1360 | dasm_put(Dst, 4117, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM); | 1384 | dasm_put(Dst, 4126, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM); |
1361 | dasm_put(Dst, 4207); | 1385 | dasm_put(Dst, 4216); |
1362 | if (sse) { | 1386 | if (sse) { |
1363 | dasm_put(Dst, 4219, 1+1, LJ_TISNUM); | 1387 | dasm_put(Dst, 4228, 1+1, LJ_TISNUM); |
1364 | } else { | 1388 | } else { |
1365 | } | 1389 | } |
1366 | dasm_put(Dst, 4244); | 1390 | dasm_put(Dst, 4253); |
1367 | if (sse) { | 1391 | if (sse) { |
1368 | dasm_put(Dst, 4258, 1+1, LJ_TISNUM); | 1392 | dasm_put(Dst, 4267, 1+1, LJ_TISNUM); |
1369 | } else { | 1393 | } else { |
1370 | } | 1394 | } |
1371 | dasm_put(Dst, 4283); | 1395 | dasm_put(Dst, 4292); |
1372 | if (sse) { | 1396 | if (sse) { |
1373 | dasm_put(Dst, 4297, 1+1, LJ_TISNUM); | 1397 | dasm_put(Dst, 4306, 1+1, LJ_TISNUM); |
1374 | } else { | 1398 | } else { |
1375 | } | 1399 | } |
1376 | dasm_put(Dst, 4322); | 1400 | dasm_put(Dst, 4331); |
1377 | if (sse) { | 1401 | if (sse) { |
1378 | dasm_put(Dst, 4338, 1+1, LJ_TISNUM, Dt8(->upvalue[0])); | 1402 | dasm_put(Dst, 4347, 1+1, LJ_TISNUM, Dt8(->upvalue[0])); |
1379 | } else { | 1403 | } else { |
1380 | dasm_put(Dst, 4377, 1+1, LJ_TISNUM, Dt8(->upvalue[0])); | 1404 | dasm_put(Dst, 4386, 1+1, LJ_TISNUM, Dt8(->upvalue[0])); |
1381 | } | 1405 | } |
1382 | dasm_put(Dst, 4410, 2+1, LJ_TISNUM, LJ_TISNUM, 2+1, LJ_TISNUM, LJ_TISNUM); | 1406 | dasm_put(Dst, 4419, 2+1, LJ_TISNUM, LJ_TISNUM, 2+1, LJ_TISNUM, LJ_TISNUM); |
1383 | dasm_put(Dst, 4475, 1+1, LJ_TISNUM); | 1407 | dasm_put(Dst, 4484, 1+1, LJ_TISNUM); |
1384 | if (sse) { | 1408 | if (sse) { |
1385 | dasm_put(Dst, 4574); | 1409 | dasm_put(Dst, 4583); |
1386 | } else { | 1410 | } else { |
1387 | dasm_put(Dst, 4580); | 1411 | dasm_put(Dst, 4589); |
1388 | } | 1412 | } |
1389 | dasm_put(Dst, 4589); | 1413 | dasm_put(Dst, 4598); |
1390 | if (sse) { | 1414 | if (sse) { |
1391 | dasm_put(Dst, 4614); | 1415 | dasm_put(Dst, 4623); |
1392 | } else { | 1416 | } else { |
1393 | dasm_put(Dst, 4620); | 1417 | dasm_put(Dst, 4629); |
1394 | } | 1418 | } |
1395 | dasm_put(Dst, 4623, 1+2); | 1419 | dasm_put(Dst, 4632, 1+2); |
1396 | if (sse) { | 1420 | if (sse) { |
1397 | dasm_put(Dst, 4632); | 1421 | dasm_put(Dst, 4641); |
1398 | } else { | 1422 | } else { |
1399 | dasm_put(Dst, 4640); | 1423 | dasm_put(Dst, 4649); |
1400 | } | 1424 | } |
1401 | dasm_put(Dst, 4648); | 1425 | dasm_put(Dst, 4657); |
1402 | if (sse) { | 1426 | if (sse) { |
1403 | dasm_put(Dst, 4651, (unsigned int)(U64x(43500000,00000000)), (unsigned int)((U64x(43500000,00000000))>>32)); | 1427 | dasm_put(Dst, 4660, (unsigned int)(U64x(43500000,00000000)), (unsigned int)((U64x(43500000,00000000))>>32)); |
1404 | } else { | 1428 | } else { |
1405 | dasm_put(Dst, 4678); | 1429 | dasm_put(Dst, 4687); |
1406 | } | 1430 | } |
1407 | dasm_put(Dst, 4697); | 1431 | dasm_put(Dst, 4706); |
1408 | if (sse) { | 1432 | if (sse) { |
1409 | dasm_put(Dst, 4713, 1+1, LJ_TISNUM); | 1433 | dasm_put(Dst, 4722, 1+1, LJ_TISNUM); |
1410 | } else { | 1434 | } else { |
1411 | dasm_put(Dst, 4738, 1+1, LJ_TISNUM); | 1435 | dasm_put(Dst, 4747, 1+1, LJ_TISNUM); |
1412 | } | 1436 | } |
1413 | dasm_put(Dst, 4760); | 1437 | dasm_put(Dst, 4769); |
1414 | if (sse) { | 1438 | if (sse) { |
1415 | dasm_put(Dst, 4782); | 1439 | dasm_put(Dst, 4791); |
1416 | } else { | 1440 | } else { |
1417 | dasm_put(Dst, 4808); | 1441 | dasm_put(Dst, 4817); |
1418 | } | 1442 | } |
1419 | dasm_put(Dst, 4825, 1+2); | 1443 | dasm_put(Dst, 4834, 1+2); |
1420 | if (sse) { | 1444 | if (sse) { |
1421 | dasm_put(Dst, 4865); | 1445 | dasm_put(Dst, 4874); |
1422 | } else { | 1446 | } else { |
1423 | dasm_put(Dst, 4873); | 1447 | dasm_put(Dst, 4882); |
1424 | } | 1448 | } |
1425 | dasm_put(Dst, 4883, 2+1, LJ_TISNUM, LJ_TISNUM); | 1449 | dasm_put(Dst, 4892, 2+1, LJ_TISNUM, LJ_TISNUM); |
1426 | if (sse) { | 1450 | if (sse) { |
1427 | dasm_put(Dst, 4935, 2+1, LJ_TISNUM, LJ_TISNUM); | 1451 | dasm_put(Dst, 4944, 2+1, LJ_TISNUM, LJ_TISNUM); |
1428 | } else { | 1452 | } else { |
1429 | dasm_put(Dst, 4982, 2+1, LJ_TISNUM, LJ_TISNUM); | 1453 | dasm_put(Dst, 4991, 2+1, LJ_TISNUM, LJ_TISNUM); |
1430 | } | 1454 | } |
1431 | dasm_put(Dst, 5023, LJ_TISNUM); | 1455 | dasm_put(Dst, 5032, LJ_TISNUM); |
1432 | if (LJ_DUALNUM) { | 1456 | if (LJ_DUALNUM) { |
1433 | dasm_put(Dst, 5036, LJ_TISNUM); | 1457 | dasm_put(Dst, 5045, LJ_TISNUM); |
1434 | if (sse) { | 1458 | if (sse) { |
1435 | dasm_put(Dst, 4574); | 1459 | dasm_put(Dst, 4583); |
1436 | } else { | 1460 | } else { |
1437 | } | 1461 | } |
1438 | dasm_put(Dst, 5086); | 1462 | dasm_put(Dst, 5095); |
1439 | } else { | 1463 | } else { |
1440 | dasm_put(Dst, 2264); | 1464 | dasm_put(Dst, 2273); |
1441 | } | 1465 | } |
1442 | if (sse) { | 1466 | if (sse) { |
1443 | dasm_put(Dst, 5097, LJ_TISNUM); | 1467 | dasm_put(Dst, 5106, LJ_TISNUM); |
1444 | if (LJ_DUALNUM) { | 1468 | if (LJ_DUALNUM) { |
1445 | dasm_put(Dst, 5118); | 1469 | dasm_put(Dst, 5127); |
1446 | } else { | 1470 | } else { |
1447 | dasm_put(Dst, 2264); | 1471 | dasm_put(Dst, 2273); |
1448 | } | 1472 | } |
1449 | dasm_put(Dst, 5139); | 1473 | dasm_put(Dst, 5148); |
1450 | } else { | 1474 | } else { |
1451 | } | 1475 | } |
1452 | dasm_put(Dst, 5164, LJ_TISNUM); | 1476 | dasm_put(Dst, 5173, LJ_TISNUM); |
1453 | if (LJ_DUALNUM) { | 1477 | if (LJ_DUALNUM) { |
1454 | dasm_put(Dst, 5177, LJ_TISNUM); | 1478 | dasm_put(Dst, 5186, LJ_TISNUM); |
1455 | if (sse) { | 1479 | if (sse) { |
1456 | dasm_put(Dst, 4574); | 1480 | dasm_put(Dst, 4583); |
1457 | } else { | 1481 | } else { |
1458 | } | 1482 | } |
1459 | dasm_put(Dst, 5086); | 1483 | dasm_put(Dst, 5095); |
1460 | } else { | 1484 | } else { |
1461 | dasm_put(Dst, 2264); | 1485 | dasm_put(Dst, 2273); |
1462 | } | 1486 | } |
1463 | if (sse) { | 1487 | if (sse) { |
1464 | dasm_put(Dst, 5097, LJ_TISNUM); | 1488 | dasm_put(Dst, 5106, LJ_TISNUM); |
1465 | if (LJ_DUALNUM) { | 1489 | if (LJ_DUALNUM) { |
1466 | dasm_put(Dst, 5118); | 1490 | dasm_put(Dst, 5127); |
1467 | } else { | 1491 | } else { |
1468 | dasm_put(Dst, 2264); | 1492 | dasm_put(Dst, 2273); |
1469 | } | 1493 | } |
1470 | dasm_put(Dst, 5227); | 1494 | dasm_put(Dst, 5236); |
1471 | } else { | 1495 | } else { |
1472 | } | 1496 | } |
1473 | if (!sse) { | 1497 | if (!sse) { |
1474 | dasm_put(Dst, 5252); | 1498 | dasm_put(Dst, 5261); |
1475 | } | 1499 | } |
1476 | dasm_put(Dst, 5261, 1+1, LJ_TSTR); | 1500 | dasm_put(Dst, 5270, 1+1, LJ_TSTR); |
1477 | if (LJ_DUALNUM) { | 1501 | if (LJ_DUALNUM) { |
1478 | dasm_put(Dst, 5283, Dt5(->len)); | 1502 | dasm_put(Dst, 5292, Dt5(->len)); |
1479 | } else if (sse) { | 1503 | } else if (sse) { |
1480 | dasm_put(Dst, 5291, Dt5(->len)); | 1504 | dasm_put(Dst, 5300, Dt5(->len)); |
1481 | } else { | 1505 | } else { |
1482 | dasm_put(Dst, 5302, Dt5(->len)); | 1506 | dasm_put(Dst, 5311, Dt5(->len)); |
1483 | } | 1507 | } |
1484 | dasm_put(Dst, 5310, 1+1, LJ_TSTR, Dt5(->len), Dt5([1])); | 1508 | dasm_put(Dst, 5319, 1+1, LJ_TSTR, Dt5(->len), Dt5([1])); |
1485 | if (LJ_DUALNUM) { | 1509 | if (LJ_DUALNUM) { |
1486 | dasm_put(Dst, 5286); | 1510 | dasm_put(Dst, 5295); |
1487 | } else if (sse) { | 1511 | } else if (sse) { |
1488 | dasm_put(Dst, 5348); | 1512 | dasm_put(Dst, 5357); |
1489 | } else { | 1513 | } else { |
1490 | dasm_put(Dst, 5358); | 1514 | dasm_put(Dst, 5367); |
1491 | } | 1515 | } |
1492 | dasm_put(Dst, 5371, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), 1+1, LJ_TISNUM); | 1516 | dasm_put(Dst, 5380, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), 1+1, LJ_TISNUM); |
1493 | if (LJ_DUALNUM) { | 1517 | if (LJ_DUALNUM) { |
1494 | dasm_put(Dst, 5402); | 1518 | dasm_put(Dst, 5411); |
1495 | } else if (sse) { | 1519 | } else if (sse) { |
1496 | dasm_put(Dst, 5425); | 1520 | dasm_put(Dst, 5434); |
1497 | } else { | 1521 | } else { |
1498 | dasm_put(Dst, 5451); | 1522 | dasm_put(Dst, 5460); |
1499 | } | 1523 | } |
1500 | dasm_put(Dst, 5475, Dt1(->base), Dt1(->base), LJ_TSTR, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), 1+2, LJ_TISNUM); | 1524 | dasm_put(Dst, 5484, Dt1(->base), Dt1(->base), LJ_TSTR, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), 1+2, LJ_TISNUM); |
1501 | if (LJ_DUALNUM) { | 1525 | if (LJ_DUALNUM) { |
1502 | dasm_put(Dst, 5583); | 1526 | dasm_put(Dst, 5592); |
1503 | } else if (sse) { | 1527 | } else if (sse) { |
1504 | dasm_put(Dst, 5595); | 1528 | dasm_put(Dst, 5604); |
1505 | } else { | 1529 | } else { |
1506 | dasm_put(Dst, 5610); | 1530 | dasm_put(Dst, 5619); |
1507 | } | 1531 | } |
1508 | dasm_put(Dst, 5622, LJ_TSTR, LJ_TISNUM); | 1532 | dasm_put(Dst, 5631, LJ_TSTR, LJ_TISNUM); |
1509 | if (LJ_DUALNUM) { | 1533 | if (LJ_DUALNUM) { |
1510 | dasm_put(Dst, 2521); | 1534 | dasm_put(Dst, 2530); |
1511 | } else { | 1535 | } else { |
1512 | dasm_put(Dst, 2264); | 1536 | dasm_put(Dst, 2273); |
1513 | } | 1537 | } |
1514 | dasm_put(Dst, 5639, Dt5(->len)); | 1538 | dasm_put(Dst, 5648, Dt5(->len)); |
1515 | if (LJ_DUALNUM) { | 1539 | if (LJ_DUALNUM) { |
1516 | dasm_put(Dst, 5649); | 1540 | dasm_put(Dst, 5658); |
1517 | } else if (sse) { | 1541 | } else if (sse) { |
1518 | dasm_put(Dst, 5653); | 1542 | dasm_put(Dst, 5662); |
1519 | } else { | 1543 | } else { |
1520 | } | 1544 | } |
1521 | dasm_put(Dst, 5660, sizeof(GCstr)-1); | 1545 | dasm_put(Dst, 5669, sizeof(GCstr)-1); |
1522 | dasm_put(Dst, 5735, 2+1, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold)); | 1546 | dasm_put(Dst, 5744, 2+1, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold)); |
1523 | dasm_put(Dst, 5794, LJ_TSTR, LJ_TISNUM); | 1547 | dasm_put(Dst, 5803, LJ_TSTR, LJ_TISNUM); |
1524 | if (LJ_DUALNUM) { | 1548 | if (LJ_DUALNUM) { |
1525 | dasm_put(Dst, 5811); | 1549 | dasm_put(Dst, 5820); |
1526 | } else if (sse) { | 1550 | } else if (sse) { |
1527 | dasm_put(Dst, 5819); | 1551 | dasm_put(Dst, 5828); |
1528 | } else { | 1552 | } else { |
1529 | dasm_put(Dst, 5830); | 1553 | dasm_put(Dst, 5839); |
1530 | } | 1554 | } |
1531 | dasm_put(Dst, 5846, Dt5(->len), DISPATCH_GL(tmpbuf.sz), Dt5([1]), DISPATCH_GL(tmpbuf.buf), DISPATCH_GL(tmpbuf.buf), 1+1); | 1555 | dasm_put(Dst, 5855, Dt5(->len), DISPATCH_GL(tmpbuf.sz), Dt5([1]), DISPATCH_GL(tmpbuf.buf), DISPATCH_GL(tmpbuf.buf), 1+1); |
1532 | dasm_put(Dst, 5911, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf)); | 1556 | dasm_put(Dst, 5920, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf)); |
1533 | dasm_put(Dst, 5974, 1+1, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz)); | 1557 | dasm_put(Dst, 5983, 1+1, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz)); |
1534 | dasm_put(Dst, 6045, sizeof(GCstr), DISPATCH_GL(tmpbuf.buf), 1+1); | 1558 | dasm_put(Dst, 6054, sizeof(GCstr), DISPATCH_GL(tmpbuf.buf), 1+1); |
1535 | dasm_put(Dst, 6130, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf)); | 1559 | dasm_put(Dst, 6139, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf)); |
1536 | dasm_put(Dst, 6200, 1+1, LJ_TTAB); | 1560 | dasm_put(Dst, 6209, 1+1, LJ_TTAB); |
1537 | if (LJ_DUALNUM) { | 1561 | if (LJ_DUALNUM) { |
1538 | dasm_put(Dst, 6268); | 1562 | dasm_put(Dst, 6277); |
1539 | } else if (sse) { | 1563 | } else if (sse) { |
1540 | dasm_put(Dst, 6275); | 1564 | dasm_put(Dst, 6284); |
1541 | } else { | 1565 | } else { |
1542 | } | 1566 | } |
1543 | dasm_put(Dst, 6285, 1+1, LJ_TISNUM); | 1567 | dasm_put(Dst, 6294, 1+1, LJ_TISNUM); |
1544 | if (LJ_DUALNUM) { | 1568 | if (LJ_DUALNUM) { |
1545 | dasm_put(Dst, 6301); | 1569 | dasm_put(Dst, 6310); |
1546 | } else { | 1570 | } else { |
1547 | dasm_put(Dst, 2264); | 1571 | dasm_put(Dst, 2273); |
1548 | } | 1572 | } |
1549 | if (sse) { | 1573 | if (sse) { |
1550 | dasm_put(Dst, 6318, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); | 1574 | dasm_put(Dst, 6327, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); |
1551 | } else { | 1575 | } else { |
1552 | } | 1576 | } |
1553 | dasm_put(Dst, 106); | 1577 | dasm_put(Dst, 106); |
1554 | if (LJ_DUALNUM || sse) { | 1578 | if (LJ_DUALNUM || sse) { |
1555 | if (!sse) { | 1579 | if (!sse) { |
1556 | } | 1580 | } |
1557 | dasm_put(Dst, 6342); | 1581 | dasm_put(Dst, 6351); |
1558 | } else { | 1582 | } else { |
1559 | } | 1583 | } |
1560 | dasm_put(Dst, 6347, 1+1); | 1584 | dasm_put(Dst, 6356, 1+1); |
1561 | if (sse) { | 1585 | if (sse) { |
1562 | dasm_put(Dst, 6358, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); | 1586 | dasm_put(Dst, 6367, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); |
1563 | } else { | 1587 | } else { |
1564 | dasm_put(Dst, 6368); | 1588 | dasm_put(Dst, 6377); |
1565 | } | 1589 | } |
1566 | dasm_put(Dst, 2241, LJ_TISNUM); | 1590 | dasm_put(Dst, 2250, LJ_TISNUM); |
1567 | if (LJ_DUALNUM) { | 1591 | if (LJ_DUALNUM) { |
1568 | dasm_put(Dst, 6377); | 1592 | dasm_put(Dst, 6386); |
1569 | } else { | 1593 | } else { |
1570 | dasm_put(Dst, 2264); | 1594 | dasm_put(Dst, 2273); |
1571 | } | 1595 | } |
1572 | if (sse) { | 1596 | if (sse) { |
1573 | dasm_put(Dst, 6394); | 1597 | dasm_put(Dst, 6403); |
1574 | } else { | 1598 | } else { |
1575 | } | 1599 | } |
1576 | dasm_put(Dst, 6409, LJ_TISNUM); | 1600 | dasm_put(Dst, 6418, LJ_TISNUM); |
1577 | if (LJ_DUALNUM) { | 1601 | if (LJ_DUALNUM) { |
1578 | dasm_put(Dst, 6434); | 1602 | dasm_put(Dst, 6443); |
1579 | } else { | 1603 | } else { |
1580 | dasm_put(Dst, 6454); | 1604 | dasm_put(Dst, 6463); |
1581 | } | 1605 | } |
1582 | if (sse) { | 1606 | if (sse) { |
1583 | dasm_put(Dst, 6459); | 1607 | dasm_put(Dst, 6468); |
1584 | } else { | 1608 | } else { |
1585 | } | 1609 | } |
1586 | dasm_put(Dst, 6476, 1+1); | 1610 | dasm_put(Dst, 6485, 1+1); |
1587 | if (sse) { | 1611 | if (sse) { |
1588 | dasm_put(Dst, 6358, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); | 1612 | dasm_put(Dst, 6367, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); |
1589 | } else { | 1613 | } else { |
1590 | dasm_put(Dst, 6368); | 1614 | dasm_put(Dst, 6377); |
1591 | } | 1615 | } |
1592 | dasm_put(Dst, 2241, LJ_TISNUM); | 1616 | dasm_put(Dst, 2250, LJ_TISNUM); |
1593 | if (LJ_DUALNUM) { | 1617 | if (LJ_DUALNUM) { |
1594 | dasm_put(Dst, 6377); | 1618 | dasm_put(Dst, 6386); |
1595 | } else { | 1619 | } else { |
1596 | dasm_put(Dst, 2264); | 1620 | dasm_put(Dst, 2273); |
1597 | } | 1621 | } |
1598 | if (sse) { | 1622 | if (sse) { |
1599 | dasm_put(Dst, 6394); | 1623 | dasm_put(Dst, 6403); |
1600 | } else { | 1624 | } else { |
1601 | } | 1625 | } |
1602 | dasm_put(Dst, 6409, LJ_TISNUM); | 1626 | dasm_put(Dst, 6418, LJ_TISNUM); |
1603 | if (LJ_DUALNUM) { | 1627 | if (LJ_DUALNUM) { |
1604 | dasm_put(Dst, 6494); | 1628 | dasm_put(Dst, 6503); |
1605 | } else { | 1629 | } else { |
1606 | dasm_put(Dst, 6454); | 1630 | dasm_put(Dst, 6463); |
1607 | } | 1631 | } |
1608 | if (sse) { | 1632 | if (sse) { |
1609 | dasm_put(Dst, 6514); | 1633 | dasm_put(Dst, 6523); |
1610 | } else { | 1634 | } else { |
1611 | } | 1635 | } |
1612 | dasm_put(Dst, 6531, 1+1); | 1636 | dasm_put(Dst, 6540, 1+1); |
1613 | if (sse) { | 1637 | if (sse) { |
1614 | dasm_put(Dst, 6358, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); | 1638 | dasm_put(Dst, 6367, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); |
1615 | } else { | 1639 | } else { |
1616 | dasm_put(Dst, 6368); | 1640 | dasm_put(Dst, 6377); |
1617 | } | 1641 | } |
1618 | dasm_put(Dst, 2241, LJ_TISNUM); | 1642 | dasm_put(Dst, 2250, LJ_TISNUM); |
1619 | if (LJ_DUALNUM) { | 1643 | if (LJ_DUALNUM) { |
1620 | dasm_put(Dst, 6377); | 1644 | dasm_put(Dst, 6386); |
1621 | } else { | 1645 | } else { |
1622 | dasm_put(Dst, 2264); | 1646 | dasm_put(Dst, 2273); |
1623 | } | 1647 | } |
1624 | if (sse) { | 1648 | if (sse) { |
1625 | dasm_put(Dst, 6394); | 1649 | dasm_put(Dst, 6403); |
1626 | } else { | 1650 | } else { |
1627 | } | 1651 | } |
1628 | dasm_put(Dst, 6409, LJ_TISNUM); | 1652 | dasm_put(Dst, 6418, LJ_TISNUM); |
1629 | if (LJ_DUALNUM) { | 1653 | if (LJ_DUALNUM) { |
1630 | dasm_put(Dst, 6549); | 1654 | dasm_put(Dst, 6558); |
1631 | } else { | 1655 | } else { |
1632 | dasm_put(Dst, 6454); | 1656 | dasm_put(Dst, 6463); |
1633 | } | 1657 | } |
1634 | if (sse) { | 1658 | if (sse) { |
1635 | dasm_put(Dst, 6569); | 1659 | dasm_put(Dst, 6578); |
1636 | } else { | 1660 | } else { |
1637 | } | 1661 | } |
1638 | dasm_put(Dst, 6586, 1+1, LJ_TISNUM); | 1662 | dasm_put(Dst, 6595, 1+1, LJ_TISNUM); |
1639 | if (LJ_DUALNUM) { | 1663 | if (LJ_DUALNUM) { |
1640 | dasm_put(Dst, 6377); | 1664 | dasm_put(Dst, 6386); |
1641 | } else { | 1665 | } else { |
1642 | dasm_put(Dst, 2264); | 1666 | dasm_put(Dst, 2273); |
1643 | } | 1667 | } |
1644 | if (sse) { | 1668 | if (sse) { |
1645 | dasm_put(Dst, 6318, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); | 1669 | dasm_put(Dst, 6327, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); |
1646 | } else { | 1670 | } else { |
1647 | } | 1671 | } |
1648 | dasm_put(Dst, 6609, 1+1, LJ_TISNUM); | 1672 | dasm_put(Dst, 6618, 1+1, LJ_TISNUM); |
1649 | if (LJ_DUALNUM) { | 1673 | if (LJ_DUALNUM) { |
1650 | dasm_put(Dst, 6377); | 1674 | dasm_put(Dst, 6386); |
1651 | } else { | 1675 | } else { |
1652 | dasm_put(Dst, 2264); | 1676 | dasm_put(Dst, 2273); |
1653 | } | 1677 | } |
1654 | if (sse) { | 1678 | if (sse) { |
1655 | dasm_put(Dst, 6318, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); | 1679 | dasm_put(Dst, 6327, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); |
1656 | } else { | 1680 | } else { |
1657 | } | 1681 | } |
1658 | dasm_put(Dst, 6633); | 1682 | dasm_put(Dst, 6642); |
1659 | if (LJ_DUALNUM) { | 1683 | if (LJ_DUALNUM) { |
1660 | dasm_put(Dst, 6342); | 1684 | dasm_put(Dst, 6351); |
1661 | } else if (sse) { | 1685 | } else if (sse) { |
1662 | dasm_put(Dst, 6639); | 1686 | dasm_put(Dst, 6648); |
1663 | } else { | 1687 | } else { |
1664 | } | 1688 | } |
1665 | dasm_put(Dst, 6651); | 1689 | dasm_put(Dst, 6660); |
1666 | if (LJ_DUALNUM) { | 1690 | if (LJ_DUALNUM) { |
1667 | dasm_put(Dst, 6662, 1+1, LJ_TISNUM); | 1691 | dasm_put(Dst, 6671, 1+1, LJ_TISNUM); |
1668 | if (LJ_DUALNUM) { | 1692 | if (LJ_DUALNUM) { |
1669 | dasm_put(Dst, 6377); | 1693 | dasm_put(Dst, 6386); |
1670 | } else { | 1694 | } else { |
1671 | dasm_put(Dst, 2264); | 1695 | dasm_put(Dst, 2273); |
1672 | } | 1696 | } |
1673 | if (sse) { | 1697 | if (sse) { |
1674 | dasm_put(Dst, 6318, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); | 1698 | dasm_put(Dst, 6327, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); |
1675 | } else { | 1699 | } else { |
1676 | } | 1700 | } |
1677 | dasm_put(Dst, 6678, LJ_TISNUM); | 1701 | dasm_put(Dst, 6687, LJ_TISNUM); |
1678 | } else if (sse) { | 1702 | } else if (sse) { |
1679 | dasm_put(Dst, 6693, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); | 1703 | dasm_put(Dst, 6702, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); |
1680 | } else { | 1704 | } else { |
1681 | } | 1705 | } |
1682 | dasm_put(Dst, 6760); | 1706 | dasm_put(Dst, 6769); |
1683 | if (LJ_DUALNUM) { | 1707 | if (LJ_DUALNUM) { |
1684 | dasm_put(Dst, 6767, 1+1, LJ_TISNUM); | 1708 | dasm_put(Dst, 6776, 1+1, LJ_TISNUM); |
1685 | if (LJ_DUALNUM) { | 1709 | if (LJ_DUALNUM) { |
1686 | dasm_put(Dst, 6377); | 1710 | dasm_put(Dst, 6386); |
1687 | } else { | 1711 | } else { |
1688 | dasm_put(Dst, 2264); | 1712 | dasm_put(Dst, 2273); |
1689 | } | 1713 | } |
1690 | if (sse) { | 1714 | if (sse) { |
1691 | dasm_put(Dst, 6318, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); | 1715 | dasm_put(Dst, 6327, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); |
1692 | } else { | 1716 | } else { |
1693 | } | 1717 | } |
1694 | dasm_put(Dst, 6678, LJ_TISNUM); | 1718 | dasm_put(Dst, 6687, LJ_TISNUM); |
1695 | } else if (sse) { | 1719 | } else if (sse) { |
1696 | dasm_put(Dst, 6783, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); | 1720 | dasm_put(Dst, 6792, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); |
1697 | } else { | 1721 | } else { |
1698 | } | 1722 | } |
1699 | dasm_put(Dst, 6850); | 1723 | dasm_put(Dst, 6859); |
1700 | if (LJ_DUALNUM) { | 1724 | if (LJ_DUALNUM) { |
1701 | dasm_put(Dst, 6858, 1+1, LJ_TISNUM); | 1725 | dasm_put(Dst, 6867, 1+1, LJ_TISNUM); |
1702 | if (LJ_DUALNUM) { | 1726 | if (LJ_DUALNUM) { |
1703 | dasm_put(Dst, 6377); | 1727 | dasm_put(Dst, 6386); |
1704 | } else { | 1728 | } else { |
1705 | dasm_put(Dst, 2264); | 1729 | dasm_put(Dst, 2273); |
1706 | } | 1730 | } |
1707 | if (sse) { | 1731 | if (sse) { |
1708 | dasm_put(Dst, 6318, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); | 1732 | dasm_put(Dst, 6327, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); |
1709 | } else { | 1733 | } else { |
1710 | } | 1734 | } |
1711 | dasm_put(Dst, 6678, LJ_TISNUM); | 1735 | dasm_put(Dst, 6687, LJ_TISNUM); |
1712 | } else if (sse) { | 1736 | } else if (sse) { |
1713 | dasm_put(Dst, 6874, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); | 1737 | dasm_put(Dst, 6883, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); |
1714 | } else { | 1738 | } else { |
1715 | } | 1739 | } |
1716 | dasm_put(Dst, 6941); | 1740 | dasm_put(Dst, 6950); |
1717 | if (LJ_DUALNUM) { | 1741 | if (LJ_DUALNUM) { |
1718 | dasm_put(Dst, 6949, 1+1, LJ_TISNUM); | 1742 | dasm_put(Dst, 6958, 1+1, LJ_TISNUM); |
1719 | if (LJ_DUALNUM) { | 1743 | if (LJ_DUALNUM) { |
1720 | dasm_put(Dst, 6377); | 1744 | dasm_put(Dst, 6386); |
1721 | } else { | 1745 | } else { |
1722 | dasm_put(Dst, 2264); | 1746 | dasm_put(Dst, 2273); |
1723 | } | 1747 | } |
1724 | if (sse) { | 1748 | if (sse) { |
1725 | dasm_put(Dst, 6318, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); | 1749 | dasm_put(Dst, 6327, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); |
1726 | } else { | 1750 | } else { |
1727 | } | 1751 | } |
1728 | dasm_put(Dst, 6678, LJ_TISNUM); | 1752 | dasm_put(Dst, 6687, LJ_TISNUM); |
1729 | } else if (sse) { | 1753 | } else if (sse) { |
1730 | dasm_put(Dst, 6965, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); | 1754 | dasm_put(Dst, 6974, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); |
1731 | } else { | 1755 | } else { |
1732 | } | 1756 | } |
1733 | dasm_put(Dst, 7032); | 1757 | dasm_put(Dst, 7041); |
1734 | if (LJ_DUALNUM) { | 1758 | if (LJ_DUALNUM) { |
1735 | dasm_put(Dst, 7039, 1+1, LJ_TISNUM); | 1759 | dasm_put(Dst, 7048, 1+1, LJ_TISNUM); |
1736 | if (LJ_DUALNUM) { | 1760 | if (LJ_DUALNUM) { |
1737 | dasm_put(Dst, 6377); | 1761 | dasm_put(Dst, 6386); |
1738 | } else { | 1762 | } else { |
1739 | dasm_put(Dst, 2264); | 1763 | dasm_put(Dst, 2273); |
1740 | } | 1764 | } |
1741 | if (sse) { | 1765 | if (sse) { |
1742 | dasm_put(Dst, 6318, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); | 1766 | dasm_put(Dst, 6327, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); |
1743 | } else { | 1767 | } else { |
1744 | } | 1768 | } |
1745 | dasm_put(Dst, 6678, LJ_TISNUM); | 1769 | dasm_put(Dst, 6687, LJ_TISNUM); |
1746 | } else if (sse) { | 1770 | } else if (sse) { |
1747 | dasm_put(Dst, 7055, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); | 1771 | dasm_put(Dst, 7064, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); |
1748 | } else { | 1772 | } else { |
1749 | } | 1773 | } |
1750 | dasm_put(Dst, 7122, 1+2, 1+1, Dt1(->base), 8*LUA_MINSTACK, Dt1(->top), Dt1(->maxstack), Dt8(->f), Dt1(->base)); | 1774 | dasm_put(Dst, 7131, 1+2, 1+1, Dt1(->base), 8*LUA_MINSTACK, Dt1(->top), Dt1(->maxstack), Dt8(->f), Dt1(->base)); |
1751 | dasm_put(Dst, 7198, Dt1(->top), Dt7(->pc), FRAME_TYPE, LUA_MINSTACK, Dt1(->base), Dt1(->base)); | 1775 | dasm_put(Dst, 7207, Dt1(->top), Dt7(->pc), FRAME_TYPE, LUA_MINSTACK, Dt1(->base), Dt1(->base)); |
1752 | dasm_put(Dst, 7325, Dt1(->top), Dt1(->base), Dt1(->top)); | 1776 | dasm_put(Dst, 7334, Dt1(->top), Dt1(->base), Dt1(->top)); |
1753 | #if LJ_HASJIT | 1777 | #if LJ_HASJIT |
1754 | dasm_put(Dst, 7364, DISPATCH_GL(hookmask), HOOK_VMEVENT, HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount)); | 1778 | dasm_put(Dst, 7373, DISPATCH_GL(hookmask), HOOK_VMEVENT, HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount)); |
1755 | #endif | 1779 | #endif |
1756 | dasm_put(Dst, 7395, DISPATCH_GL(hookmask), HOOK_ACTIVE, DISPATCH_GL(hookmask), HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount), LUA_MASKLINE); | 1780 | dasm_put(Dst, 7404, DISPATCH_GL(hookmask), HOOK_ACTIVE, DISPATCH_GL(hookmask), HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount), LUA_MASKLINE); |
1757 | dasm_put(Dst, 7446, Dt1(->base), Dt1(->base), GG_DISP2STATIC); | 1781 | dasm_put(Dst, 7455, Dt1(->base), Dt1(->base), GG_DISP2STATIC); |
1758 | #if LJ_HASJIT | 1782 | #if LJ_HASJIT |
1759 | dasm_put(Dst, 7513, Dt7(->pc), PC2PROTO(framesize), Dt1(->base), Dt1(->top), GG_DISP2J, DISPATCH_J(L)); | 1783 | dasm_put(Dst, 7522, Dt7(->pc), PC2PROTO(framesize), Dt1(->base), Dt1(->top), GG_DISP2J, DISPATCH_J(L)); |
1760 | #endif | 1784 | #endif |
1761 | dasm_put(Dst, 7560); | 1785 | dasm_put(Dst, 7569); |
1762 | #if LJ_HASJIT | 1786 | #if LJ_HASJIT |
1763 | dasm_put(Dst, 7390); | 1787 | dasm_put(Dst, 7399); |
1764 | #endif | 1788 | #endif |
1765 | dasm_put(Dst, 7567); | 1789 | dasm_put(Dst, 7576); |
1766 | #if LJ_HASJIT | 1790 | #if LJ_HASJIT |
1767 | dasm_put(Dst, 7570); | 1791 | dasm_put(Dst, 7579); |
1768 | #endif | 1792 | #endif |
1769 | dasm_put(Dst, 7580, Dt1(->base), Dt1(->top)); | 1793 | dasm_put(Dst, 7589, Dt1(->base), Dt1(->top)); |
1770 | #if LJ_HASJIT | 1794 | #if LJ_HASJIT |
1771 | dasm_put(Dst, 7614); | 1795 | dasm_put(Dst, 7623); |
1772 | #endif | 1796 | #endif |
1773 | dasm_put(Dst, 7619, Dt1(->base), Dt1(->top)); | 1797 | dasm_put(Dst, 7628, Dt1(->base), Dt1(->top)); |
1774 | #if LJ_HASJIT | 1798 | #if LJ_HASJIT |
1775 | dasm_put(Dst, 7650, DISPATCH_GL(vmstate), DISPATCH_GL(vmstate), ~LJ_VMST_EXIT, DISPATCH_J(exitno), DISPATCH_J(parent), 16*8+4*8, DISPATCH_GL(jit_L), DISPATCH_GL(jit_base), DISPATCH_J(L), DISPATCH_GL(jit_L), Dt1(->base), 4*8, GG_DISP2J, Dt1(->cframe), CFRAME_RAWMASK, CFRAME_OFS_L, Dt1(->base), CFRAME_OFS_PC); | 1799 | dasm_put(Dst, 7659, DISPATCH_GL(vmstate), DISPATCH_GL(vmstate), ~LJ_VMST_EXIT, DISPATCH_J(exitno), DISPATCH_J(parent), 16*8+4*8, DISPATCH_GL(jit_L), DISPATCH_GL(jit_base), DISPATCH_J(L), DISPATCH_GL(jit_L), Dt1(->base), 4*8, GG_DISP2J, Dt1(->cframe), CFRAME_RAWMASK, CFRAME_OFS_L, Dt1(->base), CFRAME_OFS_PC); |
1776 | #endif | 1800 | #endif |
1777 | dasm_put(Dst, 7880); | 1801 | dasm_put(Dst, 7889); |
1778 | #if LJ_HASJIT | 1802 | #if LJ_HASJIT |
1779 | dasm_put(Dst, 7883, 9*16+4*8, -9*16, -8*16, -7*16, -6*16, -5*16, -4*16, -3*16, -2*16, -1*16, Dt7(->pc), PC2PROTO(k), DISPATCH_GL(jit_L), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, BC_FUNCF); | 1803 | dasm_put(Dst, 7892, 9*16+4*8, -9*16, -8*16, -7*16, -6*16, -5*16, -4*16, -3*16, -2*16, -1*16, Dt7(->pc), PC2PROTO(k), DISPATCH_GL(jit_L), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, BC_FUNCF); |
1780 | dasm_put(Dst, 8025); | 1804 | dasm_put(Dst, 8034); |
1781 | #endif | 1805 | #endif |
1782 | dasm_put(Dst, 8051); | 1806 | dasm_put(Dst, 8060); |
1783 | if (!sse) { | 1807 | if (!sse) { |
1784 | dasm_put(Dst, 8054); | 1808 | dasm_put(Dst, 8063); |
1785 | } | 1809 | } |
1786 | dasm_put(Dst, 8099, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(43300000,00000000)), (unsigned int)((U64x(43300000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32)); | 1810 | dasm_put(Dst, 8108, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(43300000,00000000)), (unsigned int)((U64x(43300000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32)); |
1787 | if (!sse) { | 1811 | if (!sse) { |
1788 | dasm_put(Dst, 8185); | 1812 | dasm_put(Dst, 8194); |
1789 | } | 1813 | } |
1790 | dasm_put(Dst, 8230, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(43300000,00000000)), (unsigned int)((U64x(43300000,00000000))>>32), (unsigned int)(U64x(bff00000,00000000)), (unsigned int)((U64x(bff00000,00000000))>>32)); | 1814 | dasm_put(Dst, 8239, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(43300000,00000000)), (unsigned int)((U64x(43300000,00000000))>>32), (unsigned int)(U64x(bff00000,00000000)), (unsigned int)((U64x(bff00000,00000000))>>32)); |
1791 | if (!sse) { | 1815 | if (!sse) { |
1792 | dasm_put(Dst, 8316); | 1816 | dasm_put(Dst, 8325); |
1793 | } | 1817 | } |
1794 | dasm_put(Dst, 8355, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(43300000,00000000)), (unsigned int)((U64x(43300000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32)); | 1818 | dasm_put(Dst, 8364, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(43300000,00000000)), (unsigned int)((U64x(43300000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32)); |
1795 | if (sse) { | 1819 | if (sse) { |
1796 | dasm_put(Dst, 8444, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(43300000,00000000)), (unsigned int)((U64x(43300000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32)); | 1820 | dasm_put(Dst, 8453, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(43300000,00000000)), (unsigned int)((U64x(43300000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32)); |
1797 | } else { | 1821 | } else { |
1798 | dasm_put(Dst, 8558); | 1822 | dasm_put(Dst, 8567); |
1799 | } | 1823 | } |
1800 | dasm_put(Dst, 8605); | 1824 | dasm_put(Dst, 8614); |
1801 | if (!sse) { | 1825 | if (!sse) { |
1802 | } else { | 1826 | } else { |
1803 | dasm_put(Dst, 8679); | 1827 | dasm_put(Dst, 8688); |
1804 | } | 1828 | } |
1805 | dasm_put(Dst, 8682); | 1829 | dasm_put(Dst, 8691); |
1806 | dasm_put(Dst, 8767, (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32)); | 1830 | dasm_put(Dst, 8776, (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32)); |
1807 | dasm_put(Dst, 8870, (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32), (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32), (unsigned int)(U64x(7ff00000,00000000)), (unsigned int)((U64x(7ff00000,00000000))>>32)); | 1831 | dasm_put(Dst, 8879, (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32), (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32), (unsigned int)(U64x(7ff00000,00000000)), (unsigned int)((U64x(7ff00000,00000000))>>32)); |
1808 | dasm_put(Dst, 9026); | 1832 | dasm_put(Dst, 9035); |
1809 | #if LJ_HASJIT | 1833 | #if LJ_HASJIT |
1810 | if (sse) { | 1834 | if (sse) { |
1811 | dasm_put(Dst, 9067); | 1835 | dasm_put(Dst, 9076); |
1812 | dasm_put(Dst, 9137); | 1836 | dasm_put(Dst, 9146); |
1813 | dasm_put(Dst, 9210); | 1837 | dasm_put(Dst, 9219); |
1814 | } else { | 1838 | } else { |
1815 | dasm_put(Dst, 9260); | 1839 | dasm_put(Dst, 9269); |
1816 | dasm_put(Dst, 9352); | 1840 | dasm_put(Dst, 9361); |
1817 | } | 1841 | } |
1818 | dasm_put(Dst, 9398); | 1842 | dasm_put(Dst, 9407); |
1819 | #endif | 1843 | #endif |
1820 | dasm_put(Dst, 9402); | 1844 | dasm_put(Dst, 9411); |
1821 | if (sse) { | 1845 | if (sse) { |
1822 | dasm_put(Dst, 9405, (unsigned int)(U64x(80000000,00000000)), (unsigned int)((U64x(80000000,00000000))>>32)); | 1846 | dasm_put(Dst, 9414, (unsigned int)(U64x(80000000,00000000)), (unsigned int)((U64x(80000000,00000000))>>32)); |
1823 | dasm_put(Dst, 9494, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32)); | 1847 | dasm_put(Dst, 9503, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32)); |
1824 | } else { | 1848 | } else { |
1825 | dasm_put(Dst, 9618); | 1849 | dasm_put(Dst, 9627); |
1826 | dasm_put(Dst, 9701); | 1850 | dasm_put(Dst, 9710); |
1827 | if (cmov) { | 1851 | if (cmov) { |
1828 | dasm_put(Dst, 9756); | 1852 | dasm_put(Dst, 9765); |
1829 | } else { | 1853 | } else { |
1830 | dasm_put(Dst, 9775); | 1854 | dasm_put(Dst, 9784); |
1831 | } | 1855 | } |
1832 | dasm_put(Dst, 9398); | 1856 | dasm_put(Dst, 9407); |
1833 | } | 1857 | } |
1834 | dasm_put(Dst, 9816); | 1858 | dasm_put(Dst, 9825); |
1835 | #ifdef LUA_USE_ASSERT | 1859 | #ifdef LUA_USE_ASSERT |
1836 | dasm_put(Dst, 9400); | 1860 | dasm_put(Dst, 9409); |
1861 | #endif | ||
1862 | dasm_put(Dst, 9853); | ||
1863 | #if LJ_HASFFI | ||
1864 | #define DtE(_V) (int)(ptrdiff_t)&(((CTState *)0)_V) | ||
1865 | dasm_put(Dst, 9857, GG_G2DISP, Dt2(->ctype_state), DtE(->cb.slot), DtE(->cb.gpr[0]), DtE(->cb.gpr[1]), DtE(->cb.gpr[2]), DtE(->cb.gpr[3]), DtE(->cb.fpr[0]), DtE(->cb.fpr[1]), DtE(->cb.fpr[2]), DtE(->cb.fpr[3]), CFRAME_SIZE+4*8, DtE(->cb.stack), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top), Dt7(->pc)); | ||
1837 | #endif | 1866 | #endif |
1838 | dasm_put(Dst, 9844); | 1867 | dasm_put(Dst, 9984); |
1839 | #if LJ_HASFFI | 1868 | #if LJ_HASFFI |
1840 | #define DtE(_V) (int)(ptrdiff_t)&(((CCallState *)0)_V) | 1869 | dasm_put(Dst, 9987, DISPATCH_GL(ctype_state), DtE(->L), Dt1(->base), Dt1(->top), DtE(->cb.gpr[0]), DtE(->cb.fpr[0])); |
1841 | dasm_put(Dst, 9848, DtE(->spadj)); | 1870 | #endif |
1871 | dasm_put(Dst, 10028); | ||
1872 | #if LJ_HASFFI | ||
1873 | #define DtF(_V) (int)(ptrdiff_t)&(((CCallState *)0)_V) | ||
1874 | dasm_put(Dst, 10031, DtF(->spadj)); | ||
1842 | #if LJ_TARGET_WINDOWS | 1875 | #if LJ_TARGET_WINDOWS |
1843 | #endif | 1876 | #endif |
1844 | dasm_put(Dst, 9863, DtE(->nsp), offsetof(CCallState, stack), CCALL_SPS_EXTRA*8, DtE(->nfpr), DtE(->gpr[0]), DtE(->gpr[1]), DtE(->gpr[2]), DtE(->gpr[3]), DtE(->fpr[0]), DtE(->fpr[1]), DtE(->fpr[2]), DtE(->fpr[3])); | 1877 | dasm_put(Dst, 10046, DtF(->nsp), offsetof(CCallState, stack), CCALL_SPS_EXTRA*8, DtF(->nfpr), DtF(->gpr[0]), DtF(->gpr[1]), DtF(->gpr[2]), DtF(->gpr[3]), DtF(->fpr[0]), DtF(->fpr[1]), DtF(->fpr[2]), DtF(->fpr[3])); |
1845 | dasm_put(Dst, 9944, DtE(->func), DtE(->gpr[0]), DtE(->fpr[0])); | 1878 | dasm_put(Dst, 10127, DtF(->func), DtF(->gpr[0]), DtF(->fpr[0])); |
1846 | #if LJ_TARGET_WINDOWS | 1879 | #if LJ_TARGET_WINDOWS |
1847 | #endif | 1880 | #endif |
1848 | dasm_put(Dst, 9957); | 1881 | dasm_put(Dst, 10140); |
1849 | #endif | 1882 | #endif |
1850 | } | 1883 | } |
1851 | 1884 | ||
@@ -1853,7 +1886,7 @@ static void build_subroutines(BuildCtx *ctx, int cmov, int sse) | |||
1853 | static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | 1886 | static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) |
1854 | { | 1887 | { |
1855 | int vk = 0; | 1888 | int vk = 0; |
1856 | dasm_put(Dst, 9965, defop); | 1889 | dasm_put(Dst, 780, defop); |
1857 | 1890 | ||
1858 | switch (op) { | 1891 | switch (op) { |
1859 | 1892 | ||
@@ -1864,302 +1897,302 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
1864 | 1897 | ||
1865 | case BC_ISLT: case BC_ISGE: case BC_ISLE: case BC_ISGT: | 1898 | case BC_ISLT: case BC_ISGE: case BC_ISLE: case BC_ISGT: |
1866 | if (LJ_DUALNUM) { | 1899 | if (LJ_DUALNUM) { |
1867 | dasm_put(Dst, 9967, LJ_TISNUM, LJ_TISNUM); | 1900 | dasm_put(Dst, 10148, LJ_TISNUM, LJ_TISNUM); |
1868 | switch (op) { | 1901 | switch (op) { |
1869 | case BC_ISLT: | 1902 | case BC_ISLT: |
1870 | dasm_put(Dst, 9997); | 1903 | dasm_put(Dst, 10178); |
1871 | break; | 1904 | break; |
1872 | case BC_ISGE: | 1905 | case BC_ISGE: |
1873 | dasm_put(Dst, 10002); | 1906 | dasm_put(Dst, 10183); |
1874 | break; | 1907 | break; |
1875 | case BC_ISLE: | 1908 | case BC_ISLE: |
1876 | dasm_put(Dst, 10007); | 1909 | dasm_put(Dst, 10188); |
1877 | break; | 1910 | break; |
1878 | case BC_ISGT: | 1911 | case BC_ISGT: |
1879 | dasm_put(Dst, 10012); | 1912 | dasm_put(Dst, 10193); |
1880 | break; | 1913 | break; |
1881 | default: break; /* Shut up GCC. */ | 1914 | default: break; /* Shut up GCC. */ |
1882 | } | 1915 | } |
1883 | dasm_put(Dst, 10017, -BCBIAS_J*4, LJ_TISNUM); | 1916 | dasm_put(Dst, 10198, -BCBIAS_J*4, LJ_TISNUM); |
1884 | if (sse) { | 1917 | if (sse) { |
1885 | dasm_put(Dst, 10071); | 1918 | dasm_put(Dst, 10252); |
1886 | } else { | 1919 | } else { |
1887 | dasm_put(Dst, 10082); | 1920 | dasm_put(Dst, 10263); |
1888 | } | 1921 | } |
1889 | dasm_put(Dst, 10093); | 1922 | dasm_put(Dst, 10274); |
1890 | if (sse) { | 1923 | if (sse) { |
1891 | dasm_put(Dst, 10100); | 1924 | dasm_put(Dst, 10281); |
1892 | switch (op) { | 1925 | switch (op) { |
1893 | case BC_ISLT: | 1926 | case BC_ISLT: |
1894 | dasm_put(Dst, 10120); | 1927 | dasm_put(Dst, 10301); |
1895 | break; | 1928 | break; |
1896 | case BC_ISGE: | 1929 | case BC_ISGE: |
1897 | dasm_put(Dst, 10125); | 1930 | dasm_put(Dst, 10306); |
1898 | break; | 1931 | break; |
1899 | case BC_ISLE: | 1932 | case BC_ISLE: |
1900 | dasm_put(Dst, 10130); | 1933 | dasm_put(Dst, 10311); |
1901 | break; | 1934 | break; |
1902 | case BC_ISGT: | 1935 | case BC_ISGT: |
1903 | dasm_put(Dst, 10135); | 1936 | dasm_put(Dst, 10316); |
1904 | break; | 1937 | break; |
1905 | default: break; /* Shut up GCC. */ | 1938 | default: break; /* Shut up GCC. */ |
1906 | } | 1939 | } |
1907 | dasm_put(Dst, 10140); | 1940 | dasm_put(Dst, 10321); |
1908 | } else { | 1941 | } else { |
1909 | dasm_put(Dst, 10145); | 1942 | dasm_put(Dst, 10326); |
1910 | } | 1943 | } |
1911 | } else { | 1944 | } else { |
1912 | dasm_put(Dst, 10153, LJ_TISNUM, LJ_TISNUM); | 1945 | dasm_put(Dst, 10334, LJ_TISNUM, LJ_TISNUM); |
1913 | } | 1946 | } |
1914 | if (sse) { | 1947 | if (sse) { |
1915 | dasm_put(Dst, 10174); | 1948 | dasm_put(Dst, 10355); |
1916 | } else { | 1949 | } else { |
1917 | dasm_put(Dst, 10195); | 1950 | dasm_put(Dst, 10376); |
1918 | if (cmov) { | 1951 | if (cmov) { |
1919 | dasm_put(Dst, 10211); | 1952 | dasm_put(Dst, 10392); |
1920 | } else { | 1953 | } else { |
1921 | dasm_put(Dst, 10217); | 1954 | dasm_put(Dst, 10398); |
1922 | } | 1955 | } |
1923 | } | 1956 | } |
1924 | if (LJ_DUALNUM) { | 1957 | if (LJ_DUALNUM) { |
1925 | switch (op) { | 1958 | switch (op) { |
1926 | case BC_ISLT: | 1959 | case BC_ISLT: |
1927 | dasm_put(Dst, 10120); | 1960 | dasm_put(Dst, 10301); |
1928 | break; | 1961 | break; |
1929 | case BC_ISGE: | 1962 | case BC_ISGE: |
1930 | dasm_put(Dst, 10125); | 1963 | dasm_put(Dst, 10306); |
1931 | break; | 1964 | break; |
1932 | case BC_ISLE: | 1965 | case BC_ISLE: |
1933 | dasm_put(Dst, 10130); | 1966 | dasm_put(Dst, 10311); |
1934 | break; | 1967 | break; |
1935 | case BC_ISGT: | 1968 | case BC_ISGT: |
1936 | dasm_put(Dst, 10135); | 1969 | dasm_put(Dst, 10316); |
1937 | break; | 1970 | break; |
1938 | default: break; /* Shut up GCC. */ | 1971 | default: break; /* Shut up GCC. */ |
1939 | } | 1972 | } |
1940 | dasm_put(Dst, 10140); | 1973 | dasm_put(Dst, 10321); |
1941 | } else { | 1974 | } else { |
1942 | switch (op) { | 1975 | switch (op) { |
1943 | case BC_ISLT: | 1976 | case BC_ISLT: |
1944 | dasm_put(Dst, 10224); | 1977 | dasm_put(Dst, 768); |
1945 | break; | 1978 | break; |
1946 | case BC_ISGE: | 1979 | case BC_ISGE: |
1947 | dasm_put(Dst, 10229); | 1980 | dasm_put(Dst, 10405); |
1948 | break; | 1981 | break; |
1949 | case BC_ISLE: | 1982 | case BC_ISLE: |
1950 | dasm_put(Dst, 10234); | 1983 | dasm_put(Dst, 10410); |
1951 | break; | 1984 | break; |
1952 | case BC_ISGT: | 1985 | case BC_ISGT: |
1953 | dasm_put(Dst, 10239); | 1986 | dasm_put(Dst, 10415); |
1954 | break; | 1987 | break; |
1955 | default: break; /* Shut up GCC. */ | 1988 | default: break; /* Shut up GCC. */ |
1956 | } | 1989 | } |
1957 | dasm_put(Dst, 10244, -BCBIAS_J*4); | 1990 | dasm_put(Dst, 10420, -BCBIAS_J*4); |
1958 | } | 1991 | } |
1959 | break; | 1992 | break; |
1960 | 1993 | ||
1961 | case BC_ISEQV: case BC_ISNEV: | 1994 | case BC_ISEQV: case BC_ISNEV: |
1962 | vk = op == BC_ISEQV; | 1995 | vk = op == BC_ISEQV; |
1963 | dasm_put(Dst, 10276); | 1996 | dasm_put(Dst, 10452); |
1964 | if (LJ_DUALNUM) { | 1997 | if (LJ_DUALNUM) { |
1965 | dasm_put(Dst, 10284, LJ_TISNUM, LJ_TISNUM); | 1998 | dasm_put(Dst, 10460, LJ_TISNUM, LJ_TISNUM); |
1966 | if (vk) { | 1999 | if (vk) { |
1967 | dasm_put(Dst, 10309); | 2000 | dasm_put(Dst, 10485); |
1968 | } else { | 2001 | } else { |
1969 | dasm_put(Dst, 10314); | 2002 | dasm_put(Dst, 10490); |
1970 | } | 2003 | } |
1971 | dasm_put(Dst, 10319, -BCBIAS_J*4, LJ_TISNUM); | 2004 | dasm_put(Dst, 10495, -BCBIAS_J*4, LJ_TISNUM); |
1972 | if (sse) { | 2005 | if (sse) { |
1973 | dasm_put(Dst, 10371); | 2006 | dasm_put(Dst, 10547); |
1974 | } else { | 2007 | } else { |
1975 | dasm_put(Dst, 10378); | 2008 | dasm_put(Dst, 10554); |
1976 | } | 2009 | } |
1977 | dasm_put(Dst, 10382); | 2010 | dasm_put(Dst, 10558); |
1978 | if (sse) { | 2011 | if (sse) { |
1979 | dasm_put(Dst, 10393); | 2012 | dasm_put(Dst, 10569); |
1980 | } else { | 2013 | } else { |
1981 | dasm_put(Dst, 10405); | 2014 | dasm_put(Dst, 10581); |
1982 | } | 2015 | } |
1983 | dasm_put(Dst, 10412); | 2016 | dasm_put(Dst, 10588); |
1984 | } else { | 2017 | } else { |
1985 | dasm_put(Dst, 10417, LJ_TISNUM, LJ_TISNUM); | 2018 | dasm_put(Dst, 10593, LJ_TISNUM, LJ_TISNUM); |
1986 | } | 2019 | } |
1987 | if (sse) { | 2020 | if (sse) { |
1988 | dasm_put(Dst, 10436); | 2021 | dasm_put(Dst, 10612); |
1989 | } else { | 2022 | } else { |
1990 | dasm_put(Dst, 10454); | 2023 | dasm_put(Dst, 10630); |
1991 | if (cmov) { | 2024 | if (cmov) { |
1992 | dasm_put(Dst, 10211); | 2025 | dasm_put(Dst, 10392); |
1993 | } else { | 2026 | } else { |
1994 | dasm_put(Dst, 10217); | 2027 | dasm_put(Dst, 10398); |
1995 | } | 2028 | } |
1996 | } | 2029 | } |
1997 | iseqne_fp: | 2030 | iseqne_fp: |
1998 | if (vk) { | 2031 | if (vk) { |
1999 | dasm_put(Dst, 10467); | 2032 | dasm_put(Dst, 10643); |
2000 | } else { | 2033 | } else { |
2001 | dasm_put(Dst, 10476); | 2034 | dasm_put(Dst, 10652); |
2002 | } | 2035 | } |
2003 | iseqne_end: | 2036 | iseqne_end: |
2004 | if (vk) { | 2037 | if (vk) { |
2005 | dasm_put(Dst, 10485, -BCBIAS_J*4); | 2038 | dasm_put(Dst, 10661, -BCBIAS_J*4); |
2006 | if (!LJ_HASFFI) { | 2039 | if (!LJ_HASFFI) { |
2007 | dasm_put(Dst, 4629); | 2040 | dasm_put(Dst, 4638); |
2008 | } | 2041 | } |
2009 | } else { | 2042 | } else { |
2010 | if (!LJ_HASFFI) { | 2043 | if (!LJ_HASFFI) { |
2011 | dasm_put(Dst, 4629); | 2044 | dasm_put(Dst, 4638); |
2012 | } | 2045 | } |
2013 | dasm_put(Dst, 10500, -BCBIAS_J*4); | 2046 | dasm_put(Dst, 10676, -BCBIAS_J*4); |
2014 | } | 2047 | } |
2015 | if (LJ_DUALNUM && (op == BC_ISEQV || op == BC_ISNEV || | 2048 | if (LJ_DUALNUM && (op == BC_ISEQV || op == BC_ISNEV || |
2016 | op == BC_ISEQN || op == BC_ISNEN)) { | 2049 | op == BC_ISEQN || op == BC_ISNEN)) { |
2017 | dasm_put(Dst, 10515); | 2050 | dasm_put(Dst, 10691); |
2018 | } else { | 2051 | } else { |
2019 | dasm_put(Dst, 10256); | 2052 | dasm_put(Dst, 10432); |
2020 | } | 2053 | } |
2021 | if (op == BC_ISEQV || op == BC_ISNEV) { | 2054 | if (op == BC_ISEQV || op == BC_ISNEV) { |
2022 | dasm_put(Dst, 9941); | 2055 | dasm_put(Dst, 10124); |
2023 | if (LJ_HASFFI) { | 2056 | if (LJ_HASFFI) { |
2024 | dasm_put(Dst, 10520, LJ_TCDATA, LJ_TCDATA); | 2057 | dasm_put(Dst, 10696, LJ_TCDATA, LJ_TCDATA); |
2025 | } | 2058 | } |
2026 | dasm_put(Dst, 10539, LJ_TISPRI, LJ_TISTABUD, LJ_TUDATA, Dt6(->metatable), Dt6(->nomm), 1<<MM_eq); | 2059 | dasm_put(Dst, 10715, LJ_TISPRI, LJ_TISTABUD, LJ_TUDATA, Dt6(->metatable), Dt6(->nomm), 1<<MM_eq); |
2027 | if (vk) { | 2060 | if (vk) { |
2028 | dasm_put(Dst, 10603); | 2061 | dasm_put(Dst, 10779); |
2029 | } else { | 2062 | } else { |
2030 | dasm_put(Dst, 10607); | 2063 | dasm_put(Dst, 10783); |
2031 | } | 2064 | } |
2032 | dasm_put(Dst, 10613); | 2065 | dasm_put(Dst, 10789); |
2033 | } else if (LJ_HASFFI) { | 2066 | } else if (LJ_HASFFI) { |
2034 | dasm_put(Dst, 10618, LJ_TCDATA); | 2067 | dasm_put(Dst, 10794, LJ_TCDATA); |
2035 | if (LJ_DUALNUM && vk) { | 2068 | if (LJ_DUALNUM && vk) { |
2036 | dasm_put(Dst, 10625); | 2069 | dasm_put(Dst, 10801); |
2037 | } else { | 2070 | } else { |
2038 | dasm_put(Dst, 10598); | 2071 | dasm_put(Dst, 10774); |
2039 | } | 2072 | } |
2040 | dasm_put(Dst, 10630); | 2073 | dasm_put(Dst, 10806); |
2041 | } | 2074 | } |
2042 | break; | 2075 | break; |
2043 | case BC_ISEQS: case BC_ISNES: | 2076 | case BC_ISEQS: case BC_ISNES: |
2044 | vk = op == BC_ISEQS; | 2077 | vk = op == BC_ISEQS; |
2045 | dasm_put(Dst, 10635, LJ_TSTR); | 2078 | dasm_put(Dst, 10811, LJ_TSTR); |
2046 | iseqne_test: | 2079 | iseqne_test: |
2047 | if (vk) { | 2080 | if (vk) { |
2048 | dasm_put(Dst, 10471); | 2081 | dasm_put(Dst, 10647); |
2049 | } else { | 2082 | } else { |
2050 | dasm_put(Dst, 765); | 2083 | dasm_put(Dst, 2929); |
2051 | } | 2084 | } |
2052 | goto iseqne_end; | 2085 | goto iseqne_end; |
2053 | case BC_ISEQN: case BC_ISNEN: | 2086 | case BC_ISEQN: case BC_ISNEN: |
2054 | vk = op == BC_ISEQN; | 2087 | vk = op == BC_ISEQN; |
2055 | dasm_put(Dst, 10661); | 2088 | dasm_put(Dst, 10837); |
2056 | if (LJ_DUALNUM) { | 2089 | if (LJ_DUALNUM) { |
2057 | dasm_put(Dst, 10669, LJ_TISNUM, LJ_TISNUM); | 2090 | dasm_put(Dst, 10845, LJ_TISNUM, LJ_TISNUM); |
2058 | if (vk) { | 2091 | if (vk) { |
2059 | dasm_put(Dst, 10309); | 2092 | dasm_put(Dst, 10485); |
2060 | } else { | 2093 | } else { |
2061 | dasm_put(Dst, 10314); | 2094 | dasm_put(Dst, 10490); |
2062 | } | 2095 | } |
2063 | dasm_put(Dst, 10694, -BCBIAS_J*4, LJ_TISNUM); | 2096 | dasm_put(Dst, 10870, -BCBIAS_J*4, LJ_TISNUM); |
2064 | if (sse) { | 2097 | if (sse) { |
2065 | dasm_put(Dst, 10742); | 2098 | dasm_put(Dst, 10918); |
2066 | } else { | 2099 | } else { |
2067 | dasm_put(Dst, 10749); | 2100 | dasm_put(Dst, 10925); |
2068 | } | 2101 | } |
2069 | dasm_put(Dst, 10753); | 2102 | dasm_put(Dst, 10929); |
2070 | if (sse) { | 2103 | if (sse) { |
2071 | dasm_put(Dst, 10760); | 2104 | dasm_put(Dst, 10936); |
2072 | } else { | 2105 | } else { |
2073 | dasm_put(Dst, 10772); | 2106 | dasm_put(Dst, 10948); |
2074 | } | 2107 | } |
2075 | dasm_put(Dst, 10412); | 2108 | dasm_put(Dst, 10588); |
2076 | } else { | 2109 | } else { |
2077 | dasm_put(Dst, 10779, LJ_TISNUM); | 2110 | dasm_put(Dst, 10955, LJ_TISNUM); |
2078 | } | 2111 | } |
2079 | if (sse) { | 2112 | if (sse) { |
2080 | dasm_put(Dst, 10788); | 2113 | dasm_put(Dst, 10964); |
2081 | } else { | 2114 | } else { |
2082 | dasm_put(Dst, 10806); | 2115 | dasm_put(Dst, 10982); |
2083 | if (cmov) { | 2116 | if (cmov) { |
2084 | dasm_put(Dst, 10211); | 2117 | dasm_put(Dst, 10392); |
2085 | } else { | 2118 | } else { |
2086 | dasm_put(Dst, 10217); | 2119 | dasm_put(Dst, 10398); |
2087 | } | 2120 | } |
2088 | } | 2121 | } |
2089 | goto iseqne_fp; | 2122 | goto iseqne_fp; |
2090 | case BC_ISEQP: case BC_ISNEP: | 2123 | case BC_ISEQP: case BC_ISNEP: |
2091 | vk = op == BC_ISEQP; | 2124 | vk = op == BC_ISEQP; |
2092 | dasm_put(Dst, 10819); | 2125 | dasm_put(Dst, 10995); |
2093 | if (!LJ_HASFFI) goto iseqne_test; | 2126 | if (!LJ_HASFFI) goto iseqne_test; |
2094 | if (vk) { | 2127 | if (vk) { |
2095 | dasm_put(Dst, 10833, -BCBIAS_J*4, LJ_TCDATA); | 2128 | dasm_put(Dst, 11009, -BCBIAS_J*4, LJ_TCDATA); |
2096 | } else { | 2129 | } else { |
2097 | dasm_put(Dst, 10883, LJ_TCDATA, -BCBIAS_J*4); | 2130 | dasm_put(Dst, 11059, LJ_TCDATA, -BCBIAS_J*4); |
2098 | } | 2131 | } |
2099 | break; | 2132 | break; |
2100 | 2133 | ||
2101 | /* -- Unary test and copy ops ------------------------------------------- */ | 2134 | /* -- Unary test and copy ops ------------------------------------------- */ |
2102 | 2135 | ||
2103 | case BC_ISTC: case BC_ISFC: case BC_IST: case BC_ISF: | 2136 | case BC_ISTC: case BC_ISFC: case BC_IST: case BC_ISF: |
2104 | dasm_put(Dst, 10927, LJ_TISTRUECOND); | 2137 | dasm_put(Dst, 11103, LJ_TISTRUECOND); |
2105 | if (op == BC_IST || op == BC_ISTC) { | 2138 | if (op == BC_IST || op == BC_ISTC) { |
2106 | dasm_put(Dst, 10239); | 2139 | dasm_put(Dst, 10415); |
2107 | } else { | 2140 | } else { |
2108 | dasm_put(Dst, 10234); | 2141 | dasm_put(Dst, 10410); |
2109 | } | 2142 | } |
2110 | if (op == BC_ISTC || op == BC_ISFC) { | 2143 | if (op == BC_ISTC || op == BC_ISFC) { |
2111 | dasm_put(Dst, 10939); | 2144 | dasm_put(Dst, 11115); |
2112 | } | 2145 | } |
2113 | dasm_put(Dst, 10244, -BCBIAS_J*4); | 2146 | dasm_put(Dst, 10420, -BCBIAS_J*4); |
2114 | break; | 2147 | break; |
2115 | 2148 | ||
2116 | /* -- Unary ops --------------------------------------------------------- */ | 2149 | /* -- Unary ops --------------------------------------------------------- */ |
2117 | 2150 | ||
2118 | case BC_MOV: | 2151 | case BC_MOV: |
2119 | dasm_put(Dst, 10950); | 2152 | dasm_put(Dst, 11126); |
2120 | break; | 2153 | break; |
2121 | case BC_NOT: | 2154 | case BC_NOT: |
2122 | dasm_put(Dst, 10978, LJ_TISTRUECOND, LJ_TTRUE); | 2155 | dasm_put(Dst, 11154, LJ_TISTRUECOND, LJ_TTRUE); |
2123 | break; | 2156 | break; |
2124 | case BC_UNM: | 2157 | case BC_UNM: |
2125 | if (LJ_DUALNUM) { | 2158 | if (LJ_DUALNUM) { |
2126 | dasm_put(Dst, 11014, LJ_TISNUM, LJ_TISNUM); | 2159 | dasm_put(Dst, 11190, LJ_TISNUM, LJ_TISNUM); |
2127 | } else { | 2160 | } else { |
2128 | dasm_put(Dst, 11091, LJ_TISNUM); | 2161 | dasm_put(Dst, 11267, LJ_TISNUM); |
2129 | } | 2162 | } |
2130 | if (sse) { | 2163 | if (sse) { |
2131 | dasm_put(Dst, 11102, (unsigned int)(U64x(80000000,00000000)), (unsigned int)((U64x(80000000,00000000))>>32)); | 2164 | dasm_put(Dst, 11278, (unsigned int)(U64x(80000000,00000000)), (unsigned int)((U64x(80000000,00000000))>>32)); |
2132 | } else { | 2165 | } else { |
2133 | dasm_put(Dst, 11127); | 2166 | dasm_put(Dst, 11303); |
2134 | } | 2167 | } |
2135 | if (LJ_DUALNUM) { | 2168 | if (LJ_DUALNUM) { |
2136 | dasm_put(Dst, 10515); | 2169 | dasm_put(Dst, 10691); |
2137 | } else { | 2170 | } else { |
2138 | dasm_put(Dst, 10256); | 2171 | dasm_put(Dst, 10432); |
2139 | } | 2172 | } |
2140 | break; | 2173 | break; |
2141 | case BC_LEN: | 2174 | case BC_LEN: |
2142 | dasm_put(Dst, 11136, LJ_TSTR); | 2175 | dasm_put(Dst, 11312, LJ_TSTR); |
2143 | if (LJ_DUALNUM) { | 2176 | if (LJ_DUALNUM) { |
2144 | dasm_put(Dst, 11150, Dt5(->len), LJ_TISNUM); | 2177 | dasm_put(Dst, 11326, Dt5(->len), LJ_TISNUM); |
2145 | } else if (sse) { | 2178 | } else if (sse) { |
2146 | dasm_put(Dst, 11164, Dt5(->len)); | 2179 | dasm_put(Dst, 11340, Dt5(->len)); |
2147 | } else { | 2180 | } else { |
2148 | dasm_put(Dst, 11182, Dt5(->len)); | 2181 | dasm_put(Dst, 11358, Dt5(->len)); |
2149 | } | 2182 | } |
2150 | dasm_put(Dst, 11191, LJ_TTAB); | 2183 | dasm_put(Dst, 11367, LJ_TTAB); |
2151 | #ifdef LUAJIT_ENABLE_LUA52COMPAT | 2184 | #ifdef LUAJIT_ENABLE_LUA52COMPAT |
2152 | dasm_put(Dst, 11226, Dt6(->metatable)); | 2185 | dasm_put(Dst, 11402, Dt6(->metatable)); |
2153 | #endif | 2186 | #endif |
2154 | dasm_put(Dst, 11240); | 2187 | dasm_put(Dst, 11416); |
2155 | if (LJ_DUALNUM) { | 2188 | if (LJ_DUALNUM) { |
2156 | } else if (sse) { | 2189 | } else if (sse) { |
2157 | dasm_put(Dst, 11249); | 2190 | dasm_put(Dst, 11425); |
2158 | } else { | 2191 | } else { |
2159 | } | 2192 | } |
2160 | dasm_put(Dst, 11255); | 2193 | dasm_put(Dst, 11431); |
2161 | #ifdef LUAJIT_ENABLE_LUA52COMPAT | 2194 | #ifdef LUAJIT_ENABLE_LUA52COMPAT |
2162 | dasm_put(Dst, 11268, Dt6(->nomm), 1<<MM_len); | 2195 | dasm_put(Dst, 11444, Dt6(->nomm), 1<<MM_len); |
2163 | #endif | 2196 | #endif |
2164 | break; | 2197 | break; |
2165 | 2198 | ||
@@ -2168,605 +2201,605 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
2168 | 2201 | ||
2169 | case BC_ADDVN: case BC_ADDNV: case BC_ADDVV: | 2202 | case BC_ADDVN: case BC_ADDNV: case BC_ADDVV: |
2170 | if (LJ_DUALNUM) { | 2203 | if (LJ_DUALNUM) { |
2171 | dasm_put(Dst, 11284); | 2204 | dasm_put(Dst, 11460); |
2172 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 2205 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
2173 | switch (vk) { | 2206 | switch (vk) { |
2174 | case 0: | 2207 | case 0: |
2175 | dasm_put(Dst, 11292, LJ_TISNUM, LJ_TISNUM); | 2208 | dasm_put(Dst, 11468, LJ_TISNUM, LJ_TISNUM); |
2176 | break; | 2209 | break; |
2177 | case 1: | 2210 | case 1: |
2178 | dasm_put(Dst, 11325, LJ_TISNUM, LJ_TISNUM); | 2211 | dasm_put(Dst, 11501, LJ_TISNUM, LJ_TISNUM); |
2179 | break; | 2212 | break; |
2180 | default: | 2213 | default: |
2181 | dasm_put(Dst, 11358, LJ_TISNUM, LJ_TISNUM); | 2214 | dasm_put(Dst, 11534, LJ_TISNUM, LJ_TISNUM); |
2182 | break; | 2215 | break; |
2183 | } | 2216 | } |
2184 | dasm_put(Dst, 11391, LJ_TISNUM); | 2217 | dasm_put(Dst, 11567, LJ_TISNUM); |
2185 | if (vk == 1) { | 2218 | if (vk == 1) { |
2186 | dasm_put(Dst, 11160); | 2219 | dasm_put(Dst, 11336); |
2187 | } else { | 2220 | } else { |
2188 | dasm_put(Dst, 10946); | 2221 | dasm_put(Dst, 11122); |
2189 | } | 2222 | } |
2190 | dasm_put(Dst, 10256); | 2223 | dasm_put(Dst, 10432); |
2191 | } else { | 2224 | } else { |
2192 | dasm_put(Dst, 11284); | 2225 | dasm_put(Dst, 11460); |
2193 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 2226 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
2194 | switch (vk) { | 2227 | switch (vk) { |
2195 | case 0: | 2228 | case 0: |
2196 | dasm_put(Dst, 11397, LJ_TISNUM); | 2229 | dasm_put(Dst, 11573, LJ_TISNUM); |
2197 | if (LJ_DUALNUM) { | 2230 | if (LJ_DUALNUM) { |
2198 | dasm_put(Dst, 11409, LJ_TISNUM); | 2231 | dasm_put(Dst, 11585, LJ_TISNUM); |
2199 | } | 2232 | } |
2200 | if (sse) { | 2233 | if (sse) { |
2201 | dasm_put(Dst, 11420); | 2234 | dasm_put(Dst, 11596); |
2202 | } else { | 2235 | } else { |
2203 | dasm_put(Dst, 11434); | 2236 | dasm_put(Dst, 11610); |
2204 | } | 2237 | } |
2205 | break; | 2238 | break; |
2206 | case 1: | 2239 | case 1: |
2207 | dasm_put(Dst, 11442, LJ_TISNUM); | 2240 | dasm_put(Dst, 11618, LJ_TISNUM); |
2208 | if (LJ_DUALNUM) { | 2241 | if (LJ_DUALNUM) { |
2209 | dasm_put(Dst, 11454, LJ_TISNUM); | 2242 | dasm_put(Dst, 11630, LJ_TISNUM); |
2210 | } | 2243 | } |
2211 | if (sse) { | 2244 | if (sse) { |
2212 | dasm_put(Dst, 11465); | 2245 | dasm_put(Dst, 11641); |
2213 | } else { | 2246 | } else { |
2214 | dasm_put(Dst, 11479); | 2247 | dasm_put(Dst, 11655); |
2215 | } | 2248 | } |
2216 | break; | 2249 | break; |
2217 | default: | 2250 | default: |
2218 | dasm_put(Dst, 11487, LJ_TISNUM, LJ_TISNUM); | 2251 | dasm_put(Dst, 11663, LJ_TISNUM, LJ_TISNUM); |
2219 | if (sse) { | 2252 | if (sse) { |
2220 | dasm_put(Dst, 11509); | 2253 | dasm_put(Dst, 11685); |
2221 | } else { | 2254 | } else { |
2222 | dasm_put(Dst, 11523); | 2255 | dasm_put(Dst, 11699); |
2223 | } | 2256 | } |
2224 | break; | 2257 | break; |
2225 | } | 2258 | } |
2226 | if (sse) { | 2259 | if (sse) { |
2227 | dasm_put(Dst, 11120); | 2260 | dasm_put(Dst, 11296); |
2228 | } else { | 2261 | } else { |
2229 | dasm_put(Dst, 11132); | 2262 | dasm_put(Dst, 11308); |
2230 | } | 2263 | } |
2231 | dasm_put(Dst, 10256); | 2264 | dasm_put(Dst, 10432); |
2232 | } | 2265 | } |
2233 | break; | 2266 | break; |
2234 | case BC_SUBVN: case BC_SUBNV: case BC_SUBVV: | 2267 | case BC_SUBVN: case BC_SUBNV: case BC_SUBVV: |
2235 | if (LJ_DUALNUM) { | 2268 | if (LJ_DUALNUM) { |
2236 | dasm_put(Dst, 11284); | 2269 | dasm_put(Dst, 11460); |
2237 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 2270 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
2238 | switch (vk) { | 2271 | switch (vk) { |
2239 | case 0: | 2272 | case 0: |
2240 | dasm_put(Dst, 11531, LJ_TISNUM, LJ_TISNUM); | 2273 | dasm_put(Dst, 11707, LJ_TISNUM, LJ_TISNUM); |
2241 | break; | 2274 | break; |
2242 | case 1: | 2275 | case 1: |
2243 | dasm_put(Dst, 11564, LJ_TISNUM, LJ_TISNUM); | 2276 | dasm_put(Dst, 11740, LJ_TISNUM, LJ_TISNUM); |
2244 | break; | 2277 | break; |
2245 | default: | 2278 | default: |
2246 | dasm_put(Dst, 11597, LJ_TISNUM, LJ_TISNUM); | 2279 | dasm_put(Dst, 11773, LJ_TISNUM, LJ_TISNUM); |
2247 | break; | 2280 | break; |
2248 | } | 2281 | } |
2249 | dasm_put(Dst, 11391, LJ_TISNUM); | 2282 | dasm_put(Dst, 11567, LJ_TISNUM); |
2250 | if (vk == 1) { | 2283 | if (vk == 1) { |
2251 | dasm_put(Dst, 11160); | 2284 | dasm_put(Dst, 11336); |
2252 | } else { | 2285 | } else { |
2253 | dasm_put(Dst, 10946); | 2286 | dasm_put(Dst, 11122); |
2254 | } | 2287 | } |
2255 | dasm_put(Dst, 10256); | 2288 | dasm_put(Dst, 10432); |
2256 | } else { | 2289 | } else { |
2257 | dasm_put(Dst, 11284); | 2290 | dasm_put(Dst, 11460); |
2258 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 2291 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
2259 | switch (vk) { | 2292 | switch (vk) { |
2260 | case 0: | 2293 | case 0: |
2261 | dasm_put(Dst, 11397, LJ_TISNUM); | 2294 | dasm_put(Dst, 11573, LJ_TISNUM); |
2262 | if (LJ_DUALNUM) { | 2295 | if (LJ_DUALNUM) { |
2263 | dasm_put(Dst, 11409, LJ_TISNUM); | 2296 | dasm_put(Dst, 11585, LJ_TISNUM); |
2264 | } | 2297 | } |
2265 | if (sse) { | 2298 | if (sse) { |
2266 | dasm_put(Dst, 11630); | 2299 | dasm_put(Dst, 11806); |
2267 | } else { | 2300 | } else { |
2268 | dasm_put(Dst, 11644); | 2301 | dasm_put(Dst, 11820); |
2269 | } | 2302 | } |
2270 | break; | 2303 | break; |
2271 | case 1: | 2304 | case 1: |
2272 | dasm_put(Dst, 11442, LJ_TISNUM); | 2305 | dasm_put(Dst, 11618, LJ_TISNUM); |
2273 | if (LJ_DUALNUM) { | 2306 | if (LJ_DUALNUM) { |
2274 | dasm_put(Dst, 11454, LJ_TISNUM); | 2307 | dasm_put(Dst, 11630, LJ_TISNUM); |
2275 | } | 2308 | } |
2276 | if (sse) { | 2309 | if (sse) { |
2277 | dasm_put(Dst, 11652); | 2310 | dasm_put(Dst, 11828); |
2278 | } else { | 2311 | } else { |
2279 | dasm_put(Dst, 11666); | 2312 | dasm_put(Dst, 11842); |
2280 | } | 2313 | } |
2281 | break; | 2314 | break; |
2282 | default: | 2315 | default: |
2283 | dasm_put(Dst, 11487, LJ_TISNUM, LJ_TISNUM); | 2316 | dasm_put(Dst, 11663, LJ_TISNUM, LJ_TISNUM); |
2284 | if (sse) { | 2317 | if (sse) { |
2285 | dasm_put(Dst, 11674); | 2318 | dasm_put(Dst, 11850); |
2286 | } else { | 2319 | } else { |
2287 | dasm_put(Dst, 11688); | 2320 | dasm_put(Dst, 11864); |
2288 | } | 2321 | } |
2289 | break; | 2322 | break; |
2290 | } | 2323 | } |
2291 | if (sse) { | 2324 | if (sse) { |
2292 | dasm_put(Dst, 11120); | 2325 | dasm_put(Dst, 11296); |
2293 | } else { | 2326 | } else { |
2294 | dasm_put(Dst, 11132); | 2327 | dasm_put(Dst, 11308); |
2295 | } | 2328 | } |
2296 | dasm_put(Dst, 10256); | 2329 | dasm_put(Dst, 10432); |
2297 | } | 2330 | } |
2298 | break; | 2331 | break; |
2299 | case BC_MULVN: case BC_MULNV: case BC_MULVV: | 2332 | case BC_MULVN: case BC_MULNV: case BC_MULVV: |
2300 | if (LJ_DUALNUM) { | 2333 | if (LJ_DUALNUM) { |
2301 | dasm_put(Dst, 11284); | 2334 | dasm_put(Dst, 11460); |
2302 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 2335 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
2303 | switch (vk) { | 2336 | switch (vk) { |
2304 | case 0: | 2337 | case 0: |
2305 | dasm_put(Dst, 11696, LJ_TISNUM, LJ_TISNUM); | 2338 | dasm_put(Dst, 11872, LJ_TISNUM, LJ_TISNUM); |
2306 | break; | 2339 | break; |
2307 | case 1: | 2340 | case 1: |
2308 | dasm_put(Dst, 11730, LJ_TISNUM, LJ_TISNUM); | 2341 | dasm_put(Dst, 11906, LJ_TISNUM, LJ_TISNUM); |
2309 | break; | 2342 | break; |
2310 | default: | 2343 | default: |
2311 | dasm_put(Dst, 11764, LJ_TISNUM, LJ_TISNUM); | 2344 | dasm_put(Dst, 11940, LJ_TISNUM, LJ_TISNUM); |
2312 | break; | 2345 | break; |
2313 | } | 2346 | } |
2314 | dasm_put(Dst, 11391, LJ_TISNUM); | 2347 | dasm_put(Dst, 11567, LJ_TISNUM); |
2315 | if (vk == 1) { | 2348 | if (vk == 1) { |
2316 | dasm_put(Dst, 11160); | 2349 | dasm_put(Dst, 11336); |
2317 | } else { | 2350 | } else { |
2318 | dasm_put(Dst, 10946); | 2351 | dasm_put(Dst, 11122); |
2319 | } | 2352 | } |
2320 | dasm_put(Dst, 10256); | 2353 | dasm_put(Dst, 10432); |
2321 | } else { | 2354 | } else { |
2322 | dasm_put(Dst, 11284); | 2355 | dasm_put(Dst, 11460); |
2323 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 2356 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
2324 | switch (vk) { | 2357 | switch (vk) { |
2325 | case 0: | 2358 | case 0: |
2326 | dasm_put(Dst, 11397, LJ_TISNUM); | 2359 | dasm_put(Dst, 11573, LJ_TISNUM); |
2327 | if (LJ_DUALNUM) { | 2360 | if (LJ_DUALNUM) { |
2328 | dasm_put(Dst, 11409, LJ_TISNUM); | 2361 | dasm_put(Dst, 11585, LJ_TISNUM); |
2329 | } | 2362 | } |
2330 | if (sse) { | 2363 | if (sse) { |
2331 | dasm_put(Dst, 11798); | 2364 | dasm_put(Dst, 11974); |
2332 | } else { | 2365 | } else { |
2333 | dasm_put(Dst, 11812); | 2366 | dasm_put(Dst, 11988); |
2334 | } | 2367 | } |
2335 | break; | 2368 | break; |
2336 | case 1: | 2369 | case 1: |
2337 | dasm_put(Dst, 11442, LJ_TISNUM); | 2370 | dasm_put(Dst, 11618, LJ_TISNUM); |
2338 | if (LJ_DUALNUM) { | 2371 | if (LJ_DUALNUM) { |
2339 | dasm_put(Dst, 11454, LJ_TISNUM); | 2372 | dasm_put(Dst, 11630, LJ_TISNUM); |
2340 | } | 2373 | } |
2341 | if (sse) { | 2374 | if (sse) { |
2342 | dasm_put(Dst, 11820); | 2375 | dasm_put(Dst, 11996); |
2343 | } else { | 2376 | } else { |
2344 | dasm_put(Dst, 11834); | 2377 | dasm_put(Dst, 12010); |
2345 | } | 2378 | } |
2346 | break; | 2379 | break; |
2347 | default: | 2380 | default: |
2348 | dasm_put(Dst, 11487, LJ_TISNUM, LJ_TISNUM); | 2381 | dasm_put(Dst, 11663, LJ_TISNUM, LJ_TISNUM); |
2349 | if (sse) { | 2382 | if (sse) { |
2350 | dasm_put(Dst, 11842); | 2383 | dasm_put(Dst, 12018); |
2351 | } else { | 2384 | } else { |
2352 | dasm_put(Dst, 11856); | 2385 | dasm_put(Dst, 12032); |
2353 | } | 2386 | } |
2354 | break; | 2387 | break; |
2355 | } | 2388 | } |
2356 | if (sse) { | 2389 | if (sse) { |
2357 | dasm_put(Dst, 11120); | 2390 | dasm_put(Dst, 11296); |
2358 | } else { | 2391 | } else { |
2359 | dasm_put(Dst, 11132); | 2392 | dasm_put(Dst, 11308); |
2360 | } | 2393 | } |
2361 | dasm_put(Dst, 10256); | 2394 | dasm_put(Dst, 10432); |
2362 | } | 2395 | } |
2363 | break; | 2396 | break; |
2364 | case BC_DIVVN: case BC_DIVNV: case BC_DIVVV: | 2397 | case BC_DIVVN: case BC_DIVNV: case BC_DIVVV: |
2365 | dasm_put(Dst, 11284); | 2398 | dasm_put(Dst, 11460); |
2366 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 2399 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
2367 | switch (vk) { | 2400 | switch (vk) { |
2368 | case 0: | 2401 | case 0: |
2369 | dasm_put(Dst, 11397, LJ_TISNUM); | 2402 | dasm_put(Dst, 11573, LJ_TISNUM); |
2370 | if (LJ_DUALNUM) { | 2403 | if (LJ_DUALNUM) { |
2371 | dasm_put(Dst, 11409, LJ_TISNUM); | 2404 | dasm_put(Dst, 11585, LJ_TISNUM); |
2372 | } | 2405 | } |
2373 | if (sse) { | 2406 | if (sse) { |
2374 | dasm_put(Dst, 11864); | 2407 | dasm_put(Dst, 12040); |
2375 | } else { | 2408 | } else { |
2376 | dasm_put(Dst, 11878); | 2409 | dasm_put(Dst, 12054); |
2377 | } | 2410 | } |
2378 | break; | 2411 | break; |
2379 | case 1: | 2412 | case 1: |
2380 | dasm_put(Dst, 11442, LJ_TISNUM); | 2413 | dasm_put(Dst, 11618, LJ_TISNUM); |
2381 | if (LJ_DUALNUM) { | 2414 | if (LJ_DUALNUM) { |
2382 | dasm_put(Dst, 11454, LJ_TISNUM); | 2415 | dasm_put(Dst, 11630, LJ_TISNUM); |
2383 | } | 2416 | } |
2384 | if (sse) { | 2417 | if (sse) { |
2385 | dasm_put(Dst, 11886); | 2418 | dasm_put(Dst, 12062); |
2386 | } else { | 2419 | } else { |
2387 | dasm_put(Dst, 11900); | 2420 | dasm_put(Dst, 12076); |
2388 | } | 2421 | } |
2389 | break; | 2422 | break; |
2390 | default: | 2423 | default: |
2391 | dasm_put(Dst, 11487, LJ_TISNUM, LJ_TISNUM); | 2424 | dasm_put(Dst, 11663, LJ_TISNUM, LJ_TISNUM); |
2392 | if (sse) { | 2425 | if (sse) { |
2393 | dasm_put(Dst, 11908); | 2426 | dasm_put(Dst, 12084); |
2394 | } else { | 2427 | } else { |
2395 | dasm_put(Dst, 11922); | 2428 | dasm_put(Dst, 12098); |
2396 | } | 2429 | } |
2397 | break; | 2430 | break; |
2398 | } | 2431 | } |
2399 | if (sse) { | 2432 | if (sse) { |
2400 | dasm_put(Dst, 11120); | 2433 | dasm_put(Dst, 11296); |
2401 | } else { | 2434 | } else { |
2402 | dasm_put(Dst, 11132); | 2435 | dasm_put(Dst, 11308); |
2403 | } | 2436 | } |
2404 | dasm_put(Dst, 10256); | 2437 | dasm_put(Dst, 10432); |
2405 | break; | 2438 | break; |
2406 | case BC_MODVN: | 2439 | case BC_MODVN: |
2407 | dasm_put(Dst, 11284); | 2440 | dasm_put(Dst, 11460); |
2408 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 2441 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
2409 | switch (vk) { | 2442 | switch (vk) { |
2410 | case 0: | 2443 | case 0: |
2411 | dasm_put(Dst, 11397, LJ_TISNUM); | 2444 | dasm_put(Dst, 11573, LJ_TISNUM); |
2412 | if (LJ_DUALNUM) { | 2445 | if (LJ_DUALNUM) { |
2413 | dasm_put(Dst, 11409, LJ_TISNUM); | 2446 | dasm_put(Dst, 11585, LJ_TISNUM); |
2414 | } | 2447 | } |
2415 | if (sse) { | 2448 | if (sse) { |
2416 | dasm_put(Dst, 11930); | 2449 | dasm_put(Dst, 12106); |
2417 | } else { | 2450 | } else { |
2418 | dasm_put(Dst, 11944); | 2451 | dasm_put(Dst, 12120); |
2419 | } | 2452 | } |
2420 | break; | 2453 | break; |
2421 | case 1: | 2454 | case 1: |
2422 | dasm_put(Dst, 11442, LJ_TISNUM); | 2455 | dasm_put(Dst, 11618, LJ_TISNUM); |
2423 | if (LJ_DUALNUM) { | 2456 | if (LJ_DUALNUM) { |
2424 | dasm_put(Dst, 11454, LJ_TISNUM); | 2457 | dasm_put(Dst, 11630, LJ_TISNUM); |
2425 | } | 2458 | } |
2426 | if (sse) { | 2459 | if (sse) { |
2427 | dasm_put(Dst, 11952); | 2460 | dasm_put(Dst, 12128); |
2428 | } else { | 2461 | } else { |
2429 | dasm_put(Dst, 11966); | 2462 | dasm_put(Dst, 12142); |
2430 | } | 2463 | } |
2431 | break; | 2464 | break; |
2432 | default: | 2465 | default: |
2433 | dasm_put(Dst, 11487, LJ_TISNUM, LJ_TISNUM); | 2466 | dasm_put(Dst, 11663, LJ_TISNUM, LJ_TISNUM); |
2434 | if (sse) { | 2467 | if (sse) { |
2435 | dasm_put(Dst, 11974); | 2468 | dasm_put(Dst, 12150); |
2436 | } else { | 2469 | } else { |
2437 | dasm_put(Dst, 11988); | 2470 | dasm_put(Dst, 12164); |
2438 | } | 2471 | } |
2439 | break; | 2472 | break; |
2440 | } | 2473 | } |
2441 | dasm_put(Dst, 11996); | 2474 | dasm_put(Dst, 12172); |
2442 | if (sse) { | 2475 | if (sse) { |
2443 | dasm_put(Dst, 11120); | 2476 | dasm_put(Dst, 11296); |
2444 | } else { | 2477 | } else { |
2445 | dasm_put(Dst, 11132); | 2478 | dasm_put(Dst, 11308); |
2446 | } | 2479 | } |
2447 | dasm_put(Dst, 10256); | 2480 | dasm_put(Dst, 10432); |
2448 | break; | 2481 | break; |
2449 | case BC_MODNV: case BC_MODVV: | 2482 | case BC_MODNV: case BC_MODVV: |
2450 | dasm_put(Dst, 11284); | 2483 | dasm_put(Dst, 11460); |
2451 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 2484 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
2452 | switch (vk) { | 2485 | switch (vk) { |
2453 | case 0: | 2486 | case 0: |
2454 | dasm_put(Dst, 11397, LJ_TISNUM); | 2487 | dasm_put(Dst, 11573, LJ_TISNUM); |
2455 | if (LJ_DUALNUM) { | 2488 | if (LJ_DUALNUM) { |
2456 | dasm_put(Dst, 11409, LJ_TISNUM); | 2489 | dasm_put(Dst, 11585, LJ_TISNUM); |
2457 | } | 2490 | } |
2458 | if (sse) { | 2491 | if (sse) { |
2459 | dasm_put(Dst, 11930); | 2492 | dasm_put(Dst, 12106); |
2460 | } else { | 2493 | } else { |
2461 | dasm_put(Dst, 11944); | 2494 | dasm_put(Dst, 12120); |
2462 | } | 2495 | } |
2463 | break; | 2496 | break; |
2464 | case 1: | 2497 | case 1: |
2465 | dasm_put(Dst, 11442, LJ_TISNUM); | 2498 | dasm_put(Dst, 11618, LJ_TISNUM); |
2466 | if (LJ_DUALNUM) { | 2499 | if (LJ_DUALNUM) { |
2467 | dasm_put(Dst, 11454, LJ_TISNUM); | 2500 | dasm_put(Dst, 11630, LJ_TISNUM); |
2468 | } | 2501 | } |
2469 | if (sse) { | 2502 | if (sse) { |
2470 | dasm_put(Dst, 11952); | 2503 | dasm_put(Dst, 12128); |
2471 | } else { | 2504 | } else { |
2472 | dasm_put(Dst, 11966); | 2505 | dasm_put(Dst, 12142); |
2473 | } | 2506 | } |
2474 | break; | 2507 | break; |
2475 | default: | 2508 | default: |
2476 | dasm_put(Dst, 11487, LJ_TISNUM, LJ_TISNUM); | 2509 | dasm_put(Dst, 11663, LJ_TISNUM, LJ_TISNUM); |
2477 | if (sse) { | 2510 | if (sse) { |
2478 | dasm_put(Dst, 11974); | 2511 | dasm_put(Dst, 12150); |
2479 | } else { | 2512 | } else { |
2480 | dasm_put(Dst, 11988); | 2513 | dasm_put(Dst, 12164); |
2481 | } | 2514 | } |
2482 | break; | 2515 | break; |
2483 | } | 2516 | } |
2484 | dasm_put(Dst, 12002); | 2517 | dasm_put(Dst, 12178); |
2485 | break; | 2518 | break; |
2486 | case BC_POW: | 2519 | case BC_POW: |
2487 | dasm_put(Dst, 11284); | 2520 | dasm_put(Dst, 11460); |
2488 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 2521 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
2489 | switch (vk) { | 2522 | switch (vk) { |
2490 | case 0: | 2523 | case 0: |
2491 | dasm_put(Dst, 11397, LJ_TISNUM); | 2524 | dasm_put(Dst, 11573, LJ_TISNUM); |
2492 | if (LJ_DUALNUM) { | 2525 | if (LJ_DUALNUM) { |
2493 | dasm_put(Dst, 11409, LJ_TISNUM); | 2526 | dasm_put(Dst, 11585, LJ_TISNUM); |
2494 | } | 2527 | } |
2495 | if (sse) { | 2528 | if (sse) { |
2496 | dasm_put(Dst, 11930); | 2529 | dasm_put(Dst, 12106); |
2497 | } else { | 2530 | } else { |
2498 | dasm_put(Dst, 11944); | 2531 | dasm_put(Dst, 12120); |
2499 | } | 2532 | } |
2500 | break; | 2533 | break; |
2501 | case 1: | 2534 | case 1: |
2502 | dasm_put(Dst, 11442, LJ_TISNUM); | 2535 | dasm_put(Dst, 11618, LJ_TISNUM); |
2503 | if (LJ_DUALNUM) { | 2536 | if (LJ_DUALNUM) { |
2504 | dasm_put(Dst, 11454, LJ_TISNUM); | 2537 | dasm_put(Dst, 11630, LJ_TISNUM); |
2505 | } | 2538 | } |
2506 | if (sse) { | 2539 | if (sse) { |
2507 | dasm_put(Dst, 11952); | 2540 | dasm_put(Dst, 12128); |
2508 | } else { | 2541 | } else { |
2509 | dasm_put(Dst, 11966); | 2542 | dasm_put(Dst, 12142); |
2510 | } | 2543 | } |
2511 | break; | 2544 | break; |
2512 | default: | 2545 | default: |
2513 | dasm_put(Dst, 11487, LJ_TISNUM, LJ_TISNUM); | 2546 | dasm_put(Dst, 11663, LJ_TISNUM, LJ_TISNUM); |
2514 | if (sse) { | 2547 | if (sse) { |
2515 | dasm_put(Dst, 11974); | 2548 | dasm_put(Dst, 12150); |
2516 | } else { | 2549 | } else { |
2517 | dasm_put(Dst, 11988); | 2550 | dasm_put(Dst, 12164); |
2518 | } | 2551 | } |
2519 | break; | 2552 | break; |
2520 | } | 2553 | } |
2521 | dasm_put(Dst, 12007); | 2554 | dasm_put(Dst, 12183); |
2522 | if (sse) { | 2555 | if (sse) { |
2523 | dasm_put(Dst, 11120); | 2556 | dasm_put(Dst, 11296); |
2524 | } else { | 2557 | } else { |
2525 | dasm_put(Dst, 11132); | 2558 | dasm_put(Dst, 11308); |
2526 | } | 2559 | } |
2527 | dasm_put(Dst, 10256); | 2560 | dasm_put(Dst, 10432); |
2528 | break; | 2561 | break; |
2529 | 2562 | ||
2530 | case BC_CAT: | 2563 | case BC_CAT: |
2531 | dasm_put(Dst, 12011, Dt1(->base), Dt1(->base)); | 2564 | dasm_put(Dst, 12187, Dt1(->base), Dt1(->base)); |
2532 | break; | 2565 | break; |
2533 | 2566 | ||
2534 | /* -- Constant ops ------------------------------------------------------ */ | 2567 | /* -- Constant ops ------------------------------------------------------ */ |
2535 | 2568 | ||
2536 | case BC_KSTR: | 2569 | case BC_KSTR: |
2537 | dasm_put(Dst, 12094, LJ_TSTR); | 2570 | dasm_put(Dst, 12270, LJ_TSTR); |
2538 | break; | 2571 | break; |
2539 | case BC_KCDATA: | 2572 | case BC_KCDATA: |
2540 | #if LJ_HASFFI | 2573 | #if LJ_HASFFI |
2541 | dasm_put(Dst, 12094, LJ_TCDATA); | 2574 | dasm_put(Dst, 12270, LJ_TCDATA); |
2542 | #endif | 2575 | #endif |
2543 | break; | 2576 | break; |
2544 | case BC_KSHORT: | 2577 | case BC_KSHORT: |
2545 | if (LJ_DUALNUM) { | 2578 | if (LJ_DUALNUM) { |
2546 | dasm_put(Dst, 12129, LJ_TISNUM); | 2579 | dasm_put(Dst, 12305, LJ_TISNUM); |
2547 | } else if (sse) { | 2580 | } else if (sse) { |
2548 | dasm_put(Dst, 12141); | 2581 | dasm_put(Dst, 12317); |
2549 | } else { | 2582 | } else { |
2550 | dasm_put(Dst, 12156); | 2583 | dasm_put(Dst, 12332); |
2551 | } | 2584 | } |
2552 | dasm_put(Dst, 10256); | 2585 | dasm_put(Dst, 10432); |
2553 | break; | 2586 | break; |
2554 | case BC_KNUM: | 2587 | case BC_KNUM: |
2555 | if (sse) { | 2588 | if (sse) { |
2556 | dasm_put(Dst, 12164); | 2589 | dasm_put(Dst, 12340); |
2557 | } else { | 2590 | } else { |
2558 | dasm_put(Dst, 12177); | 2591 | dasm_put(Dst, 12353); |
2559 | } | 2592 | } |
2560 | dasm_put(Dst, 10256); | 2593 | dasm_put(Dst, 10432); |
2561 | break; | 2594 | break; |
2562 | case BC_KPRI: | 2595 | case BC_KPRI: |
2563 | dasm_put(Dst, 12184); | 2596 | dasm_put(Dst, 12360); |
2564 | break; | 2597 | break; |
2565 | case BC_KNIL: | 2598 | case BC_KNIL: |
2566 | dasm_put(Dst, 12212, LJ_TNIL); | 2599 | dasm_put(Dst, 12388, LJ_TNIL); |
2567 | break; | 2600 | break; |
2568 | 2601 | ||
2569 | /* -- Upvalue and function ops ------------------------------------------ */ | 2602 | /* -- Upvalue and function ops ------------------------------------------ */ |
2570 | 2603 | ||
2571 | case BC_UGET: | 2604 | case BC_UGET: |
2572 | dasm_put(Dst, 12259, offsetof(GCfuncL, uvptr), DtA(->v)); | 2605 | dasm_put(Dst, 12435, offsetof(GCfuncL, uvptr), DtA(->v)); |
2573 | break; | 2606 | break; |
2574 | case BC_USETV: | 2607 | case BC_USETV: |
2575 | #define TV2MARKOFS \ | 2608 | #define TV2MARKOFS \ |
2576 | ((int32_t)offsetof(GCupval, marked)-(int32_t)offsetof(GCupval, tv)) | 2609 | ((int32_t)offsetof(GCupval, marked)-(int32_t)offsetof(GCupval, tv)) |
2577 | dasm_put(Dst, 12299, 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); | 2610 | dasm_put(Dst, 12475, 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); |
2578 | dasm_put(Dst, 12390); | 2611 | dasm_put(Dst, 12566); |
2579 | break; | 2612 | break; |
2580 | #undef TV2MARKOFS | 2613 | #undef TV2MARKOFS |
2581 | case BC_USETS: | 2614 | case BC_USETS: |
2582 | dasm_put(Dst, 12402, offsetof(GCfuncL, uvptr), DtA(->v), LJ_TSTR, DtA(->marked), LJ_GC_BLACK, Dt4(->gch.marked), LJ_GC_WHITES, DtA(->closed), GG_DISP2G); | 2615 | dasm_put(Dst, 12578, offsetof(GCfuncL, uvptr), DtA(->v), LJ_TSTR, DtA(->marked), LJ_GC_BLACK, Dt4(->gch.marked), LJ_GC_WHITES, DtA(->closed), GG_DISP2G); |
2583 | break; | 2616 | break; |
2584 | case BC_USETN: | 2617 | case BC_USETN: |
2585 | dasm_put(Dst, 12495); | 2618 | dasm_put(Dst, 12671); |
2586 | if (sse) { | 2619 | if (sse) { |
2587 | dasm_put(Dst, 12500); | 2620 | dasm_put(Dst, 12676); |
2588 | } else { | 2621 | } else { |
2589 | dasm_put(Dst, 10775); | 2622 | dasm_put(Dst, 10951); |
2590 | } | 2623 | } |
2591 | dasm_put(Dst, 12507, offsetof(GCfuncL, uvptr), DtA(->v)); | 2624 | dasm_put(Dst, 12683, offsetof(GCfuncL, uvptr), DtA(->v)); |
2592 | if (sse) { | 2625 | if (sse) { |
2593 | dasm_put(Dst, 12516); | 2626 | dasm_put(Dst, 12692); |
2594 | } else { | 2627 | } else { |
2595 | dasm_put(Dst, 12522); | 2628 | dasm_put(Dst, 12698); |
2596 | } | 2629 | } |
2597 | dasm_put(Dst, 10256); | 2630 | dasm_put(Dst, 10432); |
2598 | break; | 2631 | break; |
2599 | case BC_USETP: | 2632 | case BC_USETP: |
2600 | dasm_put(Dst, 12525, offsetof(GCfuncL, uvptr), DtA(->v)); | 2633 | dasm_put(Dst, 12701, offsetof(GCfuncL, uvptr), DtA(->v)); |
2601 | break; | 2634 | break; |
2602 | case BC_UCLO: | 2635 | case BC_UCLO: |
2603 | dasm_put(Dst, 12564, -BCBIAS_J*4, Dt1(->openupval), Dt1(->base), Dt1(->base)); | 2636 | dasm_put(Dst, 12740, -BCBIAS_J*4, Dt1(->openupval), Dt1(->base), Dt1(->base)); |
2604 | break; | 2637 | break; |
2605 | 2638 | ||
2606 | case BC_FNEW: | 2639 | case BC_FNEW: |
2607 | dasm_put(Dst, 12619, Dt1(->base), Dt1(->base), LJ_TFUNC); | 2640 | dasm_put(Dst, 12795, Dt1(->base), Dt1(->base), LJ_TFUNC); |
2608 | break; | 2641 | break; |
2609 | 2642 | ||
2610 | /* -- Table ops --------------------------------------------------------- */ | 2643 | /* -- Table ops --------------------------------------------------------- */ |
2611 | 2644 | ||
2612 | case BC_TNEW: | 2645 | case BC_TNEW: |
2613 | dasm_put(Dst, 12685, Dt1(->base), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), LJ_TTAB); | 2646 | dasm_put(Dst, 12861, Dt1(->base), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), LJ_TTAB); |
2614 | break; | 2647 | break; |
2615 | case BC_TDUP: | 2648 | case BC_TDUP: |
2616 | dasm_put(Dst, 12807, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), Dt1(->base), LJ_TTAB); | 2649 | dasm_put(Dst, 12983, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), Dt1(->base), LJ_TTAB); |
2617 | break; | 2650 | break; |
2618 | 2651 | ||
2619 | case BC_GGET: | 2652 | case BC_GGET: |
2620 | dasm_put(Dst, 12902, Dt7(->env)); | 2653 | dasm_put(Dst, 13078, Dt7(->env)); |
2621 | break; | 2654 | break; |
2622 | case BC_GSET: | 2655 | case BC_GSET: |
2623 | dasm_put(Dst, 12921, Dt7(->env)); | 2656 | dasm_put(Dst, 13097, Dt7(->env)); |
2624 | break; | 2657 | break; |
2625 | 2658 | ||
2626 | case BC_TGETV: | 2659 | case BC_TGETV: |
2627 | dasm_put(Dst, 12940, LJ_TTAB); | 2660 | dasm_put(Dst, 13116, LJ_TTAB); |
2628 | if (LJ_DUALNUM) { | 2661 | if (LJ_DUALNUM) { |
2629 | dasm_put(Dst, 12963, LJ_TISNUM); | 2662 | dasm_put(Dst, 13139, LJ_TISNUM); |
2630 | } else { | 2663 | } else { |
2631 | dasm_put(Dst, 12977, LJ_TISNUM); | 2664 | dasm_put(Dst, 13153, LJ_TISNUM); |
2632 | if (sse) { | 2665 | if (sse) { |
2633 | dasm_put(Dst, 12988); | 2666 | dasm_put(Dst, 13164); |
2634 | } else { | 2667 | } else { |
2635 | } | 2668 | } |
2636 | dasm_put(Dst, 13009); | 2669 | dasm_put(Dst, 13185); |
2637 | } | 2670 | } |
2638 | dasm_put(Dst, 13014, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index, LJ_TNIL); | 2671 | dasm_put(Dst, 13190, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index, LJ_TNIL); |
2639 | dasm_put(Dst, 13105, LJ_TSTR); | 2672 | dasm_put(Dst, 13281, LJ_TSTR); |
2640 | break; | 2673 | break; |
2641 | case BC_TGETS: | 2674 | case BC_TGETS: |
2642 | dasm_put(Dst, 13123, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL); | 2675 | dasm_put(Dst, 13299, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL); |
2643 | dasm_put(Dst, 13207, LJ_TNIL, DtB(->next), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); | 2676 | dasm_put(Dst, 13383, LJ_TNIL, DtB(->next), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); |
2644 | break; | 2677 | break; |
2645 | case BC_TGETB: | 2678 | case BC_TGETB: |
2646 | dasm_put(Dst, 13278, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); | 2679 | dasm_put(Dst, 13454, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); |
2647 | dasm_put(Dst, 13373, LJ_TNIL); | 2680 | dasm_put(Dst, 13549, LJ_TNIL); |
2648 | break; | 2681 | break; |
2649 | 2682 | ||
2650 | case BC_TSETV: | 2683 | case BC_TSETV: |
2651 | dasm_put(Dst, 13390, LJ_TTAB); | 2684 | dasm_put(Dst, 13566, LJ_TTAB); |
2652 | if (LJ_DUALNUM) { | 2685 | if (LJ_DUALNUM) { |
2653 | dasm_put(Dst, 12963, LJ_TISNUM); | 2686 | dasm_put(Dst, 13139, LJ_TISNUM); |
2654 | } else { | 2687 | } else { |
2655 | dasm_put(Dst, 12977, LJ_TISNUM); | 2688 | dasm_put(Dst, 13153, LJ_TISNUM); |
2656 | if (sse) { | 2689 | if (sse) { |
2657 | dasm_put(Dst, 12988); | 2690 | dasm_put(Dst, 13164); |
2658 | } else { | 2691 | } else { |
2659 | } | 2692 | } |
2660 | dasm_put(Dst, 13413); | 2693 | dasm_put(Dst, 13589); |
2661 | } | 2694 | } |
2662 | dasm_put(Dst, 13418, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex); | 2695 | dasm_put(Dst, 13594, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex); |
2663 | dasm_put(Dst, 13498, LJ_TSTR, Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); | 2696 | dasm_put(Dst, 13674, LJ_TSTR, Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); |
2664 | break; | 2697 | break; |
2665 | case BC_TSETS: | 2698 | case BC_TSETS: |
2666 | dasm_put(Dst, 13555, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->nomm), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL); | 2699 | dasm_put(Dst, 13731, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->nomm), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL); |
2667 | dasm_put(Dst, 13631, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, DtB(->next)); | 2700 | dasm_put(Dst, 13807, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, DtB(->next)); |
2668 | dasm_put(Dst, 13719, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, LJ_TSTR, Dt1(->base), Dt1(->base), Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); | 2701 | dasm_put(Dst, 13895, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, LJ_TSTR, Dt1(->base), Dt1(->base), Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); |
2669 | break; | 2702 | break; |
2670 | case BC_TSETB: | 2703 | case BC_TSETB: |
2671 | dasm_put(Dst, 13810, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable)); | 2704 | dasm_put(Dst, 13986, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable)); |
2672 | dasm_put(Dst, 13904, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); | 2705 | dasm_put(Dst, 14080, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); |
2673 | break; | 2706 | break; |
2674 | 2707 | ||
2675 | case BC_TSETM: | 2708 | case BC_TSETM: |
2676 | dasm_put(Dst, 13950, Dt6(->marked), LJ_GC_BLACK, Dt6(->asize), Dt6(->array), Dt1(->base), Dt1(->base)); | 2709 | dasm_put(Dst, 14126, Dt6(->marked), LJ_GC_BLACK, Dt6(->asize), Dt6(->array), Dt1(->base), Dt1(->base)); |
2677 | dasm_put(Dst, 14093, Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); | 2710 | dasm_put(Dst, 14269, Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); |
2678 | break; | 2711 | break; |
2679 | 2712 | ||
2680 | /* -- Calls and vararg handling ----------------------------------------- */ | 2713 | /* -- Calls and vararg handling ----------------------------------------- */ |
2681 | 2714 | ||
2682 | case BC_CALL: case BC_CALLM: | 2715 | case BC_CALL: case BC_CALLM: |
2683 | dasm_put(Dst, 11288); | 2716 | dasm_put(Dst, 11464); |
2684 | if (op == BC_CALLM) { | 2717 | if (op == BC_CALLM) { |
2685 | dasm_put(Dst, 14111); | 2718 | dasm_put(Dst, 14287); |
2686 | } | 2719 | } |
2687 | dasm_put(Dst, 14116, LJ_TFUNC, Dt7(->pc)); | 2720 | dasm_put(Dst, 14292, LJ_TFUNC, Dt7(->pc)); |
2688 | break; | 2721 | break; |
2689 | 2722 | ||
2690 | case BC_CALLMT: | 2723 | case BC_CALLMT: |
2691 | dasm_put(Dst, 14111); | 2724 | dasm_put(Dst, 14287); |
2692 | break; | 2725 | break; |
2693 | case BC_CALLT: | 2726 | case BC_CALLT: |
2694 | dasm_put(Dst, 14158, LJ_TFUNC, FRAME_TYPE, Dt7(->ffid), Dt7(->pc)); | 2727 | dasm_put(Dst, 14334, LJ_TFUNC, FRAME_TYPE, Dt7(->ffid), Dt7(->pc)); |
2695 | dasm_put(Dst, 14273, FRAME_TYPE, Dt7(->pc), PC2PROTO(k), FRAME_VARG, FRAME_TYPEP, FRAME_VARG); | 2728 | dasm_put(Dst, 14449, FRAME_TYPE, Dt7(->pc), PC2PROTO(k), FRAME_VARG, FRAME_TYPEP, FRAME_VARG); |
2696 | break; | 2729 | break; |
2697 | 2730 | ||
2698 | case BC_ITERC: | 2731 | case BC_ITERC: |
2699 | dasm_put(Dst, 14344, LJ_TFUNC, 2+1, Dt7(->pc)); | 2732 | dasm_put(Dst, 14520, LJ_TFUNC, 2+1, Dt7(->pc)); |
2700 | break; | 2733 | break; |
2701 | 2734 | ||
2702 | case BC_ITERN: | 2735 | case BC_ITERN: |
2703 | #if LJ_HASJIT | 2736 | #if LJ_HASJIT |
2704 | #endif | 2737 | #endif |
2705 | dasm_put(Dst, 14415, Dt6(->asize), Dt6(->array), LJ_TNIL); | 2738 | dasm_put(Dst, 14591, Dt6(->asize), Dt6(->array), LJ_TNIL); |
2706 | if (LJ_DUALNUM) { | 2739 | if (LJ_DUALNUM) { |
2707 | dasm_put(Dst, 11155, LJ_TISNUM); | 2740 | dasm_put(Dst, 11331, LJ_TISNUM); |
2708 | } else if (sse) { | 2741 | } else if (sse) { |
2709 | dasm_put(Dst, 11249); | 2742 | dasm_put(Dst, 11425); |
2710 | } else { | 2743 | } else { |
2711 | dasm_put(Dst, 14461); | 2744 | dasm_put(Dst, 14637); |
2712 | } | 2745 | } |
2713 | dasm_put(Dst, 14467); | 2746 | dasm_put(Dst, 14643); |
2714 | if (LJ_DUALNUM) { | 2747 | if (LJ_DUALNUM) { |
2715 | } else if (sse) { | 2748 | } else if (sse) { |
2716 | dasm_put(Dst, 11120); | 2749 | dasm_put(Dst, 11296); |
2717 | } else { | 2750 | } else { |
2718 | dasm_put(Dst, 11132); | 2751 | dasm_put(Dst, 11308); |
2719 | } | 2752 | } |
2720 | dasm_put(Dst, 14480, -BCBIAS_J*4); | 2753 | dasm_put(Dst, 14656, -BCBIAS_J*4); |
2721 | if (!LJ_DUALNUM && !sse) { | 2754 | if (!LJ_DUALNUM && !sse) { |
2722 | dasm_put(Dst, 14532); | 2755 | dasm_put(Dst, 14708); |
2723 | } | 2756 | } |
2724 | dasm_put(Dst, 14538, Dt6(->hmask), sizeof(Node), Dt6(->node), DtB(->val.it), LJ_TNIL, DtB(->key), DtB(->val)); | 2757 | dasm_put(Dst, 14714, Dt6(->hmask), sizeof(Node), Dt6(->node), DtB(->val.it), LJ_TNIL, DtB(->key), DtB(->val)); |
2725 | break; | 2758 | break; |
2726 | 2759 | ||
2727 | case BC_ISNEXT: | 2760 | case BC_ISNEXT: |
2728 | dasm_put(Dst, 14610, LJ_TFUNC, LJ_TTAB, LJ_TNIL, Dt8(->ffid), FF_next_N, -BCBIAS_J*4, BC_JMP, -BCBIAS_J*4, BC_ITERC); | 2761 | dasm_put(Dst, 14786, LJ_TFUNC, LJ_TTAB, LJ_TNIL, Dt8(->ffid), FF_next_N, -BCBIAS_J*4, BC_JMP, -BCBIAS_J*4, BC_ITERC); |
2729 | break; | 2762 | break; |
2730 | 2763 | ||
2731 | case BC_VARG: | 2764 | case BC_VARG: |
2732 | dasm_put(Dst, 14710, (8+FRAME_VARG), LJ_TNIL, Dt1(->maxstack)); | 2765 | dasm_put(Dst, 14886, (8+FRAME_VARG), LJ_TNIL, Dt1(->maxstack)); |
2733 | dasm_put(Dst, 14870, Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top)); | 2766 | dasm_put(Dst, 15046, Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top)); |
2734 | break; | 2767 | break; |
2735 | 2768 | ||
2736 | /* -- Returns ----------------------------------------------------------- */ | 2769 | /* -- Returns ----------------------------------------------------------- */ |
2737 | 2770 | ||
2738 | case BC_RETM: | 2771 | case BC_RETM: |
2739 | dasm_put(Dst, 14111); | 2772 | dasm_put(Dst, 14287); |
2740 | break; | 2773 | break; |
2741 | 2774 | ||
2742 | case BC_RET: case BC_RET0: case BC_RET1: | 2775 | case BC_RET: case BC_RET0: case BC_RET1: |
2743 | if (op != BC_RET0) { | 2776 | if (op != BC_RET0) { |
2744 | dasm_put(Dst, 14936); | 2777 | dasm_put(Dst, 15112); |
2745 | } | 2778 | } |
2746 | dasm_put(Dst, 14940, FRAME_TYPE); | 2779 | dasm_put(Dst, 15116, FRAME_TYPE); |
2747 | switch (op) { | 2780 | switch (op) { |
2748 | case BC_RET: | 2781 | case BC_RET: |
2749 | dasm_put(Dst, 14959); | 2782 | dasm_put(Dst, 15135); |
2750 | break; | 2783 | break; |
2751 | case BC_RET1: | 2784 | case BC_RET1: |
2752 | dasm_put(Dst, 15011); | 2785 | dasm_put(Dst, 15187); |
2753 | /* fallthrough */ | 2786 | /* fallthrough */ |
2754 | case BC_RET0: | 2787 | case BC_RET0: |
2755 | dasm_put(Dst, 15021); | 2788 | dasm_put(Dst, 15197); |
2756 | default: | 2789 | default: |
2757 | break; | 2790 | break; |
2758 | } | 2791 | } |
2759 | dasm_put(Dst, 15032, Dt7(->pc), PC2PROTO(k)); | 2792 | dasm_put(Dst, 15208, Dt7(->pc), PC2PROTO(k)); |
2760 | if (op == BC_RET) { | 2793 | if (op == BC_RET) { |
2761 | dasm_put(Dst, 15076, LJ_TNIL); | 2794 | dasm_put(Dst, 15252, LJ_TNIL); |
2762 | } else { | 2795 | } else { |
2763 | dasm_put(Dst, 15085, LJ_TNIL); | 2796 | dasm_put(Dst, 15261, LJ_TNIL); |
2764 | } | 2797 | } |
2765 | dasm_put(Dst, 15092, -FRAME_VARG, FRAME_TYPEP); | 2798 | dasm_put(Dst, 15268, -FRAME_VARG, FRAME_TYPEP); |
2766 | if (op != BC_RET0) { | 2799 | if (op != BC_RET0) { |
2767 | dasm_put(Dst, 15116); | 2800 | dasm_put(Dst, 15292); |
2768 | } | 2801 | } |
2769 | dasm_put(Dst, 4708); | 2802 | dasm_put(Dst, 4717); |
2770 | break; | 2803 | break; |
2771 | 2804 | ||
2772 | /* -- Loops and branches ------------------------------------------------ */ | 2805 | /* -- Loops and branches ------------------------------------------------ */ |
@@ -2774,7 +2807,7 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
2774 | 2807 | ||
2775 | case BC_FORL: | 2808 | case BC_FORL: |
2776 | #if LJ_HASJIT | 2809 | #if LJ_HASJIT |
2777 | dasm_put(Dst, 15120, HOTCOUNT_PCMASK, GG_DISP2HOT, HOTCOUNT_LOOP); | 2810 | dasm_put(Dst, 15296, HOTCOUNT_PCMASK, GG_DISP2HOT, HOTCOUNT_LOOP); |
2778 | #endif | 2811 | #endif |
2779 | break; | 2812 | break; |
2780 | 2813 | ||
@@ -2786,111 +2819,111 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
2786 | case BC_FORI: | 2819 | case BC_FORI: |
2787 | case BC_IFORL: | 2820 | case BC_IFORL: |
2788 | vk = (op == BC_IFORL || op == BC_JFORL); | 2821 | vk = (op == BC_IFORL || op == BC_JFORL); |
2789 | dasm_put(Dst, 15141); | 2822 | dasm_put(Dst, 15317); |
2790 | if (LJ_DUALNUM) { | 2823 | if (LJ_DUALNUM) { |
2791 | dasm_put(Dst, 15145, LJ_TISNUM); | 2824 | dasm_put(Dst, 15321, LJ_TISNUM); |
2792 | if (!vk) { | 2825 | if (!vk) { |
2793 | dasm_put(Dst, 15155, LJ_TISNUM, LJ_TISNUM); | 2826 | dasm_put(Dst, 15331, LJ_TISNUM, LJ_TISNUM); |
2794 | } else { | 2827 | } else { |
2795 | #ifdef LUA_USE_ASSERT | 2828 | #ifdef LUA_USE_ASSERT |
2796 | dasm_put(Dst, 15184, LJ_TISNUM, LJ_TISNUM); | 2829 | dasm_put(Dst, 15360, LJ_TISNUM, LJ_TISNUM); |
2797 | #endif | 2830 | #endif |
2798 | dasm_put(Dst, 15203); | 2831 | dasm_put(Dst, 15379); |
2799 | } | 2832 | } |
2800 | dasm_put(Dst, 15222, LJ_TISNUM); | 2833 | dasm_put(Dst, 15398, LJ_TISNUM); |
2801 | if (op == BC_FORI) { | 2834 | if (op == BC_FORI) { |
2802 | dasm_put(Dst, 15233, -BCBIAS_J*4); | 2835 | dasm_put(Dst, 15409, -BCBIAS_J*4); |
2803 | } else if (op == BC_JFORI) { | 2836 | } else if (op == BC_JFORI) { |
2804 | dasm_put(Dst, 15247, -BCBIAS_J*4, BC_JLOOP); | 2837 | dasm_put(Dst, 15423, -BCBIAS_J*4, BC_JLOOP); |
2805 | } else if (op == BC_IFORL) { | 2838 | } else if (op == BC_IFORL) { |
2806 | dasm_put(Dst, 15265, -BCBIAS_J*4); | 2839 | dasm_put(Dst, 15441, -BCBIAS_J*4); |
2807 | } else { | 2840 | } else { |
2808 | dasm_put(Dst, 15257, BC_JLOOP); | 2841 | dasm_put(Dst, 15433, BC_JLOOP); |
2809 | } | 2842 | } |
2810 | dasm_put(Dst, 15279); | 2843 | dasm_put(Dst, 15455); |
2811 | if (vk) { | 2844 | if (vk) { |
2812 | dasm_put(Dst, 15303); | 2845 | dasm_put(Dst, 15479); |
2813 | } | 2846 | } |
2814 | dasm_put(Dst, 15222, LJ_TISNUM); | 2847 | dasm_put(Dst, 15398, LJ_TISNUM); |
2815 | if (op == BC_FORI) { | 2848 | if (op == BC_FORI) { |
2816 | dasm_put(Dst, 15312); | 2849 | dasm_put(Dst, 15488); |
2817 | } else if (op == BC_JFORI) { | 2850 | } else if (op == BC_JFORI) { |
2818 | dasm_put(Dst, 15317, -BCBIAS_J*4, BC_JLOOP); | 2851 | dasm_put(Dst, 15493, -BCBIAS_J*4, BC_JLOOP); |
2819 | } else if (op == BC_IFORL) { | 2852 | } else if (op == BC_IFORL) { |
2820 | dasm_put(Dst, 15331); | 2853 | dasm_put(Dst, 15507); |
2821 | } else { | 2854 | } else { |
2822 | dasm_put(Dst, 15327, BC_JLOOP); | 2855 | dasm_put(Dst, 15503, BC_JLOOP); |
2823 | } | 2856 | } |
2824 | dasm_put(Dst, 15336); | 2857 | dasm_put(Dst, 15512); |
2825 | } else if (!vk) { | 2858 | } else if (!vk) { |
2826 | dasm_put(Dst, 15343, LJ_TISNUM); | 2859 | dasm_put(Dst, 15519, LJ_TISNUM); |
2827 | } | 2860 | } |
2828 | if (!vk) { | 2861 | if (!vk) { |
2829 | dasm_put(Dst, 15349, LJ_TISNUM); | 2862 | dasm_put(Dst, 15525, LJ_TISNUM); |
2830 | } else { | 2863 | } else { |
2831 | #ifdef LUA_USE_ASSERT | 2864 | #ifdef LUA_USE_ASSERT |
2832 | dasm_put(Dst, 15363, LJ_TISNUM, LJ_TISNUM); | 2865 | dasm_put(Dst, 15539, LJ_TISNUM, LJ_TISNUM); |
2833 | #endif | 2866 | #endif |
2834 | } | 2867 | } |
2835 | dasm_put(Dst, 15382); | 2868 | dasm_put(Dst, 15558); |
2836 | if (!vk) { | 2869 | if (!vk) { |
2837 | dasm_put(Dst, 15386, LJ_TISNUM); | 2870 | dasm_put(Dst, 15562, LJ_TISNUM); |
2838 | } | 2871 | } |
2839 | if (sse) { | 2872 | if (sse) { |
2840 | dasm_put(Dst, 15395); | 2873 | dasm_put(Dst, 15571); |
2841 | if (vk) { | 2874 | if (vk) { |
2842 | dasm_put(Dst, 15407); | 2875 | dasm_put(Dst, 15583); |
2843 | } else { | 2876 | } else { |
2844 | dasm_put(Dst, 15426); | 2877 | dasm_put(Dst, 15602); |
2845 | } | 2878 | } |
2846 | dasm_put(Dst, 15431); | 2879 | dasm_put(Dst, 15607); |
2847 | } else { | 2880 | } else { |
2848 | dasm_put(Dst, 15444); | 2881 | dasm_put(Dst, 15620); |
2849 | if (vk) { | 2882 | if (vk) { |
2850 | dasm_put(Dst, 15450); | 2883 | dasm_put(Dst, 15626); |
2851 | } else { | 2884 | } else { |
2852 | dasm_put(Dst, 15466); | 2885 | dasm_put(Dst, 15642); |
2853 | } | 2886 | } |
2854 | dasm_put(Dst, 15474); | 2887 | dasm_put(Dst, 15650); |
2855 | if (cmov) { | 2888 | if (cmov) { |
2856 | dasm_put(Dst, 10211); | 2889 | dasm_put(Dst, 10392); |
2857 | } else { | 2890 | } else { |
2858 | dasm_put(Dst, 10217); | 2891 | dasm_put(Dst, 10398); |
2859 | } | 2892 | } |
2860 | if (!cmov) { | 2893 | if (!cmov) { |
2861 | dasm_put(Dst, 15479); | 2894 | dasm_put(Dst, 15655); |
2862 | } | 2895 | } |
2863 | } | 2896 | } |
2864 | if (op == BC_FORI) { | 2897 | if (op == BC_FORI) { |
2865 | if (LJ_DUALNUM) { | 2898 | if (LJ_DUALNUM) { |
2866 | dasm_put(Dst, 15485); | 2899 | dasm_put(Dst, 15661); |
2867 | } else { | 2900 | } else { |
2868 | dasm_put(Dst, 15490, -BCBIAS_J*4); | 2901 | dasm_put(Dst, 15666, -BCBIAS_J*4); |
2869 | } | 2902 | } |
2870 | } else if (op == BC_JFORI) { | 2903 | } else if (op == BC_JFORI) { |
2871 | dasm_put(Dst, 15500, -BCBIAS_J*4, BC_JLOOP); | 2904 | dasm_put(Dst, 15676, -BCBIAS_J*4, BC_JLOOP); |
2872 | } else if (op == BC_IFORL) { | 2905 | } else if (op == BC_IFORL) { |
2873 | if (LJ_DUALNUM) { | 2906 | if (LJ_DUALNUM) { |
2874 | dasm_put(Dst, 15514); | 2907 | dasm_put(Dst, 15690); |
2875 | } else { | 2908 | } else { |
2876 | dasm_put(Dst, 15519, -BCBIAS_J*4); | 2909 | dasm_put(Dst, 15695, -BCBIAS_J*4); |
2877 | } | 2910 | } |
2878 | } else { | 2911 | } else { |
2879 | dasm_put(Dst, 15510, BC_JLOOP); | 2912 | dasm_put(Dst, 15686, BC_JLOOP); |
2880 | } | 2913 | } |
2881 | if (LJ_DUALNUM) { | 2914 | if (LJ_DUALNUM) { |
2882 | dasm_put(Dst, 10140); | 2915 | dasm_put(Dst, 10321); |
2883 | } else { | 2916 | } else { |
2884 | dasm_put(Dst, 10905); | 2917 | dasm_put(Dst, 11081); |
2885 | } | 2918 | } |
2886 | if (sse) { | 2919 | if (sse) { |
2887 | dasm_put(Dst, 15529); | 2920 | dasm_put(Dst, 15705); |
2888 | } | 2921 | } |
2889 | break; | 2922 | break; |
2890 | 2923 | ||
2891 | case BC_ITERL: | 2924 | case BC_ITERL: |
2892 | #if LJ_HASJIT | 2925 | #if LJ_HASJIT |
2893 | dasm_put(Dst, 15120, HOTCOUNT_PCMASK, GG_DISP2HOT, HOTCOUNT_LOOP); | 2926 | dasm_put(Dst, 15296, HOTCOUNT_PCMASK, GG_DISP2HOT, HOTCOUNT_LOOP); |
2894 | #endif | 2927 | #endif |
2895 | break; | 2928 | break; |
2896 | 2929 | ||
@@ -2899,33 +2932,33 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
2899 | break; | 2932 | break; |
2900 | #endif | 2933 | #endif |
2901 | case BC_IITERL: | 2934 | case BC_IITERL: |
2902 | dasm_put(Dst, 15540, LJ_TNIL); | 2935 | dasm_put(Dst, 15716, LJ_TNIL); |
2903 | if (op == BC_JITERL) { | 2936 | if (op == BC_JITERL) { |
2904 | dasm_put(Dst, 15555, BC_JLOOP); | 2937 | dasm_put(Dst, 15731, BC_JLOOP); |
2905 | } else { | 2938 | } else { |
2906 | dasm_put(Dst, 15569, -BCBIAS_J*4); | 2939 | dasm_put(Dst, 15745, -BCBIAS_J*4); |
2907 | } | 2940 | } |
2908 | dasm_put(Dst, 10254); | 2941 | dasm_put(Dst, 10430); |
2909 | break; | 2942 | break; |
2910 | 2943 | ||
2911 | case BC_LOOP: | 2944 | case BC_LOOP: |
2912 | #if LJ_HASJIT | 2945 | #if LJ_HASJIT |
2913 | dasm_put(Dst, 15120, HOTCOUNT_PCMASK, GG_DISP2HOT, HOTCOUNT_LOOP); | 2946 | dasm_put(Dst, 15296, HOTCOUNT_PCMASK, GG_DISP2HOT, HOTCOUNT_LOOP); |
2914 | #endif | 2947 | #endif |
2915 | break; | 2948 | break; |
2916 | 2949 | ||
2917 | case BC_ILOOP: | 2950 | case BC_ILOOP: |
2918 | dasm_put(Dst, 10256); | 2951 | dasm_put(Dst, 10432); |
2919 | break; | 2952 | break; |
2920 | 2953 | ||
2921 | case BC_JLOOP: | 2954 | case BC_JLOOP: |
2922 | #if LJ_HASJIT | 2955 | #if LJ_HASJIT |
2923 | dasm_put(Dst, 15585, 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); | 2956 | dasm_put(Dst, 15761, 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); |
2924 | #endif | 2957 | #endif |
2925 | break; | 2958 | break; |
2926 | 2959 | ||
2927 | case BC_JMP: | 2960 | case BC_JMP: |
2928 | dasm_put(Dst, 15694, -BCBIAS_J*4); | 2961 | dasm_put(Dst, 15870, -BCBIAS_J*4); |
2929 | break; | 2962 | break; |
2930 | 2963 | ||
2931 | /* -- Function headers -------------------------------------------------- */ | 2964 | /* -- Function headers -------------------------------------------------- */ |
@@ -2939,7 +2972,7 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
2939 | 2972 | ||
2940 | case BC_FUNCF: | 2973 | case BC_FUNCF: |
2941 | #if LJ_HASJIT | 2974 | #if LJ_HASJIT |
2942 | dasm_put(Dst, 15719, HOTCOUNT_PCMASK, GG_DISP2HOT, HOTCOUNT_CALL); | 2975 | dasm_put(Dst, 15895, HOTCOUNT_PCMASK, GG_DISP2HOT, HOTCOUNT_CALL); |
2943 | #endif | 2976 | #endif |
2944 | case BC_FUNCV: /* NYI: compiled vararg functions. */ | 2977 | case BC_FUNCV: /* NYI: compiled vararg functions. */ |
2945 | break; | 2978 | break; |
@@ -2949,47 +2982,47 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
2949 | break; | 2982 | break; |
2950 | #endif | 2983 | #endif |
2951 | case BC_IFUNCF: | 2984 | case BC_IFUNCF: |
2952 | dasm_put(Dst, 15740, -4+PC2PROTO(k), Dt1(->maxstack), -4+PC2PROTO(numparams)); | 2985 | dasm_put(Dst, 15916, -4+PC2PROTO(k), Dt1(->maxstack), -4+PC2PROTO(numparams)); |
2953 | if (op == BC_JFUNCF) { | 2986 | if (op == BC_JFUNCF) { |
2954 | dasm_put(Dst, 15770, BC_JLOOP); | 2987 | dasm_put(Dst, 15946, BC_JLOOP); |
2955 | } else { | 2988 | } else { |
2956 | dasm_put(Dst, 10256); | 2989 | dasm_put(Dst, 10432); |
2957 | } | 2990 | } |
2958 | dasm_put(Dst, 15779, LJ_TNIL); | 2991 | dasm_put(Dst, 15955, LJ_TNIL); |
2959 | break; | 2992 | break; |
2960 | 2993 | ||
2961 | case BC_JFUNCV: | 2994 | case BC_JFUNCV: |
2962 | #if !LJ_HASJIT | 2995 | #if !LJ_HASJIT |
2963 | break; | 2996 | break; |
2964 | #endif | 2997 | #endif |
2965 | dasm_put(Dst, 9400); | 2998 | dasm_put(Dst, 9409); |
2966 | break; /* NYI: compiled vararg functions. */ | 2999 | break; /* NYI: compiled vararg functions. */ |
2967 | 3000 | ||
2968 | case BC_IFUNCV: | 3001 | case BC_IFUNCV: |
2969 | dasm_put(Dst, 15801, FRAME_VARG, Dt1(->maxstack), -4+PC2PROTO(numparams), LJ_TNIL); | 3002 | dasm_put(Dst, 15977, FRAME_VARG, Dt1(->maxstack), -4+PC2PROTO(numparams), LJ_TNIL); |
2970 | if (op == BC_JFUNCV) { | 3003 | if (op == BC_JFUNCV) { |
2971 | dasm_put(Dst, 15770, BC_JLOOP); | 3004 | dasm_put(Dst, 15946, BC_JLOOP); |
2972 | } else { | 3005 | } else { |
2973 | dasm_put(Dst, 15892, -4+PC2PROTO(k)); | 3006 | dasm_put(Dst, 16068, -4+PC2PROTO(k)); |
2974 | } | 3007 | } |
2975 | dasm_put(Dst, 15915, LJ_TNIL); | 3008 | dasm_put(Dst, 16091, LJ_TNIL); |
2976 | break; | 3009 | break; |
2977 | 3010 | ||
2978 | case BC_FUNCC: | 3011 | case BC_FUNCC: |
2979 | case BC_FUNCCW: | 3012 | case BC_FUNCCW: |
2980 | dasm_put(Dst, 15937, Dt8(->f), Dt1(->base), 8*LUA_MINSTACK, Dt1(->maxstack), Dt1(->top)); | 3013 | dasm_put(Dst, 16113, Dt8(->f), Dt1(->base), 8*LUA_MINSTACK, Dt1(->maxstack), Dt1(->top)); |
2981 | if (op == BC_FUNCC) { | 3014 | if (op == BC_FUNCC) { |
2982 | dasm_put(Dst, 2372); | 3015 | dasm_put(Dst, 2381); |
2983 | } else { | 3016 | } else { |
2984 | dasm_put(Dst, 15967); | 3017 | dasm_put(Dst, 16143); |
2985 | } | 3018 | } |
2986 | dasm_put(Dst, 15975, DISPATCH_GL(vmstate), ~LJ_VMST_C); | 3019 | dasm_put(Dst, 16151, DISPATCH_GL(vmstate), ~LJ_VMST_C); |
2987 | if (op == BC_FUNCC) { | 3020 | if (op == BC_FUNCC) { |
2988 | dasm_put(Dst, 15984); | 3021 | dasm_put(Dst, 16160); |
2989 | } else { | 3022 | } else { |
2990 | dasm_put(Dst, 15988, DISPATCH_GL(wrapf)); | 3023 | dasm_put(Dst, 16164, DISPATCH_GL(wrapf)); |
2991 | } | 3024 | } |
2992 | dasm_put(Dst, 15993, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top)); | 3025 | dasm_put(Dst, 16169, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top)); |
2993 | break; | 3026 | break; |
2994 | 3027 | ||
2995 | /* ---------------------------------------------------------------------- */ | 3028 | /* ---------------------------------------------------------------------- */ |
@@ -3017,7 +3050,7 @@ static int build_backend(BuildCtx *ctx) | |||
3017 | 3050 | ||
3018 | build_subroutines(ctx, cmov, sse); | 3051 | build_subroutines(ctx, cmov, sse); |
3019 | 3052 | ||
3020 | dasm_put(Dst, 16018); | 3053 | dasm_put(Dst, 16194); |
3021 | for (op = 0; op < BC__MAX; op++) | 3054 | for (op = 0; op < BC__MAX; op++) |
3022 | build_ins(ctx, (BCOp)op, op, cmov, sse); | 3055 | build_ins(ctx, (BCOp)op, op, cmov, sse); |
3023 | 3056 | ||
diff --git a/src/buildvm_x86.dasc b/src/buildvm_x86.dasc index dd409c5c..d6dfde88 100644 --- a/src/buildvm_x86.dasc +++ b/src/buildvm_x86.dasc | |||
@@ -114,10 +114,13 @@ | |||
114 | |.if not X64 // x86 stack layout. | 114 | |.if not X64 // x86 stack layout. |
115 | | | 115 | | |
116 | |.define CFRAME_SPACE, aword*7 // Delta for esp (see <--). | 116 | |.define CFRAME_SPACE, aword*7 // Delta for esp (see <--). |
117 | |.macro saveregs | 117 | |.macro saveregs_ |
118 | | push ebp; push edi; push esi; push ebx | 118 | | push edi; push esi; push ebx |
119 | | sub esp, CFRAME_SPACE | 119 | | sub esp, CFRAME_SPACE |
120 | |.endmacro | 120 | |.endmacro |
121 | |.macro saveregs | ||
122 | | push ebp; saveregs_ | ||
123 | |.endmacro | ||
121 | |.macro restoreregs | 124 | |.macro restoreregs |
122 | | add esp, CFRAME_SPACE | 125 | | add esp, CFRAME_SPACE |
123 | | pop ebx; pop esi; pop edi; pop ebp | 126 | | pop ebx; pop esi; pop edi; pop ebp |
@@ -166,10 +169,13 @@ | |||
166 | |.elif X64WIN // x64/Windows stack layout | 169 | |.elif X64WIN // x64/Windows stack layout |
167 | | | 170 | | |
168 | |.define CFRAME_SPACE, aword*5 // Delta for rsp (see <--). | 171 | |.define CFRAME_SPACE, aword*5 // Delta for rsp (see <--). |
169 | |.macro saveregs | 172 | |.macro saveregs_ |
170 | | push rbp; push rdi; push rsi; push rbx | 173 | | push rdi; push rsi; push rbx |
171 | | sub rsp, CFRAME_SPACE | 174 | | sub rsp, CFRAME_SPACE |
172 | |.endmacro | 175 | |.endmacro |
176 | |.macro saveregs | ||
177 | | push rbp; saveregs_ | ||
178 | |.endmacro | ||
173 | |.macro restoreregs | 179 | |.macro restoreregs |
174 | | add rsp, CFRAME_SPACE | 180 | | add rsp, CFRAME_SPACE |
175 | | pop rbx; pop rsi; pop rdi; pop rbp | 181 | | pop rbx; pop rsi; pop rdi; pop rbp |
@@ -206,10 +212,13 @@ | |||
206 | |.else // x64/POSIX stack layout | 212 | |.else // x64/POSIX stack layout |
207 | | | 213 | | |
208 | |.define CFRAME_SPACE, aword*5 // Delta for rsp (see <--). | 214 | |.define CFRAME_SPACE, aword*5 // Delta for rsp (see <--). |
209 | |.macro saveregs | 215 | |.macro saveregs_ |
210 | | push rbp; push rbx; push r15; push r14 | 216 | | push rbx; push r15; push r14 |
211 | | sub rsp, CFRAME_SPACE | 217 | | sub rsp, CFRAME_SPACE |
212 | |.endmacro | 218 | |.endmacro |
219 | |.macro saveregs | ||
220 | | push rbp; saveregs_ | ||
221 | |.endmacro | ||
213 | |.macro restoreregs | 222 | |.macro restoreregs |
214 | | add rsp, CFRAME_SPACE | 223 | | add rsp, CFRAME_SPACE |
215 | | pop r14; pop r15; pop rbx; pop rbp | 224 | | pop r14; pop r15; pop rbx; pop rbp |
@@ -760,14 +769,18 @@ static void build_subroutines(BuildCtx *ctx, int cmov, int sse) | |||
760 | | mov PC, [RB-12] // Restore PC from [cont|PC]. | 769 | | mov PC, [RB-12] // Restore PC from [cont|PC]. |
761 | |.if X64 | 770 | |.if X64 |
762 | | movsxd RAa, dword [RB-16] // May be negative on WIN64 with debug. | 771 | | movsxd RAa, dword [RB-16] // May be negative on WIN64 with debug. |
763 | | test RA, RA | 772 | #if LJ_HASFFI |
764 | | jz >1 | 773 | | cmp RA, 1 |
774 | | jbe >1 | ||
775 | #endif | ||
765 | | lea KBASEa, qword [=>0] | 776 | | lea KBASEa, qword [=>0] |
766 | | add RAa, KBASEa | 777 | | add RAa, KBASEa |
767 | |.else | 778 | |.else |
768 | | mov RA, dword [RB-16] | 779 | | mov RA, dword [RB-16] |
769 | | test RA, RA | 780 | #if LJ_HASFFI |
770 | | jz >1 | 781 | | cmp RA, 1 |
782 | | jbe >1 | ||
783 | #endif | ||
771 | |.endif | 784 | |.endif |
772 | | mov LFUNC:KBASE, [BASE-8] | 785 | | mov LFUNC:KBASE, [BASE-8] |
773 | | mov KBASE, LFUNC:KBASE->pc | 786 | | mov KBASE, LFUNC:KBASE->pc |
@@ -775,11 +788,15 @@ static void build_subroutines(BuildCtx *ctx, int cmov, int sse) | |||
775 | | // BASE = base, RC = result, RB = meta base | 788 | | // BASE = base, RC = result, RB = meta base |
776 | | jmp RAa // Jump to continuation. | 789 | | jmp RAa // Jump to continuation. |
777 | | | 790 | | |
778 | |1: // Tail call from C function. | 791 | #if LJ_HASFFI |
792 | |1: | ||
793 | | je ->cont_ffi_callback // cont = 1: return from FFI callback. | ||
794 | | // cont = 0: Tail call from C function. | ||
779 | | sub RB, BASE | 795 | | sub RB, BASE |
780 | | shr RB, 3 | 796 | | shr RB, 3 |
781 | | lea RD, [RB-1] | 797 | | lea RD, [RB-1] |
782 | | jmp ->vm_call_tail | 798 | | jmp ->vm_call_tail |
799 | #endif | ||
783 | | | 800 | | |
784 | |->cont_cat: // BASE = base, RC = result, RB = mbase | 801 | |->cont_cat: // BASE = base, RC = result, RB = mbase |
785 | | movzx RA, PC_RB | 802 | | movzx RA, PC_RB |
@@ -3700,6 +3717,103 @@ static void build_subroutines(BuildCtx *ctx, int cmov, int sse) | |||
3700 | |//-- FFI helper functions ----------------------------------------------- | 3717 | |//-- FFI helper functions ----------------------------------------------- |
3701 | |//----------------------------------------------------------------------- | 3718 | |//----------------------------------------------------------------------- |
3702 | | | 3719 | | |
3720 | |// Handler for callback functions. Callback slot number in ah/al. | ||
3721 | |->vm_ffi_callback: | ||
3722 | #if LJ_HASFFI | ||
3723 | |.type CTSTATE, CTState, PC | ||
3724 | |.if not X64 | ||
3725 | | sub esp, 16 // Leave room for SAVE_ERRF etc. | ||
3726 | |.endif | ||
3727 | | saveregs_ // ebp/rbp already saved. ebp now holds global_State *. | ||
3728 | | lea DISPATCH, [ebp+GG_G2DISP] | ||
3729 | | mov CTSTATE, GL:ebp->ctype_state | ||
3730 | | movzx eax, ax | ||
3731 | | mov CTSTATE->cb.slot, eax | ||
3732 | |.if X64 | ||
3733 | | mov CTSTATE->cb.gpr[0], CARG1 | ||
3734 | | mov CTSTATE->cb.gpr[1], CARG2 | ||
3735 | | mov CTSTATE->cb.gpr[2], CARG3 | ||
3736 | | mov CTSTATE->cb.gpr[3], CARG4 | ||
3737 | | movsd qword CTSTATE->cb.fpr[0], xmm0 | ||
3738 | | movsd qword CTSTATE->cb.fpr[1], xmm1 | ||
3739 | | movsd qword CTSTATE->cb.fpr[2], xmm2 | ||
3740 | | movsd qword CTSTATE->cb.fpr[3], xmm3 | ||
3741 | |.if X64WIN | ||
3742 | | lea rax, [rsp+CFRAME_SIZE+4*8] | ||
3743 | |.else | ||
3744 | | lea rax, [rsp+CFRAME_SIZE] | ||
3745 | | mov CTSTATE->cb.gpr[4], CARG5 | ||
3746 | | mov CTSTATE->cb.gpr[5], CARG6 | ||
3747 | | movsd qword CTSTATE->cb.fpr[4], xmm4 | ||
3748 | | movsd qword CTSTATE->cb.fpr[5], xmm5 | ||
3749 | | movsd qword CTSTATE->cb.fpr[6], xmm6 | ||
3750 | | movsd qword CTSTATE->cb.fpr[7], xmm7 | ||
3751 | |.endif | ||
3752 | | mov CTSTATE->cb.stack, rax | ||
3753 | | mov CARG2, rsp | ||
3754 | |.else | ||
3755 | | lea eax, [esp+CFRAME_SIZE+16] | ||
3756 | | mov CTSTATE->cb.gpr[0], FCARG1 | ||
3757 | | mov CTSTATE->cb.gpr[1], FCARG2 | ||
3758 | | mov CTSTATE->cb.stack, eax | ||
3759 | | mov FCARG1, [esp+CFRAME_SIZE+12] // Move around misplaced retaddr/ebp. | ||
3760 | | mov FCARG2, [esp+CFRAME_SIZE+8] | ||
3761 | | mov SAVE_RET, FCARG1 | ||
3762 | | mov SAVE_R4, FCARG2 | ||
3763 | | mov FCARG2, esp | ||
3764 | |.endif | ||
3765 | | mov SAVE_PC, CTSTATE // Any value outside of bytecode is ok. | ||
3766 | | mov FCARG1, CTSTATE | ||
3767 | | call extern lj_ccallback_enter@8 // (CTState *cts, void *cf) | ||
3768 | | // lua_State * returned in eax (RD). | ||
3769 | | set_vmstate INTERP | ||
3770 | | mov BASE, L:RD->base | ||
3771 | | mov RD, L:RD->top | ||
3772 | | sub RD, BASE | ||
3773 | | mov LFUNC:RB, [BASE-8] | ||
3774 | | shr RD, 3 | ||
3775 | | add RD, 1 | ||
3776 | | ins_callt | ||
3777 | #endif | ||
3778 | | | ||
3779 | |->cont_ffi_callback: // Return from FFI callback. | ||
3780 | #if LJ_HASFFI | ||
3781 | | mov L:RA, SAVE_L | ||
3782 | | mov CTSTATE, [DISPATCH+DISPATCH_GL(ctype_state)] | ||
3783 | | mov aword CTSTATE->L, L:RAa | ||
3784 | | mov L:RA->base, BASE | ||
3785 | | mov L:RA->top, RB | ||
3786 | | mov FCARG1, CTSTATE | ||
3787 | | mov FCARG2, RC | ||
3788 | | call extern lj_ccallback_leave@8 // (CTState *cts, TValue *o) | ||
3789 | |.if X64 | ||
3790 | | mov rax, CTSTATE->cb.gpr[0] | ||
3791 | | movsd xmm0, qword CTSTATE->cb.fpr[0] | ||
3792 | | jmp ->vm_leave_unw | ||
3793 | |.else | ||
3794 | | mov L:RB, SAVE_L | ||
3795 | | mov eax, CTSTATE->cb.gpr[0] | ||
3796 | | mov edx, CTSTATE->cb.gpr[1] | ||
3797 | | cmp dword CTSTATE->cb.gpr[2], 1 | ||
3798 | | jb >7 | ||
3799 | | je >6 | ||
3800 | | fld qword CTSTATE->cb.fpr[0].d | ||
3801 | | jmp >7 | ||
3802 | |6: | ||
3803 | | fld dword CTSTATE->cb.fpr[0].f | ||
3804 | |7: | ||
3805 | | mov ecx, L:RB->top | ||
3806 | | movzx ecx, word [ecx+6] // Get stack adjustment and copy up. | ||
3807 | | mov SAVE_L, ecx // Must be one slot above SAVE_RET | ||
3808 | | restoreregs | ||
3809 | | pop ecx // Move return addr from SAVE_RET. | ||
3810 | | add esp, [esp] // Adjust stack. | ||
3811 | | add esp, 16 | ||
3812 | | push ecx | ||
3813 | | ret | ||
3814 | |.endif | ||
3815 | #endif | ||
3816 | | | ||
3703 | |->vm_ffi_call@4: // Call C function via FFI. | 3817 | |->vm_ffi_call@4: // Call C function via FFI. |
3704 | | // Caveat: needs special frame unwinding, see below. | 3818 | | // Caveat: needs special frame unwinding, see below. |
3705 | #if LJ_HASFFI | 3819 | #if LJ_HASFFI |
diff --git a/src/buildvm_x86.h b/src/buildvm_x86.h index 8add07c5..cd33cf87 100644 --- a/src/buildvm_x86.h +++ b/src/buildvm_x86.h | |||
@@ -12,7 +12,7 @@ | |||
12 | #define DASM_SECTION_CODE_OP 0 | 12 | #define DASM_SECTION_CODE_OP 0 |
13 | #define DASM_SECTION_CODE_SUB 1 | 13 | #define DASM_SECTION_CODE_SUB 1 |
14 | #define DASM_MAXSECTION 2 | 14 | #define DASM_MAXSECTION 2 |
15 | static const unsigned char build_actionlist[17112] = { | 15 | static const unsigned char build_actionlist[17321] = { |
16 | 254,1,248,10,252,247,198,237,15,132,244,11,131,230,252,248,41,252,242,141, | 16 | 254,1,248,10,252,247,198,237,15,132,244,11,131,230,252,248,41,252,242,141, |
17 | 76,49,252,248,139,114,252,252,199,68,10,4,237,248,12,131,192,1,137,68,36, | 17 | 76,49,252,248,139,114,252,252,199,68,10,4,237,248,12,131,192,1,137,68,36, |
18 | 20,252,247,198,237,15,132,244,13,248,14,129,252,246,239,252,247,198,237,15, | 18 | 20,252,247,198,237,15,132,244,13,248,14,129,252,246,239,252,247,198,237,15, |
@@ -49,795 +49,806 @@ static const unsigned char build_actionlist[17112] = { | |||
49 | 56,137,68,36,8,137,76,36,4,137,44,36,139,189,233,137,124,36,52,137,165,233, | 49 | 56,137,68,36,8,137,76,36,4,137,44,36,139,189,233,137,124,36,52,137,165,233, |
50 | 252,255,210,133,192,15,132,244,15,137,193,190,237,252,233,244,2,248,11,1, | 50 | 252,255,210,133,192,15,132,244,15,137,193,190,237,252,233,244,2,248,11,1, |
51 | 209,131,230,252,248,137,213,41,252,242,199,68,193,252,252,237,137,200,139, | 51 | 209,131,230,252,248,137,213,41,252,242,199,68,193,252,252,237,137,200,139, |
52 | 117,252,244,139,77,252,240,133,201,15,132,244,247,255,139,122,252,248,139, | 52 | 117,252,244,255,139,77,252,240,255,131,252,249,1,15,134,244,247,255,139,122, |
53 | 191,233,139,191,233,252,255,225,248,1,41,213,193,252,237,3,141,69,252,255, | 53 | 252,248,139,191,233,139,191,233,252,255,225,255,248,1,15,132,244,32,41,213, |
54 | 252,233,244,32,248,33,15,182,78,252,255,131,252,237,16,141,12,202,41,252, | 54 | 193,252,237,3,141,69,252,255,252,233,244,33,255,248,34,15,182,78,252,255, |
55 | 233,15,132,244,34,252,247,217,193,252,233,3,137,76,36,8,139,72,4,139,0,137, | 55 | 131,252,237,16,141,12,202,41,252,233,15,132,244,35,252,247,217,193,252,233, |
56 | 77,4,137,69,0,137,108,36,4,252,233,244,35,248,36,137,68,36,16,199,68,36,20, | 56 | 3,137,76,36,8,139,72,4,139,0,137,77,4,137,69,0,137,108,36,4,252,233,244,36, |
57 | 237,141,68,36,16,128,126,252,252,235,15,133,244,247,141,139,233,137,41,199, | 57 | 248,37,137,68,36,16,199,68,36,20,237,141,68,36,16,128,126,252,252,235,15, |
58 | 65,4,237,137,205,252,233,244,248,248,37,255,15,182,70,252,254,255,199,68, | 58 | 133,244,247,141,139,233,137,41,199,65,4,237,137,205,252,233,244,248,248,38, |
59 | 36,20,237,137,68,36,16,255,252,242,15,42,192,252,242,15,17,68,36,16,255,137, | 59 | 15,182,70,252,254,255,199,68,36,20,237,137,68,36,16,255,252,242,15,42,192, |
60 | 68,36,12,219,68,36,12,221,92,36,16,255,141,68,36,16,252,233,244,247,248,38, | 60 | 252,242,15,17,68,36,16,255,137,68,36,12,219,68,36,12,221,92,36,16,255,141, |
61 | 15,182,70,252,254,141,4,194,248,1,15,182,110,252,255,141,44,252,234,248,2, | 61 | 68,36,16,252,233,244,247,248,39,15,182,70,252,254,141,4,194,248,1,15,182, |
62 | 137,108,36,4,139,108,36,48,137,68,36,8,137,44,36,137,149,233,137,116,36,24, | ||
63 | 232,251,1,1,139,149,233,133,192,15,132,244,249,248,34,15,182,78,252,253,139, | ||
64 | 104,4,139,0,137,108,202,4,137,4,202,139,6,15,182,204,15,182,232,131,198,4, | ||
65 | 193,232,16,252,255,36,171,248,3,139,141,233,137,113,252,244,141,177,233,41, | ||
66 | 214,139,105,252,248,184,237,252,233,244,30,248,39,137,68,36,16,199,68,36, | ||
67 | 20,237,141,68,36,16,128,126,252,252,235,15,133,244,247,255,141,139,233,137, | ||
68 | 41,199,65,4,237,137,205,252,233,244,248,248,40,15,182,70,252,254,255,141, | ||
69 | 68,36,16,252,233,244,247,248,41,15,182,70,252,254,141,4,194,248,1,15,182, | ||
70 | 110,252,255,141,44,252,234,248,2,137,108,36,4,139,108,36,48,137,68,36,8,137, | 62 | 110,252,255,141,44,252,234,248,2,137,108,36,4,139,108,36,48,137,68,36,8,137, |
71 | 44,36,137,149,233,137,116,36,24,232,251,1,2,139,149,233,133,192,15,132,244, | 63 | 44,36,137,149,233,137,116,36,24,232,251,1,1,139,149,233,133,192,15,132,244, |
72 | 249,15,182,78,252,253,139,108,202,4,139,12,202,137,104,4,137,8,248,42,139, | 64 | 249,248,35,15,182,78,252,253,139,104,4,139,0,137,108,202,4,137,4,202,139, |
73 | 6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,3,139,141, | 65 | 6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,3,139,141, |
74 | 233,137,113,252,244,15,182,70,252,253,139,108,194,4,139,4,194,137,105,20, | 66 | 233,137,113,252,244,141,177,233,41,214,139,105,252,248,184,237,252,233,244, |
75 | 137,65,16,141,177,233,41,214,139,105,252,248,184,237,252,233,244,30,248,43, | 67 | 30,248,40,137,68,36,16,199,68,36,20,237,141,68,36,16,128,126,252,252,235, |
76 | 15,182,110,252,252,141,4,194,141,12,202,137,108,36,12,139,108,36,48,137,68, | 68 | 15,133,244,247,255,141,139,233,137,41,199,65,4,237,137,205,252,233,244,248, |
77 | 36,8,137,76,36,4,137,44,36,137,149,233,137,116,36,24,232,251,1,3,248,3,139, | 69 | 248,41,15,182,70,252,254,255,141,68,36,16,252,233,244,247,248,42,15,182,70, |
78 | 149,233,255,131,252,248,1,15,135,244,44,248,4,141,118,4,15,130,244,252,248, | 70 | 252,254,141,4,194,248,1,15,182,110,252,255,141,44,252,234,248,2,137,108,36, |
79 | 5,15,183,70,252,254,141,180,253,134,233,248,6,139,6,15,182,204,15,182,232, | 71 | 4,139,108,36,48,137,68,36,8,137,44,36,137,149,233,137,116,36,24,232,251,1, |
80 | 131,198,4,193,232,16,252,255,36,171,248,45,131,198,4,129,120,253,4,239,15, | 72 | 2,139,149,233,133,192,15,132,244,249,15,182,78,252,253,139,108,202,4,139, |
81 | 130,244,5,252,233,244,6,248,46,129,120,253,4,239,252,233,244,4,248,47,131, | 73 | 12,202,137,104,4,137,8,248,43,139,6,15,182,204,15,182,232,131,198,4,193,232, |
82 | 252,238,4,137,108,36,12,139,108,36,48,137,68,36,8,137,76,36,4,137,44,36,137, | 74 | 16,252,255,36,171,248,3,139,141,233,137,113,252,244,15,182,70,252,253,139, |
83 | 149,233,255,137,116,36,24,232,251,1,4,252,233,244,3,248,48,255,131,252,238, | 75 | 108,194,4,139,4,194,137,105,20,137,65,16,141,177,233,41,214,139,105,252,248, |
84 | 4,139,108,36,48,137,149,233,137,252,233,139,86,252,252,137,116,36,24,232, | 76 | 184,237,252,233,244,30,248,44,15,182,110,252,252,141,4,194,141,12,202,137, |
85 | 251,1,5,252,233,244,3,255,248,49,255,15,182,110,252,255,255,248,50,141,4, | 77 | 108,36,12,139,108,36,48,137,68,36,8,137,76,36,4,137,44,36,137,149,233,137, |
86 | 199,252,233,244,247,248,51,255,248,52,141,4,199,141,44,252,234,149,252,233, | 78 | 116,36,24,232,251,1,3,248,3,139,149,233,255,131,252,248,1,15,135,244,45,248, |
87 | 244,248,248,53,141,4,194,137,197,252,233,244,248,248,54,255,248,55,141,4, | 79 | 4,141,118,4,15,130,244,252,248,5,15,183,70,252,254,141,180,253,134,233,248, |
88 | 194,248,1,141,44,252,234,248,2,141,12,202,137,108,36,8,139,108,36,48,137, | 80 | 6,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,46, |
89 | 68,36,12,15,182,70,252,252,137,76,36,4,137,68,36,16,137,44,36,137,149,233, | 81 | 131,198,4,129,120,253,4,239,15,130,244,5,252,233,244,6,248,47,129,120,253, |
90 | 137,116,36,24,232,251,1,6,139,149,233,133,192,15,132,244,42,248,44,137,193, | 82 | 4,239,252,233,244,4,248,48,131,252,238,4,137,108,36,12,139,108,36,48,137, |
91 | 41,208,137,113,252,244,141,176,233,184,237,252,233,244,28,248,56,139,108, | 83 | 68,36,8,137,76,36,4,137,44,36,137,149,233,255,137,116,36,24,232,251,1,4,252, |
92 | 36,48,137,149,233,141,20,194,137,252,233,137,116,36,24,232,251,1,7,139,149, | 84 | 233,244,3,248,49,255,131,252,238,4,139,108,36,48,137,149,233,137,252,233, |
93 | 233,255,133,192,15,133,244,44,15,183,70,252,254,139,12,194,252,233,244,57, | 85 | 139,86,252,252,137,116,36,24,232,251,1,5,252,233,244,3,255,248,50,255,15, |
94 | 255,252,233,244,44,255,248,58,141,76,202,8,248,29,137,76,36,20,137,68,36, | 86 | 182,110,252,255,255,248,51,141,4,199,252,233,244,247,248,52,255,248,53,141, |
95 | 16,131,252,233,8,141,4,193,139,108,36,48,137,76,36,4,137,68,36,8,137,44,36, | 87 | 4,199,141,44,252,234,149,252,233,244,248,248,54,141,4,194,137,197,252,233, |
96 | 137,149,233,137,116,36,24,232,251,1,8,139,149,233,139,76,36,20,139,68,36, | 88 | 244,248,248,55,255,248,56,141,4,194,248,1,141,44,252,234,248,2,141,12,202, |
97 | 16,139,105,252,248,131,192,1,57,215,15,132,244,59,137,202,137,114,252,252, | 89 | 137,108,36,8,139,108,36,48,137,68,36,12,15,182,70,252,252,137,76,36,4,137, |
98 | 139,181,233,139,14,15,182,252,233,15,182,205,131,198,4,252,255,36,171,248, | 90 | 68,36,16,137,44,36,137,149,233,137,116,36,24,232,251,1,6,139,149,233,133, |
99 | 60,139,108,36,48,137,149,233,137,202,137,252,233,137,116,36,24,232,251,1, | 91 | 192,15,132,244,43,248,45,137,193,41,208,137,113,252,244,141,176,233,184,237, |
100 | 9,139,149,233,139,70,252,252,15,182,204,15,182,232,193,232,16,252,255,164, | 92 | 252,233,244,28,248,57,139,108,36,48,137,149,233,141,20,194,137,252,233,137, |
101 | 253,171,233,248,61,129,252,248,239,15,130,244,62,139,106,4,129,252,253,239, | 93 | 116,36,24,232,251,1,7,139,149,233,255,133,192,15,133,244,45,15,183,70,252, |
102 | 15,131,244,62,139,114,252,252,137,68,36,20,137,106,252,252,139,42,137,106, | 94 | 254,139,12,194,252,233,244,58,255,252,233,244,45,255,248,59,141,76,202,8, |
103 | 252,248,131,232,2,15,132,244,248,255,137,209,248,1,131,193,8,139,105,4,137, | 95 | 248,29,137,76,36,20,137,68,36,16,131,252,233,8,141,4,193,139,108,36,48,137, |
104 | 105,252,252,139,41,137,105,252,248,131,232,1,15,133,244,1,248,2,139,68,36, | 96 | 76,36,4,137,68,36,8,137,44,36,137,149,233,137,116,36,24,232,251,1,8,139,149, |
105 | 20,252,233,244,63,248,64,129,252,248,239,15,130,244,62,139,106,4,184,237, | 97 | 233,139,76,36,20,139,68,36,16,139,105,252,248,131,192,1,57,215,15,132,244, |
106 | 252,247,213,57,232,255,15,71,197,255,15,134,244,247,137,232,248,1,255,248, | 98 | 60,137,202,137,114,252,252,139,181,233,139,14,15,182,252,233,15,182,205,131, |
107 | 2,139,106,252,248,139,132,253,197,233,139,114,252,252,199,66,252,252,237, | 99 | 198,4,252,255,36,171,248,61,139,108,36,48,137,149,233,137,202,137,252,233, |
108 | 137,66,252,248,252,233,244,65,248,66,129,252,248,239,15,130,244,62,139,106, | 100 | 137,116,36,24,232,251,1,9,139,149,233,139,70,252,252,15,182,204,15,182,232, |
109 | 4,139,114,252,252,129,252,253,239,15,133,244,252,248,1,139,42,139,173,233, | 101 | 193,232,16,252,255,164,253,171,233,248,62,129,252,248,239,15,130,244,63,139, |
110 | 248,2,133,252,237,199,66,252,252,237,15,132,244,65,139,131,233,199,66,252, | 102 | 106,4,129,252,253,239,15,131,244,63,139,114,252,252,137,68,36,20,137,106, |
111 | 252,237,255,137,106,252,248,139,141,233,35,136,233,105,201,239,3,141,233, | 103 | 252,252,139,42,137,106,252,248,131,232,2,15,132,244,248,255,137,209,248,1, |
112 | 248,3,129,185,233,239,15,133,244,250,57,129,233,15,132,244,251,248,4,139, | 104 | 131,193,8,139,105,4,137,105,252,252,139,41,137,105,252,248,131,232,1,15,133, |
113 | 137,233,133,201,15,133,244,3,252,233,244,65,248,5,139,105,4,129,252,253,239, | 105 | 244,1,248,2,139,68,36,20,252,233,244,64,248,65,129,252,248,239,15,130,244, |
114 | 255,15,132,244,65,139,1,137,106,252,252,137,66,252,248,252,233,244,65,248, | 106 | 63,139,106,4,184,237,252,247,213,57,232,255,15,71,197,255,15,134,244,247, |
115 | 6,129,252,253,239,15,132,244,1,129,252,253,239,15,135,244,254,189,237,248, | 107 | 137,232,248,1,255,248,2,139,106,252,248,139,132,253,197,233,139,114,252,252, |
116 | 8,252,247,213,139,172,253,171,233,252,233,244,2,248,67,129,252,248,239,15, | 108 | 199,66,252,252,237,137,66,252,248,252,233,244,66,248,67,129,252,248,239,15, |
117 | 130,244,62,255,129,122,253,4,239,15,133,244,62,139,42,131,189,233,0,15,133, | 109 | 130,244,63,139,106,4,139,114,252,252,129,252,253,239,15,133,244,252,248,1, |
118 | 244,62,129,122,253,12,239,15,133,244,62,139,66,8,137,133,233,139,114,252, | 110 | 139,42,139,173,233,248,2,133,252,237,199,66,252,252,237,15,132,244,66,139, |
119 | 252,199,66,252,252,237,137,106,252,248,252,246,133,233,235,15,132,244,247, | 111 | 131,233,199,66,252,252,237,255,137,106,252,248,139,141,233,35,136,233,105, |
120 | 128,165,233,235,139,131,233,137,171,233,137,133,233,248,1,255,252,233,244, | 112 | 201,239,3,141,233,248,3,129,185,233,239,15,133,244,250,57,129,233,15,132, |
121 | 65,248,68,129,252,248,239,15,130,244,62,129,122,253,4,239,15,133,244,62,139, | 113 | 244,251,248,4,139,137,233,133,201,15,133,244,3,252,233,244,66,248,5,139,105, |
122 | 2,139,108,36,48,137,68,36,4,137,44,36,137,213,131,194,8,137,84,36,8,232,251, | 114 | 4,129,252,253,239,255,15,132,244,66,139,1,137,106,252,252,137,66,252,248, |
123 | 1,10,137,252,234,139,40,139,64,4,139,114,252,252,137,106,252,248,137,66,252, | 115 | 252,233,244,66,248,6,129,252,253,239,15,132,244,1,129,252,253,239,15,135, |
124 | 252,252,233,244,65,248,69,129,252,248,239,15,133,244,62,129,122,253,4,239, | 116 | 244,254,189,237,248,8,252,247,213,139,172,253,171,233,252,233,244,2,248,68, |
125 | 255,15,133,244,247,139,42,252,233,244,70,248,1,15,135,244,62,255,15,131,244, | 117 | 129,252,248,239,15,130,244,63,255,129,122,253,4,239,15,133,244,63,139,42, |
126 | 62,255,252,242,15,16,2,252,233,244,71,255,221,2,252,233,244,72,255,248,73, | 118 | 131,189,233,0,15,133,244,63,129,122,253,12,239,15,133,244,63,139,66,8,137, |
127 | 129,252,248,239,15,130,244,62,139,114,252,252,129,122,253,4,239,15,133,244, | 119 | 133,233,139,114,252,252,199,66,252,252,237,137,106,252,248,252,246,133,233, |
128 | 249,139,2,248,2,199,66,252,252,237,137,66,252,248,252,233,244,65,248,3,129, | 120 | 235,15,132,244,247,128,165,233,235,139,131,233,137,171,233,137,133,233,248, |
129 | 122,253,4,239,15,135,244,62,131,187,233,0,15,133,244,62,139,171,233,59,171, | 121 | 1,255,252,233,244,66,248,69,129,252,248,239,15,130,244,63,129,122,253,4,239, |
130 | 233,255,15,130,244,247,232,244,74,248,1,139,108,36,48,137,149,233,137,116, | 122 | 15,133,244,63,139,2,139,108,36,48,137,68,36,4,137,44,36,137,213,131,194,8, |
131 | 36,24,137,252,233,255,232,251,1,11,255,232,251,1,12,255,139,149,233,252,233, | 123 | 137,84,36,8,232,251,1,10,137,252,234,139,40,139,64,4,139,114,252,252,137, |
132 | 244,2,248,75,129,252,248,239,15,130,244,62,15,132,244,248,248,1,129,122,253, | 124 | 106,252,248,137,66,252,252,252,233,244,66,248,70,129,252,248,239,15,133,244, |
133 | 4,239,15,133,244,62,139,108,36,48,137,149,233,137,149,233,139,114,252,252, | 125 | 63,129,122,253,4,239,255,15,133,244,247,139,42,252,233,244,71,248,1,15,135, |
134 | 139,2,137,68,36,4,137,44,36,131,194,8,137,84,36,8,137,116,36,24,232,251,1, | 126 | 244,63,255,15,131,244,63,255,252,242,15,16,2,252,233,244,72,255,221,2,252, |
135 | 13,139,149,233,133,192,15,132,244,249,139,106,8,139,66,12,137,106,252,248, | 127 | 233,244,73,255,248,74,129,252,248,239,15,130,244,63,139,114,252,252,129,122, |
136 | 137,66,252,252,139,106,16,139,66,20,137,42,137,66,4,248,76,184,237,255,252, | 128 | 253,4,239,15,133,244,249,139,2,248,2,199,66,252,252,237,137,66,252,248,252, |
137 | 233,244,77,248,2,199,66,12,237,252,233,244,1,248,3,199,66,252,252,237,252, | 129 | 233,244,66,248,3,129,122,253,4,239,15,135,244,63,131,187,233,0,15,133,244, |
138 | 233,244,65,248,78,129,252,248,239,15,130,244,62,139,42,129,122,253,4,239, | 130 | 63,139,171,233,59,171,233,255,15,130,244,247,232,244,75,248,1,139,108,36, |
139 | 15,133,244,62,255,131,189,233,0,15,133,244,62,255,139,106,252,248,139,133, | 131 | 48,137,149,233,137,116,36,24,137,252,233,255,232,251,1,11,255,232,251,1,12, |
140 | 233,139,114,252,252,199,66,252,252,237,137,66,252,248,199,66,12,237,184,237, | 132 | 255,139,149,233,252,233,244,2,248,76,129,252,248,239,15,130,244,63,15,132, |
141 | 252,233,244,77,248,79,129,252,248,239,15,130,244,62,129,122,253,4,239,15, | 133 | 244,248,248,1,129,122,253,4,239,15,133,244,63,139,108,36,48,137,149,233,137, |
142 | 133,244,62,129,122,253,12,239,255,139,114,252,252,255,139,66,8,131,192,1, | 134 | 149,233,139,114,252,252,139,2,137,68,36,4,137,44,36,131,194,8,137,84,36,8, |
143 | 199,66,252,252,237,137,66,252,248,255,252,242,15,16,66,8,189,0,0,252,240, | 135 | 137,116,36,24,232,251,1,13,139,149,233,133,192,15,132,244,249,139,106,8,139, |
144 | 63,102,15,110,205,102,15,112,201,81,252,242,15,88,193,252,242,15,45,192,252, | 136 | 66,12,137,106,252,248,137,66,252,252,139,106,16,139,66,20,137,42,137,66,4, |
145 | 242,15,17,66,252,248,255,221,66,8,217,232,222,193,219,20,36,221,90,252,248, | 137 | 248,77,184,237,255,252,233,244,78,248,2,199,66,12,237,252,233,244,1,248,3, |
146 | 139,4,36,255,139,42,59,133,233,15,131,244,248,193,224,3,3,133,233,248,1,129, | 138 | 199,66,252,252,237,252,233,244,66,248,79,129,252,248,239,15,130,244,63,139, |
147 | 120,253,4,239,15,132,244,80,139,40,139,64,4,137,42,137,66,4,252,233,244,76, | 139 | 42,129,122,253,4,239,15,133,244,63,255,131,189,233,0,15,133,244,63,255,139, |
148 | 248,2,131,189,233,0,15,132,244,80,137,252,233,137,213,137,194,232,251,1,14, | 140 | 106,252,248,139,133,233,139,114,252,252,199,66,252,252,237,137,66,252,248, |
149 | 137,252,234,133,192,15,133,244,1,248,80,184,237,252,233,244,77,248,81,255, | 141 | 199,66,12,237,184,237,252,233,244,78,248,80,129,252,248,239,15,130,244,63, |
150 | 139,106,252,248,139,133,233,139,114,252,252,199,66,252,252,237,137,66,252, | 142 | 129,122,253,4,239,15,133,244,63,129,122,253,12,239,255,139,114,252,252,255, |
151 | 248,255,199,66,12,237,199,66,8,0,0,0,0,255,15,87,192,252,242,15,17,66,8,255, | 143 | 139,66,8,131,192,1,199,66,252,252,237,137,66,252,248,255,252,242,15,16,66, |
152 | 217,252,238,221,90,8,255,184,237,252,233,244,77,248,82,129,252,248,239,15, | 144 | 8,189,0,0,252,240,63,102,15,110,205,102,15,112,201,81,252,242,15,88,193,252, |
153 | 130,244,62,141,74,8,131,232,1,190,237,248,1,15,182,171,233,193,252,237,235, | 145 | 242,15,45,192,252,242,15,17,66,252,248,255,221,66,8,217,232,222,193,219,20, |
154 | 131,229,1,1,252,238,252,233,244,28,248,83,129,252,248,239,15,130,244,62,129, | 146 | 36,221,90,252,248,139,4,36,255,139,42,59,133,233,15,131,244,248,193,224,3, |
155 | 122,253,12,239,15,133,244,62,255,139,106,4,137,106,12,199,66,4,237,139,42, | 147 | 3,133,233,248,1,129,120,253,4,239,15,132,244,81,139,40,139,64,4,137,42,137, |
156 | 139,114,8,137,106,8,137,50,141,74,16,131,232,2,190,237,252,233,244,1,248, | 148 | 66,4,252,233,244,77,248,2,131,189,233,0,15,132,244,81,137,252,233,137,213, |
157 | 84,129,252,248,239,15,130,244,62,139,42,139,114,252,252,137,116,36,24,137, | 149 | 137,194,232,251,1,14,137,252,234,133,192,15,133,244,1,248,81,184,237,252, |
158 | 44,36,129,122,253,4,239,15,133,244,62,131,189,233,0,15,133,244,62,128,189, | 150 | 233,244,78,248,82,255,139,106,252,248,139,133,233,139,114,252,252,199,66, |
159 | 233,235,15,135,244,62,139,141,233,15,132,244,247,255,59,141,233,15,132,244, | 151 | 252,252,237,137,66,252,248,255,199,66,12,237,199,66,8,0,0,0,0,255,15,87,192, |
160 | 62,248,1,141,116,193,252,240,59,181,233,15,135,244,62,137,181,233,139,108, | 152 | 252,242,15,17,66,8,255,217,252,238,221,90,8,255,184,237,252,233,244,78,248, |
161 | 36,48,137,149,233,131,194,8,137,149,233,141,108,194,232,41,252,245,57,206, | 153 | 83,129,252,248,239,15,130,244,63,141,74,8,131,232,1,190,237,248,1,15,182, |
162 | 15,132,244,249,248,2,139,68,46,4,137,70,252,252,139,4,46,137,70,252,248,131, | 154 | 171,233,193,252,237,235,131,229,1,1,252,238,252,233,244,28,248,84,129,252, |
163 | 252,238,8,57,206,15,133,244,2,248,3,137,76,36,4,49,201,137,76,36,12,137,76, | 155 | 248,239,15,130,244,63,129,122,253,12,239,15,133,244,63,255,139,106,4,137, |
164 | 36,8,232,244,25,199,131,233,237,255,139,108,36,48,139,52,36,139,149,233,129, | 156 | 106,12,199,66,4,237,139,42,139,114,8,137,106,8,137,50,141,74,16,131,232,2, |
165 | 252,248,239,15,135,244,254,248,4,139,142,233,139,190,233,137,142,233,137, | 157 | 190,237,252,233,244,1,248,85,129,252,248,239,15,130,244,63,139,42,139,114, |
166 | 252,254,41,206,15,132,244,252,141,4,50,193,252,238,3,59,133,233,15,135,244, | 158 | 252,252,137,116,36,24,137,44,36,129,122,253,4,239,15,133,244,63,131,189,233, |
167 | 255,137,213,41,205,248,5,139,1,137,4,41,139,65,4,137,68,41,4,131,193,8,57, | 159 | 0,15,133,244,63,128,189,233,235,15,135,244,63,139,141,233,15,132,244,247, |
168 | 252,249,15,133,244,5,248,6,141,70,2,199,66,252,252,237,248,7,139,116,36,24, | 160 | 255,59,141,233,15,132,244,63,248,1,141,116,193,252,240,59,181,233,15,135, |
169 | 137,68,36,20,185,252,248,252,255,252,255,252,255,252,247,198,237,255,15,132, | 161 | 244,63,137,181,233,139,108,36,48,137,149,233,131,194,8,137,149,233,141,108, |
170 | 244,13,252,233,244,14,248,8,199,66,252,252,237,139,142,233,131,252,233,8, | 162 | 194,232,41,252,245,57,206,15,132,244,249,248,2,139,68,46,4,137,70,252,252, |
171 | 137,142,233,139,1,137,2,139,65,4,137,66,4,184,237,252,233,244,7,248,9,139, | 163 | 139,4,46,137,70,252,248,131,252,238,8,57,206,15,133,244,2,248,3,137,76,36, |
172 | 12,36,137,185,233,137,252,242,137,252,233,232,251,1,0,139,52,36,139,149,233, | 164 | 4,49,201,137,76,36,12,137,76,36,8,232,244,25,199,131,233,237,255,139,108, |
173 | 252,233,244,4,248,85,139,106,252,248,139,173,233,139,114,252,252,137,116, | 165 | 36,48,139,52,36,139,149,233,129,252,248,239,15,135,244,254,248,4,139,142, |
174 | 36,24,137,44,36,131,189,233,0,15,133,244,62,255,128,189,233,235,15,135,244, | 166 | 233,139,190,233,137,142,233,137,252,254,41,206,15,132,244,252,141,4,50,193, |
175 | 62,139,141,233,15,132,244,247,59,141,233,15,132,244,62,248,1,141,116,193, | 167 | 252,238,3,59,133,233,15,135,244,255,137,213,41,205,248,5,139,1,137,4,41,139, |
176 | 252,248,59,181,233,15,135,244,62,137,181,233,139,108,36,48,137,149,233,137, | 168 | 65,4,137,68,41,4,131,193,8,57,252,249,15,133,244,5,248,6,141,70,2,199,66, |
177 | 149,233,141,108,194,252,240,41,252,245,57,206,15,132,244,249,248,2,255,139, | 169 | 252,252,237,248,7,139,116,36,24,137,68,36,20,185,252,248,252,255,252,255, |
178 | 68,46,4,137,70,252,252,139,4,46,137,70,252,248,131,252,238,8,57,206,15,133, | 170 | 252,255,252,247,198,237,255,15,132,244,13,252,233,244,14,248,8,199,66,252, |
179 | 244,2,248,3,137,76,36,4,49,201,137,76,36,12,137,76,36,8,232,244,25,199,131, | 171 | 252,237,139,142,233,131,252,233,8,137,142,233,139,1,137,2,139,65,4,137,66, |
180 | 233,237,139,108,36,48,139,52,36,139,149,233,129,252,248,239,15,135,244,254, | 172 | 4,184,237,252,233,244,7,248,9,139,12,36,137,185,233,137,252,242,137,252,233, |
181 | 248,4,139,142,233,139,190,233,137,142,233,137,252,254,41,206,15,132,244,252, | 173 | 232,251,1,0,139,52,36,139,149,233,252,233,244,4,248,86,139,106,252,248,139, |
182 | 141,4,50,193,252,238,3,59,133,233,15,135,244,255,255,137,213,41,205,248,5, | 174 | 173,233,139,114,252,252,137,116,36,24,137,44,36,131,189,233,0,15,133,244, |
183 | 139,1,137,4,41,139,65,4,137,68,41,4,131,193,8,57,252,249,15,133,244,5,248, | 175 | 63,255,128,189,233,235,15,135,244,63,139,141,233,15,132,244,247,59,141,233, |
184 | 6,141,70,1,248,7,139,116,36,24,137,68,36,20,49,201,252,247,198,237,15,132, | 176 | 15,132,244,63,248,1,141,116,193,252,248,59,181,233,15,135,244,63,137,181, |
185 | 244,13,252,233,244,14,248,8,137,252,242,137,252,233,232,251,1,15,248,9,139, | 177 | 233,139,108,36,48,137,149,233,137,149,233,141,108,194,252,240,41,252,245, |
186 | 12,36,137,185,233,137,252,242,137,252,233,232,251,1,0,139,52,36,139,149,233, | 178 | 57,206,15,132,244,249,248,2,255,139,68,46,4,137,70,252,252,139,4,46,137,70, |
187 | 252,233,244,4,248,86,139,108,36,48,252,247,133,233,237,15,132,244,62,255, | 179 | 252,248,131,252,238,8,57,206,15,133,244,2,248,3,137,76,36,4,49,201,137,76, |
188 | 137,149,233,141,68,194,252,248,137,133,233,49,192,137,133,233,176,235,136, | 180 | 36,12,137,76,36,8,232,244,25,199,131,233,237,139,108,36,48,139,52,36,139, |
189 | 133,233,252,233,244,16,255,248,70,255,248,72,139,114,252,252,221,90,252,248, | 181 | 149,233,129,252,248,239,15,135,244,254,248,4,139,142,233,139,190,233,137, |
190 | 252,233,244,65,255,248,87,129,252,248,239,15,130,244,62,255,129,122,253,4, | 182 | 142,233,137,252,254,41,206,15,132,244,252,141,4,50,193,252,238,3,59,133,233, |
191 | 239,15,133,244,248,139,42,131,252,253,0,15,137,244,70,252,247,221,15,136, | 183 | 15,135,244,255,255,137,213,41,205,248,5,139,1,137,4,41,139,65,4,137,68,41, |
192 | 244,247,248,88,248,70,139,114,252,252,199,66,252,252,237,137,106,252,248, | 184 | 4,131,193,8,57,252,249,15,133,244,5,248,6,141,70,1,248,7,139,116,36,24,137, |
193 | 252,233,244,65,248,1,139,114,252,252,199,66,252,252,0,0,224,65,199,66,252, | 185 | 68,36,20,49,201,252,247,198,237,15,132,244,13,252,233,244,14,248,8,137,252, |
194 | 248,0,0,0,0,252,233,244,65,248,2,15,135,244,62,255,129,122,253,4,239,15,131, | 186 | 242,137,252,233,232,251,1,15,248,9,139,12,36,137,185,233,137,252,242,137, |
195 | 244,62,255,252,242,15,16,2,102,15,252,239,201,102,15,118,201,102,15,115,209, | 187 | 252,233,232,251,1,0,139,52,36,139,149,233,252,233,244,4,248,87,139,108,36, |
196 | 1,15,84,193,248,71,139,114,252,252,252,242,15,17,66,252,248,255,221,2,217, | 188 | 48,252,247,133,233,237,15,132,244,63,255,137,149,233,141,68,194,252,248,137, |
197 | 225,248,71,248,72,139,114,252,252,221,90,252,248,255,248,65,184,237,248,77, | 189 | 133,233,49,192,137,133,233,176,235,136,133,233,252,233,244,16,255,248,71, |
198 | 137,68,36,20,248,63,252,247,198,237,15,133,244,253,248,5,56,70,252,255,15, | 190 | 255,248,73,139,114,252,252,221,90,252,248,252,233,244,66,255,248,88,129,252, |
199 | 135,244,252,15,182,78,252,253,252,247,209,141,20,202,139,6,15,182,204,15, | 191 | 248,239,15,130,244,63,255,129,122,253,4,239,15,133,244,248,139,42,131,252, |
200 | 182,232,131,198,4,193,232,16,252,255,36,171,248,6,199,68,194,252,244,237, | 192 | 253,0,15,137,244,71,252,247,221,15,136,244,247,248,89,248,71,139,114,252, |
201 | 131,192,1,252,233,244,5,248,7,185,252,248,252,255,252,255,252,255,252,233, | 193 | 252,199,66,252,252,237,137,106,252,248,252,233,244,66,248,1,139,114,252,252, |
202 | 244,14,248,89,255,129,122,253,4,239,15,133,244,247,139,42,252,233,244,70, | 194 | 199,66,252,252,0,0,224,65,199,66,252,248,0,0,0,0,252,233,244,66,248,2,15, |
203 | 248,1,15,135,244,62,255,252,242,15,16,2,232,244,90,255,252,242,15,45,232, | 195 | 135,244,63,255,129,122,253,4,239,15,131,244,63,255,252,242,15,16,2,102,15, |
204 | 129,252,253,0,0,0,128,15,133,244,70,252,242,15,42,205,102,15,46,193,15,138, | 196 | 252,239,201,102,15,118,201,102,15,115,209,1,15,84,193,248,72,139,114,252, |
205 | 244,71,15,132,244,70,255,221,2,232,244,90,255,219,20,36,139,44,36,129,252, | 197 | 252,252,242,15,17,66,252,248,255,221,2,217,225,248,72,248,73,139,114,252, |
206 | 253,0,0,0,128,15,133,244,248,217,192,219,4,36,255,223,252,233,221,216,255, | 198 | 252,221,90,252,248,255,248,66,184,237,248,78,137,68,36,20,248,64,252,247, |
207 | 218,252,233,223,224,158,255,15,138,244,72,15,133,244,72,248,2,221,216,252, | 199 | 198,237,15,133,244,253,248,5,56,70,252,255,15,135,244,252,15,182,78,252,253, |
208 | 233,244,70,255,248,91,255,252,242,15,16,2,232,244,92,255,221,2,232,244,92, | 200 | 252,247,209,141,20,202,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252, |
209 | 255,248,93,129,252,248,239,15,130,244,62,129,122,253,4,239,15,131,244,62, | 201 | 255,36,171,248,6,199,68,194,252,244,237,131,192,1,252,233,244,5,248,7,185, |
210 | 252,242,15,81,2,252,233,244,71,255,248,93,129,252,248,239,15,130,244,62,129, | 202 | 252,248,252,255,252,255,252,255,252,233,244,14,248,90,255,129,122,253,4,239, |
211 | 122,253,4,239,15,131,244,62,221,2,217,252,250,252,233,244,72,255,248,94,129, | 203 | 15,133,244,247,139,42,252,233,244,71,248,1,15,135,244,63,255,252,242,15,16, |
212 | 252,248,239,15,130,244,62,129,122,253,4,239,15,131,244,62,217,252,237,221, | 204 | 2,232,244,91,255,252,242,15,45,232,129,252,253,0,0,0,128,15,133,244,71,252, |
213 | 2,217,252,241,252,233,244,72,248,95,129,252,248,239,15,130,244,62,129,122, | 205 | 242,15,42,205,102,15,46,193,15,138,244,72,15,132,244,71,255,221,2,232,244, |
214 | 253,4,239,15,131,244,62,217,252,236,221,2,217,252,241,252,233,244,72,248, | 206 | 91,255,219,20,36,139,44,36,129,252,253,0,0,0,128,15,133,244,248,217,192,219, |
215 | 96,129,252,248,239,255,15,130,244,62,129,122,253,4,239,15,131,244,62,221, | 207 | 4,36,255,223,252,233,221,216,255,218,252,233,223,224,158,255,15,138,244,73, |
216 | 2,232,244,97,252,233,244,72,248,98,129,252,248,239,15,130,244,62,129,122, | 208 | 15,133,244,73,248,2,221,216,252,233,244,71,255,248,92,255,252,242,15,16,2, |
217 | 253,4,239,15,131,244,62,221,2,217,252,254,252,233,244,72,248,99,129,252,248, | 209 | 232,244,93,255,221,2,232,244,93,255,248,94,129,252,248,239,15,130,244,63, |
218 | 239,255,15,130,244,62,129,122,253,4,239,15,131,244,62,221,2,217,252,255,252, | 210 | 129,122,253,4,239,15,131,244,63,252,242,15,81,2,252,233,244,72,255,248,94, |
219 | 233,244,72,248,100,129,252,248,239,15,130,244,62,129,122,253,4,239,15,131, | 211 | 129,252,248,239,15,130,244,63,129,122,253,4,239,15,131,244,63,221,2,217,252, |
220 | 244,62,221,2,217,252,242,221,216,252,233,244,72,248,101,129,252,248,239,15, | 212 | 250,252,233,244,73,255,248,95,129,252,248,239,15,130,244,63,129,122,253,4, |
221 | 130,244,62,255,129,122,253,4,239,15,131,244,62,221,2,217,192,216,200,217, | 213 | 239,15,131,244,63,217,252,237,221,2,217,252,241,252,233,244,73,248,96,129, |
222 | 232,222,225,217,252,250,217,252,243,252,233,244,72,248,102,129,252,248,239, | 214 | 252,248,239,15,130,244,63,129,122,253,4,239,15,131,244,63,217,252,236,221, |
223 | 15,130,244,62,129,122,253,4,239,15,131,244,62,221,2,217,192,216,200,217,232, | 215 | 2,217,252,241,252,233,244,73,248,97,129,252,248,239,255,15,130,244,63,129, |
224 | 222,225,217,252,250,217,201,217,252,243,252,233,244,72,248,103,129,252,248, | 216 | 122,253,4,239,15,131,244,63,221,2,232,244,98,252,233,244,73,248,99,129,252, |
225 | 239,15,130,244,62,129,122,253,4,239,15,131,244,62,255,221,2,217,232,217,252, | 217 | 248,239,15,130,244,63,129,122,253,4,239,15,131,244,63,221,2,217,252,254,252, |
226 | 243,252,233,244,72,255,248,104,129,252,248,239,15,130,244,62,129,122,253, | 218 | 233,244,73,248,100,129,252,248,239,255,15,130,244,63,129,122,253,4,239,15, |
227 | 4,239,15,131,244,62,252,242,15,16,2,252,242,15,17,4,36,255,248,104,129,252, | 219 | 131,244,63,221,2,217,252,255,252,233,244,73,248,101,129,252,248,239,15,130, |
228 | 248,239,15,130,244,62,129,122,253,4,239,15,131,244,62,221,2,221,28,36,255, | 220 | 244,63,129,122,253,4,239,15,131,244,63,221,2,217,252,242,221,216,252,233, |
229 | 137,213,232,251,1,16,137,252,234,252,233,244,72,255,248,105,129,252,248,239, | 221 | 244,73,248,102,129,252,248,239,15,130,244,63,255,129,122,253,4,239,15,131, |
230 | 15,130,244,62,129,122,253,4,239,15,131,244,62,252,242,15,16,2,252,242,15, | 222 | 244,63,221,2,217,192,216,200,217,232,222,225,217,252,250,217,252,243,252, |
231 | 17,4,36,255,248,105,129,252,248,239,15,130,244,62,129,122,253,4,239,15,131, | 223 | 233,244,73,248,103,129,252,248,239,15,130,244,63,129,122,253,4,239,15,131, |
232 | 244,62,221,2,221,28,36,255,137,213,232,251,1,17,137,252,234,252,233,244,72, | 224 | 244,63,221,2,217,192,216,200,217,232,222,225,217,252,250,217,201,217,252, |
233 | 255,248,106,129,252,248,239,15,130,244,62,129,122,253,4,239,15,131,244,62, | 225 | 243,252,233,244,73,248,104,129,252,248,239,15,130,244,63,129,122,253,4,239, |
234 | 252,242,15,16,2,252,242,15,17,4,36,255,248,106,129,252,248,239,15,130,244, | 226 | 15,131,244,63,255,221,2,217,232,217,252,243,252,233,244,73,255,248,105,129, |
235 | 62,129,122,253,4,239,15,131,244,62,221,2,221,28,36,255,137,213,232,251,1, | 227 | 252,248,239,15,130,244,63,129,122,253,4,239,15,131,244,63,252,242,15,16,2, |
236 | 18,137,252,234,252,233,244,72,248,107,255,248,108,129,252,248,239,15,130, | 228 | 252,242,15,17,4,36,255,248,105,129,252,248,239,15,130,244,63,129,122,253, |
237 | 244,62,129,122,253,4,239,15,131,244,62,252,242,15,16,2,139,106,252,248,252, | 229 | 4,239,15,131,244,63,221,2,221,28,36,255,137,213,232,251,1,16,137,252,234, |
238 | 242,15,89,133,233,252,233,244,71,255,248,108,129,252,248,239,15,130,244,62, | 230 | 252,233,244,73,255,248,106,129,252,248,239,15,130,244,63,129,122,253,4,239, |
239 | 129,122,253,4,239,15,131,244,62,221,2,139,106,252,248,220,141,233,252,233, | 231 | 15,131,244,63,252,242,15,16,2,252,242,15,17,4,36,255,248,106,129,252,248, |
240 | 244,72,255,248,109,129,252,248,239,15,130,244,62,129,122,253,4,239,15,131, | 232 | 239,15,130,244,63,129,122,253,4,239,15,131,244,63,221,2,221,28,36,255,137, |
241 | 244,62,129,122,253,12,239,15,131,244,62,221,2,221,66,8,217,252,243,252,233, | 233 | 213,232,251,1,17,137,252,234,252,233,244,73,255,248,107,129,252,248,239,15, |
242 | 244,72,248,110,129,252,248,239,15,130,244,62,129,122,253,4,239,15,131,244, | 234 | 130,244,63,129,122,253,4,239,15,131,244,63,252,242,15,16,2,252,242,15,17, |
243 | 62,129,122,253,12,239,255,15,131,244,62,221,66,8,221,2,217,252,253,221,217, | 235 | 4,36,255,248,107,129,252,248,239,15,130,244,63,129,122,253,4,239,15,131,244, |
244 | 252,233,244,72,248,111,129,252,248,239,15,130,244,62,139,106,4,129,252,253, | 236 | 63,221,2,221,28,36,255,137,213,232,251,1,18,137,252,234,252,233,244,73,248, |
245 | 239,15,131,244,62,139,114,252,252,139,2,137,106,252,252,137,66,252,248,209, | 237 | 108,255,248,109,129,252,248,239,15,130,244,63,129,122,253,4,239,15,131,244, |
246 | 229,129,252,253,0,0,224,252,255,15,131,244,249,9,232,15,132,244,249,184,252, | 238 | 63,252,242,15,16,2,139,106,252,248,252,242,15,89,133,233,252,233,244,72,255, |
247 | 254,3,0,0,129,252,253,0,0,32,0,15,130,244,250,248,1,193,252,237,21,41,197, | 239 | 248,109,129,252,248,239,15,130,244,63,129,122,253,4,239,15,131,244,63,221, |
248 | 255,252,242,15,42,197,255,137,108,36,16,219,68,36,16,255,139,106,252,252, | 240 | 2,139,106,252,248,220,141,233,252,233,244,73,255,248,110,129,252,248,239, |
249 | 129,229,252,255,252,255,15,128,129,205,0,0,224,63,137,106,252,252,248,2,255, | 241 | 15,130,244,63,129,122,253,4,239,15,131,244,63,129,122,253,12,239,15,131,244, |
250 | 252,242,15,17,2,255,221,26,255,184,237,252,233,244,77,248,3,255,15,87,192, | 242 | 63,221,2,221,66,8,217,252,243,252,233,244,73,248,111,129,252,248,239,15,130, |
251 | 252,233,244,2,255,217,252,238,252,233,244,2,255,248,4,255,252,242,15,16,2, | 243 | 244,63,129,122,253,4,239,15,131,244,63,129,122,253,12,239,255,15,131,244, |
252 | 189,0,0,80,67,102,15,110,205,102,15,112,201,81,252,242,15,89,193,252,242, | 244 | 63,221,66,8,221,2,217,252,253,221,217,252,233,244,73,248,112,129,252,248, |
253 | 15,17,66,252,248,255,221,2,199,68,36,16,0,0,128,90,216,76,36,16,221,90,252, | 245 | 239,15,130,244,63,139,106,4,129,252,253,239,15,131,244,63,139,114,252,252, |
254 | 248,255,139,106,252,252,184,52,4,0,0,209,229,252,233,244,1,255,248,112,129, | 246 | 139,2,137,106,252,252,137,66,252,248,209,229,129,252,253,0,0,224,252,255, |
255 | 252,248,239,15,130,244,62,129,122,253,4,239,15,131,244,62,252,242,15,16,2, | 247 | 15,131,244,249,9,232,15,132,244,249,184,252,254,3,0,0,129,252,253,0,0,32, |
256 | 255,248,112,129,252,248,239,15,130,244,62,129,122,253,4,239,15,131,244,62, | 248 | 0,15,130,244,250,248,1,193,252,237,21,41,197,255,252,242,15,42,197,255,137, |
257 | 221,2,255,139,106,4,139,114,252,252,209,229,129,252,253,0,0,224,252,255,15, | 249 | 108,36,16,219,68,36,16,255,139,106,252,252,129,229,252,255,252,255,15,128, |
258 | 132,244,250,255,15,40,224,232,244,113,252,242,15,92,224,248,1,252,242,15, | 250 | 129,205,0,0,224,63,137,106,252,252,248,2,255,252,242,15,17,2,255,221,26,255, |
259 | 17,66,252,248,252,242,15,17,34,255,217,192,232,244,113,220,252,233,248,1, | 251 | 184,237,252,233,244,78,248,3,255,15,87,192,252,233,244,2,255,217,252,238, |
260 | 221,90,252,248,221,26,255,139,66,252,252,139,106,4,49,232,15,136,244,249, | 252 | 252,233,244,2,255,248,4,255,252,242,15,16,2,189,0,0,80,67,102,15,110,205, |
261 | 248,2,184,237,252,233,244,77,248,3,129,252,245,0,0,0,128,137,106,4,252,233, | 253 | 102,15,112,201,81,252,242,15,89,193,252,242,15,17,66,252,248,255,221,2,199, |
262 | 244,2,248,4,255,15,87,228,252,233,244,1,255,217,252,238,217,201,252,233,244, | 254 | 68,36,16,0,0,128,90,216,76,36,16,221,90,252,248,255,139,106,252,252,184,52, |
263 | 1,255,248,114,129,252,248,239,15,130,244,62,129,122,253,4,239,15,131,244, | 255 | 4,0,0,209,229,252,233,244,1,255,248,113,129,252,248,239,15,130,244,63,129, |
264 | 62,129,122,253,12,239,15,131,244,62,221,66,8,221,2,248,1,217,252,248,223, | 256 | 122,253,4,239,15,131,244,63,252,242,15,16,2,255,248,113,129,252,248,239,15, |
265 | 224,158,15,138,244,1,221,217,252,233,244,72,255,248,115,129,252,248,239,15, | 257 | 130,244,63,129,122,253,4,239,15,131,244,63,221,2,255,139,106,4,139,114,252, |
266 | 130,244,62,129,122,253,4,239,15,131,244,62,129,122,253,12,239,15,131,244, | 258 | 252,209,229,129,252,253,0,0,224,252,255,15,132,244,250,255,15,40,224,232, |
267 | 62,252,242,15,16,2,252,242,15,16,74,8,232,244,116,252,233,244,71,255,248, | 259 | 244,114,252,242,15,92,224,248,1,252,242,15,17,66,252,248,252,242,15,17,34, |
268 | 115,129,252,248,239,15,130,244,62,129,122,253,4,239,15,131,244,62,129,122, | 260 | 255,217,192,232,244,114,220,252,233,248,1,221,90,252,248,221,26,255,139,66, |
269 | 253,12,239,15,131,244,62,221,2,221,66,8,232,244,116,252,233,244,72,255,248, | 261 | 252,252,139,106,4,49,232,15,136,244,249,248,2,184,237,252,233,244,78,248, |
270 | 117,185,2,0,0,0,129,122,253,4,239,255,15,133,244,250,139,42,248,1,57,193, | 262 | 3,129,252,245,0,0,0,128,137,106,4,252,233,244,2,248,4,255,15,87,228,252,233, |
271 | 15,131,244,70,129,124,253,202,252,252,239,15,133,244,249,59,108,202,252,248, | 263 | 244,1,255,217,252,238,217,201,252,233,244,1,255,248,115,129,252,248,239,15, |
272 | 15,79,108,202,252,248,131,193,1,252,233,244,1,248,3,15,135,244,62,255,252, | 264 | 130,244,63,129,122,253,4,239,15,131,244,63,129,122,253,12,239,15,131,244, |
273 | 233,244,252,248,4,15,135,244,62,255,252,242,15,16,2,248,5,57,193,15,131,244, | 265 | 63,221,66,8,221,2,248,1,217,252,248,223,224,158,15,138,244,1,221,217,252, |
274 | 71,129,124,253,202,252,252,239,255,15,130,244,252,15,135,244,62,252,242,15, | 266 | 233,244,73,255,248,116,129,252,248,239,15,130,244,63,129,122,253,4,239,15, |
275 | 42,76,202,252,248,252,233,244,253,255,248,6,252,242,15,16,76,202,252,248, | 267 | 131,244,63,129,122,253,12,239,15,131,244,63,252,242,15,16,2,252,242,15,16, |
276 | 248,7,252,242,15,93,193,131,193,1,252,233,244,5,255,221,2,248,5,57,193,15, | 268 | 74,8,232,244,117,252,233,244,72,255,248,116,129,252,248,239,15,130,244,63, |
277 | 131,244,72,129,124,253,202,252,252,239,255,15,130,244,252,15,135,244,255, | 269 | 129,122,253,4,239,15,131,244,63,129,122,253,12,239,15,131,244,63,221,2,221, |
278 | 219,68,202,252,248,252,233,244,253,255,15,131,244,255,255,248,6,221,68,202, | 270 | 66,8,232,244,117,252,233,244,73,255,248,118,185,2,0,0,0,129,122,253,4,239, |
279 | 252,248,248,7,255,219,252,233,219,209,221,217,255,80,221,225,223,224,252, | 271 | 255,15,133,244,250,139,42,248,1,57,193,15,131,244,71,129,124,253,202,252, |
280 | 246,196,1,15,132,244,248,217,201,248,2,221,216,88,255,248,118,185,2,0,0,0, | 272 | 252,239,15,133,244,249,59,108,202,252,248,15,79,108,202,252,248,131,193,1, |
281 | 129,122,253,4,239,255,15,133,244,250,139,42,248,1,57,193,15,131,244,70,129, | 273 | 252,233,244,1,248,3,15,135,244,63,255,252,233,244,252,248,4,15,135,244,63, |
282 | 124,253,202,252,252,239,15,133,244,249,59,108,202,252,248,15,76,108,202,252, | 274 | 255,252,242,15,16,2,248,5,57,193,15,131,244,72,129,124,253,202,252,252,239, |
283 | 248,131,193,1,252,233,244,1,248,3,15,135,244,62,255,248,6,252,242,15,16,76, | 275 | 255,15,130,244,252,15,135,244,63,252,242,15,42,76,202,252,248,252,233,244, |
284 | 202,252,248,248,7,252,242,15,95,193,131,193,1,252,233,244,5,255,219,252,233, | 276 | 253,255,248,6,252,242,15,16,76,202,252,248,248,7,252,242,15,93,193,131,193, |
285 | 218,209,221,217,255,80,221,225,223,224,252,246,196,1,15,133,244,248,217,201, | 277 | 1,252,233,244,5,255,221,2,248,5,57,193,15,131,244,73,129,124,253,202,252, |
286 | 248,2,221,216,88,255,248,9,221,216,252,233,244,62,255,248,119,129,252,248, | 278 | 252,239,255,15,130,244,252,15,135,244,255,219,68,202,252,248,252,233,244, |
287 | 239,15,130,244,62,129,122,253,4,239,15,133,244,62,139,42,255,139,173,233, | 279 | 253,255,15,131,244,255,255,248,6,221,68,202,252,248,248,7,255,219,252,233, |
288 | 252,233,244,70,255,252,242,15,42,133,233,252,233,244,71,255,219,133,233,252, | 280 | 219,209,221,217,255,80,221,225,223,224,252,246,196,1,15,132,244,248,217,201, |
289 | 233,244,72,255,248,120,129,252,248,239,15,133,244,62,129,122,253,4,239,15, | 281 | 248,2,221,216,88,255,248,119,185,2,0,0,0,129,122,253,4,239,255,15,133,244, |
290 | 133,244,62,139,42,139,114,252,252,131,189,233,1,15,130,244,80,15,182,173, | 282 | 250,139,42,248,1,57,193,15,131,244,71,129,124,253,202,252,252,239,15,133, |
291 | 233,255,252,242,15,42,197,252,233,244,71,255,137,108,36,16,219,68,36,16,252, | 283 | 244,249,59,108,202,252,248,15,76,108,202,252,248,131,193,1,252,233,244,1, |
292 | 233,244,72,255,248,121,139,171,233,59,171,233,15,130,244,247,232,244,74,248, | 284 | 248,3,15,135,244,63,255,248,6,252,242,15,16,76,202,252,248,248,7,252,242, |
293 | 1,129,252,248,239,15,133,244,62,129,122,253,4,239,255,15,133,244,62,139,42, | 285 | 15,95,193,131,193,1,252,233,244,5,255,219,252,233,218,209,221,217,255,80, |
294 | 129,252,253,252,255,0,0,0,15,135,244,62,137,108,36,20,255,15,131,244,62,252, | 286 | 221,225,223,224,252,246,196,1,15,133,244,248,217,201,248,2,221,216,88,255, |
295 | 242,15,44,42,129,252,253,252,255,0,0,0,15,135,244,62,137,108,36,20,255,15, | 287 | 248,9,221,216,252,233,244,63,255,248,120,129,252,248,239,15,130,244,63,129, |
296 | 131,244,62,221,2,219,92,36,20,129,124,36,20,252,255,0,0,0,15,135,244,62,255, | 288 | 122,253,4,239,15,133,244,63,139,42,255,139,173,233,252,233,244,71,255,252, |
297 | 199,68,36,8,1,0,0,0,141,68,36,20,248,122,139,108,36,48,137,149,233,137,68, | 289 | 242,15,42,133,233,252,233,244,72,255,219,133,233,252,233,244,73,255,248,121, |
298 | 36,4,137,44,36,137,116,36,24,232,251,1,19,139,149,233,139,114,252,252,199, | 290 | 129,252,248,239,15,133,244,63,129,122,253,4,239,15,133,244,63,139,42,139, |
299 | 66,252,252,237,137,66,252,248,252,233,244,65,248,123,139,171,233,59,171,233, | 291 | 114,252,252,131,189,233,1,15,130,244,81,15,182,173,233,255,252,242,15,42, |
300 | 15,130,244,247,232,244,74,248,1,199,68,36,20,252,255,252,255,252,255,252, | 292 | 197,252,233,244,72,255,137,108,36,16,219,68,36,16,252,233,244,73,255,248, |
301 | 255,129,252,248,239,15,130,244,62,15,134,244,247,129,122,253,20,239,255,15, | 293 | 122,139,171,233,59,171,233,15,130,244,247,232,244,75,248,1,129,252,248,239, |
302 | 133,244,62,139,106,16,137,108,36,20,255,15,131,244,62,252,242,15,44,106,16, | 294 | 15,133,244,63,129,122,253,4,239,255,15,133,244,63,139,42,129,252,253,252, |
303 | 137,108,36,20,255,15,131,244,62,221,66,16,219,92,36,20,255,248,1,129,122, | 295 | 255,0,0,0,15,135,244,63,137,108,36,20,255,15,131,244,63,252,242,15,44,42, |
304 | 253,4,239,15,133,244,62,129,122,253,12,239,255,139,42,137,108,36,12,139,173, | 296 | 129,252,253,252,255,0,0,0,15,135,244,63,137,108,36,20,255,15,131,244,63,221, |
305 | 233,255,139,74,8,255,252,242,15,44,74,8,255,221,66,8,219,92,36,8,139,76,36, | 297 | 2,219,92,36,20,129,124,36,20,252,255,0,0,0,15,135,244,63,255,199,68,36,8, |
306 | 8,255,139,68,36,20,57,197,15,130,244,251,248,2,133,201,15,142,244,253,248, | 298 | 1,0,0,0,141,68,36,20,248,123,139,108,36,48,137,149,233,137,68,36,4,137,44, |
307 | 3,139,108,36,12,41,200,15,140,244,124,141,172,253,13,233,131,192,1,248,4, | 299 | 36,137,116,36,24,232,251,1,19,139,149,233,139,114,252,252,199,66,252,252, |
308 | 137,68,36,8,137,232,252,233,244,122,248,5,15,140,244,252,141,68,40,1,252, | 300 | 237,137,66,252,248,252,233,244,66,248,124,139,171,233,59,171,233,15,130,244, |
309 | 233,244,2,248,6,137,232,252,233,244,2,248,7,255,15,132,244,254,1,252,233, | 301 | 247,232,244,75,248,1,199,68,36,20,252,255,252,255,252,255,252,255,129,252, |
310 | 131,193,1,15,143,244,3,248,8,185,1,0,0,0,252,233,244,3,248,124,49,192,252, | 302 | 248,239,15,130,244,63,15,134,244,247,129,122,253,20,239,255,15,133,244,63, |
311 | 233,244,4,248,125,129,252,248,239,15,130,244,62,139,171,233,59,171,233,15, | 303 | 139,106,16,137,108,36,20,255,15,131,244,63,252,242,15,44,106,16,137,108,36, |
312 | 130,244,247,232,244,74,248,1,255,129,122,253,4,239,15,133,244,62,129,122, | 304 | 20,255,15,131,244,63,221,66,16,219,92,36,20,255,248,1,129,122,253,4,239,15, |
313 | 253,12,239,139,42,255,15,133,244,62,139,66,8,255,15,131,244,62,252,242,15, | 305 | 133,244,63,129,122,253,12,239,255,139,42,137,108,36,12,139,173,233,255,139, |
314 | 44,66,8,255,15,131,244,62,221,66,8,219,92,36,20,139,68,36,20,255,133,192, | 306 | 74,8,255,252,242,15,44,74,8,255,221,66,8,219,92,36,8,139,76,36,8,255,139, |
315 | 15,142,244,124,131,189,233,1,15,130,244,124,15,133,244,126,57,131,233,15, | 307 | 68,36,20,57,197,15,130,244,251,248,2,133,201,15,142,244,253,248,3,139,108, |
316 | 130,244,126,15,182,141,233,139,171,233,137,68,36,8,248,1,136,77,0,131,197, | 308 | 36,12,41,200,15,140,244,125,141,172,253,13,233,131,192,1,248,4,137,68,36, |
317 | 1,131,232,1,15,133,244,1,139,131,233,252,233,244,122,248,127,129,252,248, | 309 | 8,137,232,252,233,244,123,248,5,15,140,244,252,141,68,40,1,252,233,244,2, |
318 | 239,255,15,130,244,62,139,171,233,59,171,233,15,130,244,247,232,244,74,248, | 310 | 248,6,137,232,252,233,244,2,248,7,255,15,132,244,254,1,252,233,131,193,1, |
319 | 1,129,122,253,4,239,15,133,244,62,139,42,139,133,233,133,192,15,132,244,124, | 311 | 15,143,244,3,248,8,185,1,0,0,0,252,233,244,3,248,125,49,192,252,233,244,4, |
320 | 57,131,233,15,130,244,128,129,197,239,137,116,36,20,137,68,36,8,139,179,233, | 312 | 248,126,129,252,248,239,15,130,244,63,139,171,233,59,171,233,15,130,244,247, |
321 | 248,1,255,15,182,77,0,131,197,1,131,232,1,136,12,6,15,133,244,1,137,252,240, | 313 | 232,244,75,248,1,255,129,122,253,4,239,15,133,244,63,129,122,253,12,239,139, |
322 | 139,116,36,20,252,233,244,122,248,129,129,252,248,239,15,130,244,62,139,171, | 314 | 42,255,15,133,244,63,139,66,8,255,15,131,244,63,252,242,15,44,66,8,255,15, |
323 | 233,59,171,233,15,130,244,247,232,244,74,248,1,129,122,253,4,239,15,133,244, | 315 | 131,244,63,221,66,8,219,92,36,20,139,68,36,20,255,133,192,15,142,244,125, |
324 | 62,139,42,139,133,233,57,131,233,255,15,130,244,128,129,197,239,137,116,36, | 316 | 131,189,233,1,15,130,244,125,15,133,244,127,57,131,233,15,130,244,127,15, |
325 | 20,137,68,36,8,139,179,233,252,233,244,249,248,1,15,182,76,5,0,131,252,249, | 317 | 182,141,233,139,171,233,137,68,36,8,248,1,136,77,0,131,197,1,131,232,1,15, |
326 | 65,15,130,244,248,131,252,249,90,15,135,244,248,131,252,241,32,248,2,136, | 318 | 133,244,1,139,131,233,252,233,244,123,248,128,129,252,248,239,255,15,130, |
327 | 12,6,248,3,131,232,1,15,137,244,1,137,252,240,139,116,36,20,252,233,244,122, | 319 | 244,63,139,171,233,59,171,233,15,130,244,247,232,244,75,248,1,129,122,253, |
328 | 248,130,129,252,248,239,15,130,244,62,255,139,171,233,59,171,233,15,130,244, | 320 | 4,239,15,133,244,63,139,42,139,133,233,133,192,15,132,244,125,57,131,233, |
329 | 247,232,244,74,248,1,129,122,253,4,239,15,133,244,62,139,42,139,133,233,57, | 321 | 15,130,244,129,129,197,239,137,116,36,20,137,68,36,8,139,179,233,248,1,255, |
330 | 131,233,15,130,244,128,129,197,239,137,116,36,20,137,68,36,8,139,179,233, | 322 | 15,182,77,0,131,197,1,131,232,1,136,12,6,15,133,244,1,137,252,240,139,116, |
331 | 252,233,244,249,248,1,15,182,76,5,0,131,252,249,97,15,130,244,248,255,131, | 323 | 36,20,252,233,244,123,248,130,129,252,248,239,15,130,244,63,139,171,233,59, |
332 | 252,249,122,15,135,244,248,131,252,241,32,248,2,136,12,6,248,3,131,232,1, | 324 | 171,233,15,130,244,247,232,244,75,248,1,129,122,253,4,239,15,133,244,63,139, |
333 | 15,137,244,1,137,252,240,139,116,36,20,252,233,244,122,248,131,129,252,248, | 325 | 42,139,133,233,57,131,233,255,15,130,244,129,129,197,239,137,116,36,20,137, |
334 | 239,15,130,244,62,129,122,253,4,239,15,133,244,62,137,213,139,10,232,251, | 326 | 68,36,8,139,179,233,252,233,244,249,248,1,15,182,76,5,0,131,252,249,65,15, |
335 | 1,20,137,252,234,255,137,197,252,233,244,70,255,252,242,15,42,192,252,233, | 327 | 130,244,248,131,252,249,90,15,135,244,248,131,252,241,32,248,2,136,12,6,248, |
336 | 244,71,255,137,4,36,219,4,36,252,233,244,72,255,248,132,129,252,248,239,15, | 328 | 3,131,232,1,15,137,244,1,137,252,240,139,116,36,20,252,233,244,123,248,131, |
337 | 130,244,62,129,122,253,4,239,255,15,133,244,247,139,42,252,233,244,88,248, | 329 | 129,252,248,239,15,130,244,63,255,139,171,233,59,171,233,15,130,244,247,232, |
338 | 1,15,135,244,62,255,252,242,15,16,2,189,0,0,56,67,102,15,110,205,102,15,112, | 330 | 244,75,248,1,129,122,253,4,239,15,133,244,63,139,42,139,133,233,57,131,233, |
339 | 201,81,252,242,15,88,193,102,15,126,197,255,221,2,199,68,36,16,0,0,192,89, | 331 | 15,130,244,129,129,197,239,137,116,36,20,137,68,36,8,139,179,233,252,233, |
340 | 216,68,36,16,221,28,36,255,139,44,36,255,252,233,244,88,255,248,133,129,252, | 332 | 244,249,248,1,15,182,76,5,0,131,252,249,97,15,130,244,248,255,131,252,249, |
341 | 248,239,15,130,244,62,255,189,0,0,56,67,102,15,110,205,102,15,112,201,81, | 333 | 122,15,135,244,248,131,252,241,32,248,2,136,12,6,248,3,131,232,1,15,137,244, |
342 | 255,199,68,36,16,0,0,192,89,255,15,133,244,247,139,42,252,233,244,248,248, | 334 | 1,137,252,240,139,116,36,20,252,233,244,123,248,132,129,252,248,239,15,130, |
343 | 1,15,135,244,62,255,252,242,15,16,2,252,242,15,88,193,102,15,126,197,255, | 335 | 244,63,129,122,253,4,239,15,133,244,63,137,213,139,10,232,251,1,20,137,252, |
344 | 221,2,216,68,36,16,221,28,36,139,44,36,255,248,2,137,68,36,20,141,68,194, | 336 | 234,255,137,197,252,233,244,71,255,252,242,15,42,192,252,233,244,72,255,137, |
345 | 252,240,248,1,57,208,15,134,244,88,129,120,253,4,239,255,15,133,244,248,35, | 337 | 4,36,219,4,36,252,233,244,73,255,248,133,129,252,248,239,15,130,244,63,129, |
346 | 40,131,232,8,252,233,244,1,248,2,15,135,244,134,255,15,131,244,134,255,252, | 338 | 122,253,4,239,255,15,133,244,247,139,42,252,233,244,89,248,1,15,135,244,63, |
347 | 242,15,16,0,252,242,15,88,193,102,15,126,193,33,205,255,221,0,216,68,36,16, | 339 | 255,252,242,15,16,2,189,0,0,56,67,102,15,110,205,102,15,112,201,81,252,242, |
348 | 221,28,36,35,44,36,255,131,232,8,252,233,244,1,248,135,129,252,248,239,15, | 340 | 15,88,193,102,15,126,197,255,221,2,199,68,36,16,0,0,192,89,216,68,36,16,221, |
349 | 130,244,62,255,15,133,244,248,11,40,131,232,8,252,233,244,1,248,2,15,135, | 341 | 28,36,255,139,44,36,255,252,233,244,89,255,248,134,129,252,248,239,15,130, |
350 | 244,134,255,252,242,15,16,0,252,242,15,88,193,102,15,126,193,9,205,255,221, | 342 | 244,63,255,189,0,0,56,67,102,15,110,205,102,15,112,201,81,255,199,68,36,16, |
351 | 0,216,68,36,16,221,28,36,11,44,36,255,131,232,8,252,233,244,1,248,136,129, | 343 | 0,0,192,89,255,15,133,244,247,139,42,252,233,244,248,248,1,15,135,244,63, |
352 | 252,248,239,15,130,244,62,255,15,133,244,248,51,40,131,232,8,252,233,244, | 344 | 255,252,242,15,16,2,252,242,15,88,193,102,15,126,197,255,221,2,216,68,36, |
353 | 1,248,2,15,135,244,134,255,252,242,15,16,0,252,242,15,88,193,102,15,126,193, | 345 | 16,221,28,36,139,44,36,255,248,2,137,68,36,20,141,68,194,252,240,248,1,57, |
354 | 49,205,255,221,0,216,68,36,16,221,28,36,51,44,36,255,131,232,8,252,233,244, | 346 | 208,15,134,244,89,129,120,253,4,239,255,15,133,244,248,35,40,131,232,8,252, |
355 | 1,248,137,129,252,248,239,15,130,244,62,129,122,253,4,239,255,221,2,199,68, | 347 | 233,244,1,248,2,15,135,244,135,255,15,131,244,135,255,252,242,15,16,0,252, |
356 | 36,16,0,0,192,89,216,68,36,16,221,28,36,139,44,36,255,248,2,15,205,252,233, | 348 | 242,15,88,193,102,15,126,193,33,205,255,221,0,216,68,36,16,221,28,36,35,44, |
357 | 244,88,248,138,129,252,248,239,15,130,244,62,129,122,253,4,239,255,248,2, | 349 | 36,255,131,232,8,252,233,244,1,248,136,129,252,248,239,15,130,244,63,255, |
358 | 252,247,213,255,248,88,252,242,15,42,197,252,233,244,71,255,248,88,137,44, | 350 | 15,133,244,248,11,40,131,232,8,252,233,244,1,248,2,15,135,244,135,255,252, |
359 | 36,219,4,36,252,233,244,72,255,248,134,139,68,36,20,252,233,244,62,255,248, | 351 | 242,15,16,0,252,242,15,88,193,102,15,126,193,9,205,255,221,0,216,68,36,16, |
360 | 139,129,252,248,239,15,130,244,62,129,122,253,4,239,255,248,2,129,122,253, | 352 | 221,28,36,11,44,36,255,131,232,8,252,233,244,1,248,137,129,252,248,239,15, |
361 | 12,239,15,133,244,62,139,74,8,255,248,139,129,252,248,239,15,130,244,62,129, | 353 | 130,244,63,255,15,133,244,248,51,40,131,232,8,252,233,244,1,248,2,15,135, |
362 | 122,253,4,239,15,131,244,62,129,122,253,12,239,15,131,244,62,252,242,15,16, | 354 | 244,135,255,252,242,15,16,0,252,242,15,88,193,102,15,126,193,49,205,255,221, |
363 | 2,252,242,15,16,74,8,189,0,0,56,67,102,15,110,213,102,15,112,210,81,252,242, | 355 | 0,216,68,36,16,221,28,36,51,44,36,255,131,232,8,252,233,244,1,248,138,129, |
364 | 15,88,194,252,242,15,88,202,102,15,126,197,102,15,126,201,255,248,139,129, | 356 | 252,248,239,15,130,244,63,129,122,253,4,239,255,221,2,199,68,36,16,0,0,192, |
365 | 252,248,239,15,130,244,62,129,122,253,4,239,15,131,244,62,129,122,253,12, | 357 | 89,216,68,36,16,221,28,36,139,44,36,255,248,2,15,205,252,233,244,89,248,139, |
366 | 239,15,131,244,62,221,2,221,66,8,199,68,36,16,0,0,192,89,216,68,36,16,221, | 358 | 129,252,248,239,15,130,244,63,129,122,253,4,239,255,248,2,252,247,213,255, |
367 | 92,36,8,216,68,36,16,221,28,36,139,76,36,8,139,44,36,255,211,229,252,233, | 359 | 248,89,252,242,15,42,197,252,233,244,72,255,248,89,137,44,36,219,4,36,252, |
368 | 244,88,255,248,140,129,252,248,239,15,130,244,62,129,122,253,4,239,255,248, | 360 | 233,244,73,255,248,135,139,68,36,20,252,233,244,63,255,248,140,129,252,248, |
369 | 140,129,252,248,239,15,130,244,62,129,122,253,4,239,15,131,244,62,129,122, | 361 | 239,15,130,244,63,129,122,253,4,239,255,248,2,129,122,253,12,239,15,133,244, |
370 | 253,12,239,15,131,244,62,252,242,15,16,2,252,242,15,16,74,8,189,0,0,56,67, | 362 | 63,139,74,8,255,248,140,129,252,248,239,15,130,244,63,129,122,253,4,239,15, |
371 | 102,15,110,213,102,15,112,210,81,252,242,15,88,194,252,242,15,88,202,102, | 363 | 131,244,63,129,122,253,12,239,15,131,244,63,252,242,15,16,2,252,242,15,16, |
372 | 15,126,197,102,15,126,201,255,248,140,129,252,248,239,15,130,244,62,129,122, | 364 | 74,8,189,0,0,56,67,102,15,110,213,102,15,112,210,81,252,242,15,88,194,252, |
373 | 253,4,239,15,131,244,62,129,122,253,12,239,15,131,244,62,221,2,221,66,8,199, | 365 | 242,15,88,202,102,15,126,197,102,15,126,201,255,248,140,129,252,248,239,15, |
374 | 68,36,16,0,0,192,89,216,68,36,16,221,92,36,8,216,68,36,16,221,28,36,139,76, | 366 | 130,244,63,129,122,253,4,239,15,131,244,63,129,122,253,12,239,15,131,244, |
375 | 36,8,139,44,36,255,211,252,237,252,233,244,88,255,248,141,129,252,248,239, | 367 | 63,221,2,221,66,8,199,68,36,16,0,0,192,89,216,68,36,16,221,92,36,8,216,68, |
376 | 15,130,244,62,129,122,253,4,239,255,248,141,129,252,248,239,15,130,244,62, | 368 | 36,16,221,28,36,139,76,36,8,139,44,36,255,211,229,252,233,244,89,255,248, |
377 | 129,122,253,4,239,15,131,244,62,129,122,253,12,239,15,131,244,62,252,242, | 369 | 141,129,252,248,239,15,130,244,63,129,122,253,4,239,255,248,141,129,252,248, |
378 | 15,16,2,252,242,15,16,74,8,189,0,0,56,67,102,15,110,213,102,15,112,210,81, | 370 | 239,15,130,244,63,129,122,253,4,239,15,131,244,63,129,122,253,12,239,15,131, |
379 | 252,242,15,88,194,252,242,15,88,202,102,15,126,197,102,15,126,201,255,248, | 371 | 244,63,252,242,15,16,2,252,242,15,16,74,8,189,0,0,56,67,102,15,110,213,102, |
380 | 141,129,252,248,239,15,130,244,62,129,122,253,4,239,15,131,244,62,129,122, | 372 | 15,112,210,81,252,242,15,88,194,252,242,15,88,202,102,15,126,197,102,15,126, |
381 | 253,12,239,15,131,244,62,221,2,221,66,8,199,68,36,16,0,0,192,89,216,68,36, | 373 | 201,255,248,141,129,252,248,239,15,130,244,63,129,122,253,4,239,15,131,244, |
382 | 16,221,92,36,8,216,68,36,16,221,28,36,139,76,36,8,139,44,36,255,211,252,253, | 374 | 63,129,122,253,12,239,15,131,244,63,221,2,221,66,8,199,68,36,16,0,0,192,89, |
383 | 252,233,244,88,255,248,142,129,252,248,239,15,130,244,62,129,122,253,4,239, | 375 | 216,68,36,16,221,92,36,8,216,68,36,16,221,28,36,139,76,36,8,139,44,36,255, |
384 | 255,248,142,129,252,248,239,15,130,244,62,129,122,253,4,239,15,131,244,62, | 376 | 211,252,237,252,233,244,89,255,248,142,129,252,248,239,15,130,244,63,129, |
385 | 129,122,253,12,239,15,131,244,62,252,242,15,16,2,252,242,15,16,74,8,189,0, | 377 | 122,253,4,239,255,248,142,129,252,248,239,15,130,244,63,129,122,253,4,239, |
386 | 0,56,67,102,15,110,213,102,15,112,210,81,252,242,15,88,194,252,242,15,88, | 378 | 15,131,244,63,129,122,253,12,239,15,131,244,63,252,242,15,16,2,252,242,15, |
387 | 202,102,15,126,197,102,15,126,201,255,248,142,129,252,248,239,15,130,244, | 379 | 16,74,8,189,0,0,56,67,102,15,110,213,102,15,112,210,81,252,242,15,88,194, |
388 | 62,129,122,253,4,239,15,131,244,62,129,122,253,12,239,15,131,244,62,221,2, | 380 | 252,242,15,88,202,102,15,126,197,102,15,126,201,255,248,142,129,252,248,239, |
389 | 221,66,8,199,68,36,16,0,0,192,89,216,68,36,16,221,92,36,8,216,68,36,16,221, | 381 | 15,130,244,63,129,122,253,4,239,15,131,244,63,129,122,253,12,239,15,131,244, |
390 | 28,36,139,76,36,8,139,44,36,255,211,197,252,233,244,88,255,248,143,129,252, | 382 | 63,221,2,221,66,8,199,68,36,16,0,0,192,89,216,68,36,16,221,92,36,8,216,68, |
391 | 248,239,15,130,244,62,129,122,253,4,239,255,248,143,129,252,248,239,15,130, | 383 | 36,16,221,28,36,139,76,36,8,139,44,36,255,211,252,253,252,233,244,89,255, |
392 | 244,62,129,122,253,4,239,15,131,244,62,129,122,253,12,239,15,131,244,62,252, | 384 | 248,143,129,252,248,239,15,130,244,63,129,122,253,4,239,255,248,143,129,252, |
393 | 242,15,16,2,252,242,15,16,74,8,189,0,0,56,67,102,15,110,213,102,15,112,210, | 385 | 248,239,15,130,244,63,129,122,253,4,239,15,131,244,63,129,122,253,12,239, |
394 | 81,252,242,15,88,194,252,242,15,88,202,102,15,126,197,102,15,126,201,255, | 386 | 15,131,244,63,252,242,15,16,2,252,242,15,16,74,8,189,0,0,56,67,102,15,110, |
395 | 248,143,129,252,248,239,15,130,244,62,129,122,253,4,239,15,131,244,62,129, | 387 | 213,102,15,112,210,81,252,242,15,88,194,252,242,15,88,202,102,15,126,197, |
396 | 122,253,12,239,15,131,244,62,221,2,221,66,8,199,68,36,16,0,0,192,89,216,68, | 388 | 102,15,126,201,255,248,143,129,252,248,239,15,130,244,63,129,122,253,4,239, |
397 | 36,16,221,92,36,8,216,68,36,16,221,28,36,139,76,36,8,139,44,36,255,211,205, | 389 | 15,131,244,63,129,122,253,12,239,15,131,244,63,221,2,221,66,8,199,68,36,16, |
398 | 252,233,244,88,248,126,184,237,252,233,244,62,248,128,184,237,248,62,139, | 390 | 0,0,192,89,216,68,36,16,221,92,36,8,216,68,36,16,221,28,36,139,76,36,8,139, |
399 | 108,36,48,139,114,252,252,137,116,36,24,137,149,233,141,68,194,252,248,141, | 391 | 44,36,255,211,197,252,233,244,89,255,248,144,129,252,248,239,15,130,244,63, |
400 | 136,233,137,133,233,139,66,252,248,59,141,233,15,135,244,251,137,44,36,252, | 392 | 129,122,253,4,239,255,248,144,129,252,248,239,15,130,244,63,129,122,253,4, |
401 | 255,144,233,139,149,233,133,192,15,143,244,77,248,1,255,139,141,233,41,209, | 393 | 239,15,131,244,63,129,122,253,12,239,15,131,244,63,252,242,15,16,2,252,242, |
402 | 193,252,233,3,133,192,141,65,1,139,106,252,248,15,133,244,32,139,181,233, | 394 | 15,16,74,8,189,0,0,56,67,102,15,110,213,102,15,112,210,81,252,242,15,88,194, |
403 | 139,14,15,182,252,233,15,182,205,131,198,4,252,255,36,171,248,32,137,209, | 395 | 252,242,15,88,202,102,15,126,197,102,15,126,201,255,248,144,129,252,248,239, |
404 | 252,247,198,237,15,133,244,249,15,182,110,252,253,252,247,213,141,20,252, | 396 | 15,130,244,63,129,122,253,4,239,15,131,244,63,129,122,253,12,239,15,131,244, |
405 | 234,252,233,244,28,248,3,137,252,245,131,229,252,248,41,252,234,252,233,244, | 397 | 63,221,2,221,66,8,199,68,36,16,0,0,192,89,216,68,36,16,221,92,36,8,216,68, |
406 | 28,248,5,186,237,137,252,233,232,251,1,0,139,149,233,49,192,252,233,244,1, | 398 | 36,16,221,28,36,139,76,36,8,139,44,36,255,211,205,252,233,244,89,248,127, |
407 | 248,74,93,137,108,36,16,139,108,36,48,137,116,36,24,137,149,233,255,141,68, | 399 | 184,237,252,233,244,63,248,129,184,237,248,63,139,108,36,48,139,114,252,252, |
408 | 194,252,248,137,252,233,137,133,233,232,251,1,21,139,149,233,139,133,233, | 400 | 137,116,36,24,137,149,233,141,68,194,252,248,141,136,233,137,133,233,139, |
409 | 41,208,193,232,3,131,192,1,139,108,36,16,85,195,248,144,255,15,182,131,233, | 401 | 66,252,248,59,141,233,15,135,244,251,137,44,36,252,255,144,233,139,149,233, |
410 | 168,235,15,133,244,251,168,235,15,133,244,247,168,235,15,132,244,247,252, | 402 | 133,192,15,143,244,78,248,1,255,139,141,233,41,209,193,252,233,3,133,192, |
411 | 255,139,233,252,233,244,247,255,248,145,15,182,131,233,168,235,15,133,244, | 403 | 141,65,1,139,106,252,248,15,133,244,33,139,181,233,139,14,15,182,252,233, |
412 | 251,252,233,244,247,248,146,15,182,131,233,168,235,15,133,244,251,168,235, | 404 | 15,182,205,131,198,4,252,255,36,171,248,33,137,209,252,247,198,237,15,133, |
413 | 15,132,244,251,252,255,139,233,15,132,244,247,168,235,15,132,244,251,248, | 405 | 244,249,15,182,110,252,253,252,247,213,141,20,252,234,252,233,244,28,248, |
414 | 1,255,139,108,36,48,137,149,233,137,252,242,137,252,233,232,251,1,22,248, | 406 | 3,137,252,245,131,229,252,248,41,252,234,252,233,244,28,248,5,186,237,137, |
415 | 3,139,149,233,248,4,15,182,78,252,253,248,5,15,182,110,252,252,15,183,70, | 407 | 252,233,232,251,1,0,139,149,233,49,192,252,233,244,1,248,75,93,137,108,36, |
416 | 252,254,252,255,164,253,171,233,248,147,131,198,4,139,77,232,137,76,36,20, | 408 | 16,139,108,36,48,137,116,36,24,137,149,233,255,141,68,194,252,248,137,252, |
417 | 252,233,244,4,248,148,255,139,106,252,248,139,173,233,15,182,133,233,141, | 409 | 233,137,133,233,232,251,1,21,139,149,233,139,133,233,41,208,193,232,3,131, |
418 | 4,194,139,108,36,48,137,149,233,137,133,233,137,252,242,141,139,233,137,171, | 410 | 192,1,139,108,36,16,85,195,248,145,255,15,182,131,233,168,235,15,133,244, |
419 | 233,137,116,36,24,232,251,1,23,252,233,244,3,255,248,149,137,116,36,24,255, | 411 | 251,168,235,15,133,244,247,168,235,15,132,244,247,252,255,139,233,252,233, |
420 | 248,150,255,137,116,36,24,131,206,1,248,1,255,141,68,194,252,248,139,108, | 412 | 244,247,255,248,146,15,182,131,233,168,235,15,133,244,251,252,233,244,247, |
421 | 36,48,137,149,233,137,133,233,137,252,242,137,252,233,232,251,1,24,199,68, | 413 | 248,147,15,182,131,233,168,235,15,133,244,251,168,235,15,132,244,251,252, |
422 | 36,24,0,0,0,0,255,131,230,252,254,255,139,149,233,137,193,139,133,233,41, | 414 | 255,139,233,15,132,244,247,168,235,15,132,244,251,248,1,255,139,108,36,48, |
423 | 208,137,205,15,182,78,252,253,193,232,3,131,192,1,252,255,229,248,151,255, | 415 | 137,149,233,137,252,242,137,252,233,232,251,1,22,248,3,139,149,233,248,4, |
424 | 85,141,108,36,12,85,83,82,81,80,15,182,69,252,252,138,101,252,248,137,125, | 416 | 15,182,78,252,253,248,5,15,182,110,252,252,15,183,70,252,254,252,255,164, |
425 | 252,252,137,117,252,248,139,93,0,139,139,233,199,131,233,237,137,131,233, | 417 | 253,171,233,248,148,131,198,4,139,77,232,137,76,36,20,252,233,244,4,248,149, |
426 | 137,139,233,129,252,236,239,252,242,15,17,125,216,252,242,15,17,117,208,252, | 418 | 255,139,106,252,248,139,173,233,15,182,133,233,141,4,194,139,108,36,48,137, |
427 | 242,15,17,109,200,252,242,15,17,101,192,252,242,15,17,93,184,252,242,15,17, | 419 | 149,233,137,133,233,137,252,242,141,139,233,137,171,233,137,116,36,24,232, |
428 | 85,176,252,242,15,17,77,168,252,242,15,17,69,160,139,171,233,139,147,233, | 420 | 251,1,23,252,233,244,3,255,248,150,137,116,36,24,255,248,151,255,137,116, |
429 | 137,171,233,199,131,233,0,0,0,0,137,149,233,141,84,36,16,141,139,233,232, | 421 | 36,24,131,206,1,248,1,255,141,68,194,252,248,139,108,36,48,137,149,233,137, |
430 | 251,1,25,139,141,233,129,225,239,137,204,137,169,233,139,149,233,139,177, | 422 | 133,233,137,252,242,137,252,233,232,251,1,24,199,68,36,24,0,0,0,0,255,131, |
431 | 233,255,248,152,255,133,192,15,136,244,249,137,68,36,20,139,122,252,248,139, | 423 | 230,252,254,255,139,149,233,137,193,139,133,233,41,208,137,205,15,182,78, |
432 | 191,233,139,191,233,199,131,233,0,0,0,0,199,131,233,237,139,6,15,182,204, | 424 | 252,253,193,232,3,131,192,1,252,255,229,248,152,255,85,141,108,36,12,85,83, |
433 | 15,182,232,131,198,4,193,232,16,129,252,253,239,15,130,244,248,139,68,36, | 425 | 82,81,80,15,182,69,252,252,138,101,252,248,137,125,252,252,137,117,252,248, |
434 | 20,248,2,252,255,36,171,248,3,252,247,216,137,252,233,137,194,232,251,1,26, | 426 | 139,93,0,139,139,233,199,131,233,237,137,131,233,137,139,233,129,252,236, |
435 | 255,248,90,255,217,124,36,4,137,68,36,8,102,184,0,4,102,11,68,36,4,102,37, | 427 | 239,252,242,15,17,125,216,252,242,15,17,117,208,252,242,15,17,109,200,252, |
436 | 252,255,252,247,102,137,68,36,6,217,108,36,6,217,252,252,217,108,36,4,139, | 428 | 242,15,17,101,192,252,242,15,17,93,184,252,242,15,17,85,176,252,242,15,17, |
437 | 68,36,8,195,255,248,153,102,15,252,239,210,102,15,118,210,102,15,115,210, | 429 | 77,168,252,242,15,17,69,160,139,171,233,139,147,233,137,171,233,199,131,233, |
430 | 0,0,0,0,137,149,233,141,84,36,16,141,139,233,232,251,1,25,139,141,233,129, | ||
431 | 225,239,137,204,137,169,233,139,149,233,139,177,233,255,248,153,255,133,192, | ||
432 | 15,136,244,249,137,68,36,20,139,122,252,248,139,191,233,139,191,233,199,131, | ||
433 | 233,0,0,0,0,199,131,233,237,139,6,15,182,204,15,182,232,131,198,4,193,232, | ||
434 | 16,129,252,253,239,15,130,244,248,139,68,36,20,248,2,252,255,36,171,248,3, | ||
435 | 252,247,216,137,252,233,137,194,232,251,1,26,255,248,91,255,217,124,36,4, | ||
436 | 137,68,36,8,102,184,0,4,102,11,68,36,4,102,37,252,255,252,247,102,137,68, | ||
437 | 36,6,217,108,36,6,217,252,252,217,108,36,4,139,68,36,8,195,255,248,154,102, | ||
438 | 15,252,239,210,102,15,118,210,102,15,115,210,1,184,0,0,48,67,102,15,110,216, | ||
439 | 102,15,112,219,81,15,40,200,102,15,84,202,102,15,46,217,15,134,244,247,102, | ||
440 | 15,85,208,252,242,15,88,203,252,242,15,92,203,102,15,86,202,184,0,0,252,240, | ||
441 | 63,102,15,110,208,102,15,112,210,81,252,242,15,194,193,1,102,15,84,194,252, | ||
442 | 242,15,92,200,15,40,193,248,1,195,248,93,255,217,124,36,4,137,68,36,8,102, | ||
443 | 184,0,8,102,11,68,36,4,102,37,252,255,252,251,102,137,68,36,6,217,108,36, | ||
444 | 6,217,252,252,217,108,36,4,139,68,36,8,195,255,248,155,102,15,252,239,210, | ||
445 | 102,15,118,210,102,15,115,210,1,184,0,0,48,67,102,15,110,216,102,15,112,219, | ||
446 | 81,15,40,200,102,15,84,202,102,15,46,217,15,134,244,247,102,15,85,208,252, | ||
447 | 242,15,88,203,252,242,15,92,203,102,15,86,202,184,0,0,252,240,191,102,15, | ||
448 | 110,208,102,15,112,210,81,252,242,15,194,193,6,102,15,84,194,252,242,15,92, | ||
449 | 200,15,40,193,248,1,195,248,114,255,217,124,36,4,137,68,36,8,102,184,0,12, | ||
450 | 102,11,68,36,4,102,137,68,36,6,217,108,36,6,217,252,252,217,108,36,4,139, | ||
451 | 68,36,8,195,255,248,156,102,15,252,239,210,102,15,118,210,102,15,115,210, | ||
438 | 1,184,0,0,48,67,102,15,110,216,102,15,112,219,81,15,40,200,102,15,84,202, | 452 | 1,184,0,0,48,67,102,15,110,216,102,15,112,219,81,15,40,200,102,15,84,202, |
439 | 102,15,46,217,15,134,244,247,102,15,85,208,252,242,15,88,203,252,242,15,92, | 453 | 102,15,46,217,15,134,244,247,102,15,85,208,15,40,193,252,242,15,88,203,252, |
440 | 203,102,15,86,202,184,0,0,252,240,63,102,15,110,208,102,15,112,210,81,252, | 454 | 242,15,92,203,184,0,0,252,240,63,102,15,110,216,102,15,112,219,81,252,242, |
441 | 242,15,194,193,1,102,15,84,194,252,242,15,92,200,15,40,193,248,1,195,248, | 455 | 15,194,193,1,102,15,84,195,252,242,15,92,200,102,15,86,202,15,40,193,248, |
442 | 92,255,217,124,36,4,137,68,36,8,102,184,0,8,102,11,68,36,4,102,37,252,255, | 456 | 1,195,248,157,255,15,40,232,252,242,15,94,193,102,15,252,239,210,102,15,118, |
443 | 252,251,102,137,68,36,6,217,108,36,6,217,252,252,217,108,36,4,139,68,36,8, | 457 | 210,102,15,115,210,1,184,0,0,48,67,102,15,110,216,102,15,112,219,81,15,40, |
444 | 195,255,248,154,102,15,252,239,210,102,15,118,210,102,15,115,210,1,184,0, | 458 | 224,102,15,84,226,102,15,46,220,15,134,244,247,102,15,85,208,252,242,15,88, |
445 | 0,48,67,102,15,110,216,102,15,112,219,81,15,40,200,102,15,84,202,102,15,46, | 459 | 227,252,242,15,92,227,102,15,86,226,184,0,0,252,240,63,102,15,110,208,102, |
446 | 217,15,134,244,247,102,15,85,208,252,242,15,88,203,252,242,15,92,203,102, | 460 | 15,112,210,81,252,242,15,194,196,1,102,15,84,194,252,242,15,92,224,15,40, |
447 | 15,86,202,184,0,0,252,240,191,102,15,110,208,102,15,112,210,81,252,242,15, | 461 | 197,252,242,15,89,204,252,242,15,92,193,195,248,1,252,242,15,89,200,15,40, |
448 | 194,193,6,102,15,84,194,252,242,15,92,200,15,40,193,248,1,195,248,113,255, | 462 | 197,252,242,15,92,193,195,255,217,193,216,252,241,217,124,36,4,102,184,0, |
449 | 217,124,36,4,137,68,36,8,102,184,0,12,102,11,68,36,4,102,137,68,36,6,217, | 463 | 4,102,11,68,36,4,102,37,252,255,252,247,102,137,68,36,6,217,108,36,6,217, |
450 | 108,36,6,217,252,252,217,108,36,4,139,68,36,8,195,255,248,155,102,15,252, | 464 | 252,252,217,108,36,4,222,201,222,252,233,195,255,248,98,217,252,234,222,201, |
451 | 239,210,102,15,118,210,102,15,115,210,1,184,0,0,48,67,102,15,110,216,102, | 465 | 248,158,217,84,36,4,129,124,36,4,0,0,128,127,15,132,244,247,129,124,36,4, |
452 | 15,112,219,81,15,40,200,102,15,84,202,102,15,46,217,15,134,244,247,102,15, | 466 | 0,0,128,252,255,15,132,244,248,248,159,217,192,217,252,252,220,252,233,217, |
453 | 85,208,15,40,193,252,242,15,88,203,252,242,15,92,203,184,0,0,252,240,63,102, | 467 | 201,217,252,240,217,232,222,193,217,252,253,221,217,248,1,195,248,2,221,216, |
454 | 15,110,216,102,15,112,219,81,252,242,15,194,193,1,102,15,84,195,252,242,15, | 468 | 217,252,238,195,255,248,117,219,84,36,4,219,68,36,4,255,223,252,233,255,221, |
455 | 92,200,102,15,86,202,15,40,193,248,1,195,248,156,255,15,40,232,252,242,15, | 469 | 252,233,223,224,158,255,15,133,244,254,15,138,244,255,221,216,139,68,36,4, |
456 | 94,193,102,15,252,239,210,102,15,118,210,102,15,115,210,1,184,0,0,48,67,102, | 470 | 131,252,248,1,15,142,244,252,248,1,169,1,0,0,0,15,133,244,248,216,200,209, |
457 | 15,110,216,102,15,112,219,81,15,40,224,102,15,84,226,102,15,46,220,15,134, | 471 | 232,252,233,244,1,248,2,209,232,15,132,244,251,217,192,248,3,216,200,209, |
458 | 244,247,102,15,85,208,252,242,15,88,227,252,242,15,92,227,102,15,86,226,184, | 472 | 232,15,132,244,250,15,131,244,3,220,201,252,233,244,3,248,4,255,222,201,248, |
459 | 0,0,252,240,63,102,15,110,208,102,15,112,210,81,252,242,15,194,196,1,102, | 473 | 5,195,248,6,15,132,244,5,15,130,244,253,217,232,222,252,241,252,247,216,131, |
460 | 15,84,194,252,242,15,92,224,15,40,197,252,242,15,89,204,252,242,15,92,193, | 474 | 252,248,1,15,132,244,5,252,233,244,1,248,7,221,216,217,232,195,248,8,217, |
461 | 195,248,1,252,242,15,89,200,15,40,197,252,242,15,92,193,195,255,217,193,216, | 475 | 84,36,4,217,201,217,84,36,8,139,68,36,4,209,224,61,0,0,0,252,255,15,132,244, |
462 | 252,241,217,124,36,4,102,184,0,4,102,11,68,36,4,102,37,252,255,252,247,102, | 476 | 248,139,68,36,8,209,224,15,132,244,250,61,0,0,0,252,255,15,132,244,250,217, |
463 | 137,68,36,6,217,108,36,6,217,252,252,217,108,36,4,222,201,222,252,233,195, | 477 | 252,241,252,233,244,159,248,9,255,217,232,255,223,252,234,255,221,252,234, |
464 | 255,248,97,217,252,234,222,201,248,157,217,84,36,4,129,124,36,4,0,0,128,127, | 478 | 223,224,158,255,15,132,244,247,217,201,248,1,221,216,195,248,2,217,225,217, |
465 | 15,132,244,247,129,124,36,4,0,0,128,252,255,15,132,244,248,248,158,217,192, | 479 | 232,255,15,132,244,249,221,216,217,225,217,252,238,184,0,0,0,0,15,146,208, |
466 | 217,252,252,220,252,233,217,201,217,252,240,217,232,222,193,217,252,253,221, | 480 | 209,200,51,68,36,4,15,137,244,249,217,201,248,3,221,217,217,225,195,248,4, |
467 | 217,248,1,195,248,2,221,216,217,252,238,195,255,248,116,219,84,36,4,219,68, | 481 | 131,124,36,4,0,15,141,244,3,221,216,221,216,133,192,15,132,244,251,217,252, |
468 | 36,4,255,223,252,233,255,221,252,233,223,224,158,255,15,133,244,254,15,138, | 482 | 238,195,248,5,199,68,36,4,0,0,128,127,217,68,36,4,195,255,248,117,255,248, |
469 | 244,255,221,216,139,68,36,4,131,252,248,1,15,142,244,252,248,1,169,1,0,0, | 483 | 160,252,242,15,45,193,252,242,15,42,208,102,15,46,202,15,133,244,254,15,138, |
470 | 0,15,133,244,248,216,200,209,232,252,233,244,1,248,2,209,232,15,132,244,251, | 484 | 244,255,248,161,131,252,248,1,15,142,244,252,248,1,169,1,0,0,0,15,133,244, |
471 | 217,192,248,3,216,200,209,232,15,132,244,250,15,131,244,3,220,201,252,233, | 485 | 248,252,242,15,89,192,209,232,252,233,244,1,248,2,209,232,15,132,244,251, |
472 | 244,3,248,4,255,222,201,248,5,195,248,6,15,132,244,5,15,130,244,253,217,232, | 486 | 15,40,200,248,3,252,242,15,89,192,209,232,15,132,244,250,15,131,244,3,255, |
473 | 222,252,241,252,247,216,131,252,248,1,15,132,244,5,252,233,244,1,248,7,221, | 487 | 252,242,15,89,200,252,233,244,3,248,4,252,242,15,89,193,248,5,195,248,6,15, |
474 | 216,217,232,195,248,8,217,84,36,4,217,201,217,84,36,8,139,68,36,4,209,224, | 488 | 132,244,5,15,130,244,253,252,247,216,232,244,1,184,0,0,252,240,63,102,15, |
475 | 61,0,0,0,252,255,15,132,244,248,139,68,36,8,209,224,15,132,244,250,61,0,0, | 489 | 110,200,102,15,112,201,81,252,242,15,94,200,15,40,193,195,248,7,184,0,0,252, |
476 | 0,252,255,15,132,244,250,217,252,241,252,233,244,158,248,9,255,217,232,255, | 490 | 240,63,102,15,110,192,102,15,112,192,81,195,248,8,252,242,15,17,76,36,12, |
477 | 223,252,234,255,221,252,234,223,224,158,255,15,132,244,247,217,201,248,1, | 491 | 252,242,15,17,68,36,4,131,124,36,12,0,15,133,244,247,139,68,36,16,209,224, |
478 | 221,216,195,248,2,217,225,217,232,255,15,132,244,249,221,216,217,225,217, | 492 | 61,0,0,224,252,255,15,132,244,248,248,1,131,124,36,4,0,15,133,244,247,255, |
479 | 252,238,184,0,0,0,0,15,146,208,209,200,51,68,36,4,15,137,244,249,217,201, | 493 | 139,68,36,8,209,224,15,132,244,250,61,0,0,224,252,255,15,132,244,251,248, |
480 | 248,3,221,217,217,225,195,248,4,131,124,36,4,0,15,141,244,3,221,216,221,216, | 494 | 1,221,68,36,12,221,68,36,4,217,252,241,217,192,217,252,252,220,252,233,217, |
481 | 133,192,15,132,244,251,217,252,238,195,248,5,199,68,36,4,0,0,128,127,217, | 495 | 201,217,252,240,217,232,222,193,217,252,253,221,217,221,92,36,4,252,242,15, |
482 | 68,36,4,195,255,248,116,255,248,159,252,242,15,45,193,252,242,15,42,208,102, | 496 | 16,68,36,4,195,248,9,184,0,0,252,240,63,102,15,110,208,102,15,112,210,81, |
483 | 15,46,202,15,133,244,254,15,138,244,255,248,160,131,252,248,1,15,142,244, | 497 | 102,15,46,194,15,132,244,247,15,40,193,248,1,195,248,2,102,15,252,239,210, |
484 | 252,248,1,169,1,0,0,0,15,133,244,248,252,242,15,89,192,209,232,252,233,244, | 498 | 102,15,118,210,102,15,115,210,1,102,15,84,194,184,0,0,252,240,63,102,15,110, |
485 | 1,248,2,209,232,15,132,244,251,15,40,200,248,3,252,242,15,89,192,209,232, | 499 | 208,102,15,112,210,81,102,15,46,194,15,132,244,1,102,15,80,193,15,87,192, |
486 | 15,132,244,250,15,131,244,3,255,252,242,15,89,200,252,233,244,3,248,4,252, | 500 | 136,196,15,146,208,48,224,15,133,244,1,248,3,184,0,0,252,240,127,102,15,110, |
487 | 242,15,89,193,248,5,195,248,6,15,132,244,5,15,130,244,253,252,247,216,232, | 501 | 192,102,15,112,192,81,195,248,4,102,15,80,193,133,192,15,133,244,3,15,87, |
488 | 244,1,184,0,0,252,240,63,102,15,110,200,102,15,112,201,81,252,242,15,94,200, | 502 | 192,195,248,5,102,15,80,193,133,192,15,132,244,3,255,15,87,192,195,248,162, |
489 | 15,40,193,195,248,7,184,0,0,252,240,63,102,15,110,192,102,15,112,192,81,195, | 503 | 255,139,68,36,12,252,242,15,16,68,36,4,131,252,248,1,15,132,244,247,15,135, |
490 | 248,8,252,242,15,17,76,36,12,252,242,15,17,68,36,4,131,124,36,12,0,15,133, | 504 | 244,248,232,244,91,252,233,244,253,248,1,232,244,93,252,233,244,253,248,2, |
491 | 244,247,139,68,36,16,209,224,61,0,0,224,252,255,15,132,244,248,248,1,131, | 505 | 131,252,248,3,15,132,244,247,15,135,244,248,232,244,114,255,252,233,244,253, |
492 | 124,36,4,0,15,133,244,247,255,139,68,36,8,209,224,15,132,244,250,61,0,0,224, | 506 | 248,1,252,242,15,81,192,248,7,252,242,15,17,68,36,4,221,68,36,4,195,248,2, |
493 | 252,255,15,132,244,251,248,1,221,68,36,12,221,68,36,4,217,252,241,217,192, | 507 | 221,68,36,4,131,252,248,5,15,130,244,98,15,132,244,158,248,2,131,252,248, |
494 | 217,252,252,220,252,233,217,201,217,252,240,217,232,222,193,217,252,253,221, | 508 | 7,15,132,244,247,15,135,244,248,217,252,237,217,201,217,252,241,195,248,1, |
495 | 217,221,92,36,4,252,242,15,16,68,36,4,195,248,9,184,0,0,252,240,63,102,15, | 509 | 217,232,217,201,217,252,241,195,248,2,131,252,248,9,15,132,244,247,15,135, |
496 | 110,208,102,15,112,210,81,102,15,46,194,15,132,244,247,15,40,193,248,1,195, | 510 | 244,248,255,217,252,236,217,201,217,252,241,195,248,1,217,252,254,195,248, |
497 | 248,2,102,15,252,239,210,102,15,118,210,102,15,115,210,1,102,15,84,194,184, | 511 | 2,131,252,248,11,15,132,244,247,15,135,244,255,217,252,255,195,248,1,217, |
498 | 0,0,252,240,63,102,15,110,208,102,15,112,210,81,102,15,46,194,15,132,244, | 512 | 252,242,221,216,195,255,139,68,36,12,221,68,36,4,131,252,248,1,15,130,244, |
499 | 1,102,15,80,193,15,87,192,136,196,15,146,208,48,224,15,133,244,1,248,3,184, | 513 | 91,15,132,244,93,131,252,248,3,15,130,244,114,15,135,244,248,217,252,250, |
500 | 0,0,252,240,127,102,15,110,192,102,15,112,192,81,195,248,4,102,15,80,193, | 514 | 195,248,2,131,252,248,5,15,130,244,98,15,132,244,158,131,252,248,7,15,132, |
501 | 133,192,15,133,244,3,15,87,192,195,248,5,102,15,80,193,133,192,15,132,244, | 515 | 244,247,15,135,244,248,217,252,237,217,201,217,252,241,195,248,1,217,232, |
502 | 3,255,15,87,192,195,248,161,255,139,68,36,12,252,242,15,16,68,36,4,131,252, | 516 | 217,201,217,252,241,195,248,2,131,252,248,9,15,132,244,247,255,15,135,244, |
503 | 248,1,15,132,244,247,15,135,244,248,232,244,90,252,233,244,253,248,1,232, | 517 | 248,217,252,236,217,201,217,252,241,195,248,1,217,252,254,195,248,2,131,252, |
504 | 244,92,252,233,244,253,248,2,131,252,248,3,15,132,244,247,15,135,244,248, | 518 | 248,11,15,132,244,247,15,135,244,255,217,252,255,195,248,1,217,252,242,221, |
505 | 232,244,113,255,252,233,244,253,248,1,252,242,15,81,192,248,7,252,242,15, | 519 | 216,195,255,248,9,204,255,248,163,255,139,68,36,20,252,242,15,16,68,36,4, |
506 | 17,68,36,4,221,68,36,4,195,248,2,221,68,36,4,131,252,248,5,15,130,244,97, | 520 | 252,242,15,16,76,36,12,131,252,248,1,15,132,244,247,15,135,244,248,252,242, |
507 | 15,132,244,157,248,2,131,252,248,7,15,132,244,247,15,135,244,248,217,252, | 521 | 15,88,193,248,7,252,242,15,17,68,36,4,221,68,36,4,195,248,1,252,242,15,92, |
508 | 237,217,201,217,252,241,195,248,1,217,232,217,201,217,252,241,195,248,2,131, | 522 | 193,252,233,244,7,248,2,131,252,248,3,15,132,244,247,15,135,244,248,252,242, |
509 | 252,248,9,15,132,244,247,15,135,244,248,255,217,252,236,217,201,217,252,241, | 523 | 15,89,193,252,233,244,7,248,1,252,242,15,94,193,252,233,244,7,248,2,131,252, |
510 | 195,248,1,217,252,254,195,248,2,131,252,248,11,15,132,244,247,15,135,244, | 524 | 248,5,15,132,244,247,255,15,135,244,248,232,244,157,252,233,244,7,248,1,90, |
511 | 255,217,252,255,195,248,1,217,252,242,221,216,195,255,139,68,36,12,221,68, | 525 | 232,244,117,82,252,233,244,7,248,2,131,252,248,7,15,132,244,247,15,135,244, |
512 | 36,4,131,252,248,1,15,130,244,90,15,132,244,92,131,252,248,3,15,130,244,113, | 526 | 248,184,0,0,0,128,102,15,110,200,102,15,112,201,81,15,87,193,252,233,244, |
513 | 15,135,244,248,217,252,250,195,248,2,131,252,248,5,15,130,244,97,15,132,244, | 527 | 7,248,1,102,15,252,239,201,102,15,118,201,102,15,115,209,1,15,84,193,252, |
514 | 157,131,252,248,7,15,132,244,247,15,135,244,248,217,252,237,217,201,217,252, | 528 | 233,244,7,248,2,255,131,252,248,9,15,135,244,248,221,68,36,4,221,68,36,12, |
515 | 241,195,248,1,217,232,217,201,217,252,241,195,248,2,131,252,248,9,15,132, | 529 | 15,132,244,247,217,252,243,195,248,1,217,201,217,252,253,221,217,195,248, |
516 | 244,247,255,15,135,244,248,217,252,236,217,201,217,252,241,195,248,1,217, | 530 | 2,131,252,248,11,15,132,244,247,15,135,244,255,252,242,15,93,193,252,233, |
517 | 252,254,195,248,2,131,252,248,11,15,132,244,247,15,135,244,255,217,252,255, | 531 | 244,7,248,1,252,242,15,95,193,252,233,244,7,248,9,204,255,139,68,36,20,221, |
518 | 195,248,1,217,252,242,221,216,195,255,248,9,204,255,248,162,255,139,68,36, | 532 | 68,36,4,221,68,36,12,131,252,248,1,15,132,244,247,15,135,244,248,222,193, |
519 | 20,252,242,15,16,68,36,4,252,242,15,16,76,36,12,131,252,248,1,15,132,244, | 533 | 195,248,1,222,252,233,195,248,2,131,252,248,3,15,132,244,247,15,135,244,248, |
520 | 247,15,135,244,248,252,242,15,88,193,248,7,252,242,15,17,68,36,4,221,68,36, | 534 | 222,201,195,248,1,222,252,249,195,248,2,131,252,248,5,15,130,244,157,15,132, |
521 | 4,195,248,1,252,242,15,92,193,252,233,244,7,248,2,131,252,248,3,15,132,244, | 535 | 244,117,131,252,248,7,15,132,244,247,15,135,244,248,255,221,216,217,224,195, |
522 | 247,15,135,244,248,252,242,15,89,193,252,233,244,7,248,1,252,242,15,94,193, | 536 | 248,1,221,216,217,225,195,248,2,131,252,248,9,15,132,244,247,15,135,244,248, |
523 | 252,233,244,7,248,2,131,252,248,5,15,132,244,247,255,15,135,244,248,232,244, | 537 | 217,252,243,195,248,1,217,201,217,252,253,221,217,195,248,2,131,252,248,11, |
524 | 156,252,233,244,7,248,1,90,232,244,116,82,252,233,244,7,248,2,131,252,248, | 538 | 15,132,244,247,15,135,244,255,255,219,252,233,219,209,221,217,195,248,1,219, |
525 | 7,15,132,244,247,15,135,244,248,184,0,0,0,128,102,15,110,200,102,15,112,201, | 539 | 252,233,218,209,221,217,195,255,221,225,223,224,252,246,196,1,15,132,244, |
526 | 81,15,87,193,252,233,244,7,248,1,102,15,252,239,201,102,15,118,201,102,15, | 540 | 248,217,201,248,2,221,216,195,248,1,221,225,223,224,252,246,196,1,15,133, |
527 | 115,209,1,15,84,193,252,233,244,7,248,2,255,131,252,248,9,15,135,244,248, | 541 | 244,248,217,201,248,2,221,216,195,255,248,164,156,90,137,209,129,252,242, |
528 | 221,68,36,4,221,68,36,12,15,132,244,247,217,252,243,195,248,1,217,201,217, | 542 | 0,0,32,0,82,157,156,90,49,192,57,209,15,132,244,247,139,68,36,4,87,83,15, |
529 | 252,253,221,217,195,248,2,131,252,248,11,15,132,244,247,15,135,244,255,252, | 543 | 162,139,124,36,16,137,7,137,95,4,137,79,8,137,87,12,91,95,248,1,195,248,165, |
530 | 242,15,93,193,252,233,244,7,248,1,252,242,15,95,193,252,233,244,7,248,9,204, | 544 | 255,204,248,166,255,131,252,236,16,87,86,83,131,252,236,28,141,157,233,139, |
531 | 255,139,68,36,20,221,68,36,4,221,68,36,12,131,252,248,1,15,132,244,247,15, | 545 | 181,233,15,183,192,137,134,233,141,132,253,36,233,137,142,233,137,150,233, |
532 | 135,244,248,222,193,195,248,1,222,252,233,195,248,2,131,252,248,3,15,132, | 546 | 137,134,233,139,140,253,36,233,139,148,253,36,233,137,76,36,44,137,84,36, |
533 | 244,247,15,135,244,248,222,201,195,248,1,222,252,249,195,248,2,131,252,248, | 547 | 40,137,226,137,116,36,24,137,252,241,232,251,1,27,199,131,233,237,139,144, |
534 | 5,15,130,244,156,15,132,244,116,131,252,248,7,15,132,244,247,15,135,244,248, | 548 | 233,139,128,233,41,208,139,106,252,248,193,232,3,131,192,1,139,181,233,139, |
535 | 255,221,216,217,224,195,248,1,221,216,217,225,195,248,2,131,252,248,9,15, | 549 | 14,15,182,252,233,15,182,205,131,198,4,252,255,36,171,255,248,32,255,139, |
536 | 132,244,247,15,135,244,248,217,252,243,195,248,1,217,201,217,252,253,221, | 550 | 76,36,48,139,179,233,137,142,233,137,145,233,137,169,233,137,252,241,137, |
537 | 217,195,248,2,131,252,248,11,15,132,244,247,15,135,244,255,255,219,252,233, | 551 | 194,232,251,1,28,139,108,36,48,139,134,233,139,150,233,131,190,233,1,15,130, |
538 | 219,209,221,217,195,248,1,219,252,233,218,209,221,217,195,255,221,225,223, | 552 | 244,253,15,132,244,252,221,134,233,252,233,244,253,248,6,217,134,233,248, |
539 | 224,252,246,196,1,15,132,244,248,217,201,248,2,221,216,195,248,1,221,225, | 553 | 7,139,141,233,15,183,73,6,137,76,36,48,131,196,28,91,94,95,93,89,3,36,36, |
540 | 223,224,252,246,196,1,15,133,244,248,217,201,248,2,221,216,195,255,248,163, | 554 | 131,196,16,81,195,255,248,167,255,85,137,229,83,137,203,43,163,233,255,137, |
541 | 156,90,137,209,129,252,242,0,0,32,0,82,157,156,90,49,192,57,209,15,132,244, | 555 | 163,233,255,15,182,139,233,131,252,233,1,15,136,244,248,248,1,139,132,253, |
542 | 247,139,68,36,4,87,83,15,162,139,124,36,16,137,7,137,95,4,137,79,8,137,87, | 556 | 139,233,137,4,140,131,252,233,1,15,137,244,1,248,2,139,139,233,139,147,233, |
543 | 12,91,95,248,1,195,248,164,255,204,248,165,255,85,137,229,83,137,203,43,163, | 557 | 252,255,147,233,137,131,233,137,147,233,128,187,233,1,15,130,244,253,15,132, |
544 | 233,255,137,163,233,255,15,182,139,233,131,252,233,1,15,136,244,248,248,1, | 558 | 244,252,221,155,233,252,233,244,253,248,6,255,217,155,233,248,7,255,41,163, |
545 | 139,132,253,139,233,137,4,140,131,252,233,1,15,137,244,1,248,2,139,139,233, | 559 | 233,255,139,93,252,252,201,195,255,249,255,129,124,253,202,4,239,15,133,244, |
546 | 139,147,233,252,255,147,233,137,131,233,137,147,233,128,187,233,1,15,130, | 560 | 253,129,124,253,194,4,239,15,133,244,254,139,44,202,131,198,4,59,44,194,255, |
547 | 244,253,15,132,244,252,221,155,233,252,233,244,253,248,6,255,217,155,233, | 561 | 15,141,244,255,255,15,140,244,255,255,15,143,244,255,255,15,142,244,255,255, |
548 | 248,7,255,41,163,233,255,139,93,252,252,201,195,255,249,255,129,124,253,202, | 562 | 248,6,15,183,70,252,254,141,180,253,134,233,248,9,139,6,15,182,204,15,182, |
549 | 4,239,15,133,244,253,129,124,253,194,4,239,15,133,244,254,139,44,202,131, | 563 | 232,131,198,4,193,232,16,252,255,36,171,248,7,15,135,244,44,129,124,253,194, |
550 | 198,4,59,44,194,255,15,141,244,255,255,15,140,244,255,255,15,143,244,255, | 564 | 4,239,15,130,244,247,15,133,244,44,255,252,242,15,42,4,194,252,233,244,248, |
551 | 255,15,142,244,255,255,248,6,15,183,70,252,254,141,180,253,134,233,248,9, | 565 | 255,221,4,202,219,4,194,252,233,244,249,255,248,8,15,135,244,44,255,252,242, |
552 | 139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,7,15, | 566 | 15,42,12,202,252,242,15,16,4,194,131,198,4,102,15,46,193,255,15,134,244,9, |
553 | 135,244,43,129,124,253,194,4,239,15,130,244,247,15,133,244,43,255,252,242, | 567 | 255,15,135,244,9,255,15,130,244,9,255,15,131,244,9,255,252,233,244,6,255, |
554 | 15,42,4,194,252,233,244,248,255,221,4,202,219,4,194,252,233,244,249,255,248, | 568 | 219,4,202,252,233,244,248,255,129,124,253,202,4,239,15,131,244,44,129,124, |
555 | 8,15,135,244,43,255,252,242,15,42,12,202,252,242,15,16,4,194,131,198,4,102, | 569 | 253,194,4,239,15,131,244,44,255,248,1,252,242,15,16,4,194,248,2,131,198,4, |
556 | 15,46,193,255,15,134,244,9,255,15,135,244,9,255,15,130,244,9,255,15,131,244, | 570 | 102,15,46,4,202,248,3,255,248,1,221,4,202,248,2,221,4,194,248,3,131,198,4, |
557 | 9,255,252,233,244,6,255,219,4,202,252,233,244,248,255,129,124,253,202,4,239, | 571 | 255,15,135,244,247,255,15,130,244,247,255,15,131,244,247,255,15,183,70,252, |
558 | 15,131,244,43,129,124,253,194,4,239,15,131,244,43,255,248,1,252,242,15,16, | 572 | 254,141,180,253,134,233,248,1,139,6,15,182,204,15,182,232,131,198,4,193,232, |
559 | 4,194,248,2,131,198,4,102,15,46,4,202,248,3,255,248,1,221,4,202,248,2,221, | 573 | 16,252,255,36,171,255,139,108,194,4,131,198,4,255,129,252,253,239,15,133, |
560 | 4,194,248,3,131,198,4,255,15,134,244,247,255,15,135,244,247,255,15,130,244, | 574 | 244,253,129,124,253,202,4,239,15,133,244,254,139,44,194,59,44,202,255,15, |
561 | 247,255,15,131,244,247,255,15,183,70,252,254,141,180,253,134,233,248,1,139, | 575 | 133,244,255,255,15,132,244,255,255,15,183,70,252,254,141,180,253,134,233, |
562 | 6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,255,139,108,194, | 576 | 248,9,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248, |
563 | 4,131,198,4,255,129,252,253,239,15,133,244,253,129,124,253,202,4,239,15,133, | 577 | 7,15,135,244,251,129,124,253,202,4,239,15,130,244,247,15,133,244,251,255, |
564 | 244,254,139,44,194,59,44,202,255,15,133,244,255,255,15,132,244,255,255,15, | 578 | 252,242,15,42,4,202,255,219,4,202,255,252,233,244,248,248,8,15,135,244,251, |
565 | 183,70,252,254,141,180,253,134,233,248,9,139,6,15,182,204,15,182,232,131, | 579 | 255,252,242,15,42,4,194,102,15,46,4,202,255,219,4,194,221,4,202,255,252,233, |
566 | 198,4,193,232,16,252,255,36,171,248,7,15,135,244,251,129,124,253,202,4,239, | 580 | 244,250,255,129,252,253,239,15,131,244,251,129,124,253,202,4,239,15,131,244, |
567 | 15,130,244,247,15,133,244,251,255,252,242,15,42,4,202,255,219,4,202,255,252, | 581 | 251,255,248,1,252,242,15,16,4,202,248,2,102,15,46,4,194,248,4,255,248,1,221, |
568 | 233,244,248,248,8,15,135,244,251,255,252,242,15,42,4,194,102,15,46,4,202, | 582 | 4,202,248,2,221,4,194,248,4,255,15,138,244,248,15,133,244,248,255,15,138, |
569 | 255,219,4,194,221,4,202,255,252,233,244,250,255,129,252,253,239,15,131,244, | 583 | 244,248,15,132,244,247,255,248,1,15,183,70,252,254,141,180,253,134,233,248, |
570 | 251,129,124,253,202,4,239,15,131,244,251,255,248,1,252,242,15,16,4,202,248, | 584 | 2,255,248,2,15,183,70,252,254,141,180,253,134,233,248,1,255,252,233,244,9, |
571 | 2,102,15,46,4,194,248,4,255,248,1,221,4,202,248,2,221,4,194,248,4,255,15, | 585 | 255,248,5,255,129,252,253,239,15,132,244,49,129,124,253,202,4,239,15,132, |
572 | 138,244,248,15,133,244,248,255,15,138,244,248,15,132,244,247,255,248,1,15, | 586 | 244,49,255,57,108,202,4,15,133,244,2,129,252,253,239,15,131,244,1,139,12, |
573 | 183,70,252,254,141,180,253,134,233,248,2,255,248,2,15,183,70,252,254,141, | 587 | 202,139,4,194,57,193,15,132,244,1,129,252,253,239,15,135,244,2,139,169,233, |
574 | 180,253,134,233,248,1,255,252,233,244,9,255,248,5,255,129,252,253,239,15, | 588 | 133,252,237,15,132,244,2,252,246,133,233,235,15,133,244,2,255,49,252,237, |
575 | 132,244,48,129,124,253,202,4,239,15,132,244,48,255,57,108,202,4,15,133,244, | 589 | 255,189,1,0,0,0,255,252,233,244,48,255,248,3,129,252,253,239,255,15,133,244, |
576 | 2,129,252,253,239,15,131,244,1,139,12,202,139,4,194,57,193,15,132,244,1,129, | 590 | 9,255,252,233,244,49,255,252,247,208,139,108,202,4,131,198,4,129,252,253, |
577 | 252,253,239,15,135,244,2,139,169,233,133,252,237,15,132,244,2,252,246,133, | 591 | 239,15,133,244,249,139,12,202,59,12,135,255,139,108,202,4,131,198,4,255,129, |
578 | 233,235,15,133,244,2,255,49,252,237,255,189,1,0,0,0,255,252,233,244,47,255, | 592 | 252,253,239,15,133,244,253,129,124,253,199,4,239,15,133,244,254,139,44,199, |
579 | 248,3,129,252,253,239,255,15,133,244,9,255,252,233,244,48,255,252,247,208, | 593 | 59,44,202,255,15,183,70,252,254,141,180,253,134,233,248,9,139,6,15,182,204, |
580 | 139,108,202,4,131,198,4,129,252,253,239,15,133,244,249,139,12,202,59,12,135, | 594 | 15,182,232,131,198,4,193,232,16,252,255,36,171,248,7,15,135,244,249,129,124, |
581 | 255,139,108,202,4,131,198,4,255,129,252,253,239,15,133,244,253,129,124,253, | 595 | 253,199,4,239,15,130,244,247,255,252,242,15,42,4,199,255,219,4,199,255,252, |
582 | 199,4,239,15,133,244,254,139,44,199,59,44,202,255,15,183,70,252,254,141,180, | 596 | 233,244,248,248,8,255,252,242,15,42,4,202,102,15,46,4,199,255,219,4,202,221, |
583 | 253,134,233,248,9,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255, | 597 | 4,199,255,129,252,253,239,15,131,244,249,255,248,1,252,242,15,16,4,199,248, |
584 | 36,171,248,7,15,135,244,249,129,124,253,199,4,239,15,130,244,247,255,252, | 598 | 2,102,15,46,4,202,248,4,255,248,1,221,4,199,248,2,221,4,202,248,4,255,252, |
585 | 242,15,42,4,199,255,219,4,199,255,252,233,244,248,248,8,255,252,242,15,42, | 599 | 247,208,139,108,202,4,131,198,4,57,197,255,15,133,244,249,15,183,70,252,254, |
586 | 4,202,102,15,46,4,199,255,219,4,202,221,4,199,255,129,252,253,239,15,131, | 600 | 141,180,253,134,233,248,2,139,6,15,182,204,15,182,232,131,198,4,193,232,16, |
587 | 244,249,255,248,1,252,242,15,16,4,199,248,2,102,15,46,4,202,248,4,255,248, | 601 | 252,255,36,171,248,3,129,252,253,239,15,133,244,2,252,233,244,49,255,15,132, |
588 | 1,221,4,199,248,2,221,4,202,248,4,255,252,247,208,139,108,202,4,131,198,4, | 602 | 244,248,129,252,253,239,15,132,244,49,15,183,70,252,254,141,180,253,134,233, |
589 | 57,197,255,15,133,244,249,15,183,70,252,254,141,180,253,134,233,248,2,139, | 603 | 248,2,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,255, |
590 | 6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,3,129,252, | 604 | 139,108,194,4,131,198,4,129,252,253,239,255,137,108,202,4,139,44,194,137, |
591 | 253,239,15,133,244,2,252,233,244,48,255,15,132,244,248,129,252,253,239,15, | 605 | 44,202,255,139,108,194,4,139,4,194,137,108,202,4,137,4,202,139,6,15,182,204, |
592 | 132,244,48,15,183,70,252,254,141,180,253,134,233,248,2,139,6,15,182,204,15, | 606 | 15,182,232,131,198,4,193,232,16,252,255,36,171,255,49,252,237,129,124,253, |
593 | 182,232,131,198,4,193,232,16,252,255,36,171,255,139,108,194,4,131,198,4,129, | 607 | 194,4,239,129,213,239,137,108,202,4,139,6,15,182,204,15,182,232,131,198,4, |
594 | 252,253,239,255,137,108,202,4,139,44,194,137,44,202,255,139,108,194,4,139, | 608 | 193,232,16,252,255,36,171,255,129,124,253,194,4,239,15,133,244,251,139,44, |
595 | 4,194,137,108,202,4,137,4,202,139,6,15,182,204,15,182,232,131,198,4,193,232, | 609 | 194,252,247,221,15,128,244,250,199,68,202,4,237,137,44,202,248,9,139,6,15, |
596 | 16,252,255,36,171,255,49,252,237,129,124,253,194,4,239,129,213,239,137,108, | 610 | 182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,4,199,68,202,4, |
597 | 202,4,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,255, | 611 | 0,0,224,65,199,4,202,0,0,0,0,252,233,244,9,248,5,15,135,244,54,255,129,124, |
598 | 129,124,253,194,4,239,15,133,244,251,139,44,194,252,247,221,15,128,244,250, | 612 | 253,194,4,239,15,131,244,54,255,252,242,15,16,4,194,184,0,0,0,128,102,15, |
599 | 199,68,202,4,237,137,44,202,248,9,139,6,15,182,204,15,182,232,131,198,4,193, | 613 | 110,200,102,15,112,201,81,15,87,193,252,242,15,17,4,202,255,221,4,194,217, |
600 | 232,16,252,255,36,171,248,4,199,68,202,4,0,0,224,65,199,4,202,0,0,0,0,252, | 614 | 224,221,28,202,255,129,124,253,194,4,239,15,133,244,248,139,4,194,255,139, |
601 | 233,244,9,248,5,15,135,244,53,255,129,124,253,194,4,239,15,131,244,53,255, | 615 | 128,233,248,1,199,68,202,4,237,137,4,202,255,15,87,192,252,242,15,42,128, |
602 | 252,242,15,16,4,194,184,0,0,0,128,102,15,110,200,102,15,112,201,81,15,87, | 616 | 233,248,1,252,242,15,17,4,202,255,219,128,233,248,1,221,28,202,255,139,6, |
603 | 193,252,242,15,17,4,202,255,221,4,194,217,224,221,28,202,255,129,124,253, | 617 | 15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,2,129,124,253, |
604 | 194,4,239,15,133,244,248,139,4,194,255,139,128,233,248,1,199,68,202,4,237, | 618 | 194,4,239,15,133,244,57,139,12,194,255,139,169,233,131,252,253,0,15,133,244, |
605 | 137,4,202,255,15,87,192,252,242,15,42,128,233,248,1,252,242,15,17,4,202,255, | 619 | 255,248,3,255,248,58,137,213,232,251,1,20,255,252,242,15,42,192,255,137,4, |
606 | 219,128,233,248,1,221,28,202,255,139,6,15,182,204,15,182,232,131,198,4,193, | 620 | 36,219,4,36,255,137,252,234,15,182,78,252,253,252,233,244,1,255,248,9,252, |
607 | 232,16,252,255,36,171,248,2,129,124,253,194,4,239,15,133,244,56,139,12,194, | 621 | 246,133,233,235,15,133,244,3,252,233,244,57,255,15,182,252,236,15,182,192, |
608 | 255,139,169,233,131,252,253,0,15,133,244,255,248,3,255,248,57,137,213,232, | 622 | 255,129,124,253,252,234,4,239,15,133,244,51,129,124,253,199,4,239,15,133, |
609 | 251,1,20,255,252,242,15,42,192,255,137,4,36,219,4,36,255,137,252,234,15,182, | 623 | 244,51,139,44,252,234,3,44,199,15,128,244,50,255,129,124,253,252,234,4,239, |
610 | 78,252,253,252,233,244,1,255,248,9,252,246,133,233,235,15,133,244,3,252,233, | 624 | 15,133,244,53,129,124,253,199,4,239,15,133,244,53,139,4,199,3,4,252,234,15, |
611 | 244,56,255,15,182,252,236,15,182,192,255,129,124,253,252,234,4,239,15,133, | 625 | 128,244,52,255,129,124,253,252,234,4,239,15,133,244,56,129,124,253,194,4, |
612 | 244,50,129,124,253,199,4,239,15,133,244,50,139,44,252,234,3,44,199,15,128, | 626 | 239,15,133,244,56,139,44,252,234,3,44,194,15,128,244,55,255,199,68,202,4, |
613 | 244,49,255,129,124,253,252,234,4,239,15,133,244,52,129,124,253,199,4,239, | 627 | 237,255,129,124,253,252,234,4,239,15,131,244,51,255,129,124,253,199,4,239, |
614 | 15,133,244,52,139,4,199,3,4,252,234,15,128,244,51,255,129,124,253,252,234, | 628 | 15,131,244,51,255,252,242,15,16,4,252,234,252,242,15,88,4,199,255,221,4,252, |
615 | 4,239,15,133,244,55,129,124,253,194,4,239,15,133,244,55,139,44,252,234,3, | 629 | 234,220,4,199,255,129,124,253,252,234,4,239,15,131,244,53,255,129,124,253, |
616 | 44,194,15,128,244,54,255,199,68,202,4,237,255,129,124,253,252,234,4,239,15, | 630 | 199,4,239,15,131,244,53,255,252,242,15,16,4,199,252,242,15,88,4,252,234,255, |
617 | 131,244,50,255,129,124,253,199,4,239,15,131,244,50,255,252,242,15,16,4,252, | 631 | 221,4,199,220,4,252,234,255,129,124,253,252,234,4,239,15,131,244,56,129,124, |
618 | 234,252,242,15,88,4,199,255,221,4,252,234,220,4,199,255,129,124,253,252,234, | 632 | 253,194,4,239,15,131,244,56,255,252,242,15,16,4,252,234,252,242,15,88,4,194, |
619 | 4,239,15,131,244,52,255,129,124,253,199,4,239,15,131,244,52,255,252,242,15, | 633 | 255,221,4,252,234,220,4,194,255,129,124,253,252,234,4,239,15,133,244,51,129, |
620 | 16,4,199,252,242,15,88,4,252,234,255,221,4,199,220,4,252,234,255,129,124, | 634 | 124,253,199,4,239,15,133,244,51,139,44,252,234,43,44,199,15,128,244,50,255, |
621 | 253,252,234,4,239,15,131,244,55,129,124,253,194,4,239,15,131,244,55,255,252, | 635 | 129,124,253,252,234,4,239,15,133,244,53,129,124,253,199,4,239,15,133,244, |
622 | 242,15,16,4,252,234,252,242,15,88,4,194,255,221,4,252,234,220,4,194,255,129, | 636 | 53,139,4,199,43,4,252,234,15,128,244,52,255,129,124,253,252,234,4,239,15, |
623 | 124,253,252,234,4,239,15,133,244,50,129,124,253,199,4,239,15,133,244,50,139, | 637 | 133,244,56,129,124,253,194,4,239,15,133,244,56,139,44,252,234,43,44,194,15, |
624 | 44,252,234,43,44,199,15,128,244,49,255,129,124,253,252,234,4,239,15,133,244, | 638 | 128,244,55,255,252,242,15,16,4,252,234,252,242,15,92,4,199,255,221,4,252, |
625 | 52,129,124,253,199,4,239,15,133,244,52,139,4,199,43,4,252,234,15,128,244, | 639 | 234,220,36,199,255,252,242,15,16,4,199,252,242,15,92,4,252,234,255,221,4, |
626 | 51,255,129,124,253,252,234,4,239,15,133,244,55,129,124,253,194,4,239,15,133, | 640 | 199,220,36,252,234,255,252,242,15,16,4,252,234,252,242,15,92,4,194,255,221, |
627 | 244,55,139,44,252,234,43,44,194,15,128,244,54,255,252,242,15,16,4,252,234, | 641 | 4,252,234,220,36,194,255,129,124,253,252,234,4,239,15,133,244,51,129,124, |
628 | 252,242,15,92,4,199,255,221,4,252,234,220,36,199,255,252,242,15,16,4,199, | 642 | 253,199,4,239,15,133,244,51,139,44,252,234,15,175,44,199,15,128,244,50,255, |
629 | 252,242,15,92,4,252,234,255,221,4,199,220,36,252,234,255,252,242,15,16,4, | 643 | 129,124,253,252,234,4,239,15,133,244,53,129,124,253,199,4,239,15,133,244, |
630 | 252,234,252,242,15,92,4,194,255,221,4,252,234,220,36,194,255,129,124,253, | 644 | 53,139,4,199,15,175,4,252,234,15,128,244,52,255,129,124,253,252,234,4,239, |
631 | 252,234,4,239,15,133,244,50,129,124,253,199,4,239,15,133,244,50,139,44,252, | 645 | 15,133,244,56,129,124,253,194,4,239,15,133,244,56,139,44,252,234,15,175,44, |
632 | 234,15,175,44,199,15,128,244,49,255,129,124,253,252,234,4,239,15,133,244, | 646 | 194,15,128,244,55,255,252,242,15,16,4,252,234,252,242,15,89,4,199,255,221, |
633 | 52,129,124,253,199,4,239,15,133,244,52,139,4,199,15,175,4,252,234,15,128, | 647 | 4,252,234,220,12,199,255,252,242,15,16,4,199,252,242,15,89,4,252,234,255, |
634 | 244,51,255,129,124,253,252,234,4,239,15,133,244,55,129,124,253,194,4,239, | 648 | 221,4,199,220,12,252,234,255,252,242,15,16,4,252,234,252,242,15,89,4,194, |
635 | 15,133,244,55,139,44,252,234,15,175,44,194,15,128,244,54,255,252,242,15,16, | 649 | 255,221,4,252,234,220,12,194,255,252,242,15,16,4,252,234,252,242,15,94,4, |
636 | 4,252,234,252,242,15,89,4,199,255,221,4,252,234,220,12,199,255,252,242,15, | 650 | 199,255,221,4,252,234,220,52,199,255,252,242,15,16,4,199,252,242,15,94,4, |
637 | 16,4,199,252,242,15,89,4,252,234,255,221,4,199,220,12,252,234,255,252,242, | 651 | 252,234,255,221,4,199,220,52,252,234,255,252,242,15,16,4,252,234,252,242, |
638 | 15,16,4,252,234,252,242,15,89,4,194,255,221,4,252,234,220,12,194,255,252, | 652 | 15,94,4,194,255,221,4,252,234,220,52,194,255,252,242,15,16,4,252,234,252, |
639 | 242,15,16,4,252,234,252,242,15,94,4,199,255,221,4,252,234,220,52,199,255, | 653 | 242,15,16,12,199,255,221,4,252,234,221,4,199,255,252,242,15,16,4,199,252, |
640 | 252,242,15,16,4,199,252,242,15,94,4,252,234,255,221,4,199,220,52,252,234, | 654 | 242,15,16,12,252,234,255,221,4,199,221,4,252,234,255,252,242,15,16,4,252, |
641 | 255,252,242,15,16,4,252,234,252,242,15,94,4,194,255,221,4,252,234,220,52, | 655 | 234,252,242,15,16,12,194,255,221,4,252,234,221,4,194,255,248,168,232,244, |
642 | 194,255,252,242,15,16,4,252,234,252,242,15,16,12,199,255,221,4,252,234,221, | 656 | 157,255,252,233,244,168,255,232,244,117,255,15,182,252,236,15,182,192,141, |
643 | 4,199,255,252,242,15,16,4,199,252,242,15,16,12,252,234,255,221,4,199,221, | 657 | 12,194,41,232,137,76,36,4,137,68,36,8,248,36,139,108,36,48,137,44,36,137, |
644 | 4,252,234,255,252,242,15,16,4,252,234,252,242,15,16,12,194,255,221,4,252, | 658 | 149,233,137,116,36,24,232,251,1,29,139,149,233,133,192,15,133,244,45,15,182, |
645 | 234,221,4,194,255,248,166,232,244,156,255,252,233,244,166,255,232,244,116, | 659 | 110,252,255,15,182,78,252,253,139,68,252,234,4,139,44,252,234,137,68,202, |
646 | 255,15,182,252,236,15,182,192,141,12,194,41,232,137,76,36,4,137,68,36,8,248, | 660 | 4,137,44,202,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36, |
647 | 35,139,108,36,48,137,44,36,137,149,233,137,116,36,24,232,251,1,27,139,149, | 661 | 171,255,252,247,208,139,4,135,199,68,202,4,237,137,4,202,139,6,15,182,204, |
648 | 233,133,192,15,133,244,44,15,182,110,252,255,15,182,78,252,253,139,68,252, | 662 | 15,182,232,131,198,4,193,232,16,252,255,36,171,255,15,191,192,199,68,202, |
649 | 234,4,139,44,252,234,137,68,202,4,137,44,202,139,6,15,182,204,15,182,232, | 663 | 4,237,137,4,202,255,15,191,192,252,242,15,42,192,252,242,15,17,4,202,255, |
650 | 131,198,4,193,232,16,252,255,36,171,255,252,247,208,139,4,135,199,68,202, | 664 | 223,70,252,254,221,28,202,255,252,242,15,16,4,199,252,242,15,17,4,202,255, |
651 | 4,237,137,4,202,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255, | 665 | 221,4,199,221,28,202,255,252,247,208,137,68,202,4,139,6,15,182,204,15,182, |
652 | 36,171,255,15,191,192,199,68,202,4,237,137,4,202,255,15,191,192,252,242,15, | 666 | 232,131,198,4,193,232,16,252,255,36,171,255,141,76,202,12,141,68,194,4,189, |
653 | 42,192,252,242,15,17,4,202,255,223,70,252,254,221,28,202,255,252,242,15,16, | 667 | 237,137,105,252,248,248,1,137,41,131,193,8,57,193,15,134,244,1,139,6,15,182, |
654 | 4,199,252,242,15,17,4,202,255,221,4,199,221,28,202,255,252,247,208,137,68, | 668 | 204,15,182,232,131,198,4,193,232,16,252,255,36,171,255,139,106,252,248,139, |
655 | 202,4,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,255, | 669 | 172,253,133,233,139,173,233,139,69,4,139,109,0,137,68,202,4,137,44,202,139, |
656 | 141,76,202,12,141,68,194,4,189,237,137,105,252,248,248,1,137,41,131,193,8, | 670 | 6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,255,139,106,252, |
657 | 57,193,15,134,244,1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252, | 671 | 248,139,172,253,141,233,128,189,233,0,139,173,233,139,12,194,139,68,194,4, |
658 | 255,36,171,255,139,106,252,248,139,172,253,133,233,139,173,233,139,69,4,139, | 672 | 137,77,0,137,69,4,15,132,244,247,252,246,133,233,235,15,133,244,248,248,1, |
659 | 109,0,137,68,202,4,137,44,202,139,6,15,182,204,15,182,232,131,198,4,193,232, | 673 | 139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,2,129, |
660 | 16,252,255,36,171,255,139,106,252,248,139,172,253,141,233,128,189,233,0,139, | 674 | 232,239,129,252,248,239,15,134,244,1,252,246,129,233,235,15,132,244,1,135, |
661 | 173,233,139,12,194,139,68,194,4,137,77,0,137,69,4,15,132,244,247,252,246, | 675 | 213,141,139,233,255,232,251,1,30,137,252,234,252,233,244,1,255,252,247,208, |
662 | 133,233,235,15,133,244,248,248,1,139,6,15,182,204,15,182,232,131,198,4,193, | 676 | 139,106,252,248,139,172,253,141,233,139,12,135,139,133,233,137,8,199,64,4, |
663 | 232,16,252,255,36,171,248,2,129,232,239,129,252,248,239,15,134,244,1,252, | 677 | 237,252,246,133,233,235,15,133,244,248,248,1,139,6,15,182,204,15,182,232, |
664 | 246,129,233,235,15,132,244,1,135,213,141,139,233,255,232,251,1,28,137,252, | 678 | 131,198,4,193,232,16,252,255,36,171,248,2,252,246,129,233,235,15,132,244, |
665 | 234,252,233,244,1,255,252,247,208,139,106,252,248,139,172,253,141,233,139, | 679 | 1,128,189,233,0,15,132,244,1,137,213,137,194,141,139,233,232,251,1,30,137, |
666 | 12,135,139,133,233,137,8,199,64,4,237,252,246,133,233,235,15,133,244,248, | 680 | 252,234,252,233,244,1,255,139,106,252,248,255,252,242,15,16,4,199,255,139, |
667 | 248,1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248, | 681 | 172,253,141,233,139,141,233,255,252,242,15,17,1,255,221,25,255,252,247,208, |
668 | 2,252,246,129,233,235,15,132,244,1,128,189,233,0,15,132,244,1,137,213,137, | 682 | 139,106,252,248,139,172,253,141,233,139,141,233,137,65,4,139,6,15,182,204, |
669 | 194,141,139,233,232,251,1,28,137,252,234,252,233,244,1,255,139,106,252,248, | 683 | 15,182,232,131,198,4,193,232,16,252,255,36,171,255,141,180,253,134,233,139, |
670 | 255,252,242,15,16,4,199,255,139,172,253,141,233,139,141,233,255,252,242,15, | 684 | 108,36,48,131,189,233,0,15,132,244,247,137,149,233,141,20,202,137,252,233, |
671 | 17,1,255,221,25,255,252,247,208,139,106,252,248,139,172,253,141,233,139,141, | 685 | 232,251,1,31,139,149,233,248,1,139,6,15,182,204,15,182,232,131,198,4,193, |
672 | 233,137,65,4,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36, | 686 | 232,16,252,255,36,171,255,252,247,208,139,74,252,248,139,4,135,139,108,36, |
673 | 171,255,141,180,253,134,233,139,108,36,48,131,189,233,0,15,132,244,247,137, | 687 | 48,137,76,36,8,137,68,36,4,137,44,36,137,149,233,137,116,36,24,232,251,1, |
674 | 149,233,141,20,202,137,252,233,232,251,1,29,139,149,233,248,1,139,6,15,182, | 688 | 32,139,149,233,15,182,78,252,253,137,4,202,199,68,202,4,237,139,6,15,182, |
675 | 204,15,182,232,131,198,4,193,232,16,252,255,36,171,255,252,247,208,139,74, | 689 | 204,15,182,232,131,198,4,193,232,16,252,255,36,171,255,139,108,36,48,137, |
676 | 252,248,139,4,135,139,108,36,48,137,76,36,8,137,68,36,4,137,44,36,137,149, | 690 | 149,233,139,139,233,59,139,233,137,116,36,24,15,131,244,251,248,1,137,193, |
677 | 233,137,116,36,24,232,251,1,30,139,149,233,15,182,78,252,253,137,4,202,199, | 691 | 37,252,255,7,0,0,193,252,233,11,137,76,36,8,61,252,255,7,0,0,15,132,244,249, |
678 | 68,202,4,237,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36, | 692 | 248,2,137,44,36,137,68,36,4,232,251,1,33,139,149,233,15,182,78,252,253,137, |
679 | 171,255,139,108,36,48,137,149,233,139,139,233,59,139,233,137,116,36,24,15, | 693 | 4,202,199,68,202,4,237,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252, |
680 | 131,244,251,248,1,137,193,37,252,255,7,0,0,193,252,233,11,137,76,36,8,61, | 694 | 255,36,171,248,3,184,1,8,0,0,252,233,244,2,248,5,137,252,233,232,251,1,34, |
681 | 252,255,7,0,0,15,132,244,249,248,2,137,44,36,137,68,36,4,232,251,1,31,139, | 695 | 15,183,70,252,254,252,233,244,1,255,252,247,208,139,108,36,48,139,139,233, |
682 | 149,233,15,182,78,252,253,137,4,202,199,68,202,4,237,139,6,15,182,204,15, | 696 | 137,116,36,24,59,139,233,137,149,233,15,131,244,249,248,2,139,20,135,137, |
683 | 182,232,131,198,4,193,232,16,252,255,36,171,248,3,184,1,8,0,0,252,233,244, | 697 | 252,233,232,251,1,35,139,149,233,15,182,78,252,253,137,4,202,199,68,202,4, |
684 | 2,248,5,137,252,233,232,251,1,32,15,183,70,252,254,252,233,244,1,255,252, | 698 | 237,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,3, |
685 | 247,208,139,108,36,48,139,139,233,137,116,36,24,59,139,233,137,149,233,15, | 699 | 137,252,233,232,251,1,34,15,183,70,252,254,252,247,208,252,233,244,2,255, |
686 | 131,244,249,248,2,139,20,135,137,252,233,232,251,1,33,139,149,233,15,182, | 700 | 252,247,208,139,106,252,248,139,173,233,139,4,135,252,233,244,169,255,252, |
687 | 78,252,253,137,4,202,199,68,202,4,237,139,6,15,182,204,15,182,232,131,198, | 701 | 247,208,139,106,252,248,139,173,233,139,4,135,252,233,244,170,255,15,182, |
688 | 4,193,232,16,252,255,36,171,248,3,137,252,233,232,251,1,32,15,183,70,252, | 702 | 252,236,15,182,192,129,124,253,252,234,4,239,15,133,244,39,139,44,252,234, |
689 | 254,252,247,208,252,233,244,2,255,252,247,208,139,106,252,248,139,173,233, | 703 | 255,129,124,253,194,4,239,15,133,244,251,139,4,194,255,129,124,253,194,4, |
690 | 139,4,135,252,233,244,167,255,252,247,208,139,106,252,248,139,173,233,139, | 704 | 239,15,131,244,251,255,252,242,15,16,4,194,252,242,15,45,192,252,242,15,42, |
691 | 4,135,252,233,244,168,255,15,182,252,236,15,182,192,129,124,253,252,234,4, | 705 | 200,102,15,46,193,255,221,4,194,219,20,36,219,4,36,255,15,133,244,39,255, |
692 | 239,15,133,244,38,139,44,252,234,255,129,124,253,194,4,239,15,133,244,251, | 706 | 59,133,233,15,131,244,39,193,224,3,3,133,233,129,120,253,4,239,15,132,244, |
693 | 139,4,194,255,129,124,253,194,4,239,15,131,244,251,255,252,242,15,16,4,194, | 707 | 248,139,40,139,64,4,137,44,202,137,68,202,4,248,1,139,6,15,182,204,15,182, |
694 | 252,242,15,45,192,252,242,15,42,200,102,15,46,193,255,221,4,194,219,20,36, | 708 | 232,131,198,4,193,232,16,252,255,36,171,248,2,131,189,233,0,15,132,244,249, |
695 | 219,4,36,255,15,133,244,38,255,59,133,233,15,131,244,38,193,224,3,3,133,233, | 709 | 139,141,233,252,246,129,233,235,15,132,244,39,15,182,78,252,253,248,3,199, |
696 | 129,120,253,4,239,15,132,244,248,139,40,139,64,4,137,44,202,137,68,202,4, | 710 | 68,202,4,237,252,233,244,1,248,5,255,129,124,253,194,4,239,15,133,244,39, |
697 | 248,1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248, | 711 | 139,4,194,252,233,244,169,255,15,182,252,236,15,182,192,252,247,208,139,4, |
698 | 2,131,189,233,0,15,132,244,249,139,141,233,252,246,129,233,235,15,132,244, | 712 | 135,129,124,253,252,234,4,239,15,133,244,37,139,44,252,234,248,169,139,141, |
699 | 38,15,182,78,252,253,248,3,199,68,202,4,237,252,233,244,1,248,5,255,129,124, | 713 | 233,35,136,233,105,201,239,3,141,233,248,1,129,185,233,239,15,133,244,250, |
700 | 253,194,4,239,15,133,244,38,139,4,194,252,233,244,167,255,15,182,252,236, | 714 | 57,129,233,15,133,244,250,129,121,253,4,239,15,132,244,251,15,182,70,252, |
701 | 15,182,192,252,247,208,139,4,135,129,124,253,252,234,4,239,15,133,244,36, | 715 | 253,139,41,139,73,4,137,44,194,137,76,194,4,248,2,255,139,6,15,182,204,15, |
702 | 139,44,252,234,248,167,139,141,233,35,136,233,105,201,239,3,141,233,248,1, | 716 | 182,232,131,198,4,193,232,16,252,255,36,171,248,3,15,182,70,252,253,199,68, |
703 | 129,185,233,239,15,133,244,250,57,129,233,15,133,244,250,129,121,253,4,239, | 717 | 194,4,237,252,233,244,2,248,4,139,137,233,133,201,15,133,244,1,248,5,139, |
704 | 15,132,244,251,15,182,70,252,253,139,41,139,73,4,137,44,194,137,76,194,4, | 718 | 141,233,133,201,15,132,244,3,252,246,129,233,235,15,133,244,3,252,233,244, |
705 | 248,2,255,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171, | 719 | 37,255,15,182,252,236,15,182,192,129,124,253,252,234,4,239,15,133,244,38, |
706 | 248,3,15,182,70,252,253,199,68,194,4,237,252,233,244,2,248,4,139,137,233, | 720 | 139,44,252,234,59,133,233,15,131,244,38,193,224,3,3,133,233,129,120,253,4, |
707 | 133,201,15,133,244,1,248,5,139,141,233,133,201,15,132,244,3,252,246,129,233, | 721 | 239,15,132,244,248,139,40,139,64,4,137,44,202,137,68,202,4,248,1,139,6,15, |
708 | 235,15,133,244,3,252,233,244,36,255,15,182,252,236,15,182,192,129,124,253, | 722 | 182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,2,131,189,233, |
709 | 252,234,4,239,15,133,244,37,139,44,252,234,59,133,233,15,131,244,37,193,224, | 723 | 0,15,132,244,249,139,141,233,252,246,129,233,235,15,132,244,38,255,15,182, |
710 | 3,3,133,233,129,120,253,4,239,15,132,244,248,139,40,139,64,4,137,44,202,137, | 724 | 78,252,253,248,3,199,68,202,4,237,252,233,244,1,255,15,182,252,236,15,182, |
711 | 68,202,4,248,1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36, | 725 | 192,129,124,253,252,234,4,239,15,133,244,42,139,44,252,234,255,15,133,244, |
712 | 171,248,2,131,189,233,0,15,132,244,249,139,141,233,252,246,129,233,235,15, | 726 | 42,255,59,133,233,15,131,244,42,193,224,3,3,133,233,129,120,253,4,239,15, |
713 | 132,244,37,255,15,182,78,252,253,248,3,199,68,202,4,237,252,233,244,1,255, | 727 | 132,244,249,248,1,252,246,133,233,235,15,133,244,253,248,2,139,108,202,4, |
714 | 15,182,252,236,15,182,192,129,124,253,252,234,4,239,15,133,244,41,139,44, | 728 | 139,12,202,137,104,4,137,8,139,6,15,182,204,15,182,232,131,198,4,193,232, |
715 | 252,234,255,15,133,244,41,255,59,133,233,15,131,244,41,193,224,3,3,133,233, | 729 | 16,252,255,36,171,248,3,131,189,233,0,15,132,244,1,139,141,233,252,246,129, |
716 | 129,120,253,4,239,15,132,244,249,248,1,252,246,133,233,235,15,133,244,253, | 730 | 233,235,255,15,132,244,42,15,182,78,252,253,252,233,244,1,248,5,129,124,253, |
717 | 248,2,139,108,202,4,139,12,202,137,104,4,137,8,139,6,15,182,204,15,182,232, | 731 | 194,4,239,15,133,244,42,139,4,194,252,233,244,170,248,7,128,165,233,235,139, |
718 | 131,198,4,193,232,16,252,255,36,171,248,3,131,189,233,0,15,132,244,1,139, | 732 | 139,233,137,171,233,137,141,233,15,182,78,252,253,252,233,244,2,255,15,182, |
719 | 141,233,252,246,129,233,235,255,15,132,244,41,15,182,78,252,253,252,233,244, | 733 | 252,236,15,182,192,252,247,208,139,4,135,129,124,253,252,234,4,239,15,133, |
720 | 1,248,5,129,124,253,194,4,239,15,133,244,41,139,4,194,252,233,244,168,248, | 734 | 244,40,139,44,252,234,248,170,139,141,233,35,136,233,105,201,239,198,133, |
721 | 7,128,165,233,235,139,139,233,137,171,233,137,141,233,15,182,78,252,253,252, | 735 | 233,0,3,141,233,248,1,129,185,233,239,15,133,244,251,57,129,233,15,133,244, |
722 | 233,244,2,255,15,182,252,236,15,182,192,252,247,208,139,4,135,129,124,253, | 736 | 251,129,121,253,4,239,15,132,244,250,248,2,255,252,246,133,233,235,15,133, |
723 | 252,234,4,239,15,133,244,39,139,44,252,234,248,168,139,141,233,35,136,233, | 737 | 244,253,248,3,15,182,70,252,253,139,108,194,4,139,4,194,137,105,4,137,1,139, |
724 | 105,201,239,198,133,233,0,3,141,233,248,1,129,185,233,239,15,133,244,251, | 738 | 6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,4,131,189, |
725 | 57,129,233,15,133,244,251,129,121,253,4,239,15,132,244,250,248,2,255,252, | 739 | 233,0,15,132,244,2,137,76,36,16,139,141,233,252,246,129,233,235,15,132,244, |
726 | 246,133,233,235,15,133,244,253,248,3,15,182,70,252,253,139,108,194,4,139, | 740 | 40,139,76,36,16,252,233,244,2,248,5,139,137,233,133,201,15,133,244,1,255, |
727 | 4,194,137,105,4,137,1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252, | 741 | 139,141,233,133,201,15,132,244,252,252,246,129,233,235,15,132,244,40,248, |
728 | 255,36,171,248,4,131,189,233,0,15,132,244,2,137,76,36,16,139,141,233,252, | 742 | 6,137,68,36,16,199,68,36,20,237,137,108,36,12,141,68,36,16,137,108,36,4,139, |
729 | 246,129,233,235,15,132,244,39,139,76,36,16,252,233,244,2,248,5,139,137,233, | 743 | 108,36,48,137,68,36,8,137,44,36,137,149,233,137,116,36,24,232,251,1,36,139, |
730 | 133,201,15,133,244,1,255,139,141,233,133,201,15,132,244,252,252,246,129,233, | 744 | 149,233,139,108,36,12,137,193,252,233,244,2,248,7,128,165,233,235,139,131, |
731 | 235,15,132,244,39,248,6,137,68,36,16,199,68,36,20,237,137,108,36,12,141,68, | 745 | 233,137,171,233,137,133,233,252,233,244,3,255,15,182,252,236,15,182,192,129, |
732 | 36,16,137,108,36,4,139,108,36,48,137,68,36,8,137,44,36,137,149,233,137,116, | 746 | 124,253,252,234,4,239,15,133,244,41,139,44,252,234,59,133,233,15,131,244, |
733 | 36,24,232,251,1,34,139,149,233,139,108,36,12,137,193,252,233,244,2,248,7, | 747 | 41,193,224,3,3,133,233,129,120,253,4,239,15,132,244,249,248,1,252,246,133, |
734 | 128,165,233,235,139,131,233,137,171,233,137,133,233,252,233,244,3,255,15, | 748 | 233,235,15,133,244,253,248,2,139,108,202,4,139,12,202,137,104,4,137,8,139, |
735 | 182,252,236,15,182,192,129,124,253,252,234,4,239,15,133,244,40,139,44,252, | 749 | 6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,3,131,189, |
736 | 234,59,133,233,15,131,244,40,193,224,3,3,133,233,129,120,253,4,239,15,132, | 750 | 233,0,15,132,244,1,255,139,141,233,252,246,129,233,235,15,132,244,41,15,182, |
737 | 244,249,248,1,252,246,133,233,235,15,133,244,253,248,2,139,108,202,4,139, | 751 | 78,252,253,252,233,244,1,248,7,128,165,233,235,139,139,233,137,171,233,137, |
738 | 12,202,137,104,4,137,8,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252, | 752 | 141,233,15,182,78,252,253,252,233,244,2,255,137,124,36,16,139,60,199,248, |
739 | 255,36,171,248,3,131,189,233,0,15,132,244,1,255,139,141,233,252,246,129,233, | 753 | 1,141,12,202,139,105,252,248,252,246,133,233,235,15,133,244,253,248,2,139, |
740 | 235,15,132,244,40,15,182,78,252,253,252,233,244,1,248,7,128,165,233,235,139, | 754 | 68,36,20,131,232,1,15,132,244,250,1,252,248,59,133,233,15,135,244,251,41, |
741 | 139,233,137,171,233,137,141,233,15,182,78,252,253,252,233,244,2,255,137,124, | 755 | 252,248,193,231,3,3,189,233,248,3,139,41,137,47,139,105,4,131,193,8,137,111, |
742 | 36,16,139,60,199,248,1,141,12,202,139,105,252,248,252,246,133,233,235,15, | 756 | 4,131,199,8,131,232,1,15,133,244,3,248,4,139,124,36,16,139,6,15,182,204,15, |
743 | 133,244,253,248,2,139,68,36,20,131,232,1,15,132,244,250,1,252,248,59,133, | 757 | 182,232,131,198,4,193,232,16,252,255,36,171,248,5,137,108,36,4,139,108,36, |
744 | 233,15,135,244,251,41,252,248,193,231,3,3,189,233,248,3,139,41,137,47,139, | 758 | 48,137,149,233,137,68,36,8,137,44,36,137,116,36,24,232,251,1,37,139,149,233, |
745 | 105,4,131,193,8,137,111,4,131,199,8,131,232,1,15,133,244,3,248,4,139,124, | 759 | 15,182,78,252,253,252,233,244,1,248,7,255,128,165,233,235,139,131,233,137, |
746 | 36,16,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248, | 760 | 171,233,137,133,233,252,233,244,2,255,3,68,36,20,255,129,124,253,202,4,239, |
747 | 5,137,108,36,4,139,108,36,48,137,149,233,137,68,36,8,137,44,36,137,116,36, | 761 | 139,44,202,15,133,244,59,141,84,202,8,137,114,252,252,139,181,233,139,14, |
748 | 24,232,251,1,35,139,149,233,15,182,78,252,253,252,233,244,1,248,7,255,128, | 762 | 15,182,252,233,15,182,205,131,198,4,252,255,36,171,255,141,76,202,8,137,215, |
749 | 165,233,235,139,131,233,137,171,233,137,133,233,252,233,244,2,255,3,68,36, | 763 | 139,105,252,248,129,121,253,252,252,239,15,133,244,29,248,60,139,114,252, |
750 | 20,255,129,124,253,202,4,239,139,44,202,15,133,244,58,141,84,202,8,137,114, | 764 | 252,252,247,198,237,15,133,244,253,248,1,137,106,252,248,137,68,36,20,131, |
751 | 252,252,139,181,233,139,14,15,182,252,233,15,182,205,131,198,4,252,255,36, | 765 | 232,1,15,132,244,249,248,2,139,41,137,47,139,105,4,131,193,8,137,111,4,131, |
752 | 171,255,141,76,202,8,137,215,139,105,252,248,129,121,253,252,252,239,15,133, | 766 | 199,8,131,232,1,15,133,244,2,139,106,252,248,248,3,139,68,36,20,128,189,233, |
753 | 244,29,248,59,139,114,252,252,252,247,198,237,15,133,244,253,248,1,137,106, | 767 | 1,15,135,244,251,248,4,139,181,233,139,14,15,182,252,233,15,182,205,131,198, |
754 | 252,248,137,68,36,20,131,232,1,15,132,244,249,248,2,139,41,137,47,139,105, | 768 | 4,252,255,36,171,248,5,255,252,247,198,237,15,133,244,4,15,182,78,252,253, |
755 | 4,131,193,8,137,111,4,131,199,8,131,232,1,15,133,244,2,139,106,252,248,248, | 769 | 252,247,209,141,12,202,139,121,252,248,139,191,233,139,191,233,252,233,244, |
756 | 3,139,68,36,20,128,189,233,1,15,135,244,251,248,4,139,181,233,139,14,15,182, | 770 | 4,248,7,129,252,238,239,252,247,198,237,15,133,244,254,41,252,242,137,215, |
757 | 252,233,15,182,205,131,198,4,252,255,36,171,248,5,255,252,247,198,237,15, | 771 | 139,114,252,252,252,233,244,1,248,8,129,198,239,252,233,244,1,255,141,76, |
758 | 133,244,4,15,182,78,252,253,252,247,209,141,12,202,139,121,252,248,139,191, | 772 | 202,8,139,105,232,139,65,252,236,137,41,137,65,4,139,105,252,240,139,65,252, |
759 | 233,139,191,233,252,233,244,4,248,7,129,252,238,239,252,247,198,237,15,133, | 773 | 244,137,105,8,137,65,12,139,105,224,139,65,228,137,105,252,248,137,65,252, |
760 | 244,254,41,252,242,137,215,139,114,252,252,252,233,244,1,248,8,129,198,239, | 774 | 252,129,252,248,239,184,237,15,133,244,29,137,202,137,114,252,252,139,181, |
761 | 252,233,244,1,255,141,76,202,8,139,105,232,139,65,252,236,137,41,137,65,4, | 775 | 233,139,14,15,182,252,233,15,182,205,131,198,4,252,255,36,171,255,137,124, |
762 | 139,105,252,240,139,65,252,244,137,105,8,137,65,12,139,105,224,139,65,228, | 776 | 36,16,137,92,36,20,139,108,202,252,240,139,68,202,252,248,139,157,233,131, |
763 | 137,105,252,248,137,65,252,252,129,252,248,239,184,237,15,133,244,29,137, | 777 | 198,4,139,189,233,248,1,57,216,15,131,244,251,129,124,253,199,4,239,15,132, |
764 | 202,137,114,252,252,139,181,233,139,14,15,182,252,233,15,182,205,131,198, | 778 | 244,250,255,219,68,202,252,248,255,139,108,199,4,137,108,202,12,139,44,199, |
765 | 4,252,255,36,171,255,137,124,36,16,137,92,36,20,139,108,202,252,240,139,68, | 779 | 137,108,202,8,131,192,1,255,137,68,202,252,248,248,2,15,183,70,252,254,141, |
766 | 202,252,248,139,157,233,131,198,4,139,189,233,248,1,57,216,15,131,244,251, | 780 | 180,253,134,233,248,3,139,92,36,20,139,124,36,16,139,6,15,182,204,15,182, |
767 | 129,124,253,199,4,239,15,132,244,250,255,219,68,202,252,248,255,139,108,199, | 781 | 232,131,198,4,193,232,16,252,255,36,171,248,4,131,192,1,255,137,68,202,252, |
768 | 4,137,108,202,12,139,44,199,137,108,202,8,131,192,1,255,137,68,202,252,248, | 782 | 248,255,252,233,244,1,248,5,41,216,248,6,59,133,233,15,135,244,3,105,252, |
769 | 248,2,15,183,70,252,254,141,180,253,134,233,248,3,139,92,36,20,139,124,36, | 783 | 248,239,3,189,233,129,191,233,239,15,132,244,253,141,92,24,1,139,175,233, |
770 | 16,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,4, | 784 | 139,135,233,137,44,202,137,68,202,4,139,175,233,139,135,233,137,108,202,8, |
771 | 131,192,1,255,137,68,202,252,248,255,252,233,244,1,248,5,41,216,248,6,59, | 785 | 137,68,202,12,137,92,202,252,248,252,233,244,2,248,7,255,131,192,1,252,233, |
772 | 133,233,15,135,244,3,105,252,248,239,3,189,233,129,191,233,239,15,132,244, | 786 | 244,6,255,129,124,253,202,252,236,239,15,133,244,251,139,108,202,232,129, |
773 | 253,141,92,24,1,139,175,233,139,135,233,137,44,202,137,68,202,4,139,175,233, | 787 | 124,253,202,252,244,239,15,133,244,251,129,124,253,202,252,252,239,15,133, |
774 | 139,135,233,137,108,202,8,137,68,202,12,137,92,202,252,248,252,233,244,2, | 788 | 244,251,128,189,233,235,15,133,244,251,141,180,253,134,233,199,68,202,252, |
775 | 248,7,255,131,192,1,252,233,244,6,255,129,124,253,202,252,236,239,15,133, | 789 | 248,0,0,0,0,248,1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255, |
776 | 244,251,139,108,202,232,129,124,253,202,252,244,239,15,133,244,251,129,124, | 790 | 36,171,248,5,198,70,252,252,235,141,180,253,134,233,198,6,235,252,233,244, |
777 | 253,202,252,252,239,15,133,244,251,128,189,233,235,15,133,244,251,141,180, | 791 | 1,255,15,182,252,236,15,182,192,137,124,36,16,141,188,253,194,233,141,12, |
778 | 253,134,233,199,68,202,252,248,0,0,0,0,248,1,139,6,15,182,204,15,182,232, | 792 | 202,43,122,252,252,133,252,237,15,132,244,251,141,108,252,233,252,248,57, |
779 | 131,198,4,193,232,16,252,255,36,171,248,5,198,70,252,252,235,141,180,253, | 793 | 215,15,131,244,248,248,1,139,71,252,248,137,1,139,71,252,252,131,199,8,137, |
780 | 134,233,198,6,235,252,233,244,1,255,15,182,252,236,15,182,192,137,124,36, | 794 | 65,4,131,193,8,57,252,233,15,131,244,249,57,215,15,130,244,1,248,2,199,65, |
781 | 16,141,188,253,194,233,141,12,202,43,122,252,252,133,252,237,15,132,244,251, | 795 | 4,237,131,193,8,57,252,233,15,130,244,2,248,3,139,124,36,16,139,6,15,182, |
782 | 141,108,252,233,252,248,57,215,15,131,244,248,248,1,139,71,252,248,137,1, | 796 | 204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,5,199,68,36,20,1,0, |
783 | 139,71,252,252,131,199,8,137,65,4,131,193,8,57,252,233,15,131,244,249,57, | 797 | 0,0,137,208,41,252,248,15,134,244,3,137,197,193,252,237,3,131,197,1,137,108, |
784 | 215,15,130,244,1,248,2,199,65,4,237,131,193,8,57,252,233,15,130,244,2,248, | 798 | 36,20,139,108,36,48,1,200,59,133,233,15,135,244,253,248,6,255,139,71,252, |
785 | 3,139,124,36,16,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255, | 799 | 248,137,1,139,71,252,252,131,199,8,137,65,4,131,193,8,57,215,15,130,244,6, |
786 | 36,171,248,5,199,68,36,20,1,0,0,0,137,208,41,252,248,15,134,244,3,137,197, | 800 | 252,233,244,3,248,7,137,149,233,137,141,233,137,116,36,24,41,215,139,84,36, |
787 | 193,252,237,3,131,197,1,137,108,36,20,139,108,36,48,1,200,59,133,233,15,135, | 801 | 20,131,252,234,1,137,252,233,232,251,1,0,139,149,233,139,141,233,1,215,252, |
788 | 244,253,248,6,255,139,71,252,248,137,1,139,71,252,252,131,199,8,137,65,4, | 802 | 233,244,6,255,193,225,3,255,248,1,139,114,252,252,137,68,36,20,252,247,198, |
789 | 131,193,8,57,215,15,130,244,6,252,233,244,3,248,7,137,149,233,137,141,233, | 803 | 237,15,133,244,253,255,248,13,137,215,131,232,1,15,132,244,249,248,2,139, |
790 | 137,116,36,24,41,215,139,84,36,20,131,252,234,1,137,252,233,232,251,1,0,139, | 804 | 44,15,137,111,252,248,139,108,15,4,137,111,252,252,131,199,8,131,232,1,15, |
791 | 149,233,139,141,233,1,215,252,233,244,6,255,193,225,3,255,248,1,139,114,252, | 805 | 133,244,2,248,3,139,68,36,20,15,182,110,252,255,248,5,57,197,15,135,244,252, |
792 | 252,137,68,36,20,252,247,198,237,15,133,244,253,255,248,13,137,215,131,232, | 806 | 255,139,108,10,4,137,106,252,252,139,44,10,137,106,252,248,255,248,5,56,70, |
793 | 1,15,132,244,249,248,2,139,44,15,137,111,252,248,139,108,15,4,137,111,252, | 807 | 252,255,15,135,244,252,255,15,182,78,252,253,252,247,209,141,20,202,139,122, |
794 | 252,131,199,8,131,232,1,15,133,244,2,248,3,139,68,36,20,15,182,110,252,255, | 808 | 252,248,139,191,233,139,191,233,139,6,15,182,204,15,182,232,131,198,4,193, |
795 | 248,5,57,197,15,135,244,252,255,139,108,10,4,137,106,252,252,139,44,10,137, | 809 | 232,16,252,255,36,171,248,6,255,199,71,252,252,237,131,199,8,255,199,68,194, |
796 | 106,252,248,255,248,5,56,70,252,255,15,135,244,252,255,15,182,78,252,253, | 810 | 252,244,237,255,131,192,1,252,233,244,5,248,7,141,174,233,252,247,197,237, |
797 | 252,247,209,141,20,202,139,122,252,248,139,191,233,139,191,233,139,6,15,182, | 811 | 15,133,244,14,41,252,234,255,1,252,233,255,137,252,245,209,252,237,129,229, |
798 | 204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,6,255,199,71,252,252, | 812 | 239,102,129,172,253,43,233,238,15,130,244,149,255,141,12,202,255,129,121, |
799 | 237,131,199,8,255,199,68,194,252,244,237,255,131,192,1,252,233,244,5,248, | 813 | 253,4,239,15,133,244,255,255,129,121,253,12,239,15,133,244,61,129,121,253, |
800 | 7,141,174,233,252,247,197,237,15,133,244,14,41,252,234,255,1,252,233,255, | 814 | 20,239,15,133,244,61,139,41,131,121,16,0,15,140,244,251,255,129,121,253,12, |
801 | 137,252,245,209,252,237,129,229,239,102,129,172,253,43,233,238,15,130,244, | 815 | 239,15,133,244,165,129,121,253,20,239,15,133,244,165,255,139,105,16,133,252, |
802 | 148,255,141,12,202,255,129,121,253,4,239,15,133,244,255,255,129,121,253,12, | 816 | 237,15,136,244,251,3,41,15,128,244,247,137,41,255,59,105,8,199,65,28,237, |
803 | 239,15,133,244,60,129,121,253,20,239,15,133,244,60,139,41,131,121,16,0,15, | 817 | 137,105,24,255,15,142,244,253,248,1,248,6,141,180,253,134,233,255,141,180, |
804 | 140,244,251,255,129,121,253,12,239,15,133,244,164,129,121,253,20,239,15,133, | 818 | 253,134,233,15,183,70,252,254,15,142,245,248,1,248,6,255,15,143,244,253,248, |
805 | 244,164,255,139,105,16,133,252,237,15,136,244,251,3,41,15,128,244,247,137, | 819 | 6,141,180,253,134,233,248,1,255,248,7,139,6,15,182,204,15,182,232,131,198, |
806 | 41,255,59,105,8,199,65,28,237,137,105,24,255,15,142,244,253,248,1,248,6,141, | 820 | 4,193,232,16,252,255,36,171,248,5,255,3,41,15,128,244,1,137,41,255,15,141, |
807 | 180,253,134,233,255,141,180,253,134,233,15,183,70,252,254,15,142,245,248, | 821 | 244,7,255,141,180,253,134,233,15,183,70,252,254,15,141,245,255,15,140,244, |
808 | 1,248,6,255,15,143,244,253,248,6,141,180,253,134,233,248,1,255,248,7,139, | 822 | 7,255,252,233,244,6,248,9,255,129,121,253,4,239,255,15,131,244,61,129,121, |
809 | 6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,5,255,3,41, | 823 | 253,12,239,15,131,244,61,255,129,121,253,12,239,15,131,244,165,129,121,253, |
810 | 15,128,244,1,137,41,255,15,141,244,7,255,141,180,253,134,233,15,183,70,252, | 824 | 20,239,15,131,244,165,255,139,105,20,255,129,252,253,239,15,131,244,61,255, |
811 | 254,15,141,245,255,15,140,244,7,255,252,233,244,6,248,9,255,129,121,253,4, | 825 | 252,242,15,16,1,252,242,15,16,73,8,255,252,242,15,88,65,16,252,242,15,17, |
812 | 239,255,15,131,244,60,129,121,253,12,239,15,131,244,60,255,129,121,253,12, | 826 | 1,133,252,237,15,136,244,249,255,15,140,244,249,255,102,15,46,200,248,1,252, |
813 | 239,15,131,244,164,129,121,253,20,239,15,131,244,164,255,139,105,20,255,129, | 827 | 242,15,17,65,24,255,221,65,8,221,1,255,220,65,16,221,17,221,81,24,133,252, |
814 | 252,253,239,15,131,244,60,255,252,242,15,16,1,252,242,15,16,73,8,255,252, | 828 | 237,15,136,244,247,255,221,81,24,15,140,244,247,255,217,201,248,1,255,15, |
815 | 242,15,88,65,16,252,242,15,17,1,133,252,237,15,136,244,249,255,15,140,244, | 829 | 183,70,252,254,255,15,131,244,7,255,15,131,244,248,141,180,253,134,233,255, |
816 | 249,255,102,15,46,200,248,1,252,242,15,17,65,24,255,221,65,8,221,1,255,220, | 830 | 141,180,253,134,233,15,183,70,252,254,15,131,245,255,15,130,244,7,255,15, |
817 | 65,16,221,17,221,81,24,133,252,237,15,136,244,247,255,221,81,24,15,140,244, | 831 | 130,244,248,141,180,253,134,233,255,248,3,102,15,46,193,252,233,244,1,255, |
818 | 247,255,217,201,248,1,255,15,183,70,252,254,255,15,131,244,7,255,15,131,244, | 832 | 141,12,202,139,105,4,129,252,253,239,15,132,244,247,255,137,105,252,252,139, |
819 | 248,141,180,253,134,233,255,141,180,253,134,233,15,183,70,252,254,15,131, | 833 | 41,137,105,252,248,252,233,245,255,141,180,253,134,233,139,1,137,105,252, |
820 | 245,255,15,130,244,7,255,15,130,244,248,141,180,253,134,233,255,248,3,102, | 834 | 252,137,65,252,248,255,139,139,233,139,4,129,139,128,233,139,108,36,48,137, |
821 | 15,46,193,252,233,244,1,255,141,12,202,139,105,4,129,252,253,239,15,132,244, | 835 | 147,233,137,171,233,252,255,224,255,141,180,253,134,233,139,6,15,182,204, |
822 | 247,255,137,105,252,252,139,41,137,105,252,248,252,233,245,255,141,180,253, | 836 | 15,182,232,131,198,4,193,232,16,252,255,36,171,255,137,252,245,209,252,237, |
823 | 134,233,139,1,137,105,252,252,137,65,252,248,255,139,139,233,139,4,129,139, | 837 | 129,229,239,102,129,172,253,43,233,238,15,130,244,151,255,139,190,233,139, |
824 | 128,233,139,108,36,48,137,147,233,137,171,233,252,255,224,255,141,180,253, | 838 | 108,36,48,141,12,202,59,141,233,15,135,244,24,15,182,142,233,57,200,15,134, |
825 | 134,233,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,255, | 839 | 244,249,248,2,255,15,183,70,252,254,252,233,245,255,248,3,199,68,194,252, |
826 | 137,252,245,209,252,237,129,229,239,102,129,172,253,43,233,238,15,130,244, | 840 | 252,237,131,192,1,57,200,15,134,244,3,252,233,244,2,255,141,44,197,237,141, |
827 | 150,255,139,190,233,139,108,36,48,141,12,202,59,141,233,15,135,244,24,15, | 841 | 4,194,139,122,252,248,137,104,252,252,137,120,252,248,139,108,36,48,141,12, |
828 | 182,142,233,57,200,15,134,244,249,248,2,255,15,183,70,252,254,252,233,245, | 842 | 200,59,141,233,15,135,244,23,137,209,137,194,15,182,174,233,133,252,237,15, |
829 | 255,248,3,199,68,194,252,252,237,131,192,1,57,200,15,134,244,3,252,233,244, | 843 | 132,244,248,248,1,131,193,8,57,209,15,131,244,249,139,121,252,248,137,56, |
830 | 2,255,141,44,197,237,141,4,194,139,122,252,248,137,104,252,252,137,120,252, | 844 | 139,121,252,252,137,120,4,131,192,8,199,65,252,252,237,131,252,237,1,15,133, |
831 | 248,139,108,36,48,141,12,200,59,141,233,15,135,244,23,137,209,137,194,15, | 845 | 244,1,248,2,255,139,190,233,139,6,15,182,204,15,182,232,131,198,4,193,232, |
832 | 182,174,233,133,252,237,15,132,244,248,248,1,131,193,8,57,209,15,131,244, | 846 | 16,252,255,36,171,255,248,3,199,64,4,237,131,192,8,131,252,237,1,15,133,244, |
833 | 249,139,121,252,248,137,56,139,121,252,252,137,120,4,131,192,8,199,65,252, | 847 | 3,252,233,244,2,255,139,106,252,248,139,189,233,139,108,36,48,141,68,194, |
834 | 252,237,131,252,237,1,15,133,244,1,248,2,255,139,190,233,139,6,15,182,204, | 848 | 252,248,137,149,233,141,136,233,59,141,233,137,133,233,255,137,44,36,255, |
835 | 15,182,232,131,198,4,193,232,16,252,255,36,171,255,248,3,199,64,4,237,131, | 849 | 137,124,36,4,137,44,36,255,15,135,244,22,199,131,233,237,255,252,255,215, |
836 | 192,8,131,252,237,1,15,133,244,3,252,233,244,2,255,139,106,252,248,139,189, | 850 | 255,252,255,147,233,255,199,131,233,237,139,149,233,141,12,194,252,247,217, |
837 | 233,139,108,36,48,141,68,194,252,248,137,149,233,141,136,233,59,141,233,137, | 851 | 3,141,233,139,114,252,252,252,233,244,12,255,254,0 |
838 | 133,233,255,137,44,36,255,137,124,36,4,137,44,36,255,15,135,244,22,199,131, | ||
839 | 233,237,255,252,255,215,255,252,255,147,233,255,199,131,233,237,139,149,233, | ||
840 | 141,12,194,252,247,217,3,141,233,139,114,252,252,252,233,244,12,255,254,0 | ||
841 | }; | 852 | }; |
842 | 853 | ||
843 | enum { | 854 | enum { |
@@ -863,6 +874,7 @@ enum { | |||
863 | GLOB_vmeta_call, | 874 | GLOB_vmeta_call, |
864 | GLOB_vm_call_dispatch_f, | 875 | GLOB_vm_call_dispatch_f, |
865 | GLOB_vm_cpcall, | 876 | GLOB_vm_cpcall, |
877 | GLOB_cont_ffi_callback, | ||
866 | GLOB_vm_call_tail, | 878 | GLOB_vm_call_tail, |
867 | GLOB_cont_cat, | 879 | GLOB_cont_cat, |
868 | GLOB_cont_ra, | 880 | GLOB_cont_ra, |
@@ -996,6 +1008,7 @@ enum { | |||
996 | GLOB_vm_foldarith, | 1008 | GLOB_vm_foldarith, |
997 | GLOB_vm_cpuid, | 1009 | GLOB_vm_cpuid, |
998 | GLOB_assert_bad_for_arg_type, | 1010 | GLOB_assert_bad_for_arg_type, |
1011 | GLOB_vm_ffi_callback, | ||
999 | GLOB_vm_ffi_call, | 1012 | GLOB_vm_ffi_call, |
1000 | GLOB_BC_MODVN_Z, | 1013 | GLOB_BC_MODVN_Z, |
1001 | GLOB_BC_TGETS_Z, | 1014 | GLOB_BC_TGETS_Z, |
@@ -1025,6 +1038,7 @@ static const char *const globnames[] = { | |||
1025 | "vmeta_call", | 1038 | "vmeta_call", |
1026 | "vm_call_dispatch_f", | 1039 | "vm_call_dispatch_f", |
1027 | "vm_cpcall", | 1040 | "vm_cpcall", |
1041 | "cont_ffi_callback", | ||
1028 | "vm_call_tail", | 1042 | "vm_call_tail", |
1029 | "cont_cat", | 1043 | "cont_cat", |
1030 | "cont_ra", | 1044 | "cont_ra", |
@@ -1158,6 +1172,7 @@ static const char *const globnames[] = { | |||
1158 | "vm_foldarith", | 1172 | "vm_foldarith", |
1159 | "vm_cpuid", | 1173 | "vm_cpuid", |
1160 | "assert_bad_for_arg_type", | 1174 | "assert_bad_for_arg_type", |
1175 | "vm_ffi_callback", | ||
1161 | "vm_ffi_call@4", | 1176 | "vm_ffi_call@4", |
1162 | "BC_MODVN_Z", | 1177 | "BC_MODVN_Z", |
1163 | "BC_TGETS_Z", | 1178 | "BC_TGETS_Z", |
@@ -1192,6 +1207,8 @@ static const char *const extnames[] = { | |||
1192 | "lj_dispatch_call@8", | 1207 | "lj_dispatch_call@8", |
1193 | "lj_trace_exit@8", | 1208 | "lj_trace_exit@8", |
1194 | "lj_err_throw@8", | 1209 | "lj_err_throw@8", |
1210 | "lj_ccallback_enter@8", | ||
1211 | "lj_ccallback_leave@8", | ||
1195 | "lj_meta_cat", | 1212 | "lj_meta_cat", |
1196 | "lj_gc_barrieruv@8", | 1213 | "lj_gc_barrieruv@8", |
1197 | "lj_func_closeuv@8", | 1214 | "lj_func_closeuv@8", |
@@ -1232,762 +1249,780 @@ static void build_subroutines(BuildCtx *ctx, int cmov, int sse) | |||
1232 | dasm_put(Dst, 353, Dt1(->top), Dt1(->base), Dt1(->top), Dt7(->pc), FRAME_CP, CFRAME_RESUME, Dt1(->glref), GG_G2DISP, Dt1(->cframe), Dt1(->status), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->status), Dt1(->base), Dt1(->top), FRAME_TYPE); | 1249 | dasm_put(Dst, 353, Dt1(->top), Dt1(->base), Dt1(->top), Dt7(->pc), FRAME_CP, CFRAME_RESUME, Dt1(->glref), GG_G2DISP, Dt1(->cframe), Dt1(->status), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->status), Dt1(->base), Dt1(->top), FRAME_TYPE); |
1233 | dasm_put(Dst, 495, FRAME_CP, FRAME_C, Dt1(->cframe), Dt1(->cframe), Dt1(->glref), GG_G2DISP, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base)); | 1250 | dasm_put(Dst, 495, FRAME_CP, FRAME_C, Dt1(->cframe), Dt1(->cframe), Dt1(->glref), GG_G2DISP, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base)); |
1234 | dasm_put(Dst, 573, Dt1(->top), LJ_TFUNC, Dt7(->pc), Dt1(->stack), Dt1(->top), Dt1(->cframe), Dt1(->cframe), FRAME_CP, LJ_TNIL); | 1251 | dasm_put(Dst, 573, Dt1(->top), LJ_TFUNC, Dt7(->pc), Dt1(->stack), Dt1(->top), Dt1(->cframe), Dt1(->cframe), FRAME_CP, LJ_TNIL); |
1235 | dasm_put(Dst, 753, Dt7(->pc), PC2PROTO(k), LJ_TSTR, BC_GGET, DISPATCH_GL(tmptv), LJ_TTAB); | 1252 | #if LJ_HASFFI |
1236 | dasm_put(Dst, 875); | 1253 | #endif |
1254 | dasm_put(Dst, 743); | ||
1255 | #if LJ_HASFFI | ||
1256 | dasm_put(Dst, 748); | ||
1257 | #endif | ||
1258 | dasm_put(Dst, 757, Dt7(->pc), PC2PROTO(k)); | ||
1259 | #if LJ_HASFFI | ||
1260 | dasm_put(Dst, 771); | ||
1261 | #endif | ||
1262 | dasm_put(Dst, 792, LJ_TSTR, BC_GGET, DISPATCH_GL(tmptv), LJ_TTAB); | ||
1237 | if (LJ_DUALNUM) { | 1263 | if (LJ_DUALNUM) { |
1238 | dasm_put(Dst, 881, LJ_TISNUM); | 1264 | dasm_put(Dst, 890, LJ_TISNUM); |
1239 | } else if (sse) { | 1265 | } else if (sse) { |
1240 | dasm_put(Dst, 891); | 1266 | dasm_put(Dst, 900); |
1241 | } else { | 1267 | } else { |
1242 | dasm_put(Dst, 904); | 1268 | dasm_put(Dst, 913); |
1243 | } | 1269 | } |
1244 | dasm_put(Dst, 917, Dt1(->base), Dt1(->base), Dt1(->top), FRAME_CONT, 2+1, LJ_TSTR, BC_GSET); | 1270 | dasm_put(Dst, 926, Dt1(->base), Dt1(->base), Dt1(->top), FRAME_CONT, 2+1, LJ_TSTR, BC_GSET); |
1245 | dasm_put(Dst, 1069, DISPATCH_GL(tmptv), LJ_TTAB); | 1271 | dasm_put(Dst, 1078, DISPATCH_GL(tmptv), LJ_TTAB); |
1246 | if (LJ_DUALNUM) { | 1272 | if (LJ_DUALNUM) { |
1247 | dasm_put(Dst, 881, LJ_TISNUM); | 1273 | dasm_put(Dst, 890, LJ_TISNUM); |
1248 | } else if (sse) { | 1274 | } else if (sse) { |
1249 | dasm_put(Dst, 891); | 1275 | dasm_put(Dst, 900); |
1250 | } else { | 1276 | } else { |
1251 | dasm_put(Dst, 904); | 1277 | dasm_put(Dst, 913); |
1252 | } | 1278 | } |
1253 | dasm_put(Dst, 1092, Dt1(->base), Dt1(->base), Dt1(->top), FRAME_CONT, 3+1, Dt1(->base), Dt1(->base)); | 1279 | dasm_put(Dst, 1101, Dt1(->base), Dt1(->base), Dt1(->top), FRAME_CONT, 3+1, Dt1(->base), Dt1(->base)); |
1254 | dasm_put(Dst, 1286, -BCBIAS_J*4, LJ_TISTRUECOND, LJ_TISTRUECOND, Dt1(->base)); | 1280 | dasm_put(Dst, 1295, -BCBIAS_J*4, LJ_TISTRUECOND, LJ_TISTRUECOND, Dt1(->base)); |
1255 | dasm_put(Dst, 1393); | 1281 | dasm_put(Dst, 1402); |
1256 | #if LJ_HASFFI | 1282 | #if LJ_HASFFI |
1257 | dasm_put(Dst, 1408, Dt1(->base)); | 1283 | dasm_put(Dst, 1417, Dt1(->base)); |
1258 | #endif | 1284 | #endif |
1259 | dasm_put(Dst, 1439); | 1285 | dasm_put(Dst, 1448); |
1260 | #if LJ_DUALNUM | 1286 | #if LJ_DUALNUM |
1261 | dasm_put(Dst, 1442); | 1287 | dasm_put(Dst, 1451); |
1262 | #endif | 1288 | #endif |
1263 | dasm_put(Dst, 1448); | 1289 | dasm_put(Dst, 1457); |
1264 | #if LJ_DUALNUM | 1290 | #if LJ_DUALNUM |
1265 | dasm_put(Dst, 875); | 1291 | dasm_put(Dst, 884); |
1266 | #endif | 1292 | #endif |
1267 | dasm_put(Dst, 1460); | 1293 | dasm_put(Dst, 1469); |
1268 | #if LJ_DUALNUM | 1294 | #if LJ_DUALNUM |
1269 | dasm_put(Dst, 1442); | 1295 | dasm_put(Dst, 1451); |
1270 | #endif | 1296 | #endif |
1271 | dasm_put(Dst, 1488, Dt1(->base), Dt1(->base), FRAME_CONT, 2+1, Dt1(->base), Dt1(->base)); | 1297 | dasm_put(Dst, 1497, Dt1(->base), Dt1(->base), FRAME_CONT, 2+1, Dt1(->base), Dt1(->base)); |
1272 | #ifdef LUAJIT_ENABLE_LUA52COMPAT | 1298 | #ifdef LUAJIT_ENABLE_LUA52COMPAT |
1273 | dasm_put(Dst, 1598); | 1299 | dasm_put(Dst, 1607); |
1274 | #else | 1300 | #else |
1275 | dasm_put(Dst, 1617); | 1301 | dasm_put(Dst, 1626); |
1276 | #endif | 1302 | #endif |
1277 | dasm_put(Dst, 1622, Dt1(->base), Dt1(->base), Dt7(->pc), Dt1(->base), Dt1(->base), GG_DISP2STATIC, 1+1, LJ_TISTRUECOND); | 1303 | dasm_put(Dst, 1631, Dt1(->base), Dt1(->base), Dt7(->pc), Dt1(->base), Dt1(->base), GG_DISP2STATIC, 1+1, LJ_TISTRUECOND); |
1278 | dasm_put(Dst, 1811, 1+1, ~LJ_TNUMX); | 1304 | dasm_put(Dst, 1820, 1+1, ~LJ_TNUMX); |
1279 | if (cmov) { | 1305 | if (cmov) { |
1280 | dasm_put(Dst, 1869); | 1306 | dasm_put(Dst, 1878); |
1281 | } else { | 1307 | } else { |
1282 | dasm_put(Dst, 1873); | 1308 | dasm_put(Dst, 1882); |
1283 | } | 1309 | } |
1284 | dasm_put(Dst, 1882, ((char *)(&((GCfuncC *)0)->upvalue)), LJ_TSTR, 1+1, LJ_TTAB, Dt6(->metatable), LJ_TNIL, DISPATCH_GL(gcroot)+4*(GCROOT_MMNAME+MM_metatable), LJ_TTAB); | 1310 | dasm_put(Dst, 1891, ((char *)(&((GCfuncC *)0)->upvalue)), LJ_TSTR, 1+1, LJ_TTAB, Dt6(->metatable), LJ_TNIL, DISPATCH_GL(gcroot)+4*(GCROOT_MMNAME+MM_metatable), LJ_TTAB); |
1285 | dasm_put(Dst, 1965, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), DtB(->next), LJ_TNIL); | 1311 | dasm_put(Dst, 1974, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), DtB(->next), LJ_TNIL); |
1286 | dasm_put(Dst, 2023, LJ_TUDATA, LJ_TISNUM, LJ_TNUMX, DISPATCH_GL(gcroot[GCROOT_BASEMT]), 2+1); | 1312 | dasm_put(Dst, 2032, LJ_TUDATA, LJ_TISNUM, LJ_TNUMX, DISPATCH_GL(gcroot[GCROOT_BASEMT]), 2+1); |
1287 | dasm_put(Dst, 2086, LJ_TTAB, Dt6(->metatable), LJ_TTAB, Dt6(->metatable), LJ_TTAB, Dt6(->marked), LJ_GC_BLACK, Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); | 1313 | dasm_put(Dst, 2095, LJ_TTAB, Dt6(->metatable), LJ_TTAB, Dt6(->metatable), LJ_TTAB, Dt6(->marked), LJ_GC_BLACK, Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); |
1288 | dasm_put(Dst, 2158, 2+1, LJ_TTAB, 1+1, LJ_TISNUM); | 1314 | dasm_put(Dst, 2167, 2+1, LJ_TTAB, 1+1, LJ_TISNUM); |
1289 | if (LJ_DUALNUM) { | 1315 | if (LJ_DUALNUM) { |
1290 | dasm_put(Dst, 2247); | 1316 | dasm_put(Dst, 2256); |
1291 | } else { | 1317 | } else { |
1292 | dasm_put(Dst, 2264); | 1318 | dasm_put(Dst, 2273); |
1293 | } | 1319 | } |
1294 | if (sse) { | 1320 | if (sse) { |
1295 | dasm_put(Dst, 2269); | 1321 | dasm_put(Dst, 2278); |
1296 | } else { | 1322 | } else { |
1297 | dasm_put(Dst, 2279); | 1323 | dasm_put(Dst, 2288); |
1298 | } | 1324 | } |
1299 | dasm_put(Dst, 2286, 1+1, LJ_TSTR, LJ_TSTR, LJ_TISNUM, DISPATCH_GL(gcroot[GCROOT_BASEMT_NUM]), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold)); | 1325 | dasm_put(Dst, 2295, 1+1, LJ_TSTR, LJ_TSTR, LJ_TISNUM, DISPATCH_GL(gcroot[GCROOT_BASEMT_NUM]), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold)); |
1300 | dasm_put(Dst, 2352, Dt1(->base)); | 1326 | dasm_put(Dst, 2361, Dt1(->base)); |
1301 | if (LJ_DUALNUM) { | 1327 | if (LJ_DUALNUM) { |
1302 | dasm_put(Dst, 2376); | 1328 | dasm_put(Dst, 2385); |
1303 | } else { | 1329 | } else { |
1304 | dasm_put(Dst, 2381); | 1330 | dasm_put(Dst, 2390); |
1305 | } | 1331 | } |
1306 | dasm_put(Dst, 2386, Dt1(->base), 1+1, LJ_TTAB, Dt1(->base), Dt1(->top), Dt1(->base), 1+2); | 1332 | dasm_put(Dst, 2395, Dt1(->base), 1+1, LJ_TTAB, Dt1(->base), Dt1(->top), Dt1(->base), 1+2); |
1307 | dasm_put(Dst, 2495, LJ_TNIL, LJ_TNIL, 1+1, LJ_TTAB); | 1333 | dasm_put(Dst, 2504, LJ_TNIL, LJ_TNIL, 1+1, LJ_TTAB); |
1308 | #ifdef LUAJIT_ENABLE_LUA52COMPAT | 1334 | #ifdef LUAJIT_ENABLE_LUA52COMPAT |
1309 | dasm_put(Dst, 2542, Dt6(->metatable)); | 1335 | dasm_put(Dst, 2551, Dt6(->metatable)); |
1310 | #endif | 1336 | #endif |
1311 | dasm_put(Dst, 2551, Dt8(->upvalue[0]), LJ_TFUNC, LJ_TNIL, 1+3, 1+1, LJ_TTAB, LJ_TISNUM); | 1337 | dasm_put(Dst, 2560, Dt8(->upvalue[0]), LJ_TFUNC, LJ_TNIL, 1+3, 1+1, LJ_TTAB, LJ_TISNUM); |
1312 | if (LJ_DUALNUM) { | 1338 | if (LJ_DUALNUM) { |
1313 | dasm_put(Dst, 2537); | 1339 | dasm_put(Dst, 2546); |
1314 | } else { | 1340 | } else { |
1315 | dasm_put(Dst, 2264); | 1341 | dasm_put(Dst, 2273); |
1316 | } | 1342 | } |
1317 | dasm_put(Dst, 2606); | 1343 | dasm_put(Dst, 2615); |
1318 | if (LJ_DUALNUM) { | 1344 | if (LJ_DUALNUM) { |
1319 | dasm_put(Dst, 2611, LJ_TISNUM); | 1345 | dasm_put(Dst, 2620, LJ_TISNUM); |
1320 | } else if (sse) { | 1346 | } else if (sse) { |
1321 | dasm_put(Dst, 2627); | 1347 | dasm_put(Dst, 2636); |
1322 | } else { | 1348 | } else { |
1323 | dasm_put(Dst, 2666); | 1349 | dasm_put(Dst, 2675); |
1324 | } | 1350 | } |
1325 | dasm_put(Dst, 2684, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->hmask), 1+0); | 1351 | dasm_put(Dst, 2693, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->hmask), 1+0); |
1326 | dasm_put(Dst, 2522, 1+1, LJ_TTAB); | 1352 | dasm_put(Dst, 2531, 1+1, LJ_TTAB); |
1327 | #ifdef LUAJIT_ENABLE_LUA52COMPAT | 1353 | #ifdef LUAJIT_ENABLE_LUA52COMPAT |
1328 | dasm_put(Dst, 2542, Dt6(->metatable)); | 1354 | dasm_put(Dst, 2551, Dt6(->metatable)); |
1329 | #endif | 1355 | #endif |
1330 | dasm_put(Dst, 2765, Dt8(->upvalue[0]), LJ_TFUNC); | 1356 | dasm_put(Dst, 2774, Dt8(->upvalue[0]), LJ_TFUNC); |
1331 | if (LJ_DUALNUM) { | 1357 | if (LJ_DUALNUM) { |
1332 | dasm_put(Dst, 2786, LJ_TISNUM); | 1358 | dasm_put(Dst, 2795, LJ_TISNUM); |
1333 | } else if (sse) { | 1359 | } else if (sse) { |
1334 | dasm_put(Dst, 2798); | 1360 | dasm_put(Dst, 2807); |
1335 | } else { | 1361 | } else { |
1336 | dasm_put(Dst, 2808); | 1362 | dasm_put(Dst, 2817); |
1337 | } | 1363 | } |
1338 | dasm_put(Dst, 2815, 1+3, 1+1, 8+FRAME_PCALL, DISPATCH_GL(hookmask), HOOK_ACTIVE_SHIFT, 2+1, LJ_TFUNC); | 1364 | dasm_put(Dst, 2824, 1+3, 1+1, 8+FRAME_PCALL, DISPATCH_GL(hookmask), HOOK_ACTIVE_SHIFT, 2+1, LJ_TFUNC); |
1339 | dasm_put(Dst, 2879, LJ_TFUNC, 16+FRAME_PCALL, 1+1, LJ_TTHREAD, Dt1(->cframe), Dt1(->status), LUA_YIELD, Dt1(->top)); | 1365 | dasm_put(Dst, 2888, LJ_TFUNC, 16+FRAME_PCALL, 1+1, LJ_TTHREAD, Dt1(->cframe), Dt1(->status), LUA_YIELD, Dt1(->top)); |
1340 | dasm_put(Dst, 2967, Dt1(->base), Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->top), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP); | 1366 | dasm_put(Dst, 2976, Dt1(->base), Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->top), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP); |
1341 | dasm_put(Dst, 3068, Dt1(->base), LUA_YIELD, Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->maxstack), LJ_TTRUE, FRAME_TYPE); | 1367 | dasm_put(Dst, 3077, Dt1(->base), LUA_YIELD, Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->maxstack), LJ_TTRUE, FRAME_TYPE); |
1342 | dasm_put(Dst, 3182, LJ_TFALSE, Dt1(->top), Dt1(->top), 1+2, Dt1(->top), Dt1(->base), Dt8(->upvalue[0].gcr), Dt1(->cframe)); | 1368 | dasm_put(Dst, 3191, LJ_TFALSE, Dt1(->top), Dt1(->top), 1+2, Dt1(->top), Dt1(->base), Dt8(->upvalue[0].gcr), Dt1(->cframe)); |
1343 | dasm_put(Dst, 3280, Dt1(->status), LUA_YIELD, Dt1(->top), Dt1(->base), Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->top)); | 1369 | dasm_put(Dst, 3289, Dt1(->status), LUA_YIELD, Dt1(->top), Dt1(->base), Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->top)); |
1344 | dasm_put(Dst, 3346, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), LUA_YIELD, Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->maxstack)); | 1370 | dasm_put(Dst, 3355, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), LUA_YIELD, Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->maxstack)); |
1345 | dasm_put(Dst, 3447, FRAME_TYPE, Dt1(->top), Dt1(->base), Dt1(->cframe), CFRAME_RESUME); | 1371 | dasm_put(Dst, 3456, FRAME_TYPE, Dt1(->top), Dt1(->base), Dt1(->cframe), CFRAME_RESUME); |
1346 | dasm_put(Dst, 3560, Dt1(->base), Dt1(->top), Dt1(->cframe), LUA_YIELD, Dt1(->status)); | 1372 | dasm_put(Dst, 3569, Dt1(->base), Dt1(->top), Dt1(->cframe), LUA_YIELD, Dt1(->status)); |
1347 | if (!LJ_DUALNUM) { | 1373 | if (!LJ_DUALNUM) { |
1348 | dasm_put(Dst, 3586); | 1374 | dasm_put(Dst, 3595); |
1349 | } | 1375 | } |
1350 | if (sse) { | 1376 | if (sse) { |
1351 | dasm_put(Dst, 3589); | 1377 | dasm_put(Dst, 3598); |
1352 | } | 1378 | } |
1353 | dasm_put(Dst, 3604, 1+1); | 1379 | dasm_put(Dst, 3613, 1+1); |
1354 | if (LJ_DUALNUM) { | 1380 | if (LJ_DUALNUM) { |
1355 | dasm_put(Dst, 3615, LJ_TISNUM, LJ_TISNUM); | 1381 | dasm_put(Dst, 3624, LJ_TISNUM, LJ_TISNUM); |
1356 | } else { | 1382 | } else { |
1357 | dasm_put(Dst, 3695, LJ_TISNUM); | 1383 | dasm_put(Dst, 3704, LJ_TISNUM); |
1358 | } | 1384 | } |
1359 | if (sse) { | 1385 | if (sse) { |
1360 | dasm_put(Dst, 3705); | 1386 | dasm_put(Dst, 3714); |
1361 | } else { | 1387 | } else { |
1362 | dasm_put(Dst, 3741); | 1388 | dasm_put(Dst, 3750); |
1363 | } | 1389 | } |
1364 | dasm_put(Dst, 3758, 1+1, FRAME_TYPE, LJ_TNIL); | 1390 | dasm_put(Dst, 3767, 1+1, FRAME_TYPE, LJ_TNIL); |
1365 | if (LJ_DUALNUM) { | 1391 | if (LJ_DUALNUM) { |
1366 | dasm_put(Dst, 3850, LJ_TISNUM); | 1392 | dasm_put(Dst, 3859, LJ_TISNUM); |
1367 | } else { | 1393 | } else { |
1368 | dasm_put(Dst, 3695, LJ_TISNUM); | 1394 | dasm_put(Dst, 3704, LJ_TISNUM); |
1369 | } | 1395 | } |
1370 | if (sse) { | 1396 | if (sse) { |
1371 | dasm_put(Dst, 3872); | ||
1372 | if (LJ_DUALNUM) { | ||
1373 | dasm_put(Dst, 3881); | 1397 | dasm_put(Dst, 3881); |
1398 | if (LJ_DUALNUM) { | ||
1399 | dasm_put(Dst, 3890); | ||
1374 | } | 1400 | } |
1375 | dasm_put(Dst, 2274); | 1401 | dasm_put(Dst, 2283); |
1376 | } else { | 1402 | } else { |
1377 | dasm_put(Dst, 3915); | 1403 | dasm_put(Dst, 3924); |
1378 | if (LJ_DUALNUM) { | 1404 | if (LJ_DUALNUM) { |
1379 | dasm_put(Dst, 3921); | 1405 | dasm_put(Dst, 3930); |
1380 | if (cmov) { | 1406 | if (cmov) { |
1381 | dasm_put(Dst, 3944); | 1407 | dasm_put(Dst, 3953); |
1382 | } else { | 1408 | } else { |
1383 | dasm_put(Dst, 3950); | 1409 | dasm_put(Dst, 3959); |
1384 | } | 1410 | } |
1385 | dasm_put(Dst, 3957); | 1411 | dasm_put(Dst, 3966); |
1386 | } else { | 1412 | } else { |
1387 | dasm_put(Dst, 2281); | 1413 | dasm_put(Dst, 2290); |
1388 | } | 1414 | } |
1389 | } | 1415 | } |
1390 | dasm_put(Dst, 3974); | 1416 | dasm_put(Dst, 3983); |
1391 | if (LJ_DUALNUM) { | 1417 | if (LJ_DUALNUM) { |
1392 | dasm_put(Dst, 3850, LJ_TISNUM); | 1418 | dasm_put(Dst, 3859, LJ_TISNUM); |
1393 | } else { | 1419 | } else { |
1394 | dasm_put(Dst, 3695, LJ_TISNUM); | 1420 | dasm_put(Dst, 3704, LJ_TISNUM); |
1395 | } | 1421 | } |
1396 | if (sse) { | 1422 | if (sse) { |
1397 | dasm_put(Dst, 3977); | 1423 | dasm_put(Dst, 3986); |
1398 | if (LJ_DUALNUM) { | 1424 | if (LJ_DUALNUM) { |
1399 | dasm_put(Dst, 3881); | 1425 | dasm_put(Dst, 3890); |
1400 | } | 1426 | } |
1401 | dasm_put(Dst, 2274); | 1427 | dasm_put(Dst, 2283); |
1402 | } else { | 1428 | } else { |
1403 | dasm_put(Dst, 3986); | 1429 | dasm_put(Dst, 3995); |
1404 | if (LJ_DUALNUM) { | 1430 | if (LJ_DUALNUM) { |
1405 | dasm_put(Dst, 3921); | 1431 | dasm_put(Dst, 3930); |
1406 | if (cmov) { | 1432 | if (cmov) { |
1407 | dasm_put(Dst, 3944); | 1433 | dasm_put(Dst, 3953); |
1408 | } else { | 1434 | } else { |
1409 | dasm_put(Dst, 3950); | 1435 | dasm_put(Dst, 3959); |
1410 | } | 1436 | } |
1411 | dasm_put(Dst, 3957); | 1437 | dasm_put(Dst, 3966); |
1412 | } else { | 1438 | } else { |
1413 | dasm_put(Dst, 2281); | 1439 | dasm_put(Dst, 2290); |
1414 | } | 1440 | } |
1415 | } | 1441 | } |
1416 | if (sse) { | 1442 | if (sse) { |
1417 | dasm_put(Dst, 3992, 1+1, LJ_TISNUM); | 1443 | dasm_put(Dst, 4001, 1+1, LJ_TISNUM); |
1418 | } else { | 1444 | } else { |
1419 | dasm_put(Dst, 4021, 1+1, LJ_TISNUM); | 1445 | dasm_put(Dst, 4030, 1+1, LJ_TISNUM); |
1420 | } | 1446 | } |
1421 | dasm_put(Dst, 4050, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1); | 1447 | dasm_put(Dst, 4059, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1); |
1422 | dasm_put(Dst, 4119, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1); | 1448 | dasm_put(Dst, 4128, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1); |
1423 | dasm_put(Dst, 4176, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1); | 1449 | dasm_put(Dst, 4185, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1); |
1424 | dasm_put(Dst, 4239, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM); | 1450 | dasm_put(Dst, 4248, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM); |
1425 | dasm_put(Dst, 4329); | 1451 | dasm_put(Dst, 4338); |
1426 | if (sse) { | 1452 | if (sse) { |
1427 | dasm_put(Dst, 4341, 1+1, LJ_TISNUM); | 1453 | dasm_put(Dst, 4350, 1+1, LJ_TISNUM); |
1428 | } else { | 1454 | } else { |
1429 | dasm_put(Dst, 4372, 1+1, LJ_TISNUM); | 1455 | dasm_put(Dst, 4381, 1+1, LJ_TISNUM); |
1430 | } | 1456 | } |
1431 | dasm_put(Dst, 4397); | 1457 | dasm_put(Dst, 4406); |
1432 | if (sse) { | 1458 | if (sse) { |
1433 | dasm_put(Dst, 4411, 1+1, LJ_TISNUM); | 1459 | dasm_put(Dst, 4420, 1+1, LJ_TISNUM); |
1434 | } else { | 1460 | } else { |
1435 | dasm_put(Dst, 4442, 1+1, LJ_TISNUM); | 1461 | dasm_put(Dst, 4451, 1+1, LJ_TISNUM); |
1436 | } | 1462 | } |
1437 | dasm_put(Dst, 4467); | 1463 | dasm_put(Dst, 4476); |
1438 | if (sse) { | 1464 | if (sse) { |
1439 | dasm_put(Dst, 4481, 1+1, LJ_TISNUM); | 1465 | dasm_put(Dst, 4490, 1+1, LJ_TISNUM); |
1440 | } else { | 1466 | } else { |
1441 | dasm_put(Dst, 4512, 1+1, LJ_TISNUM); | 1467 | dasm_put(Dst, 4521, 1+1, LJ_TISNUM); |
1442 | } | 1468 | } |
1443 | dasm_put(Dst, 4537); | 1469 | dasm_put(Dst, 4546); |
1444 | if (sse) { | 1470 | if (sse) { |
1445 | dasm_put(Dst, 4553, 1+1, LJ_TISNUM, Dt8(->upvalue[0])); | 1471 | dasm_put(Dst, 4562, 1+1, LJ_TISNUM, Dt8(->upvalue[0])); |
1446 | } else { | 1472 | } else { |
1447 | dasm_put(Dst, 4592, 1+1, LJ_TISNUM, Dt8(->upvalue[0])); | 1473 | dasm_put(Dst, 4601, 1+1, LJ_TISNUM, Dt8(->upvalue[0])); |
1448 | } | 1474 | } |
1449 | dasm_put(Dst, 4625, 2+1, LJ_TISNUM, LJ_TISNUM, 2+1, LJ_TISNUM, LJ_TISNUM); | 1475 | dasm_put(Dst, 4634, 2+1, LJ_TISNUM, LJ_TISNUM, 2+1, LJ_TISNUM, LJ_TISNUM); |
1450 | dasm_put(Dst, 4690, 1+1, LJ_TISNUM); | 1476 | dasm_put(Dst, 4699, 1+1, LJ_TISNUM); |
1451 | if (sse) { | 1477 | if (sse) { |
1452 | dasm_put(Dst, 4789); | 1478 | dasm_put(Dst, 4798); |
1453 | } else { | 1479 | } else { |
1454 | dasm_put(Dst, 4795); | 1480 | dasm_put(Dst, 4804); |
1455 | } | 1481 | } |
1456 | dasm_put(Dst, 4804); | 1482 | dasm_put(Dst, 4813); |
1457 | if (sse) { | 1483 | if (sse) { |
1458 | dasm_put(Dst, 4829); | 1484 | dasm_put(Dst, 4838); |
1459 | } else { | 1485 | } else { |
1460 | dasm_put(Dst, 4835); | 1486 | dasm_put(Dst, 4844); |
1461 | } | 1487 | } |
1462 | dasm_put(Dst, 4838, 1+2); | 1488 | dasm_put(Dst, 4847, 1+2); |
1463 | if (sse) { | 1489 | if (sse) { |
1464 | dasm_put(Dst, 4847); | 1490 | dasm_put(Dst, 4856); |
1465 | } else { | 1491 | } else { |
1466 | dasm_put(Dst, 4855); | 1492 | dasm_put(Dst, 4864); |
1467 | } | 1493 | } |
1468 | dasm_put(Dst, 4863); | 1494 | dasm_put(Dst, 4872); |
1469 | if (sse) { | 1495 | if (sse) { |
1470 | dasm_put(Dst, 4866); | 1496 | dasm_put(Dst, 4875); |
1471 | } else { | 1497 | } else { |
1472 | dasm_put(Dst, 4898); | 1498 | dasm_put(Dst, 4907); |
1473 | } | 1499 | } |
1474 | dasm_put(Dst, 4917); | 1500 | dasm_put(Dst, 4926); |
1475 | if (sse) { | 1501 | if (sse) { |
1476 | dasm_put(Dst, 4933, 1+1, LJ_TISNUM); | 1502 | dasm_put(Dst, 4942, 1+1, LJ_TISNUM); |
1477 | } else { | 1503 | } else { |
1478 | dasm_put(Dst, 4958, 1+1, LJ_TISNUM); | 1504 | dasm_put(Dst, 4967, 1+1, LJ_TISNUM); |
1479 | } | 1505 | } |
1480 | dasm_put(Dst, 4980); | 1506 | dasm_put(Dst, 4989); |
1481 | if (sse) { | 1507 | if (sse) { |
1482 | dasm_put(Dst, 5002); | 1508 | dasm_put(Dst, 5011); |
1483 | } else { | 1509 | } else { |
1484 | dasm_put(Dst, 5028); | 1510 | dasm_put(Dst, 5037); |
1485 | } | 1511 | } |
1486 | dasm_put(Dst, 5045, 1+2); | 1512 | dasm_put(Dst, 5054, 1+2); |
1487 | if (sse) { | 1513 | if (sse) { |
1488 | dasm_put(Dst, 5085); | 1514 | dasm_put(Dst, 5094); |
1489 | } else { | 1515 | } else { |
1490 | dasm_put(Dst, 5093); | 1516 | dasm_put(Dst, 5102); |
1491 | } | 1517 | } |
1492 | dasm_put(Dst, 5103, 2+1, LJ_TISNUM, LJ_TISNUM); | 1518 | dasm_put(Dst, 5112, 2+1, LJ_TISNUM, LJ_TISNUM); |
1493 | if (sse) { | 1519 | if (sse) { |
1494 | dasm_put(Dst, 5155, 2+1, LJ_TISNUM, LJ_TISNUM); | 1520 | dasm_put(Dst, 5164, 2+1, LJ_TISNUM, LJ_TISNUM); |
1495 | } else { | 1521 | } else { |
1496 | dasm_put(Dst, 5202, 2+1, LJ_TISNUM, LJ_TISNUM); | 1522 | dasm_put(Dst, 5211, 2+1, LJ_TISNUM, LJ_TISNUM); |
1497 | } | 1523 | } |
1498 | dasm_put(Dst, 5243, LJ_TISNUM); | 1524 | dasm_put(Dst, 5252, LJ_TISNUM); |
1499 | if (LJ_DUALNUM) { | 1525 | if (LJ_DUALNUM) { |
1500 | dasm_put(Dst, 5256, LJ_TISNUM); | 1526 | dasm_put(Dst, 5265, LJ_TISNUM); |
1501 | if (sse) { | 1527 | if (sse) { |
1502 | dasm_put(Dst, 4789); | 1528 | dasm_put(Dst, 4798); |
1503 | } else { | 1529 | } else { |
1504 | dasm_put(Dst, 4795); | 1530 | dasm_put(Dst, 4804); |
1505 | } | 1531 | } |
1506 | dasm_put(Dst, 5306); | 1532 | dasm_put(Dst, 5315); |
1507 | } else { | 1533 | } else { |
1508 | dasm_put(Dst, 2264); | 1534 | dasm_put(Dst, 2273); |
1509 | } | 1535 | } |
1510 | if (sse) { | 1536 | if (sse) { |
1511 | dasm_put(Dst, 5317, LJ_TISNUM); | 1537 | dasm_put(Dst, 5326, LJ_TISNUM); |
1512 | if (LJ_DUALNUM) { | 1538 | if (LJ_DUALNUM) { |
1513 | dasm_put(Dst, 5338); | 1539 | dasm_put(Dst, 5347); |
1514 | } else { | 1540 | } else { |
1515 | dasm_put(Dst, 2264); | 1541 | dasm_put(Dst, 2273); |
1516 | } | 1542 | } |
1517 | dasm_put(Dst, 5359); | 1543 | dasm_put(Dst, 5368); |
1518 | } else { | 1544 | } else { |
1519 | dasm_put(Dst, 5384, LJ_TISNUM); | 1545 | dasm_put(Dst, 5393, LJ_TISNUM); |
1520 | if (LJ_DUALNUM) { | 1546 | if (LJ_DUALNUM) { |
1521 | dasm_put(Dst, 5402); | 1547 | dasm_put(Dst, 5411); |
1522 | } else { | 1548 | } else { |
1523 | dasm_put(Dst, 5420); | 1549 | dasm_put(Dst, 5429); |
1524 | } | 1550 | } |
1525 | dasm_put(Dst, 5425); | 1551 | dasm_put(Dst, 5434); |
1526 | if (cmov) { | 1552 | if (cmov) { |
1527 | dasm_put(Dst, 5435); | 1553 | dasm_put(Dst, 5444); |
1528 | } else { | 1554 | } else { |
1529 | dasm_put(Dst, 5443); | 1555 | dasm_put(Dst, 5452); |
1530 | } | 1556 | } |
1531 | dasm_put(Dst, 5376); | 1557 | dasm_put(Dst, 5385); |
1532 | } | 1558 | } |
1533 | dasm_put(Dst, 5464, LJ_TISNUM); | 1559 | dasm_put(Dst, 5473, LJ_TISNUM); |
1534 | if (LJ_DUALNUM) { | 1560 | if (LJ_DUALNUM) { |
1535 | dasm_put(Dst, 5477, LJ_TISNUM); | 1561 | dasm_put(Dst, 5486, LJ_TISNUM); |
1536 | if (sse) { | 1562 | if (sse) { |
1537 | dasm_put(Dst, 4789); | 1563 | dasm_put(Dst, 4798); |
1538 | } else { | 1564 | } else { |
1539 | dasm_put(Dst, 4795); | 1565 | dasm_put(Dst, 4804); |
1540 | } | 1566 | } |
1541 | dasm_put(Dst, 5306); | 1567 | dasm_put(Dst, 5315); |
1542 | } else { | 1568 | } else { |
1543 | dasm_put(Dst, 2264); | 1569 | dasm_put(Dst, 2273); |
1544 | } | 1570 | } |
1545 | if (sse) { | 1571 | if (sse) { |
1546 | dasm_put(Dst, 5317, LJ_TISNUM); | 1572 | dasm_put(Dst, 5326, LJ_TISNUM); |
1547 | if (LJ_DUALNUM) { | 1573 | if (LJ_DUALNUM) { |
1548 | dasm_put(Dst, 5338); | 1574 | dasm_put(Dst, 5347); |
1549 | } else { | 1575 | } else { |
1550 | dasm_put(Dst, 2264); | 1576 | dasm_put(Dst, 2273); |
1551 | } | 1577 | } |
1552 | dasm_put(Dst, 5527); | 1578 | dasm_put(Dst, 5536); |
1553 | } else { | 1579 | } else { |
1554 | dasm_put(Dst, 5384, LJ_TISNUM); | 1580 | dasm_put(Dst, 5393, LJ_TISNUM); |
1555 | if (LJ_DUALNUM) { | 1581 | if (LJ_DUALNUM) { |
1556 | dasm_put(Dst, 5402); | 1582 | dasm_put(Dst, 5411); |
1557 | } else { | 1583 | } else { |
1558 | dasm_put(Dst, 5420); | 1584 | dasm_put(Dst, 5429); |
1559 | } | 1585 | } |
1560 | dasm_put(Dst, 5425); | 1586 | dasm_put(Dst, 5434); |
1561 | if (cmov) { | 1587 | if (cmov) { |
1562 | dasm_put(Dst, 5552); | 1588 | dasm_put(Dst, 5561); |
1563 | } else { | 1589 | } else { |
1564 | dasm_put(Dst, 5560); | 1590 | dasm_put(Dst, 5569); |
1565 | } | 1591 | } |
1566 | dasm_put(Dst, 5376); | 1592 | dasm_put(Dst, 5385); |
1567 | } | 1593 | } |
1568 | if (!sse) { | 1594 | if (!sse) { |
1569 | dasm_put(Dst, 5581); | 1595 | dasm_put(Dst, 5590); |
1570 | } | 1596 | } |
1571 | dasm_put(Dst, 5590, 1+1, LJ_TSTR); | 1597 | dasm_put(Dst, 5599, 1+1, LJ_TSTR); |
1572 | if (LJ_DUALNUM) { | 1598 | if (LJ_DUALNUM) { |
1573 | dasm_put(Dst, 5612, Dt5(->len)); | 1599 | dasm_put(Dst, 5621, Dt5(->len)); |
1574 | } else if (sse) { | 1600 | } else if (sse) { |
1575 | dasm_put(Dst, 5620, Dt5(->len)); | 1601 | dasm_put(Dst, 5629, Dt5(->len)); |
1576 | } else { | 1602 | } else { |
1577 | dasm_put(Dst, 5631, Dt5(->len)); | 1603 | dasm_put(Dst, 5640, Dt5(->len)); |
1578 | } | 1604 | } |
1579 | dasm_put(Dst, 5639, 1+1, LJ_TSTR, Dt5(->len), Dt5([1])); | 1605 | dasm_put(Dst, 5648, 1+1, LJ_TSTR, Dt5(->len), Dt5([1])); |
1580 | if (LJ_DUALNUM) { | 1606 | if (LJ_DUALNUM) { |
1581 | dasm_put(Dst, 3969); | 1607 | dasm_put(Dst, 3978); |
1582 | } else if (sse) { | 1608 | } else if (sse) { |
1583 | dasm_put(Dst, 5677); | 1609 | dasm_put(Dst, 5686); |
1584 | } else { | 1610 | } else { |
1585 | dasm_put(Dst, 5687); | 1611 | dasm_put(Dst, 5696); |
1586 | } | 1612 | } |
1587 | dasm_put(Dst, 5700, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), 1+1, LJ_TISNUM); | 1613 | dasm_put(Dst, 5709, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), 1+1, LJ_TISNUM); |
1588 | if (LJ_DUALNUM) { | 1614 | if (LJ_DUALNUM) { |
1589 | dasm_put(Dst, 5731); | 1615 | dasm_put(Dst, 5740); |
1590 | } else if (sse) { | 1616 | } else if (sse) { |
1591 | dasm_put(Dst, 5754); | 1617 | dasm_put(Dst, 5763); |
1592 | } else { | 1618 | } else { |
1593 | dasm_put(Dst, 5780); | 1619 | dasm_put(Dst, 5789); |
1594 | } | 1620 | } |
1595 | dasm_put(Dst, 5804, Dt1(->base), Dt1(->base), LJ_TSTR, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), 1+2, LJ_TISNUM); | 1621 | dasm_put(Dst, 5813, Dt1(->base), Dt1(->base), LJ_TSTR, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), 1+2, LJ_TISNUM); |
1596 | if (LJ_DUALNUM) { | 1622 | if (LJ_DUALNUM) { |
1597 | dasm_put(Dst, 5907); | 1623 | dasm_put(Dst, 5916); |
1598 | } else if (sse) { | 1624 | } else if (sse) { |
1599 | dasm_put(Dst, 5919); | 1625 | dasm_put(Dst, 5928); |
1600 | } else { | 1626 | } else { |
1601 | dasm_put(Dst, 5934); | 1627 | dasm_put(Dst, 5943); |
1602 | } | 1628 | } |
1603 | dasm_put(Dst, 5946, LJ_TSTR, LJ_TISNUM); | 1629 | dasm_put(Dst, 5955, LJ_TSTR, LJ_TISNUM); |
1604 | if (LJ_DUALNUM) { | 1630 | if (LJ_DUALNUM) { |
1605 | dasm_put(Dst, 2537); | 1631 | dasm_put(Dst, 2546); |
1606 | } else { | 1632 | } else { |
1607 | dasm_put(Dst, 2264); | 1633 | dasm_put(Dst, 2273); |
1608 | } | 1634 | } |
1609 | dasm_put(Dst, 5963, Dt5(->len)); | 1635 | dasm_put(Dst, 5972, Dt5(->len)); |
1610 | if (LJ_DUALNUM) { | 1636 | if (LJ_DUALNUM) { |
1611 | dasm_put(Dst, 5973); | 1637 | dasm_put(Dst, 5982); |
1612 | } else if (sse) { | 1638 | } else if (sse) { |
1613 | dasm_put(Dst, 5977); | 1639 | dasm_put(Dst, 5986); |
1614 | } else { | 1640 | } else { |
1615 | dasm_put(Dst, 5984); | 1641 | dasm_put(Dst, 5993); |
1616 | } | 1642 | } |
1617 | dasm_put(Dst, 5996, sizeof(GCstr)-1); | 1643 | dasm_put(Dst, 6005, sizeof(GCstr)-1); |
1618 | dasm_put(Dst, 6071, 2+1, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold)); | 1644 | dasm_put(Dst, 6080, 2+1, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold)); |
1619 | dasm_put(Dst, 6130, LJ_TSTR, LJ_TISNUM); | 1645 | dasm_put(Dst, 6139, LJ_TSTR, LJ_TISNUM); |
1620 | if (LJ_DUALNUM) { | 1646 | if (LJ_DUALNUM) { |
1621 | dasm_put(Dst, 6147); | 1647 | dasm_put(Dst, 6156); |
1622 | } else if (sse) { | 1648 | } else if (sse) { |
1623 | dasm_put(Dst, 6155); | 1649 | dasm_put(Dst, 6164); |
1624 | } else { | 1650 | } else { |
1625 | dasm_put(Dst, 6166); | 1651 | dasm_put(Dst, 6175); |
1626 | } | 1652 | } |
1627 | dasm_put(Dst, 6182, Dt5(->len), DISPATCH_GL(tmpbuf.sz), Dt5([1]), DISPATCH_GL(tmpbuf.buf), DISPATCH_GL(tmpbuf.buf), 1+1); | 1653 | dasm_put(Dst, 6191, Dt5(->len), DISPATCH_GL(tmpbuf.sz), Dt5([1]), DISPATCH_GL(tmpbuf.buf), DISPATCH_GL(tmpbuf.buf), 1+1); |
1628 | dasm_put(Dst, 6247, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf)); | 1654 | dasm_put(Dst, 6256, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf)); |
1629 | dasm_put(Dst, 6310, 1+1, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz)); | 1655 | dasm_put(Dst, 6319, 1+1, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz)); |
1630 | dasm_put(Dst, 6381, sizeof(GCstr), DISPATCH_GL(tmpbuf.buf), 1+1); | 1656 | dasm_put(Dst, 6390, sizeof(GCstr), DISPATCH_GL(tmpbuf.buf), 1+1); |
1631 | dasm_put(Dst, 6466, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf)); | 1657 | dasm_put(Dst, 6475, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf)); |
1632 | dasm_put(Dst, 6536, 1+1, LJ_TTAB); | 1658 | dasm_put(Dst, 6545, 1+1, LJ_TTAB); |
1633 | if (LJ_DUALNUM) { | 1659 | if (LJ_DUALNUM) { |
1634 | dasm_put(Dst, 6604); | 1660 | dasm_put(Dst, 6613); |
1635 | } else if (sse) { | 1661 | } else if (sse) { |
1636 | dasm_put(Dst, 6611); | 1662 | dasm_put(Dst, 6620); |
1637 | } else { | 1663 | } else { |
1638 | dasm_put(Dst, 6621); | 1664 | dasm_put(Dst, 6630); |
1639 | } | 1665 | } |
1640 | dasm_put(Dst, 6632, 1+1, LJ_TISNUM); | 1666 | dasm_put(Dst, 6641, 1+1, LJ_TISNUM); |
1641 | if (LJ_DUALNUM) { | 1667 | if (LJ_DUALNUM) { |
1642 | dasm_put(Dst, 6648); | 1668 | dasm_put(Dst, 6657); |
1643 | } else { | 1669 | } else { |
1644 | dasm_put(Dst, 2264); | 1670 | dasm_put(Dst, 2273); |
1645 | } | 1671 | } |
1646 | if (sse) { | 1672 | if (sse) { |
1647 | dasm_put(Dst, 6665); | 1673 | dasm_put(Dst, 6674); |
1648 | } else { | 1674 | } else { |
1649 | dasm_put(Dst, 6694); | 1675 | dasm_put(Dst, 6703); |
1650 | } | 1676 | } |
1651 | dasm_put(Dst, 111); | 1677 | dasm_put(Dst, 111); |
1652 | if (LJ_DUALNUM || sse) { | 1678 | if (LJ_DUALNUM || sse) { |
1653 | if (!sse) { | 1679 | if (!sse) { |
1654 | dasm_put(Dst, 6712); | 1680 | dasm_put(Dst, 6721); |
1655 | } | 1681 | } |
1656 | dasm_put(Dst, 6716); | 1682 | dasm_put(Dst, 6725); |
1657 | } else { | 1683 | } else { |
1658 | dasm_put(Dst, 6624); | 1684 | dasm_put(Dst, 6633); |
1659 | } | 1685 | } |
1660 | dasm_put(Dst, 6721, 1+1); | 1686 | dasm_put(Dst, 6730, 1+1); |
1661 | if (sse) { | 1687 | if (sse) { |
1662 | dasm_put(Dst, 6732); | 1688 | dasm_put(Dst, 6741); |
1663 | } else { | 1689 | } else { |
1664 | dasm_put(Dst, 6747); | 1690 | dasm_put(Dst, 6756); |
1665 | } | 1691 | } |
1666 | dasm_put(Dst, 2241, LJ_TISNUM); | 1692 | dasm_put(Dst, 2250, LJ_TISNUM); |
1667 | if (LJ_DUALNUM) { | 1693 | if (LJ_DUALNUM) { |
1668 | dasm_put(Dst, 6756); | 1694 | dasm_put(Dst, 6765); |
1669 | } else { | 1695 | } else { |
1670 | dasm_put(Dst, 2264); | 1696 | dasm_put(Dst, 2273); |
1671 | } | 1697 | } |
1672 | if (sse) { | 1698 | if (sse) { |
1673 | dasm_put(Dst, 6773); | 1699 | dasm_put(Dst, 6782); |
1674 | } else { | 1700 | } else { |
1675 | dasm_put(Dst, 6788); | 1701 | dasm_put(Dst, 6797); |
1676 | } | 1702 | } |
1677 | dasm_put(Dst, 6801, LJ_TISNUM); | 1703 | dasm_put(Dst, 6810, LJ_TISNUM); |
1678 | if (LJ_DUALNUM) { | 1704 | if (LJ_DUALNUM) { |
1679 | dasm_put(Dst, 6826); | 1705 | dasm_put(Dst, 6835); |
1680 | } else { | 1706 | } else { |
1681 | dasm_put(Dst, 6846); | 1707 | dasm_put(Dst, 6855); |
1682 | } | 1708 | } |
1683 | if (sse) { | 1709 | if (sse) { |
1684 | dasm_put(Dst, 6851); | 1710 | dasm_put(Dst, 6860); |
1685 | } else { | 1711 | } else { |
1686 | dasm_put(Dst, 6868); | 1712 | dasm_put(Dst, 6877); |
1687 | } | 1713 | } |
1688 | dasm_put(Dst, 6881, 1+1); | 1714 | dasm_put(Dst, 6890, 1+1); |
1689 | if (sse) { | 1715 | if (sse) { |
1690 | dasm_put(Dst, 6732); | 1716 | dasm_put(Dst, 6741); |
1691 | } else { | 1717 | } else { |
1692 | dasm_put(Dst, 6747); | 1718 | dasm_put(Dst, 6756); |
1693 | } | 1719 | } |
1694 | dasm_put(Dst, 2241, LJ_TISNUM); | 1720 | dasm_put(Dst, 2250, LJ_TISNUM); |
1695 | if (LJ_DUALNUM) { | 1721 | if (LJ_DUALNUM) { |
1696 | dasm_put(Dst, 6756); | 1722 | dasm_put(Dst, 6765); |
1697 | } else { | 1723 | } else { |
1698 | dasm_put(Dst, 2264); | 1724 | dasm_put(Dst, 2273); |
1699 | } | 1725 | } |
1700 | if (sse) { | 1726 | if (sse) { |
1701 | dasm_put(Dst, 6773); | 1727 | dasm_put(Dst, 6782); |
1702 | } else { | 1728 | } else { |
1703 | dasm_put(Dst, 6788); | 1729 | dasm_put(Dst, 6797); |
1704 | } | 1730 | } |
1705 | dasm_put(Dst, 6801, LJ_TISNUM); | 1731 | dasm_put(Dst, 6810, LJ_TISNUM); |
1706 | if (LJ_DUALNUM) { | 1732 | if (LJ_DUALNUM) { |
1707 | dasm_put(Dst, 6899); | 1733 | dasm_put(Dst, 6908); |
1708 | } else { | 1734 | } else { |
1709 | dasm_put(Dst, 6846); | 1735 | dasm_put(Dst, 6855); |
1710 | } | 1736 | } |
1711 | if (sse) { | 1737 | if (sse) { |
1712 | dasm_put(Dst, 6919); | 1738 | dasm_put(Dst, 6928); |
1713 | } else { | 1739 | } else { |
1714 | dasm_put(Dst, 6936); | 1740 | dasm_put(Dst, 6945); |
1715 | } | 1741 | } |
1716 | dasm_put(Dst, 6949, 1+1); | 1742 | dasm_put(Dst, 6958, 1+1); |
1717 | if (sse) { | 1743 | if (sse) { |
1718 | dasm_put(Dst, 6732); | 1744 | dasm_put(Dst, 6741); |
1719 | } else { | 1745 | } else { |
1720 | dasm_put(Dst, 6747); | 1746 | dasm_put(Dst, 6756); |
1721 | } | 1747 | } |
1722 | dasm_put(Dst, 2241, LJ_TISNUM); | 1748 | dasm_put(Dst, 2250, LJ_TISNUM); |
1723 | if (LJ_DUALNUM) { | 1749 | if (LJ_DUALNUM) { |
1724 | dasm_put(Dst, 6756); | 1750 | dasm_put(Dst, 6765); |
1725 | } else { | 1751 | } else { |
1726 | dasm_put(Dst, 2264); | 1752 | dasm_put(Dst, 2273); |
1727 | } | 1753 | } |
1728 | if (sse) { | 1754 | if (sse) { |
1729 | dasm_put(Dst, 6773); | 1755 | dasm_put(Dst, 6782); |
1730 | } else { | 1756 | } else { |
1731 | dasm_put(Dst, 6788); | 1757 | dasm_put(Dst, 6797); |
1732 | } | 1758 | } |
1733 | dasm_put(Dst, 6801, LJ_TISNUM); | 1759 | dasm_put(Dst, 6810, LJ_TISNUM); |
1734 | if (LJ_DUALNUM) { | 1760 | if (LJ_DUALNUM) { |
1735 | dasm_put(Dst, 6967); | 1761 | dasm_put(Dst, 6976); |
1736 | } else { | 1762 | } else { |
1737 | dasm_put(Dst, 6846); | 1763 | dasm_put(Dst, 6855); |
1738 | } | 1764 | } |
1739 | if (sse) { | 1765 | if (sse) { |
1740 | dasm_put(Dst, 6987); | 1766 | dasm_put(Dst, 6996); |
1741 | } else { | 1767 | } else { |
1742 | dasm_put(Dst, 7004); | 1768 | dasm_put(Dst, 7013); |
1743 | } | 1769 | } |
1744 | dasm_put(Dst, 7017, 1+1, LJ_TISNUM); | 1770 | dasm_put(Dst, 7026, 1+1, LJ_TISNUM); |
1745 | if (LJ_DUALNUM) { | 1771 | if (LJ_DUALNUM) { |
1746 | dasm_put(Dst, 6756); | 1772 | dasm_put(Dst, 6765); |
1747 | } else { | 1773 | } else { |
1748 | dasm_put(Dst, 2264); | 1774 | dasm_put(Dst, 2273); |
1749 | } | 1775 | } |
1750 | if (sse) { | 1776 | if (sse) { |
1751 | dasm_put(Dst, 6665); | 1777 | dasm_put(Dst, 6674); |
1752 | } else { | 1778 | } else { |
1753 | dasm_put(Dst, 7040); | 1779 | dasm_put(Dst, 7049); |
1754 | } | 1780 | } |
1755 | dasm_put(Dst, 7061, 1+1, LJ_TISNUM); | 1781 | dasm_put(Dst, 7070, 1+1, LJ_TISNUM); |
1756 | if (LJ_DUALNUM) { | 1782 | if (LJ_DUALNUM) { |
1757 | dasm_put(Dst, 6756); | 1783 | dasm_put(Dst, 6765); |
1758 | } else { | 1784 | } else { |
1759 | dasm_put(Dst, 2264); | 1785 | dasm_put(Dst, 2273); |
1760 | } | 1786 | } |
1761 | if (sse) { | 1787 | if (sse) { |
1762 | dasm_put(Dst, 6665); | 1788 | dasm_put(Dst, 6674); |
1763 | } else { | 1789 | } else { |
1764 | dasm_put(Dst, 7040); | 1790 | dasm_put(Dst, 7049); |
1765 | } | 1791 | } |
1766 | dasm_put(Dst, 7085); | 1792 | dasm_put(Dst, 7094); |
1767 | if (LJ_DUALNUM) { | 1793 | if (LJ_DUALNUM) { |
1768 | dasm_put(Dst, 6716); | 1794 | dasm_put(Dst, 6725); |
1769 | } else if (sse) { | 1795 | } else if (sse) { |
1770 | dasm_put(Dst, 7091); | 1796 | dasm_put(Dst, 7100); |
1771 | } else { | 1797 | } else { |
1772 | dasm_put(Dst, 7103); | 1798 | dasm_put(Dst, 7112); |
1773 | } | 1799 | } |
1774 | dasm_put(Dst, 7116); | 1800 | dasm_put(Dst, 7125); |
1775 | if (LJ_DUALNUM) { | 1801 | if (LJ_DUALNUM) { |
1776 | dasm_put(Dst, 7127, 1+1, LJ_TISNUM); | 1802 | dasm_put(Dst, 7136, 1+1, LJ_TISNUM); |
1777 | if (LJ_DUALNUM) { | 1803 | if (LJ_DUALNUM) { |
1778 | dasm_put(Dst, 6756); | 1804 | dasm_put(Dst, 6765); |
1779 | } else { | 1805 | } else { |
1780 | dasm_put(Dst, 2264); | 1806 | dasm_put(Dst, 2273); |
1781 | } | 1807 | } |
1782 | if (sse) { | 1808 | if (sse) { |
1783 | dasm_put(Dst, 6665); | 1809 | dasm_put(Dst, 6674); |
1784 | } else { | 1810 | } else { |
1785 | dasm_put(Dst, 7040); | 1811 | dasm_put(Dst, 7049); |
1786 | } | 1812 | } |
1787 | dasm_put(Dst, 7143, LJ_TISNUM); | 1813 | dasm_put(Dst, 7152, LJ_TISNUM); |
1788 | } else if (sse) { | 1814 | } else if (sse) { |
1789 | dasm_put(Dst, 7158, 2+1, LJ_TISNUM, LJ_TISNUM); | 1815 | dasm_put(Dst, 7167, 2+1, LJ_TISNUM, LJ_TISNUM); |
1790 | } else { | 1816 | } else { |
1791 | dasm_put(Dst, 7230, 2+1, LJ_TISNUM, LJ_TISNUM); | 1817 | dasm_put(Dst, 7239, 2+1, LJ_TISNUM, LJ_TISNUM); |
1792 | } | 1818 | } |
1793 | dasm_put(Dst, 7294); | 1819 | dasm_put(Dst, 7303); |
1794 | if (LJ_DUALNUM) { | 1820 | if (LJ_DUALNUM) { |
1795 | dasm_put(Dst, 7301, 1+1, LJ_TISNUM); | 1821 | dasm_put(Dst, 7310, 1+1, LJ_TISNUM); |
1796 | if (LJ_DUALNUM) { | 1822 | if (LJ_DUALNUM) { |
1797 | dasm_put(Dst, 6756); | 1823 | dasm_put(Dst, 6765); |
1798 | } else { | 1824 | } else { |
1799 | dasm_put(Dst, 2264); | 1825 | dasm_put(Dst, 2273); |
1800 | } | 1826 | } |
1801 | if (sse) { | 1827 | if (sse) { |
1802 | dasm_put(Dst, 6665); | 1828 | dasm_put(Dst, 6674); |
1803 | } else { | 1829 | } else { |
1804 | dasm_put(Dst, 7040); | 1830 | dasm_put(Dst, 7049); |
1805 | } | 1831 | } |
1806 | dasm_put(Dst, 7143, LJ_TISNUM); | 1832 | dasm_put(Dst, 7152, LJ_TISNUM); |
1807 | } else if (sse) { | 1833 | } else if (sse) { |
1808 | dasm_put(Dst, 7317, 2+1, LJ_TISNUM, LJ_TISNUM); | 1834 | dasm_put(Dst, 7326, 2+1, LJ_TISNUM, LJ_TISNUM); |
1809 | } else { | 1835 | } else { |
1810 | dasm_put(Dst, 7389, 2+1, LJ_TISNUM, LJ_TISNUM); | 1836 | dasm_put(Dst, 7398, 2+1, LJ_TISNUM, LJ_TISNUM); |
1811 | } | 1837 | } |
1812 | dasm_put(Dst, 7453); | 1838 | dasm_put(Dst, 7462); |
1813 | if (LJ_DUALNUM) { | 1839 | if (LJ_DUALNUM) { |
1814 | dasm_put(Dst, 7461, 1+1, LJ_TISNUM); | 1840 | dasm_put(Dst, 7470, 1+1, LJ_TISNUM); |
1815 | if (LJ_DUALNUM) { | 1841 | if (LJ_DUALNUM) { |
1816 | dasm_put(Dst, 6756); | 1842 | dasm_put(Dst, 6765); |
1817 | } else { | 1843 | } else { |
1818 | dasm_put(Dst, 2264); | 1844 | dasm_put(Dst, 2273); |
1819 | } | 1845 | } |
1820 | if (sse) { | 1846 | if (sse) { |
1821 | dasm_put(Dst, 6665); | 1847 | dasm_put(Dst, 6674); |
1822 | } else { | 1848 | } else { |
1823 | dasm_put(Dst, 7040); | 1849 | dasm_put(Dst, 7049); |
1824 | } | 1850 | } |
1825 | dasm_put(Dst, 7143, LJ_TISNUM); | 1851 | dasm_put(Dst, 7152, LJ_TISNUM); |
1826 | } else if (sse) { | 1852 | } else if (sse) { |
1827 | dasm_put(Dst, 7477, 2+1, LJ_TISNUM, LJ_TISNUM); | 1853 | dasm_put(Dst, 7486, 2+1, LJ_TISNUM, LJ_TISNUM); |
1828 | } else { | 1854 | } else { |
1829 | dasm_put(Dst, 7549, 2+1, LJ_TISNUM, LJ_TISNUM); | 1855 | dasm_put(Dst, 7558, 2+1, LJ_TISNUM, LJ_TISNUM); |
1830 | } | 1856 | } |
1831 | dasm_put(Dst, 7613); | 1857 | dasm_put(Dst, 7622); |
1832 | if (LJ_DUALNUM) { | 1858 | if (LJ_DUALNUM) { |
1833 | dasm_put(Dst, 7621, 1+1, LJ_TISNUM); | 1859 | dasm_put(Dst, 7630, 1+1, LJ_TISNUM); |
1834 | if (LJ_DUALNUM) { | 1860 | if (LJ_DUALNUM) { |
1835 | dasm_put(Dst, 6756); | 1861 | dasm_put(Dst, 6765); |
1836 | } else { | 1862 | } else { |
1837 | dasm_put(Dst, 2264); | 1863 | dasm_put(Dst, 2273); |
1838 | } | 1864 | } |
1839 | if (sse) { | 1865 | if (sse) { |
1840 | dasm_put(Dst, 6665); | 1866 | dasm_put(Dst, 6674); |
1841 | } else { | 1867 | } else { |
1842 | dasm_put(Dst, 7040); | 1868 | dasm_put(Dst, 7049); |
1843 | } | 1869 | } |
1844 | dasm_put(Dst, 7143, LJ_TISNUM); | 1870 | dasm_put(Dst, 7152, LJ_TISNUM); |
1845 | } else if (sse) { | 1871 | } else if (sse) { |
1846 | dasm_put(Dst, 7637, 2+1, LJ_TISNUM, LJ_TISNUM); | 1872 | dasm_put(Dst, 7646, 2+1, LJ_TISNUM, LJ_TISNUM); |
1847 | } else { | 1873 | } else { |
1848 | dasm_put(Dst, 7709, 2+1, LJ_TISNUM, LJ_TISNUM); | 1874 | dasm_put(Dst, 7718, 2+1, LJ_TISNUM, LJ_TISNUM); |
1849 | } | 1875 | } |
1850 | dasm_put(Dst, 7773); | 1876 | dasm_put(Dst, 7782); |
1851 | if (LJ_DUALNUM) { | 1877 | if (LJ_DUALNUM) { |
1852 | dasm_put(Dst, 7780, 1+1, LJ_TISNUM); | 1878 | dasm_put(Dst, 7789, 1+1, LJ_TISNUM); |
1853 | if (LJ_DUALNUM) { | 1879 | if (LJ_DUALNUM) { |
1854 | dasm_put(Dst, 6756); | 1880 | dasm_put(Dst, 6765); |
1855 | } else { | 1881 | } else { |
1856 | dasm_put(Dst, 2264); | 1882 | dasm_put(Dst, 2273); |
1857 | } | 1883 | } |
1858 | if (sse) { | 1884 | if (sse) { |
1859 | dasm_put(Dst, 6665); | 1885 | dasm_put(Dst, 6674); |
1860 | } else { | 1886 | } else { |
1861 | dasm_put(Dst, 7040); | 1887 | dasm_put(Dst, 7049); |
1862 | } | 1888 | } |
1863 | dasm_put(Dst, 7143, LJ_TISNUM); | 1889 | dasm_put(Dst, 7152, LJ_TISNUM); |
1864 | } else if (sse) { | 1890 | } else if (sse) { |
1865 | dasm_put(Dst, 7796, 2+1, LJ_TISNUM, LJ_TISNUM); | 1891 | dasm_put(Dst, 7805, 2+1, LJ_TISNUM, LJ_TISNUM); |
1866 | } else { | 1892 | } else { |
1867 | dasm_put(Dst, 7868, 2+1, LJ_TISNUM, LJ_TISNUM); | 1893 | dasm_put(Dst, 7877, 2+1, LJ_TISNUM, LJ_TISNUM); |
1868 | } | 1894 | } |
1869 | dasm_put(Dst, 7932, 1+2, 1+1, Dt1(->base), 8*LUA_MINSTACK, Dt1(->top), Dt1(->maxstack), Dt8(->f), Dt1(->base)); | 1895 | dasm_put(Dst, 7941, 1+2, 1+1, Dt1(->base), 8*LUA_MINSTACK, Dt1(->top), Dt1(->maxstack), Dt8(->f), Dt1(->base)); |
1870 | dasm_put(Dst, 8008, Dt1(->top), Dt7(->pc), FRAME_TYPE, LUA_MINSTACK, Dt1(->base), Dt1(->base)); | 1896 | dasm_put(Dst, 8017, Dt1(->top), Dt7(->pc), FRAME_TYPE, LUA_MINSTACK, Dt1(->base), Dt1(->base)); |
1871 | dasm_put(Dst, 8132, Dt1(->top), Dt1(->base), Dt1(->top)); | 1897 | dasm_put(Dst, 8141, Dt1(->top), Dt1(->base), Dt1(->top)); |
1872 | #if LJ_HASJIT | 1898 | #if LJ_HASJIT |
1873 | dasm_put(Dst, 8170, DISPATCH_GL(hookmask), HOOK_VMEVENT, HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount)); | 1899 | dasm_put(Dst, 8179, DISPATCH_GL(hookmask), HOOK_VMEVENT, HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount)); |
1874 | #endif | 1900 | #endif |
1875 | dasm_put(Dst, 8201, DISPATCH_GL(hookmask), HOOK_ACTIVE, DISPATCH_GL(hookmask), HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount), LUA_MASKLINE); | 1901 | dasm_put(Dst, 8210, DISPATCH_GL(hookmask), HOOK_ACTIVE, DISPATCH_GL(hookmask), HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount), LUA_MASKLINE); |
1876 | dasm_put(Dst, 8252, Dt1(->base), Dt1(->base), GG_DISP2STATIC); | 1902 | dasm_put(Dst, 8261, Dt1(->base), Dt1(->base), GG_DISP2STATIC); |
1877 | #if LJ_HASJIT | 1903 | #if LJ_HASJIT |
1878 | dasm_put(Dst, 8318, Dt7(->pc), PC2PROTO(framesize), Dt1(->base), Dt1(->top), GG_DISP2J, DISPATCH_J(L)); | 1904 | dasm_put(Dst, 8327, Dt7(->pc), PC2PROTO(framesize), Dt1(->base), Dt1(->top), GG_DISP2J, DISPATCH_J(L)); |
1879 | #endif | 1905 | #endif |
1880 | dasm_put(Dst, 8364); | 1906 | dasm_put(Dst, 8373); |
1881 | #if LJ_HASJIT | 1907 | #if LJ_HASJIT |
1882 | dasm_put(Dst, 8196); | 1908 | dasm_put(Dst, 8205); |
1883 | #endif | 1909 | #endif |
1884 | dasm_put(Dst, 8371); | 1910 | dasm_put(Dst, 8380); |
1885 | #if LJ_HASJIT | 1911 | #if LJ_HASJIT |
1886 | dasm_put(Dst, 8374); | 1912 | dasm_put(Dst, 8383); |
1887 | #endif | 1913 | #endif |
1888 | dasm_put(Dst, 8384, Dt1(->base), Dt1(->top)); | 1914 | dasm_put(Dst, 8393, Dt1(->base), Dt1(->top)); |
1889 | #if LJ_HASJIT | 1915 | #if LJ_HASJIT |
1890 | dasm_put(Dst, 8418); | 1916 | dasm_put(Dst, 8427); |
1891 | #endif | 1917 | #endif |
1892 | dasm_put(Dst, 8423, Dt1(->base), Dt1(->top)); | 1918 | dasm_put(Dst, 8432, Dt1(->base), Dt1(->top)); |
1893 | #if LJ_HASJIT | 1919 | #if LJ_HASJIT |
1894 | dasm_put(Dst, 8452, DISPATCH_GL(vmstate), DISPATCH_GL(vmstate), ~LJ_VMST_EXIT, DISPATCH_J(exitno), DISPATCH_J(parent), 8*8+16, DISPATCH_GL(jit_L), DISPATCH_GL(jit_base), DISPATCH_J(L), DISPATCH_GL(jit_L), Dt1(->base), GG_DISP2J, Dt1(->cframe), CFRAME_RAWMASK, CFRAME_OFS_L, Dt1(->base), CFRAME_OFS_PC); | 1920 | dasm_put(Dst, 8461, DISPATCH_GL(vmstate), DISPATCH_GL(vmstate), ~LJ_VMST_EXIT, DISPATCH_J(exitno), DISPATCH_J(parent), 8*8+16, DISPATCH_GL(jit_L), DISPATCH_GL(jit_base), DISPATCH_J(L), DISPATCH_GL(jit_L), Dt1(->base), GG_DISP2J, Dt1(->cframe), CFRAME_RAWMASK, CFRAME_OFS_L, Dt1(->base), CFRAME_OFS_PC); |
1895 | #endif | 1921 | #endif |
1896 | dasm_put(Dst, 8595); | 1922 | dasm_put(Dst, 8604); |
1897 | #if LJ_HASJIT | 1923 | #if LJ_HASJIT |
1898 | dasm_put(Dst, 8598, Dt7(->pc), PC2PROTO(k), DISPATCH_GL(jit_L), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, BC_FUNCF); | 1924 | dasm_put(Dst, 8607, Dt7(->pc), PC2PROTO(k), DISPATCH_GL(jit_L), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, BC_FUNCF); |
1899 | #endif | 1925 | #endif |
1900 | dasm_put(Dst, 8676); | 1926 | dasm_put(Dst, 8685); |
1901 | if (!sse) { | 1927 | if (!sse) { |
1902 | dasm_put(Dst, 8679); | 1928 | dasm_put(Dst, 8688); |
1903 | } | 1929 | } |
1904 | dasm_put(Dst, 8724); | 1930 | dasm_put(Dst, 8733); |
1905 | if (!sse) { | 1931 | if (!sse) { |
1906 | dasm_put(Dst, 8826); | 1932 | dasm_put(Dst, 8835); |
1907 | } | 1933 | } |
1908 | dasm_put(Dst, 8871); | 1934 | dasm_put(Dst, 8880); |
1909 | if (!sse) { | 1935 | if (!sse) { |
1910 | dasm_put(Dst, 8973); | 1936 | dasm_put(Dst, 8982); |
1911 | } | 1937 | } |
1912 | dasm_put(Dst, 9012); | 1938 | dasm_put(Dst, 9021); |
1913 | if (sse) { | 1939 | if (sse) { |
1914 | dasm_put(Dst, 9117); | 1940 | dasm_put(Dst, 9126); |
1915 | } else { | 1941 | } else { |
1916 | dasm_put(Dst, 9247); | 1942 | dasm_put(Dst, 9256); |
1917 | } | 1943 | } |
1918 | dasm_put(Dst, 9294); | 1944 | dasm_put(Dst, 9303); |
1919 | if (!sse) { | 1945 | if (!sse) { |
1920 | dasm_put(Dst, 9368); | 1946 | dasm_put(Dst, 9377); |
1921 | if (cmov) { | 1947 | if (cmov) { |
1922 | dasm_put(Dst, 9379); | 1948 | dasm_put(Dst, 9388); |
1923 | } else { | 1949 | } else { |
1924 | dasm_put(Dst, 9383); | 1950 | dasm_put(Dst, 9392); |
1925 | } | 1951 | } |
1926 | dasm_put(Dst, 9390); | 1952 | dasm_put(Dst, 9399); |
1927 | dasm_put(Dst, 9464); | 1953 | dasm_put(Dst, 9473); |
1928 | dasm_put(Dst, 9564); | 1954 | dasm_put(Dst, 9573); |
1929 | if (cmov) { | 1955 | if (cmov) { |
1930 | dasm_put(Dst, 9567); | 1956 | dasm_put(Dst, 9576); |
1931 | } else { | 1957 | } else { |
1932 | dasm_put(Dst, 9571); | 1958 | dasm_put(Dst, 9580); |
1933 | } | 1959 | } |
1934 | dasm_put(Dst, 9578); | 1960 | dasm_put(Dst, 9587); |
1935 | if (cmov) { | 1961 | if (cmov) { |
1936 | dasm_put(Dst, 9379); | 1962 | dasm_put(Dst, 9388); |
1937 | } else { | 1963 | } else { |
1938 | dasm_put(Dst, 9383); | 1964 | dasm_put(Dst, 9392); |
1939 | } | 1965 | } |
1940 | dasm_put(Dst, 9596); | 1966 | dasm_put(Dst, 9605); |
1941 | } else { | 1967 | } else { |
1942 | dasm_put(Dst, 9675); | 1968 | dasm_put(Dst, 9684); |
1943 | } | 1969 | } |
1944 | dasm_put(Dst, 9678); | 1970 | dasm_put(Dst, 9687); |
1945 | dasm_put(Dst, 9763); | 1971 | dasm_put(Dst, 9772); |
1946 | dasm_put(Dst, 9893); | 1972 | dasm_put(Dst, 9902); |
1947 | dasm_put(Dst, 10099); | 1973 | dasm_put(Dst, 10108); |
1948 | #if LJ_HASJIT | 1974 | #if LJ_HASJIT |
1949 | if (sse) { | 1975 | if (sse) { |
1950 | dasm_put(Dst, 10106); | 1976 | dasm_put(Dst, 10115); |
1951 | dasm_put(Dst, 10163); | 1977 | dasm_put(Dst, 10172); |
1952 | dasm_put(Dst, 10254); | 1978 | dasm_put(Dst, 10263); |
1953 | } else { | 1979 | } else { |
1954 | dasm_put(Dst, 10296); | 1980 | dasm_put(Dst, 10305); |
1955 | dasm_put(Dst, 10388); | 1981 | dasm_put(Dst, 10397); |
1956 | } | 1982 | } |
1957 | dasm_put(Dst, 10434); | 1983 | dasm_put(Dst, 10443); |
1958 | #endif | 1984 | #endif |
1959 | dasm_put(Dst, 10438); | 1985 | dasm_put(Dst, 10447); |
1960 | if (sse) { | 1986 | if (sse) { |
1961 | dasm_put(Dst, 10441); | 1987 | dasm_put(Dst, 10450); |
1962 | dasm_put(Dst, 10546); | 1988 | dasm_put(Dst, 10555); |
1963 | dasm_put(Dst, 10629); | 1989 | dasm_put(Dst, 10638); |
1964 | } else { | 1990 | } else { |
1965 | dasm_put(Dst, 10701); | 1991 | dasm_put(Dst, 10710); |
1966 | dasm_put(Dst, 10784); | 1992 | dasm_put(Dst, 10793); |
1967 | if (cmov) { | 1993 | if (cmov) { |
1968 | dasm_put(Dst, 10839); | 1994 | dasm_put(Dst, 10848); |
1969 | } else { | 1995 | } else { |
1970 | dasm_put(Dst, 10858); | 1996 | dasm_put(Dst, 10867); |
1971 | } | 1997 | } |
1972 | dasm_put(Dst, 10434); | 1998 | dasm_put(Dst, 10443); |
1973 | } | 1999 | } |
1974 | dasm_put(Dst, 10899); | 2000 | dasm_put(Dst, 10908); |
1975 | #ifdef LUA_USE_ASSERT | 2001 | #ifdef LUA_USE_ASSERT |
1976 | dasm_put(Dst, 10436); | 2002 | dasm_put(Dst, 10445); |
2003 | #endif | ||
2004 | dasm_put(Dst, 10964); | ||
2005 | #if LJ_HASFFI | ||
2006 | #define DtE(_V) (int)(ptrdiff_t)&(((CTState *)0)_V) | ||
2007 | dasm_put(Dst, 10968, GG_G2DISP, Dt2(->ctype_state), DtE(->cb.slot), CFRAME_SIZE+16, DtE(->cb.gpr[0]), DtE(->cb.gpr[1]), DtE(->cb.stack), CFRAME_SIZE+12, CFRAME_SIZE+8, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top), Dt7(->pc)); | ||
1977 | #endif | 2008 | #endif |
1978 | dasm_put(Dst, 10955); | 2009 | dasm_put(Dst, 11078); |
1979 | #if LJ_HASFFI | 2010 | #if LJ_HASFFI |
1980 | #define DtE(_V) (int)(ptrdiff_t)&(((CCallState *)0)_V) | 2011 | dasm_put(Dst, 11081, DISPATCH_GL(ctype_state), DtE(->L), Dt1(->base), Dt1(->top), DtE(->cb.gpr[0]), DtE(->cb.gpr[1]), DtE(->cb.gpr[2]), DtE(->cb.fpr[0].d), DtE(->cb.fpr[0].f), Dt1(->top)); |
1981 | dasm_put(Dst, 10959, DtE(->spadj)); | 2012 | #endif |
2013 | dasm_put(Dst, 11170); | ||
2014 | #if LJ_HASFFI | ||
2015 | #define DtF(_V) (int)(ptrdiff_t)&(((CCallState *)0)_V) | ||
2016 | dasm_put(Dst, 11173, DtF(->spadj)); | ||
1982 | #if LJ_TARGET_WINDOWS | 2017 | #if LJ_TARGET_WINDOWS |
1983 | dasm_put(Dst, 10969, DtE(->spadj)); | 2018 | dasm_put(Dst, 11183, DtF(->spadj)); |
1984 | #endif | 2019 | #endif |
1985 | dasm_put(Dst, 10973, DtE(->nsp), offsetof(CCallState, stack), DtE(->gpr[0]), DtE(->gpr[1]), DtE(->func), DtE(->gpr[0]), DtE(->gpr[1]), DtE(->resx87), DtE(->fpr[0].d[0])); | 2020 | dasm_put(Dst, 11187, DtF(->nsp), offsetof(CCallState, stack), DtF(->gpr[0]), DtF(->gpr[1]), DtF(->func), DtF(->gpr[0]), DtF(->gpr[1]), DtF(->resx87), DtF(->fpr[0].d[0])); |
1986 | dasm_put(Dst, 11043, DtE(->fpr[0].f[0])); | 2021 | dasm_put(Dst, 11257, DtF(->fpr[0].f[0])); |
1987 | #if LJ_TARGET_WINDOWS | 2022 | #if LJ_TARGET_WINDOWS |
1988 | dasm_put(Dst, 11049, DtE(->spadj)); | 2023 | dasm_put(Dst, 11263, DtF(->spadj)); |
1989 | #endif | 2024 | #endif |
1990 | dasm_put(Dst, 11053); | 2025 | dasm_put(Dst, 11267); |
1991 | #endif | 2026 | #endif |
1992 | } | 2027 | } |
1993 | 2028 | ||
@@ -1995,7 +2030,7 @@ static void build_subroutines(BuildCtx *ctx, int cmov, int sse) | |||
1995 | static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | 2030 | static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) |
1996 | { | 2031 | { |
1997 | int vk = 0; | 2032 | int vk = 0; |
1998 | dasm_put(Dst, 11060, defop); | 2033 | dasm_put(Dst, 11274, defop); |
1999 | 2034 | ||
2000 | switch (op) { | 2035 | switch (op) { |
2001 | 2036 | ||
@@ -2006,303 +2041,303 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
2006 | 2041 | ||
2007 | case BC_ISLT: case BC_ISGE: case BC_ISLE: case BC_ISGT: | 2042 | case BC_ISLT: case BC_ISGE: case BC_ISLE: case BC_ISGT: |
2008 | if (LJ_DUALNUM) { | 2043 | if (LJ_DUALNUM) { |
2009 | dasm_put(Dst, 11062, LJ_TISNUM, LJ_TISNUM); | 2044 | dasm_put(Dst, 11276, LJ_TISNUM, LJ_TISNUM); |
2010 | switch (op) { | 2045 | switch (op) { |
2011 | case BC_ISLT: | 2046 | case BC_ISLT: |
2012 | dasm_put(Dst, 11092); | 2047 | dasm_put(Dst, 11306); |
2013 | break; | 2048 | break; |
2014 | case BC_ISGE: | 2049 | case BC_ISGE: |
2015 | dasm_put(Dst, 11097); | 2050 | dasm_put(Dst, 11311); |
2016 | break; | 2051 | break; |
2017 | case BC_ISLE: | 2052 | case BC_ISLE: |
2018 | dasm_put(Dst, 11102); | 2053 | dasm_put(Dst, 11316); |
2019 | break; | 2054 | break; |
2020 | case BC_ISGT: | 2055 | case BC_ISGT: |
2021 | dasm_put(Dst, 11107); | 2056 | dasm_put(Dst, 11321); |
2022 | break; | 2057 | break; |
2023 | default: break; /* Shut up GCC. */ | 2058 | default: break; /* Shut up GCC. */ |
2024 | } | 2059 | } |
2025 | dasm_put(Dst, 11112, -BCBIAS_J*4, LJ_TISNUM); | 2060 | dasm_put(Dst, 11326, -BCBIAS_J*4, LJ_TISNUM); |
2026 | if (sse) { | 2061 | if (sse) { |
2027 | dasm_put(Dst, 11165); | 2062 | dasm_put(Dst, 11379); |
2028 | } else { | 2063 | } else { |
2029 | dasm_put(Dst, 11176); | 2064 | dasm_put(Dst, 11390); |
2030 | } | 2065 | } |
2031 | dasm_put(Dst, 11187); | 2066 | dasm_put(Dst, 11401); |
2032 | if (sse) { | 2067 | if (sse) { |
2033 | dasm_put(Dst, 11194); | 2068 | dasm_put(Dst, 11408); |
2034 | switch (op) { | 2069 | switch (op) { |
2035 | case BC_ISLT: | 2070 | case BC_ISLT: |
2036 | dasm_put(Dst, 11214); | 2071 | dasm_put(Dst, 11428); |
2037 | break; | 2072 | break; |
2038 | case BC_ISGE: | 2073 | case BC_ISGE: |
2039 | dasm_put(Dst, 11219); | 2074 | dasm_put(Dst, 11433); |
2040 | break; | 2075 | break; |
2041 | case BC_ISLE: | 2076 | case BC_ISLE: |
2042 | dasm_put(Dst, 11224); | 2077 | dasm_put(Dst, 11438); |
2043 | break; | 2078 | break; |
2044 | case BC_ISGT: | 2079 | case BC_ISGT: |
2045 | dasm_put(Dst, 11229); | 2080 | dasm_put(Dst, 11443); |
2046 | break; | 2081 | break; |
2047 | default: break; /* Shut up GCC. */ | 2082 | default: break; /* Shut up GCC. */ |
2048 | } | 2083 | } |
2049 | dasm_put(Dst, 11234); | 2084 | dasm_put(Dst, 11448); |
2050 | } else { | 2085 | } else { |
2051 | dasm_put(Dst, 11239); | 2086 | dasm_put(Dst, 11453); |
2052 | } | 2087 | } |
2053 | } else { | 2088 | } else { |
2054 | dasm_put(Dst, 11247, LJ_TISNUM, LJ_TISNUM); | 2089 | dasm_put(Dst, 11461, LJ_TISNUM, LJ_TISNUM); |
2055 | } | 2090 | } |
2056 | if (sse) { | 2091 | if (sse) { |
2057 | dasm_put(Dst, 11268); | 2092 | dasm_put(Dst, 11482); |
2058 | } else { | 2093 | } else { |
2059 | dasm_put(Dst, 11289); | 2094 | dasm_put(Dst, 11503); |
2060 | if (cmov) { | 2095 | if (cmov) { |
2061 | dasm_put(Dst, 3944); | 2096 | dasm_put(Dst, 3953); |
2062 | } else { | 2097 | } else { |
2063 | dasm_put(Dst, 3950); | 2098 | dasm_put(Dst, 3959); |
2064 | } | 2099 | } |
2065 | } | 2100 | } |
2066 | if (LJ_DUALNUM) { | 2101 | if (LJ_DUALNUM) { |
2067 | switch (op) { | 2102 | switch (op) { |
2068 | case BC_ISLT: | 2103 | case BC_ISLT: |
2069 | dasm_put(Dst, 11214); | 2104 | dasm_put(Dst, 11428); |
2070 | break; | 2105 | break; |
2071 | case BC_ISGE: | 2106 | case BC_ISGE: |
2072 | dasm_put(Dst, 11219); | 2107 | dasm_put(Dst, 11433); |
2073 | break; | 2108 | break; |
2074 | case BC_ISLE: | 2109 | case BC_ISLE: |
2075 | dasm_put(Dst, 11224); | 2110 | dasm_put(Dst, 11438); |
2076 | break; | 2111 | break; |
2077 | case BC_ISGT: | 2112 | case BC_ISGT: |
2078 | dasm_put(Dst, 11229); | 2113 | dasm_put(Dst, 11443); |
2079 | break; | 2114 | break; |
2080 | default: break; /* Shut up GCC. */ | 2115 | default: break; /* Shut up GCC. */ |
2081 | } | 2116 | } |
2082 | dasm_put(Dst, 11234); | 2117 | dasm_put(Dst, 11448); |
2083 | } else { | 2118 | } else { |
2084 | switch (op) { | 2119 | switch (op) { |
2085 | case BC_ISLT: | 2120 | case BC_ISLT: |
2086 | dasm_put(Dst, 11305); | 2121 | dasm_put(Dst, 752); |
2087 | break; | 2122 | break; |
2088 | case BC_ISGE: | 2123 | case BC_ISGE: |
2089 | dasm_put(Dst, 11310); | 2124 | dasm_put(Dst, 11519); |
2090 | break; | 2125 | break; |
2091 | case BC_ISLE: | 2126 | case BC_ISLE: |
2092 | dasm_put(Dst, 11315); | 2127 | dasm_put(Dst, 11524); |
2093 | break; | 2128 | break; |
2094 | case BC_ISGT: | 2129 | case BC_ISGT: |
2095 | dasm_put(Dst, 11320); | 2130 | dasm_put(Dst, 11529); |
2096 | break; | 2131 | break; |
2097 | default: break; /* Shut up GCC. */ | 2132 | default: break; /* Shut up GCC. */ |
2098 | } | 2133 | } |
2099 | dasm_put(Dst, 11325, -BCBIAS_J*4); | 2134 | dasm_put(Dst, 11534, -BCBIAS_J*4); |
2100 | } | 2135 | } |
2101 | break; | 2136 | break; |
2102 | 2137 | ||
2103 | case BC_ISEQV: case BC_ISNEV: | 2138 | case BC_ISEQV: case BC_ISNEV: |
2104 | vk = op == BC_ISEQV; | 2139 | vk = op == BC_ISEQV; |
2105 | dasm_put(Dst, 11356); | 2140 | dasm_put(Dst, 11565); |
2106 | if (LJ_DUALNUM) { | 2141 | if (LJ_DUALNUM) { |
2107 | dasm_put(Dst, 11364, LJ_TISNUM, LJ_TISNUM); | 2142 | dasm_put(Dst, 11573, LJ_TISNUM, LJ_TISNUM); |
2108 | if (vk) { | 2143 | if (vk) { |
2109 | dasm_put(Dst, 11389); | 2144 | dasm_put(Dst, 11598); |
2110 | } else { | 2145 | } else { |
2111 | dasm_put(Dst, 11394); | 2146 | dasm_put(Dst, 11603); |
2112 | } | 2147 | } |
2113 | dasm_put(Dst, 11399, -BCBIAS_J*4, LJ_TISNUM); | 2148 | dasm_put(Dst, 11608, -BCBIAS_J*4, LJ_TISNUM); |
2114 | if (sse) { | 2149 | if (sse) { |
2115 | dasm_put(Dst, 11450); | 2150 | dasm_put(Dst, 11659); |
2116 | } else { | 2151 | } else { |
2117 | dasm_put(Dst, 11457); | 2152 | dasm_put(Dst, 11666); |
2118 | } | 2153 | } |
2119 | dasm_put(Dst, 11461); | 2154 | dasm_put(Dst, 11670); |
2120 | if (sse) { | 2155 | if (sse) { |
2121 | dasm_put(Dst, 11472); | 2156 | dasm_put(Dst, 11681); |
2122 | } else { | 2157 | } else { |
2123 | dasm_put(Dst, 11484); | 2158 | dasm_put(Dst, 11693); |
2124 | } | 2159 | } |
2125 | dasm_put(Dst, 11491); | 2160 | dasm_put(Dst, 11700); |
2126 | } else { | 2161 | } else { |
2127 | dasm_put(Dst, 11496, LJ_TISNUM, LJ_TISNUM); | 2162 | dasm_put(Dst, 11705, LJ_TISNUM, LJ_TISNUM); |
2128 | } | 2163 | } |
2129 | if (sse) { | 2164 | if (sse) { |
2130 | dasm_put(Dst, 11515); | 2165 | dasm_put(Dst, 11724); |
2131 | } else { | 2166 | } else { |
2132 | dasm_put(Dst, 11533); | 2167 | dasm_put(Dst, 11742); |
2133 | if (cmov) { | 2168 | if (cmov) { |
2134 | dasm_put(Dst, 3944); | 2169 | dasm_put(Dst, 3953); |
2135 | } else { | 2170 | } else { |
2136 | dasm_put(Dst, 3950); | 2171 | dasm_put(Dst, 3959); |
2137 | } | 2172 | } |
2138 | } | 2173 | } |
2139 | iseqne_fp: | 2174 | iseqne_fp: |
2140 | if (vk) { | 2175 | if (vk) { |
2141 | dasm_put(Dst, 11546); | 2176 | dasm_put(Dst, 11755); |
2142 | } else { | 2177 | } else { |
2143 | dasm_put(Dst, 11555); | 2178 | dasm_put(Dst, 11764); |
2144 | } | 2179 | } |
2145 | iseqne_end: | 2180 | iseqne_end: |
2146 | if (vk) { | 2181 | if (vk) { |
2147 | dasm_put(Dst, 11564, -BCBIAS_J*4); | 2182 | dasm_put(Dst, 11773, -BCBIAS_J*4); |
2148 | if (!LJ_HASFFI) { | 2183 | if (!LJ_HASFFI) { |
2149 | dasm_put(Dst, 4844); | 2184 | dasm_put(Dst, 4853); |
2150 | } | 2185 | } |
2151 | } else { | 2186 | } else { |
2152 | if (!LJ_HASFFI) { | 2187 | if (!LJ_HASFFI) { |
2153 | dasm_put(Dst, 4844); | 2188 | dasm_put(Dst, 4853); |
2154 | } | 2189 | } |
2155 | dasm_put(Dst, 11579, -BCBIAS_J*4); | 2190 | dasm_put(Dst, 11788, -BCBIAS_J*4); |
2156 | } | 2191 | } |
2157 | if (LJ_DUALNUM && (op == BC_ISEQV || op == BC_ISNEV || | 2192 | if (LJ_DUALNUM && (op == BC_ISEQV || op == BC_ISNEV || |
2158 | op == BC_ISEQN || op == BC_ISNEN)) { | 2193 | op == BC_ISEQN || op == BC_ISNEN)) { |
2159 | dasm_put(Dst, 11594); | 2194 | dasm_put(Dst, 11803); |
2160 | } else { | 2195 | } else { |
2161 | dasm_put(Dst, 11337); | 2196 | dasm_put(Dst, 11546); |
2162 | } | 2197 | } |
2163 | if (op == BC_ISEQV || op == BC_ISNEV) { | 2198 | if (op == BC_ISEQV || op == BC_ISNEV) { |
2164 | dasm_put(Dst, 11599); | 2199 | dasm_put(Dst, 11808); |
2165 | if (LJ_HASFFI) { | 2200 | if (LJ_HASFFI) { |
2166 | dasm_put(Dst, 11602, LJ_TCDATA, LJ_TCDATA); | 2201 | dasm_put(Dst, 11811, LJ_TCDATA, LJ_TCDATA); |
2167 | } | 2202 | } |
2168 | dasm_put(Dst, 11621, LJ_TISPRI, LJ_TISTABUD, Dt6(->metatable), Dt6(->nomm), 1<<MM_eq); | 2203 | dasm_put(Dst, 11830, LJ_TISPRI, LJ_TISTABUD, Dt6(->metatable), Dt6(->nomm), 1<<MM_eq); |
2169 | if (vk) { | 2204 | if (vk) { |
2170 | dasm_put(Dst, 11677); | 2205 | dasm_put(Dst, 11886); |
2171 | } else { | 2206 | } else { |
2172 | dasm_put(Dst, 11681); | 2207 | dasm_put(Dst, 11890); |
2173 | } | 2208 | } |
2174 | dasm_put(Dst, 11687); | 2209 | dasm_put(Dst, 11896); |
2175 | } else if (LJ_HASFFI) { | 2210 | } else if (LJ_HASFFI) { |
2176 | dasm_put(Dst, 11692, LJ_TCDATA); | 2211 | dasm_put(Dst, 11901, LJ_TCDATA); |
2177 | if (LJ_DUALNUM && vk) { | 2212 | if (LJ_DUALNUM && vk) { |
2178 | dasm_put(Dst, 11699); | 2213 | dasm_put(Dst, 11908); |
2179 | } else { | 2214 | } else { |
2180 | dasm_put(Dst, 11672); | 2215 | dasm_put(Dst, 11881); |
2181 | } | 2216 | } |
2182 | dasm_put(Dst, 11704); | 2217 | dasm_put(Dst, 11913); |
2183 | } | 2218 | } |
2184 | break; | 2219 | break; |
2185 | case BC_ISEQS: case BC_ISNES: | 2220 | case BC_ISEQS: case BC_ISNES: |
2186 | vk = op == BC_ISEQS; | 2221 | vk = op == BC_ISEQS; |
2187 | dasm_put(Dst, 11709, LJ_TSTR); | 2222 | dasm_put(Dst, 11918, LJ_TSTR); |
2188 | iseqne_test: | 2223 | iseqne_test: |
2189 | if (vk) { | 2224 | if (vk) { |
2190 | dasm_put(Dst, 11550); | 2225 | dasm_put(Dst, 11759); |
2191 | } else { | 2226 | } else { |
2192 | dasm_put(Dst, 748); | 2227 | dasm_put(Dst, 2971); |
2193 | } | 2228 | } |
2194 | goto iseqne_end; | 2229 | goto iseqne_end; |
2195 | case BC_ISEQN: case BC_ISNEN: | 2230 | case BC_ISEQN: case BC_ISNEN: |
2196 | vk = op == BC_ISEQN; | 2231 | vk = op == BC_ISEQN; |
2197 | dasm_put(Dst, 11734); | 2232 | dasm_put(Dst, 11943); |
2198 | if (LJ_DUALNUM) { | 2233 | if (LJ_DUALNUM) { |
2199 | dasm_put(Dst, 11742, LJ_TISNUM, LJ_TISNUM); | 2234 | dasm_put(Dst, 11951, LJ_TISNUM, LJ_TISNUM); |
2200 | if (vk) { | 2235 | if (vk) { |
2201 | dasm_put(Dst, 11389); | 2236 | dasm_put(Dst, 11598); |
2202 | } else { | 2237 | } else { |
2203 | dasm_put(Dst, 11394); | 2238 | dasm_put(Dst, 11603); |
2204 | } | 2239 | } |
2205 | dasm_put(Dst, 11767, -BCBIAS_J*4, LJ_TISNUM); | 2240 | dasm_put(Dst, 11976, -BCBIAS_J*4, LJ_TISNUM); |
2206 | if (sse) { | 2241 | if (sse) { |
2207 | dasm_put(Dst, 11814); | 2242 | dasm_put(Dst, 12023); |
2208 | } else { | 2243 | } else { |
2209 | dasm_put(Dst, 11821); | 2244 | dasm_put(Dst, 12030); |
2210 | } | 2245 | } |
2211 | dasm_put(Dst, 11825); | 2246 | dasm_put(Dst, 12034); |
2212 | if (sse) { | 2247 | if (sse) { |
2213 | dasm_put(Dst, 11832); | 2248 | dasm_put(Dst, 12041); |
2214 | } else { | 2249 | } else { |
2215 | dasm_put(Dst, 11844); | 2250 | dasm_put(Dst, 12053); |
2216 | } | 2251 | } |
2217 | dasm_put(Dst, 11491); | 2252 | dasm_put(Dst, 11700); |
2218 | } else { | 2253 | } else { |
2219 | dasm_put(Dst, 11851, LJ_TISNUM); | 2254 | dasm_put(Dst, 12060, LJ_TISNUM); |
2220 | } | 2255 | } |
2221 | if (sse) { | 2256 | if (sse) { |
2222 | dasm_put(Dst, 11860); | 2257 | dasm_put(Dst, 12069); |
2223 | } else { | 2258 | } else { |
2224 | dasm_put(Dst, 11878); | 2259 | dasm_put(Dst, 12087); |
2225 | if (cmov) { | 2260 | if (cmov) { |
2226 | dasm_put(Dst, 3944); | 2261 | dasm_put(Dst, 3953); |
2227 | } else { | 2262 | } else { |
2228 | dasm_put(Dst, 3950); | 2263 | dasm_put(Dst, 3959); |
2229 | } | 2264 | } |
2230 | } | 2265 | } |
2231 | goto iseqne_fp; | 2266 | goto iseqne_fp; |
2232 | case BC_ISEQP: case BC_ISNEP: | 2267 | case BC_ISEQP: case BC_ISNEP: |
2233 | vk = op == BC_ISEQP; | 2268 | vk = op == BC_ISEQP; |
2234 | dasm_put(Dst, 11891); | 2269 | dasm_put(Dst, 12100); |
2235 | if (!LJ_HASFFI) goto iseqne_test; | 2270 | if (!LJ_HASFFI) goto iseqne_test; |
2236 | if (vk) { | 2271 | if (vk) { |
2237 | dasm_put(Dst, 11904, -BCBIAS_J*4, LJ_TCDATA); | 2272 | dasm_put(Dst, 12113, -BCBIAS_J*4, LJ_TCDATA); |
2238 | } else { | 2273 | } else { |
2239 | dasm_put(Dst, 11953, LJ_TCDATA, -BCBIAS_J*4); | 2274 | dasm_put(Dst, 12162, LJ_TCDATA, -BCBIAS_J*4); |
2240 | } | 2275 | } |
2241 | break; | 2276 | break; |
2242 | 2277 | ||
2243 | /* -- Unary test and copy ops ------------------------------------------- */ | 2278 | /* -- Unary test and copy ops ------------------------------------------- */ |
2244 | 2279 | ||
2245 | case BC_ISTC: case BC_ISFC: case BC_IST: case BC_ISF: | 2280 | case BC_ISTC: case BC_ISFC: case BC_IST: case BC_ISF: |
2246 | dasm_put(Dst, 11996, LJ_TISTRUECOND); | 2281 | dasm_put(Dst, 12205, LJ_TISTRUECOND); |
2247 | if (op == BC_IST || op == BC_ISTC) { | 2282 | if (op == BC_IST || op == BC_ISTC) { |
2248 | dasm_put(Dst, 11320); | 2283 | dasm_put(Dst, 11529); |
2249 | } else { | 2284 | } else { |
2250 | dasm_put(Dst, 11315); | 2285 | dasm_put(Dst, 11524); |
2251 | } | 2286 | } |
2252 | if (op == BC_ISTC || op == BC_ISFC) { | 2287 | if (op == BC_ISTC || op == BC_ISFC) { |
2253 | dasm_put(Dst, 12008); | 2288 | dasm_put(Dst, 12217); |
2254 | } | 2289 | } |
2255 | dasm_put(Dst, 11325, -BCBIAS_J*4); | 2290 | dasm_put(Dst, 11534, -BCBIAS_J*4); |
2256 | break; | 2291 | break; |
2257 | 2292 | ||
2258 | /* -- Unary ops --------------------------------------------------------- */ | 2293 | /* -- Unary ops --------------------------------------------------------- */ |
2259 | 2294 | ||
2260 | case BC_MOV: | 2295 | case BC_MOV: |
2261 | dasm_put(Dst, 12019); | 2296 | dasm_put(Dst, 12228); |
2262 | break; | 2297 | break; |
2263 | case BC_NOT: | 2298 | case BC_NOT: |
2264 | dasm_put(Dst, 12052, LJ_TISTRUECOND, LJ_TTRUE); | 2299 | dasm_put(Dst, 12261, LJ_TISTRUECOND, LJ_TTRUE); |
2265 | break; | 2300 | break; |
2266 | case BC_UNM: | 2301 | case BC_UNM: |
2267 | if (LJ_DUALNUM) { | 2302 | if (LJ_DUALNUM) { |
2268 | dasm_put(Dst, 12087, LJ_TISNUM, LJ_TISNUM); | 2303 | dasm_put(Dst, 12296, LJ_TISNUM, LJ_TISNUM); |
2269 | } else { | 2304 | } else { |
2270 | dasm_put(Dst, 12163, LJ_TISNUM); | 2305 | dasm_put(Dst, 12372, LJ_TISNUM); |
2271 | } | 2306 | } |
2272 | if (sse) { | 2307 | if (sse) { |
2273 | dasm_put(Dst, 12174); | 2308 | dasm_put(Dst, 12383); |
2274 | } else { | 2309 | } else { |
2275 | dasm_put(Dst, 12204); | 2310 | dasm_put(Dst, 12413); |
2276 | } | 2311 | } |
2277 | if (LJ_DUALNUM) { | 2312 | if (LJ_DUALNUM) { |
2278 | dasm_put(Dst, 11594); | 2313 | dasm_put(Dst, 11803); |
2279 | } else { | 2314 | } else { |
2280 | dasm_put(Dst, 11337); | 2315 | dasm_put(Dst, 11546); |
2281 | } | 2316 | } |
2282 | break; | 2317 | break; |
2283 | case BC_LEN: | 2318 | case BC_LEN: |
2284 | dasm_put(Dst, 12213, LJ_TSTR); | 2319 | dasm_put(Dst, 12422, LJ_TSTR); |
2285 | if (LJ_DUALNUM) { | 2320 | if (LJ_DUALNUM) { |
2286 | dasm_put(Dst, 12227, Dt5(->len), LJ_TISNUM); | 2321 | dasm_put(Dst, 12436, Dt5(->len), LJ_TISNUM); |
2287 | } else if (sse) { | 2322 | } else if (sse) { |
2288 | dasm_put(Dst, 12241, Dt5(->len)); | 2323 | dasm_put(Dst, 12450, Dt5(->len)); |
2289 | } else { | 2324 | } else { |
2290 | dasm_put(Dst, 12259, Dt5(->len)); | 2325 | dasm_put(Dst, 12468, Dt5(->len)); |
2291 | } | 2326 | } |
2292 | dasm_put(Dst, 12268, LJ_TTAB); | 2327 | dasm_put(Dst, 12477, LJ_TTAB); |
2293 | #ifdef LUAJIT_ENABLE_LUA52COMPAT | 2328 | #ifdef LUAJIT_ENABLE_LUA52COMPAT |
2294 | dasm_put(Dst, 12302, Dt6(->metatable)); | 2329 | dasm_put(Dst, 12511, Dt6(->metatable)); |
2295 | #endif | 2330 | #endif |
2296 | dasm_put(Dst, 12316); | 2331 | dasm_put(Dst, 12525); |
2297 | if (LJ_DUALNUM) { | 2332 | if (LJ_DUALNUM) { |
2298 | } else if (sse) { | 2333 | } else if (sse) { |
2299 | dasm_put(Dst, 12325); | 2334 | dasm_put(Dst, 12534); |
2300 | } else { | 2335 | } else { |
2301 | dasm_put(Dst, 12331); | 2336 | dasm_put(Dst, 12540); |
2302 | } | 2337 | } |
2303 | dasm_put(Dst, 12338); | 2338 | dasm_put(Dst, 12547); |
2304 | #ifdef LUAJIT_ENABLE_LUA52COMPAT | 2339 | #ifdef LUAJIT_ENABLE_LUA52COMPAT |
2305 | dasm_put(Dst, 12351, Dt6(->nomm), 1<<MM_len); | 2340 | dasm_put(Dst, 12560, Dt6(->nomm), 1<<MM_len); |
2306 | #endif | 2341 | #endif |
2307 | break; | 2342 | break; |
2308 | 2343 | ||
@@ -2311,620 +2346,620 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
2311 | 2346 | ||
2312 | case BC_ADDVN: case BC_ADDNV: case BC_ADDVV: | 2347 | case BC_ADDVN: case BC_ADDNV: case BC_ADDVV: |
2313 | if (LJ_DUALNUM) { | 2348 | if (LJ_DUALNUM) { |
2314 | dasm_put(Dst, 12367); | 2349 | dasm_put(Dst, 12576); |
2315 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 2350 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
2316 | switch (vk) { | 2351 | switch (vk) { |
2317 | case 0: | 2352 | case 0: |
2318 | dasm_put(Dst, 12375, LJ_TISNUM, LJ_TISNUM); | 2353 | dasm_put(Dst, 12584, LJ_TISNUM, LJ_TISNUM); |
2319 | break; | 2354 | break; |
2320 | case 1: | 2355 | case 1: |
2321 | dasm_put(Dst, 12408, LJ_TISNUM, LJ_TISNUM); | 2356 | dasm_put(Dst, 12617, LJ_TISNUM, LJ_TISNUM); |
2322 | break; | 2357 | break; |
2323 | default: | 2358 | default: |
2324 | dasm_put(Dst, 12441, LJ_TISNUM, LJ_TISNUM); | 2359 | dasm_put(Dst, 12650, LJ_TISNUM, LJ_TISNUM); |
2325 | break; | 2360 | break; |
2326 | } | 2361 | } |
2327 | dasm_put(Dst, 12474, LJ_TISNUM); | 2362 | dasm_put(Dst, 12683, LJ_TISNUM); |
2328 | if (vk == 1) { | 2363 | if (vk == 1) { |
2329 | dasm_put(Dst, 12237); | 2364 | dasm_put(Dst, 12446); |
2330 | } else { | 2365 | } else { |
2331 | dasm_put(Dst, 12015); | 2366 | dasm_put(Dst, 12224); |
2332 | } | 2367 | } |
2333 | dasm_put(Dst, 11337); | 2368 | dasm_put(Dst, 11546); |
2334 | } else { | 2369 | } else { |
2335 | dasm_put(Dst, 12367); | 2370 | dasm_put(Dst, 12576); |
2336 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 2371 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
2337 | switch (vk) { | 2372 | switch (vk) { |
2338 | case 0: | 2373 | case 0: |
2339 | dasm_put(Dst, 12480, LJ_TISNUM); | 2374 | dasm_put(Dst, 12689, LJ_TISNUM); |
2340 | if (LJ_DUALNUM) { | 2375 | if (LJ_DUALNUM) { |
2341 | dasm_put(Dst, 12492, LJ_TISNUM); | 2376 | dasm_put(Dst, 12701, LJ_TISNUM); |
2342 | } | 2377 | } |
2343 | if (sse) { | 2378 | if (sse) { |
2344 | dasm_put(Dst, 12503); | 2379 | dasm_put(Dst, 12712); |
2345 | } else { | 2380 | } else { |
2346 | dasm_put(Dst, 12517); | 2381 | dasm_put(Dst, 12726); |
2347 | } | 2382 | } |
2348 | break; | 2383 | break; |
2349 | case 1: | 2384 | case 1: |
2350 | dasm_put(Dst, 12525, LJ_TISNUM); | 2385 | dasm_put(Dst, 12734, LJ_TISNUM); |
2351 | if (LJ_DUALNUM) { | 2386 | if (LJ_DUALNUM) { |
2352 | dasm_put(Dst, 12537, LJ_TISNUM); | 2387 | dasm_put(Dst, 12746, LJ_TISNUM); |
2353 | } | 2388 | } |
2354 | if (sse) { | 2389 | if (sse) { |
2355 | dasm_put(Dst, 12548); | 2390 | dasm_put(Dst, 12757); |
2356 | } else { | 2391 | } else { |
2357 | dasm_put(Dst, 12562); | 2392 | dasm_put(Dst, 12771); |
2358 | } | 2393 | } |
2359 | break; | 2394 | break; |
2360 | default: | 2395 | default: |
2361 | dasm_put(Dst, 12570, LJ_TISNUM, LJ_TISNUM); | 2396 | dasm_put(Dst, 12779, LJ_TISNUM, LJ_TISNUM); |
2362 | if (sse) { | 2397 | if (sse) { |
2363 | dasm_put(Dst, 12592); | 2398 | dasm_put(Dst, 12801); |
2364 | } else { | 2399 | } else { |
2365 | dasm_put(Dst, 12606); | 2400 | dasm_put(Dst, 12815); |
2366 | } | 2401 | } |
2367 | break; | 2402 | break; |
2368 | } | 2403 | } |
2369 | if (sse) { | 2404 | if (sse) { |
2370 | dasm_put(Dst, 12197); | 2405 | dasm_put(Dst, 12406); |
2371 | } else { | 2406 | } else { |
2372 | dasm_put(Dst, 12209); | 2407 | dasm_put(Dst, 12418); |
2373 | } | 2408 | } |
2374 | dasm_put(Dst, 11337); | 2409 | dasm_put(Dst, 11546); |
2375 | } | 2410 | } |
2376 | break; | 2411 | break; |
2377 | case BC_SUBVN: case BC_SUBNV: case BC_SUBVV: | 2412 | case BC_SUBVN: case BC_SUBNV: case BC_SUBVV: |
2378 | if (LJ_DUALNUM) { | 2413 | if (LJ_DUALNUM) { |
2379 | dasm_put(Dst, 12367); | 2414 | dasm_put(Dst, 12576); |
2380 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 2415 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
2381 | switch (vk) { | 2416 | switch (vk) { |
2382 | case 0: | 2417 | case 0: |
2383 | dasm_put(Dst, 12614, LJ_TISNUM, LJ_TISNUM); | 2418 | dasm_put(Dst, 12823, LJ_TISNUM, LJ_TISNUM); |
2384 | break; | 2419 | break; |
2385 | case 1: | 2420 | case 1: |
2386 | dasm_put(Dst, 12647, LJ_TISNUM, LJ_TISNUM); | 2421 | dasm_put(Dst, 12856, LJ_TISNUM, LJ_TISNUM); |
2387 | break; | 2422 | break; |
2388 | default: | 2423 | default: |
2389 | dasm_put(Dst, 12680, LJ_TISNUM, LJ_TISNUM); | 2424 | dasm_put(Dst, 12889, LJ_TISNUM, LJ_TISNUM); |
2390 | break; | 2425 | break; |
2391 | } | 2426 | } |
2392 | dasm_put(Dst, 12474, LJ_TISNUM); | 2427 | dasm_put(Dst, 12683, LJ_TISNUM); |
2393 | if (vk == 1) { | 2428 | if (vk == 1) { |
2394 | dasm_put(Dst, 12237); | 2429 | dasm_put(Dst, 12446); |
2395 | } else { | 2430 | } else { |
2396 | dasm_put(Dst, 12015); | 2431 | dasm_put(Dst, 12224); |
2397 | } | 2432 | } |
2398 | dasm_put(Dst, 11337); | 2433 | dasm_put(Dst, 11546); |
2399 | } else { | 2434 | } else { |
2400 | dasm_put(Dst, 12367); | 2435 | dasm_put(Dst, 12576); |
2401 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 2436 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
2402 | switch (vk) { | 2437 | switch (vk) { |
2403 | case 0: | 2438 | case 0: |
2404 | dasm_put(Dst, 12480, LJ_TISNUM); | 2439 | dasm_put(Dst, 12689, LJ_TISNUM); |
2405 | if (LJ_DUALNUM) { | 2440 | if (LJ_DUALNUM) { |
2406 | dasm_put(Dst, 12492, LJ_TISNUM); | 2441 | dasm_put(Dst, 12701, LJ_TISNUM); |
2407 | } | 2442 | } |
2408 | if (sse) { | 2443 | if (sse) { |
2409 | dasm_put(Dst, 12713); | 2444 | dasm_put(Dst, 12922); |
2410 | } else { | 2445 | } else { |
2411 | dasm_put(Dst, 12727); | 2446 | dasm_put(Dst, 12936); |
2412 | } | 2447 | } |
2413 | break; | 2448 | break; |
2414 | case 1: | 2449 | case 1: |
2415 | dasm_put(Dst, 12525, LJ_TISNUM); | 2450 | dasm_put(Dst, 12734, LJ_TISNUM); |
2416 | if (LJ_DUALNUM) { | 2451 | if (LJ_DUALNUM) { |
2417 | dasm_put(Dst, 12537, LJ_TISNUM); | 2452 | dasm_put(Dst, 12746, LJ_TISNUM); |
2418 | } | 2453 | } |
2419 | if (sse) { | 2454 | if (sse) { |
2420 | dasm_put(Dst, 12735); | 2455 | dasm_put(Dst, 12944); |
2421 | } else { | 2456 | } else { |
2422 | dasm_put(Dst, 12749); | 2457 | dasm_put(Dst, 12958); |
2423 | } | 2458 | } |
2424 | break; | 2459 | break; |
2425 | default: | 2460 | default: |
2426 | dasm_put(Dst, 12570, LJ_TISNUM, LJ_TISNUM); | 2461 | dasm_put(Dst, 12779, LJ_TISNUM, LJ_TISNUM); |
2427 | if (sse) { | 2462 | if (sse) { |
2428 | dasm_put(Dst, 12757); | 2463 | dasm_put(Dst, 12966); |
2429 | } else { | 2464 | } else { |
2430 | dasm_put(Dst, 12771); | 2465 | dasm_put(Dst, 12980); |
2431 | } | 2466 | } |
2432 | break; | 2467 | break; |
2433 | } | 2468 | } |
2434 | if (sse) { | 2469 | if (sse) { |
2435 | dasm_put(Dst, 12197); | 2470 | dasm_put(Dst, 12406); |
2436 | } else { | 2471 | } else { |
2437 | dasm_put(Dst, 12209); | 2472 | dasm_put(Dst, 12418); |
2438 | } | 2473 | } |
2439 | dasm_put(Dst, 11337); | 2474 | dasm_put(Dst, 11546); |
2440 | } | 2475 | } |
2441 | break; | 2476 | break; |
2442 | case BC_MULVN: case BC_MULNV: case BC_MULVV: | 2477 | case BC_MULVN: case BC_MULNV: case BC_MULVV: |
2443 | if (LJ_DUALNUM) { | 2478 | if (LJ_DUALNUM) { |
2444 | dasm_put(Dst, 12367); | 2479 | dasm_put(Dst, 12576); |
2445 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 2480 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
2446 | switch (vk) { | 2481 | switch (vk) { |
2447 | case 0: | 2482 | case 0: |
2448 | dasm_put(Dst, 12779, LJ_TISNUM, LJ_TISNUM); | 2483 | dasm_put(Dst, 12988, LJ_TISNUM, LJ_TISNUM); |
2449 | break; | 2484 | break; |
2450 | case 1: | 2485 | case 1: |
2451 | dasm_put(Dst, 12813, LJ_TISNUM, LJ_TISNUM); | 2486 | dasm_put(Dst, 13022, LJ_TISNUM, LJ_TISNUM); |
2452 | break; | 2487 | break; |
2453 | default: | 2488 | default: |
2454 | dasm_put(Dst, 12847, LJ_TISNUM, LJ_TISNUM); | 2489 | dasm_put(Dst, 13056, LJ_TISNUM, LJ_TISNUM); |
2455 | break; | 2490 | break; |
2456 | } | 2491 | } |
2457 | dasm_put(Dst, 12474, LJ_TISNUM); | 2492 | dasm_put(Dst, 12683, LJ_TISNUM); |
2458 | if (vk == 1) { | 2493 | if (vk == 1) { |
2459 | dasm_put(Dst, 12237); | 2494 | dasm_put(Dst, 12446); |
2460 | } else { | 2495 | } else { |
2461 | dasm_put(Dst, 12015); | 2496 | dasm_put(Dst, 12224); |
2462 | } | 2497 | } |
2463 | dasm_put(Dst, 11337); | 2498 | dasm_put(Dst, 11546); |
2464 | } else { | 2499 | } else { |
2465 | dasm_put(Dst, 12367); | 2500 | dasm_put(Dst, 12576); |
2466 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 2501 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
2467 | switch (vk) { | 2502 | switch (vk) { |
2468 | case 0: | 2503 | case 0: |
2469 | dasm_put(Dst, 12480, LJ_TISNUM); | 2504 | dasm_put(Dst, 12689, LJ_TISNUM); |
2470 | if (LJ_DUALNUM) { | 2505 | if (LJ_DUALNUM) { |
2471 | dasm_put(Dst, 12492, LJ_TISNUM); | 2506 | dasm_put(Dst, 12701, LJ_TISNUM); |
2472 | } | 2507 | } |
2473 | if (sse) { | 2508 | if (sse) { |
2474 | dasm_put(Dst, 12881); | 2509 | dasm_put(Dst, 13090); |
2475 | } else { | 2510 | } else { |
2476 | dasm_put(Dst, 12895); | 2511 | dasm_put(Dst, 13104); |
2477 | } | 2512 | } |
2478 | break; | 2513 | break; |
2479 | case 1: | 2514 | case 1: |
2480 | dasm_put(Dst, 12525, LJ_TISNUM); | 2515 | dasm_put(Dst, 12734, LJ_TISNUM); |
2481 | if (LJ_DUALNUM) { | 2516 | if (LJ_DUALNUM) { |
2482 | dasm_put(Dst, 12537, LJ_TISNUM); | 2517 | dasm_put(Dst, 12746, LJ_TISNUM); |
2483 | } | 2518 | } |
2484 | if (sse) { | 2519 | if (sse) { |
2485 | dasm_put(Dst, 12903); | 2520 | dasm_put(Dst, 13112); |
2486 | } else { | 2521 | } else { |
2487 | dasm_put(Dst, 12917); | 2522 | dasm_put(Dst, 13126); |
2488 | } | 2523 | } |
2489 | break; | 2524 | break; |
2490 | default: | 2525 | default: |
2491 | dasm_put(Dst, 12570, LJ_TISNUM, LJ_TISNUM); | 2526 | dasm_put(Dst, 12779, LJ_TISNUM, LJ_TISNUM); |
2492 | if (sse) { | 2527 | if (sse) { |
2493 | dasm_put(Dst, 12925); | 2528 | dasm_put(Dst, 13134); |
2494 | } else { | 2529 | } else { |
2495 | dasm_put(Dst, 12939); | 2530 | dasm_put(Dst, 13148); |
2496 | } | 2531 | } |
2497 | break; | 2532 | break; |
2498 | } | 2533 | } |
2499 | if (sse) { | 2534 | if (sse) { |
2500 | dasm_put(Dst, 12197); | 2535 | dasm_put(Dst, 12406); |
2501 | } else { | 2536 | } else { |
2502 | dasm_put(Dst, 12209); | 2537 | dasm_put(Dst, 12418); |
2503 | } | 2538 | } |
2504 | dasm_put(Dst, 11337); | 2539 | dasm_put(Dst, 11546); |
2505 | } | 2540 | } |
2506 | break; | 2541 | break; |
2507 | case BC_DIVVN: case BC_DIVNV: case BC_DIVVV: | 2542 | case BC_DIVVN: case BC_DIVNV: case BC_DIVVV: |
2508 | dasm_put(Dst, 12367); | 2543 | dasm_put(Dst, 12576); |
2509 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 2544 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
2510 | switch (vk) { | 2545 | switch (vk) { |
2511 | case 0: | 2546 | case 0: |
2512 | dasm_put(Dst, 12480, LJ_TISNUM); | 2547 | dasm_put(Dst, 12689, LJ_TISNUM); |
2513 | if (LJ_DUALNUM) { | 2548 | if (LJ_DUALNUM) { |
2514 | dasm_put(Dst, 12492, LJ_TISNUM); | 2549 | dasm_put(Dst, 12701, LJ_TISNUM); |
2515 | } | 2550 | } |
2516 | if (sse) { | 2551 | if (sse) { |
2517 | dasm_put(Dst, 12947); | 2552 | dasm_put(Dst, 13156); |
2518 | } else { | 2553 | } else { |
2519 | dasm_put(Dst, 12961); | 2554 | dasm_put(Dst, 13170); |
2520 | } | 2555 | } |
2521 | break; | 2556 | break; |
2522 | case 1: | 2557 | case 1: |
2523 | dasm_put(Dst, 12525, LJ_TISNUM); | 2558 | dasm_put(Dst, 12734, LJ_TISNUM); |
2524 | if (LJ_DUALNUM) { | 2559 | if (LJ_DUALNUM) { |
2525 | dasm_put(Dst, 12537, LJ_TISNUM); | 2560 | dasm_put(Dst, 12746, LJ_TISNUM); |
2526 | } | 2561 | } |
2527 | if (sse) { | 2562 | if (sse) { |
2528 | dasm_put(Dst, 12969); | 2563 | dasm_put(Dst, 13178); |
2529 | } else { | 2564 | } else { |
2530 | dasm_put(Dst, 12983); | 2565 | dasm_put(Dst, 13192); |
2531 | } | 2566 | } |
2532 | break; | 2567 | break; |
2533 | default: | 2568 | default: |
2534 | dasm_put(Dst, 12570, LJ_TISNUM, LJ_TISNUM); | 2569 | dasm_put(Dst, 12779, LJ_TISNUM, LJ_TISNUM); |
2535 | if (sse) { | 2570 | if (sse) { |
2536 | dasm_put(Dst, 12991); | 2571 | dasm_put(Dst, 13200); |
2537 | } else { | 2572 | } else { |
2538 | dasm_put(Dst, 13005); | 2573 | dasm_put(Dst, 13214); |
2539 | } | 2574 | } |
2540 | break; | 2575 | break; |
2541 | } | 2576 | } |
2542 | if (sse) { | 2577 | if (sse) { |
2543 | dasm_put(Dst, 12197); | 2578 | dasm_put(Dst, 12406); |
2544 | } else { | 2579 | } else { |
2545 | dasm_put(Dst, 12209); | 2580 | dasm_put(Dst, 12418); |
2546 | } | 2581 | } |
2547 | dasm_put(Dst, 11337); | 2582 | dasm_put(Dst, 11546); |
2548 | break; | 2583 | break; |
2549 | case BC_MODVN: | 2584 | case BC_MODVN: |
2550 | dasm_put(Dst, 12367); | 2585 | dasm_put(Dst, 12576); |
2551 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 2586 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
2552 | switch (vk) { | 2587 | switch (vk) { |
2553 | case 0: | 2588 | case 0: |
2554 | dasm_put(Dst, 12480, LJ_TISNUM); | 2589 | dasm_put(Dst, 12689, LJ_TISNUM); |
2555 | if (LJ_DUALNUM) { | 2590 | if (LJ_DUALNUM) { |
2556 | dasm_put(Dst, 12492, LJ_TISNUM); | 2591 | dasm_put(Dst, 12701, LJ_TISNUM); |
2557 | } | 2592 | } |
2558 | if (sse) { | 2593 | if (sse) { |
2559 | dasm_put(Dst, 13013); | 2594 | dasm_put(Dst, 13222); |
2560 | } else { | 2595 | } else { |
2561 | dasm_put(Dst, 13027); | 2596 | dasm_put(Dst, 13236); |
2562 | } | 2597 | } |
2563 | break; | 2598 | break; |
2564 | case 1: | 2599 | case 1: |
2565 | dasm_put(Dst, 12525, LJ_TISNUM); | 2600 | dasm_put(Dst, 12734, LJ_TISNUM); |
2566 | if (LJ_DUALNUM) { | 2601 | if (LJ_DUALNUM) { |
2567 | dasm_put(Dst, 12537, LJ_TISNUM); | 2602 | dasm_put(Dst, 12746, LJ_TISNUM); |
2568 | } | 2603 | } |
2569 | if (sse) { | 2604 | if (sse) { |
2570 | dasm_put(Dst, 13035); | 2605 | dasm_put(Dst, 13244); |
2571 | } else { | 2606 | } else { |
2572 | dasm_put(Dst, 13049); | 2607 | dasm_put(Dst, 13258); |
2573 | } | 2608 | } |
2574 | break; | 2609 | break; |
2575 | default: | 2610 | default: |
2576 | dasm_put(Dst, 12570, LJ_TISNUM, LJ_TISNUM); | 2611 | dasm_put(Dst, 12779, LJ_TISNUM, LJ_TISNUM); |
2577 | if (sse) { | 2612 | if (sse) { |
2578 | dasm_put(Dst, 13057); | 2613 | dasm_put(Dst, 13266); |
2579 | } else { | 2614 | } else { |
2580 | dasm_put(Dst, 13071); | 2615 | dasm_put(Dst, 13280); |
2581 | } | 2616 | } |
2582 | break; | 2617 | break; |
2583 | } | 2618 | } |
2584 | dasm_put(Dst, 13079); | 2619 | dasm_put(Dst, 13288); |
2585 | if (sse) { | 2620 | if (sse) { |
2586 | dasm_put(Dst, 12197); | 2621 | dasm_put(Dst, 12406); |
2587 | } else { | 2622 | } else { |
2588 | dasm_put(Dst, 12209); | 2623 | dasm_put(Dst, 12418); |
2589 | } | 2624 | } |
2590 | dasm_put(Dst, 11337); | 2625 | dasm_put(Dst, 11546); |
2591 | break; | 2626 | break; |
2592 | case BC_MODNV: case BC_MODVV: | 2627 | case BC_MODNV: case BC_MODVV: |
2593 | dasm_put(Dst, 12367); | 2628 | dasm_put(Dst, 12576); |
2594 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 2629 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
2595 | switch (vk) { | 2630 | switch (vk) { |
2596 | case 0: | 2631 | case 0: |
2597 | dasm_put(Dst, 12480, LJ_TISNUM); | 2632 | dasm_put(Dst, 12689, LJ_TISNUM); |
2598 | if (LJ_DUALNUM) { | 2633 | if (LJ_DUALNUM) { |
2599 | dasm_put(Dst, 12492, LJ_TISNUM); | 2634 | dasm_put(Dst, 12701, LJ_TISNUM); |
2600 | } | 2635 | } |
2601 | if (sse) { | 2636 | if (sse) { |
2602 | dasm_put(Dst, 13013); | 2637 | dasm_put(Dst, 13222); |
2603 | } else { | 2638 | } else { |
2604 | dasm_put(Dst, 13027); | 2639 | dasm_put(Dst, 13236); |
2605 | } | 2640 | } |
2606 | break; | 2641 | break; |
2607 | case 1: | 2642 | case 1: |
2608 | dasm_put(Dst, 12525, LJ_TISNUM); | 2643 | dasm_put(Dst, 12734, LJ_TISNUM); |
2609 | if (LJ_DUALNUM) { | 2644 | if (LJ_DUALNUM) { |
2610 | dasm_put(Dst, 12537, LJ_TISNUM); | 2645 | dasm_put(Dst, 12746, LJ_TISNUM); |
2611 | } | 2646 | } |
2612 | if (sse) { | 2647 | if (sse) { |
2613 | dasm_put(Dst, 13035); | 2648 | dasm_put(Dst, 13244); |
2614 | } else { | 2649 | } else { |
2615 | dasm_put(Dst, 13049); | 2650 | dasm_put(Dst, 13258); |
2616 | } | 2651 | } |
2617 | break; | 2652 | break; |
2618 | default: | 2653 | default: |
2619 | dasm_put(Dst, 12570, LJ_TISNUM, LJ_TISNUM); | 2654 | dasm_put(Dst, 12779, LJ_TISNUM, LJ_TISNUM); |
2620 | if (sse) { | 2655 | if (sse) { |
2621 | dasm_put(Dst, 13057); | 2656 | dasm_put(Dst, 13266); |
2622 | } else { | 2657 | } else { |
2623 | dasm_put(Dst, 13071); | 2658 | dasm_put(Dst, 13280); |
2624 | } | 2659 | } |
2625 | break; | 2660 | break; |
2626 | } | 2661 | } |
2627 | dasm_put(Dst, 13085); | 2662 | dasm_put(Dst, 13294); |
2628 | break; | 2663 | break; |
2629 | case BC_POW: | 2664 | case BC_POW: |
2630 | dasm_put(Dst, 12367); | 2665 | dasm_put(Dst, 12576); |
2631 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 2666 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
2632 | switch (vk) { | 2667 | switch (vk) { |
2633 | case 0: | 2668 | case 0: |
2634 | dasm_put(Dst, 12480, LJ_TISNUM); | 2669 | dasm_put(Dst, 12689, LJ_TISNUM); |
2635 | if (LJ_DUALNUM) { | 2670 | if (LJ_DUALNUM) { |
2636 | dasm_put(Dst, 12492, LJ_TISNUM); | 2671 | dasm_put(Dst, 12701, LJ_TISNUM); |
2637 | } | 2672 | } |
2638 | if (sse) { | 2673 | if (sse) { |
2639 | dasm_put(Dst, 13013); | 2674 | dasm_put(Dst, 13222); |
2640 | } else { | 2675 | } else { |
2641 | dasm_put(Dst, 13027); | 2676 | dasm_put(Dst, 13236); |
2642 | } | 2677 | } |
2643 | break; | 2678 | break; |
2644 | case 1: | 2679 | case 1: |
2645 | dasm_put(Dst, 12525, LJ_TISNUM); | 2680 | dasm_put(Dst, 12734, LJ_TISNUM); |
2646 | if (LJ_DUALNUM) { | 2681 | if (LJ_DUALNUM) { |
2647 | dasm_put(Dst, 12537, LJ_TISNUM); | 2682 | dasm_put(Dst, 12746, LJ_TISNUM); |
2648 | } | 2683 | } |
2649 | if (sse) { | 2684 | if (sse) { |
2650 | dasm_put(Dst, 13035); | 2685 | dasm_put(Dst, 13244); |
2651 | } else { | 2686 | } else { |
2652 | dasm_put(Dst, 13049); | 2687 | dasm_put(Dst, 13258); |
2653 | } | 2688 | } |
2654 | break; | 2689 | break; |
2655 | default: | 2690 | default: |
2656 | dasm_put(Dst, 12570, LJ_TISNUM, LJ_TISNUM); | 2691 | dasm_put(Dst, 12779, LJ_TISNUM, LJ_TISNUM); |
2657 | if (sse) { | 2692 | if (sse) { |
2658 | dasm_put(Dst, 13057); | 2693 | dasm_put(Dst, 13266); |
2659 | } else { | 2694 | } else { |
2660 | dasm_put(Dst, 13071); | 2695 | dasm_put(Dst, 13280); |
2661 | } | 2696 | } |
2662 | break; | 2697 | break; |
2663 | } | 2698 | } |
2664 | dasm_put(Dst, 13090); | 2699 | dasm_put(Dst, 13299); |
2665 | if (sse) { | 2700 | if (sse) { |
2666 | dasm_put(Dst, 12197); | 2701 | dasm_put(Dst, 12406); |
2667 | } else { | 2702 | } else { |
2668 | dasm_put(Dst, 12209); | 2703 | dasm_put(Dst, 12418); |
2669 | } | 2704 | } |
2670 | dasm_put(Dst, 11337); | 2705 | dasm_put(Dst, 11546); |
2671 | break; | 2706 | break; |
2672 | 2707 | ||
2673 | case BC_CAT: | 2708 | case BC_CAT: |
2674 | dasm_put(Dst, 13094, Dt1(->base), Dt1(->base)); | 2709 | dasm_put(Dst, 13303, Dt1(->base), Dt1(->base)); |
2675 | break; | 2710 | break; |
2676 | 2711 | ||
2677 | /* -- Constant ops ------------------------------------------------------ */ | 2712 | /* -- Constant ops ------------------------------------------------------ */ |
2678 | 2713 | ||
2679 | case BC_KSTR: | 2714 | case BC_KSTR: |
2680 | dasm_put(Dst, 13188, LJ_TSTR); | 2715 | dasm_put(Dst, 13397, LJ_TSTR); |
2681 | break; | 2716 | break; |
2682 | case BC_KCDATA: | 2717 | case BC_KCDATA: |
2683 | #if LJ_HASFFI | 2718 | #if LJ_HASFFI |
2684 | dasm_put(Dst, 13188, LJ_TCDATA); | 2719 | dasm_put(Dst, 13397, LJ_TCDATA); |
2685 | #endif | 2720 | #endif |
2686 | break; | 2721 | break; |
2687 | case BC_KSHORT: | 2722 | case BC_KSHORT: |
2688 | if (LJ_DUALNUM) { | 2723 | if (LJ_DUALNUM) { |
2689 | dasm_put(Dst, 13221, LJ_TISNUM); | 2724 | dasm_put(Dst, 13430, LJ_TISNUM); |
2690 | } else if (sse) { | 2725 | } else if (sse) { |
2691 | dasm_put(Dst, 13233); | 2726 | dasm_put(Dst, 13442); |
2692 | } else { | 2727 | } else { |
2693 | dasm_put(Dst, 13248); | 2728 | dasm_put(Dst, 13457); |
2694 | } | 2729 | } |
2695 | dasm_put(Dst, 11337); | 2730 | dasm_put(Dst, 11546); |
2696 | break; | 2731 | break; |
2697 | case BC_KNUM: | 2732 | case BC_KNUM: |
2698 | if (sse) { | 2733 | if (sse) { |
2699 | dasm_put(Dst, 13256); | 2734 | dasm_put(Dst, 13465); |
2700 | } else { | 2735 | } else { |
2701 | dasm_put(Dst, 13269); | 2736 | dasm_put(Dst, 13478); |
2702 | } | 2737 | } |
2703 | dasm_put(Dst, 11337); | 2738 | dasm_put(Dst, 11546); |
2704 | break; | 2739 | break; |
2705 | case BC_KPRI: | 2740 | case BC_KPRI: |
2706 | dasm_put(Dst, 13276); | 2741 | dasm_put(Dst, 13485); |
2707 | break; | 2742 | break; |
2708 | case BC_KNIL: | 2743 | case BC_KNIL: |
2709 | dasm_put(Dst, 13302, LJ_TNIL); | 2744 | dasm_put(Dst, 13511, LJ_TNIL); |
2710 | break; | 2745 | break; |
2711 | 2746 | ||
2712 | /* -- Upvalue and function ops ------------------------------------------ */ | 2747 | /* -- Upvalue and function ops ------------------------------------------ */ |
2713 | 2748 | ||
2714 | case BC_UGET: | 2749 | case BC_UGET: |
2715 | dasm_put(Dst, 13348, offsetof(GCfuncL, uvptr), DtA(->v)); | 2750 | dasm_put(Dst, 13557, offsetof(GCfuncL, uvptr), DtA(->v)); |
2716 | break; | 2751 | break; |
2717 | case BC_USETV: | 2752 | case BC_USETV: |
2718 | #define TV2MARKOFS \ | 2753 | #define TV2MARKOFS \ |
2719 | ((int32_t)offsetof(GCupval, marked)-(int32_t)offsetof(GCupval, tv)) | 2754 | ((int32_t)offsetof(GCupval, marked)-(int32_t)offsetof(GCupval, tv)) |
2720 | dasm_put(Dst, 13392, 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); | 2755 | dasm_put(Dst, 13601, 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); |
2721 | dasm_put(Dst, 13482); | 2756 | dasm_put(Dst, 13691); |
2722 | break; | 2757 | break; |
2723 | #undef TV2MARKOFS | 2758 | #undef TV2MARKOFS |
2724 | case BC_USETS: | 2759 | case BC_USETS: |
2725 | dasm_put(Dst, 13494, offsetof(GCfuncL, uvptr), DtA(->v), LJ_TSTR, DtA(->marked), LJ_GC_BLACK, Dt4(->gch.marked), LJ_GC_WHITES, DtA(->closed), GG_DISP2G); | 2760 | dasm_put(Dst, 13703, offsetof(GCfuncL, uvptr), DtA(->v), LJ_TSTR, DtA(->marked), LJ_GC_BLACK, Dt4(->gch.marked), LJ_GC_WHITES, DtA(->closed), GG_DISP2G); |
2726 | break; | 2761 | break; |
2727 | case BC_USETN: | 2762 | case BC_USETN: |
2728 | dasm_put(Dst, 13585); | 2763 | dasm_put(Dst, 13794); |
2729 | if (sse) { | 2764 | if (sse) { |
2730 | dasm_put(Dst, 13590); | 2765 | dasm_put(Dst, 13799); |
2731 | } else { | 2766 | } else { |
2732 | dasm_put(Dst, 11847); | 2767 | dasm_put(Dst, 12056); |
2733 | } | 2768 | } |
2734 | dasm_put(Dst, 13597, offsetof(GCfuncL, uvptr), DtA(->v)); | 2769 | dasm_put(Dst, 13806, offsetof(GCfuncL, uvptr), DtA(->v)); |
2735 | if (sse) { | 2770 | if (sse) { |
2736 | dasm_put(Dst, 13606); | 2771 | dasm_put(Dst, 13815); |
2737 | } else { | 2772 | } else { |
2738 | dasm_put(Dst, 13612); | 2773 | dasm_put(Dst, 13821); |
2739 | } | 2774 | } |
2740 | dasm_put(Dst, 11337); | 2775 | dasm_put(Dst, 11546); |
2741 | break; | 2776 | break; |
2742 | case BC_USETP: | 2777 | case BC_USETP: |
2743 | dasm_put(Dst, 13615, offsetof(GCfuncL, uvptr), DtA(->v)); | 2778 | dasm_put(Dst, 13824, offsetof(GCfuncL, uvptr), DtA(->v)); |
2744 | break; | 2779 | break; |
2745 | case BC_UCLO: | 2780 | case BC_UCLO: |
2746 | dasm_put(Dst, 13652, -BCBIAS_J*4, Dt1(->openupval), Dt1(->base), Dt1(->base)); | 2781 | dasm_put(Dst, 13861, -BCBIAS_J*4, Dt1(->openupval), Dt1(->base), Dt1(->base)); |
2747 | break; | 2782 | break; |
2748 | 2783 | ||
2749 | case BC_FNEW: | 2784 | case BC_FNEW: |
2750 | dasm_put(Dst, 13706, Dt1(->base), Dt1(->base), LJ_TFUNC); | 2785 | dasm_put(Dst, 13915, Dt1(->base), Dt1(->base), LJ_TFUNC); |
2751 | break; | 2786 | break; |
2752 | 2787 | ||
2753 | /* -- Table ops --------------------------------------------------------- */ | 2788 | /* -- Table ops --------------------------------------------------------- */ |
2754 | 2789 | ||
2755 | case BC_TNEW: | 2790 | case BC_TNEW: |
2756 | dasm_put(Dst, 13777, Dt1(->base), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), LJ_TTAB); | 2791 | dasm_put(Dst, 13986, Dt1(->base), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), LJ_TTAB); |
2757 | break; | 2792 | break; |
2758 | case BC_TDUP: | 2793 | case BC_TDUP: |
2759 | dasm_put(Dst, 13903, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), Dt1(->base), LJ_TTAB); | 2794 | dasm_put(Dst, 14112, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), Dt1(->base), LJ_TTAB); |
2760 | break; | 2795 | break; |
2761 | 2796 | ||
2762 | case BC_GGET: | 2797 | case BC_GGET: |
2763 | dasm_put(Dst, 13995, Dt7(->env)); | 2798 | dasm_put(Dst, 14204, Dt7(->env)); |
2764 | break; | 2799 | break; |
2765 | case BC_GSET: | 2800 | case BC_GSET: |
2766 | dasm_put(Dst, 14013, Dt7(->env)); | 2801 | dasm_put(Dst, 14222, Dt7(->env)); |
2767 | break; | 2802 | break; |
2768 | 2803 | ||
2769 | case BC_TGETV: | 2804 | case BC_TGETV: |
2770 | dasm_put(Dst, 14031, LJ_TTAB); | 2805 | dasm_put(Dst, 14240, LJ_TTAB); |
2771 | if (LJ_DUALNUM) { | 2806 | if (LJ_DUALNUM) { |
2772 | dasm_put(Dst, 14054, LJ_TISNUM); | 2807 | dasm_put(Dst, 14263, LJ_TISNUM); |
2773 | } else { | 2808 | } else { |
2774 | dasm_put(Dst, 14068, LJ_TISNUM); | 2809 | dasm_put(Dst, 14277, LJ_TISNUM); |
2775 | if (sse) { | 2810 | if (sse) { |
2776 | dasm_put(Dst, 14079); | 2811 | dasm_put(Dst, 14288); |
2777 | } else { | 2812 | } else { |
2778 | dasm_put(Dst, 14100); | 2813 | dasm_put(Dst, 14309); |
2779 | if (cmov) { | 2814 | if (cmov) { |
2780 | dasm_put(Dst, 3944); | 2815 | dasm_put(Dst, 3953); |
2781 | } else { | 2816 | } else { |
2782 | dasm_put(Dst, 3950); | 2817 | dasm_put(Dst, 3959); |
2783 | } | 2818 | } |
2784 | dasm_put(Dst, 2680); | 2819 | dasm_put(Dst, 2689); |
2785 | } | 2820 | } |
2786 | dasm_put(Dst, 14110); | 2821 | dasm_put(Dst, 14319); |
2787 | } | 2822 | } |
2788 | dasm_put(Dst, 14115, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index, LJ_TNIL); | 2823 | dasm_put(Dst, 14324, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index, LJ_TNIL); |
2789 | dasm_put(Dst, 14210, LJ_TSTR); | 2824 | dasm_put(Dst, 14419, LJ_TSTR); |
2790 | break; | 2825 | break; |
2791 | case BC_TGETS: | 2826 | case BC_TGETS: |
2792 | dasm_put(Dst, 14228, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL); | 2827 | dasm_put(Dst, 14437, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL); |
2793 | dasm_put(Dst, 14316, LJ_TNIL, DtB(->next), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); | 2828 | dasm_put(Dst, 14525, LJ_TNIL, DtB(->next), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); |
2794 | break; | 2829 | break; |
2795 | case BC_TGETB: | 2830 | case BC_TGETB: |
2796 | dasm_put(Dst, 14386, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); | 2831 | dasm_put(Dst, 14595, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); |
2797 | dasm_put(Dst, 14485, LJ_TNIL); | 2832 | dasm_put(Dst, 14694, LJ_TNIL); |
2798 | break; | 2833 | break; |
2799 | 2834 | ||
2800 | case BC_TSETV: | 2835 | case BC_TSETV: |
2801 | dasm_put(Dst, 14502, LJ_TTAB); | 2836 | dasm_put(Dst, 14711, LJ_TTAB); |
2802 | if (LJ_DUALNUM) { | 2837 | if (LJ_DUALNUM) { |
2803 | dasm_put(Dst, 14054, LJ_TISNUM); | 2838 | dasm_put(Dst, 14263, LJ_TISNUM); |
2804 | } else { | 2839 | } else { |
2805 | dasm_put(Dst, 14068, LJ_TISNUM); | 2840 | dasm_put(Dst, 14277, LJ_TISNUM); |
2806 | if (sse) { | 2841 | if (sse) { |
2807 | dasm_put(Dst, 14079); | 2842 | dasm_put(Dst, 14288); |
2808 | } else { | 2843 | } else { |
2809 | dasm_put(Dst, 14100); | 2844 | dasm_put(Dst, 14309); |
2810 | if (cmov) { | 2845 | if (cmov) { |
2811 | dasm_put(Dst, 3944); | 2846 | dasm_put(Dst, 3953); |
2812 | } else { | 2847 | } else { |
2813 | dasm_put(Dst, 3950); | 2848 | dasm_put(Dst, 3959); |
2814 | } | 2849 | } |
2815 | dasm_put(Dst, 2680); | 2850 | dasm_put(Dst, 2689); |
2816 | } | 2851 | } |
2817 | dasm_put(Dst, 14525); | 2852 | dasm_put(Dst, 14734); |
2818 | } | 2853 | } |
2819 | dasm_put(Dst, 14530, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex); | 2854 | dasm_put(Dst, 14739, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex); |
2820 | dasm_put(Dst, 14614, LJ_TSTR, Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); | 2855 | dasm_put(Dst, 14823, LJ_TSTR, Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); |
2821 | break; | 2856 | break; |
2822 | case BC_TSETS: | 2857 | case BC_TSETS: |
2823 | dasm_put(Dst, 14671, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->nomm), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL); | 2858 | dasm_put(Dst, 14880, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->nomm), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL); |
2824 | dasm_put(Dst, 14746, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, DtB(->next)); | 2859 | dasm_put(Dst, 14955, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, DtB(->next)); |
2825 | dasm_put(Dst, 14838, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, LJ_TSTR, Dt1(->base), Dt1(->base), Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); | 2860 | dasm_put(Dst, 15047, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, LJ_TSTR, Dt1(->base), Dt1(->base), Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); |
2826 | break; | 2861 | break; |
2827 | case BC_TSETB: | 2862 | case BC_TSETB: |
2828 | dasm_put(Dst, 14934, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable)); | 2863 | dasm_put(Dst, 15143, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable)); |
2829 | dasm_put(Dst, 15032, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); | 2864 | dasm_put(Dst, 15241, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); |
2830 | break; | 2865 | break; |
2831 | 2866 | ||
2832 | case BC_TSETM: | 2867 | case BC_TSETM: |
2833 | dasm_put(Dst, 15078, Dt6(->marked), LJ_GC_BLACK, Dt6(->asize), Dt6(->array), Dt1(->base), Dt1(->base)); | 2868 | dasm_put(Dst, 15287, Dt6(->marked), LJ_GC_BLACK, Dt6(->asize), Dt6(->array), Dt1(->base), Dt1(->base)); |
2834 | dasm_put(Dst, 15227, Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); | 2869 | dasm_put(Dst, 15436, Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); |
2835 | break; | 2870 | break; |
2836 | 2871 | ||
2837 | /* -- Calls and vararg handling ----------------------------------------- */ | 2872 | /* -- Calls and vararg handling ----------------------------------------- */ |
2838 | 2873 | ||
2839 | case BC_CALL: case BC_CALLM: | 2874 | case BC_CALL: case BC_CALLM: |
2840 | dasm_put(Dst, 12371); | 2875 | dasm_put(Dst, 12580); |
2841 | if (op == BC_CALLM) { | 2876 | if (op == BC_CALLM) { |
2842 | dasm_put(Dst, 15245); | 2877 | dasm_put(Dst, 15454); |
2843 | } | 2878 | } |
2844 | dasm_put(Dst, 15250, LJ_TFUNC, Dt7(->pc)); | 2879 | dasm_put(Dst, 15459, LJ_TFUNC, Dt7(->pc)); |
2845 | break; | 2880 | break; |
2846 | 2881 | ||
2847 | case BC_CALLMT: | 2882 | case BC_CALLMT: |
2848 | dasm_put(Dst, 15245); | 2883 | dasm_put(Dst, 15454); |
2849 | break; | 2884 | break; |
2850 | case BC_CALLT: | 2885 | case BC_CALLT: |
2851 | dasm_put(Dst, 15291, LJ_TFUNC, FRAME_TYPE, Dt7(->ffid), Dt7(->pc)); | 2886 | dasm_put(Dst, 15500, LJ_TFUNC, FRAME_TYPE, Dt7(->ffid), Dt7(->pc)); |
2852 | dasm_put(Dst, 15409, FRAME_TYPE, Dt7(->pc), PC2PROTO(k), FRAME_VARG, FRAME_TYPEP, FRAME_VARG); | 2887 | dasm_put(Dst, 15618, FRAME_TYPE, Dt7(->pc), PC2PROTO(k), FRAME_VARG, FRAME_TYPEP, FRAME_VARG); |
2853 | break; | 2888 | break; |
2854 | 2889 | ||
2855 | case BC_ITERC: | 2890 | case BC_ITERC: |
2856 | dasm_put(Dst, 15479, LJ_TFUNC, 2+1, Dt7(->pc)); | 2891 | dasm_put(Dst, 15688, LJ_TFUNC, 2+1, Dt7(->pc)); |
2857 | break; | 2892 | break; |
2858 | 2893 | ||
2859 | case BC_ITERN: | 2894 | case BC_ITERN: |
2860 | #if LJ_HASJIT | 2895 | #if LJ_HASJIT |
2861 | #endif | 2896 | #endif |
2862 | dasm_put(Dst, 15559, Dt6(->asize), Dt6(->array), LJ_TNIL); | 2897 | dasm_put(Dst, 15768, Dt6(->asize), Dt6(->array), LJ_TNIL); |
2863 | if (LJ_DUALNUM) { | 2898 | if (LJ_DUALNUM) { |
2864 | dasm_put(Dst, 12232, LJ_TISNUM); | 2899 | dasm_put(Dst, 12441, LJ_TISNUM); |
2865 | } else if (sse) { | 2900 | } else if (sse) { |
2866 | dasm_put(Dst, 12325); | 2901 | dasm_put(Dst, 12534); |
2867 | } else { | 2902 | } else { |
2868 | dasm_put(Dst, 15605); | 2903 | dasm_put(Dst, 15814); |
2869 | } | 2904 | } |
2870 | dasm_put(Dst, 15611); | 2905 | dasm_put(Dst, 15820); |
2871 | if (LJ_DUALNUM) { | 2906 | if (LJ_DUALNUM) { |
2872 | } else if (sse) { | 2907 | } else if (sse) { |
2873 | dasm_put(Dst, 12197); | 2908 | dasm_put(Dst, 12406); |
2874 | } else { | 2909 | } else { |
2875 | dasm_put(Dst, 12209); | 2910 | dasm_put(Dst, 12418); |
2876 | } | 2911 | } |
2877 | dasm_put(Dst, 15630, -BCBIAS_J*4); | 2912 | dasm_put(Dst, 15839, -BCBIAS_J*4); |
2878 | if (!LJ_DUALNUM && !sse) { | 2913 | if (!LJ_DUALNUM && !sse) { |
2879 | dasm_put(Dst, 15681); | 2914 | dasm_put(Dst, 15890); |
2880 | } | 2915 | } |
2881 | dasm_put(Dst, 15687, Dt6(->hmask), sizeof(Node), Dt6(->node), DtB(->val.it), LJ_TNIL, DtB(->key.gcr), DtB(->key.it), DtB(->val.gcr), DtB(->val.it)); | 2916 | dasm_put(Dst, 15896, Dt6(->hmask), sizeof(Node), Dt6(->node), DtB(->val.it), LJ_TNIL, DtB(->key.gcr), DtB(->key.it), DtB(->val.gcr), DtB(->val.it)); |
2882 | dasm_put(Dst, 15762); | 2917 | dasm_put(Dst, 15971); |
2883 | break; | 2918 | break; |
2884 | 2919 | ||
2885 | case BC_ISNEXT: | 2920 | case BC_ISNEXT: |
2886 | dasm_put(Dst, 15770, LJ_TFUNC, LJ_TTAB, LJ_TNIL, Dt8(->ffid), FF_next_N, -BCBIAS_J*4, BC_JMP, -BCBIAS_J*4, BC_ITERC); | 2921 | dasm_put(Dst, 15979, LJ_TFUNC, LJ_TTAB, LJ_TNIL, Dt8(->ffid), FF_next_N, -BCBIAS_J*4, BC_JMP, -BCBIAS_J*4, BC_ITERC); |
2887 | break; | 2922 | break; |
2888 | 2923 | ||
2889 | case BC_VARG: | 2924 | case BC_VARG: |
2890 | dasm_put(Dst, 15869, (8+FRAME_VARG), LJ_TNIL, Dt1(->maxstack)); | 2925 | dasm_put(Dst, 16078, (8+FRAME_VARG), LJ_TNIL, Dt1(->maxstack)); |
2891 | dasm_put(Dst, 16033, Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top)); | 2926 | dasm_put(Dst, 16242, Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top)); |
2892 | break; | 2927 | break; |
2893 | 2928 | ||
2894 | /* -- Returns ----------------------------------------------------------- */ | 2929 | /* -- Returns ----------------------------------------------------------- */ |
2895 | 2930 | ||
2896 | case BC_RETM: | 2931 | case BC_RETM: |
2897 | dasm_put(Dst, 15245); | 2932 | dasm_put(Dst, 15454); |
2898 | break; | 2933 | break; |
2899 | 2934 | ||
2900 | case BC_RET: case BC_RET0: case BC_RET1: | 2935 | case BC_RET: case BC_RET0: case BC_RET1: |
2901 | if (op != BC_RET0) { | 2936 | if (op != BC_RET0) { |
2902 | dasm_put(Dst, 16104); | 2937 | dasm_put(Dst, 16313); |
2903 | } | 2938 | } |
2904 | dasm_put(Dst, 16108, FRAME_TYPE); | 2939 | dasm_put(Dst, 16317, FRAME_TYPE); |
2905 | switch (op) { | 2940 | switch (op) { |
2906 | case BC_RET: | 2941 | case BC_RET: |
2907 | dasm_put(Dst, 16127); | 2942 | dasm_put(Dst, 16336); |
2908 | break; | 2943 | break; |
2909 | case BC_RET1: | 2944 | case BC_RET1: |
2910 | dasm_put(Dst, 16185); | 2945 | dasm_put(Dst, 16394); |
2911 | /* fallthrough */ | 2946 | /* fallthrough */ |
2912 | case BC_RET0: | 2947 | case BC_RET0: |
2913 | dasm_put(Dst, 16201); | 2948 | dasm_put(Dst, 16410); |
2914 | default: | 2949 | default: |
2915 | break; | 2950 | break; |
2916 | } | 2951 | } |
2917 | dasm_put(Dst, 16212, Dt7(->pc), PC2PROTO(k)); | 2952 | dasm_put(Dst, 16421, Dt7(->pc), PC2PROTO(k)); |
2918 | if (op == BC_RET) { | 2953 | if (op == BC_RET) { |
2919 | dasm_put(Dst, 16254, LJ_TNIL); | 2954 | dasm_put(Dst, 16463, LJ_TNIL); |
2920 | } else { | 2955 | } else { |
2921 | dasm_put(Dst, 16263, LJ_TNIL); | 2956 | dasm_put(Dst, 16472, LJ_TNIL); |
2922 | } | 2957 | } |
2923 | dasm_put(Dst, 16270, -FRAME_VARG, FRAME_TYPEP); | 2958 | dasm_put(Dst, 16479, -FRAME_VARG, FRAME_TYPEP); |
2924 | if (op != BC_RET0) { | 2959 | if (op != BC_RET0) { |
2925 | dasm_put(Dst, 16294); | 2960 | dasm_put(Dst, 16503); |
2926 | } | 2961 | } |
2927 | dasm_put(Dst, 4928); | 2962 | dasm_put(Dst, 4937); |
2928 | break; | 2963 | break; |
2929 | 2964 | ||
2930 | /* -- Loops and branches ------------------------------------------------ */ | 2965 | /* -- Loops and branches ------------------------------------------------ */ |
@@ -2932,7 +2967,7 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
2932 | 2967 | ||
2933 | case BC_FORL: | 2968 | case BC_FORL: |
2934 | #if LJ_HASJIT | 2969 | #if LJ_HASJIT |
2935 | dasm_put(Dst, 16298, HOTCOUNT_PCMASK, GG_DISP2HOT, HOTCOUNT_LOOP); | 2970 | dasm_put(Dst, 16507, HOTCOUNT_PCMASK, GG_DISP2HOT, HOTCOUNT_LOOP); |
2936 | #endif | 2971 | #endif |
2937 | break; | 2972 | break; |
2938 | 2973 | ||
@@ -2944,111 +2979,111 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
2944 | case BC_FORI: | 2979 | case BC_FORI: |
2945 | case BC_IFORL: | 2980 | case BC_IFORL: |
2946 | vk = (op == BC_IFORL || op == BC_JFORL); | 2981 | vk = (op == BC_IFORL || op == BC_JFORL); |
2947 | dasm_put(Dst, 16319); | 2982 | dasm_put(Dst, 16528); |
2948 | if (LJ_DUALNUM) { | 2983 | if (LJ_DUALNUM) { |
2949 | dasm_put(Dst, 16323, LJ_TISNUM); | 2984 | dasm_put(Dst, 16532, LJ_TISNUM); |
2950 | if (!vk) { | 2985 | if (!vk) { |
2951 | dasm_put(Dst, 16333, LJ_TISNUM, LJ_TISNUM); | 2986 | dasm_put(Dst, 16542, LJ_TISNUM, LJ_TISNUM); |
2952 | } else { | 2987 | } else { |
2953 | #ifdef LUA_USE_ASSERT | 2988 | #ifdef LUA_USE_ASSERT |
2954 | dasm_put(Dst, 16362, LJ_TISNUM, LJ_TISNUM); | 2989 | dasm_put(Dst, 16571, LJ_TISNUM, LJ_TISNUM); |
2955 | #endif | 2990 | #endif |
2956 | dasm_put(Dst, 16381); | 2991 | dasm_put(Dst, 16590); |
2957 | } | 2992 | } |
2958 | dasm_put(Dst, 16400, LJ_TISNUM); | 2993 | dasm_put(Dst, 16609, LJ_TISNUM); |
2959 | if (op == BC_FORI) { | 2994 | if (op == BC_FORI) { |
2960 | dasm_put(Dst, 16411, -BCBIAS_J*4); | 2995 | dasm_put(Dst, 16620, -BCBIAS_J*4); |
2961 | } else if (op == BC_JFORI) { | 2996 | } else if (op == BC_JFORI) { |
2962 | dasm_put(Dst, 16425, -BCBIAS_J*4, BC_JLOOP); | 2997 | dasm_put(Dst, 16634, -BCBIAS_J*4, BC_JLOOP); |
2963 | } else if (op == BC_IFORL) { | 2998 | } else if (op == BC_IFORL) { |
2964 | dasm_put(Dst, 16443, -BCBIAS_J*4); | 2999 | dasm_put(Dst, 16652, -BCBIAS_J*4); |
2965 | } else { | 3000 | } else { |
2966 | dasm_put(Dst, 16435, BC_JLOOP); | 3001 | dasm_put(Dst, 16644, BC_JLOOP); |
2967 | } | 3002 | } |
2968 | dasm_put(Dst, 16457); | 3003 | dasm_put(Dst, 16666); |
2969 | if (vk) { | 3004 | if (vk) { |
2970 | dasm_put(Dst, 16480); | 3005 | dasm_put(Dst, 16689); |
2971 | } | 3006 | } |
2972 | dasm_put(Dst, 16400, LJ_TISNUM); | 3007 | dasm_put(Dst, 16609, LJ_TISNUM); |
2973 | if (op == BC_FORI) { | 3008 | if (op == BC_FORI) { |
2974 | dasm_put(Dst, 16489); | 3009 | dasm_put(Dst, 16698); |
2975 | } else if (op == BC_JFORI) { | 3010 | } else if (op == BC_JFORI) { |
2976 | dasm_put(Dst, 16494, -BCBIAS_J*4, BC_JLOOP); | 3011 | dasm_put(Dst, 16703, -BCBIAS_J*4, BC_JLOOP); |
2977 | } else if (op == BC_IFORL) { | 3012 | } else if (op == BC_IFORL) { |
2978 | dasm_put(Dst, 16508); | 3013 | dasm_put(Dst, 16717); |
2979 | } else { | 3014 | } else { |
2980 | dasm_put(Dst, 16504, BC_JLOOP); | 3015 | dasm_put(Dst, 16713, BC_JLOOP); |
2981 | } | 3016 | } |
2982 | dasm_put(Dst, 16513); | 3017 | dasm_put(Dst, 16722); |
2983 | } else if (!vk) { | 3018 | } else if (!vk) { |
2984 | dasm_put(Dst, 16520, LJ_TISNUM); | 3019 | dasm_put(Dst, 16729, LJ_TISNUM); |
2985 | } | 3020 | } |
2986 | if (!vk) { | 3021 | if (!vk) { |
2987 | dasm_put(Dst, 16526, LJ_TISNUM); | 3022 | dasm_put(Dst, 16735, LJ_TISNUM); |
2988 | } else { | 3023 | } else { |
2989 | #ifdef LUA_USE_ASSERT | 3024 | #ifdef LUA_USE_ASSERT |
2990 | dasm_put(Dst, 16540, LJ_TISNUM, LJ_TISNUM); | 3025 | dasm_put(Dst, 16749, LJ_TISNUM, LJ_TISNUM); |
2991 | #endif | 3026 | #endif |
2992 | } | 3027 | } |
2993 | dasm_put(Dst, 16559); | 3028 | dasm_put(Dst, 16768); |
2994 | if (!vk) { | 3029 | if (!vk) { |
2995 | dasm_put(Dst, 16563, LJ_TISNUM); | 3030 | dasm_put(Dst, 16772, LJ_TISNUM); |
2996 | } | 3031 | } |
2997 | if (sse) { | 3032 | if (sse) { |
2998 | dasm_put(Dst, 16572); | 3033 | dasm_put(Dst, 16781); |
2999 | if (vk) { | 3034 | if (vk) { |
3000 | dasm_put(Dst, 16584); | 3035 | dasm_put(Dst, 16793); |
3001 | } else { | 3036 | } else { |
3002 | dasm_put(Dst, 16603); | 3037 | dasm_put(Dst, 16812); |
3003 | } | 3038 | } |
3004 | dasm_put(Dst, 16608); | 3039 | dasm_put(Dst, 16817); |
3005 | } else { | 3040 | } else { |
3006 | dasm_put(Dst, 16621); | 3041 | dasm_put(Dst, 16830); |
3007 | if (vk) { | 3042 | if (vk) { |
3008 | dasm_put(Dst, 16627); | 3043 | dasm_put(Dst, 16836); |
3009 | } else { | 3044 | } else { |
3010 | dasm_put(Dst, 16643); | 3045 | dasm_put(Dst, 16852); |
3011 | } | 3046 | } |
3012 | dasm_put(Dst, 16651); | 3047 | dasm_put(Dst, 16860); |
3013 | if (cmov) { | 3048 | if (cmov) { |
3014 | dasm_put(Dst, 3944); | 3049 | dasm_put(Dst, 3953); |
3015 | } else { | 3050 | } else { |
3016 | dasm_put(Dst, 3950); | 3051 | dasm_put(Dst, 3959); |
3017 | } | 3052 | } |
3018 | if (!cmov) { | 3053 | if (!cmov) { |
3019 | dasm_put(Dst, 16656); | 3054 | dasm_put(Dst, 16865); |
3020 | } | 3055 | } |
3021 | } | 3056 | } |
3022 | if (op == BC_FORI) { | 3057 | if (op == BC_FORI) { |
3023 | if (LJ_DUALNUM) { | 3058 | if (LJ_DUALNUM) { |
3024 | dasm_put(Dst, 16662); | 3059 | dasm_put(Dst, 16871); |
3025 | } else { | 3060 | } else { |
3026 | dasm_put(Dst, 16667, -BCBIAS_J*4); | 3061 | dasm_put(Dst, 16876, -BCBIAS_J*4); |
3027 | } | 3062 | } |
3028 | } else if (op == BC_JFORI) { | 3063 | } else if (op == BC_JFORI) { |
3029 | dasm_put(Dst, 16677, -BCBIAS_J*4, BC_JLOOP); | 3064 | dasm_put(Dst, 16886, -BCBIAS_J*4, BC_JLOOP); |
3030 | } else if (op == BC_IFORL) { | 3065 | } else if (op == BC_IFORL) { |
3031 | if (LJ_DUALNUM) { | 3066 | if (LJ_DUALNUM) { |
3032 | dasm_put(Dst, 16691); | 3067 | dasm_put(Dst, 16900); |
3033 | } else { | 3068 | } else { |
3034 | dasm_put(Dst, 16696, -BCBIAS_J*4); | 3069 | dasm_put(Dst, 16905, -BCBIAS_J*4); |
3035 | } | 3070 | } |
3036 | } else { | 3071 | } else { |
3037 | dasm_put(Dst, 16687, BC_JLOOP); | 3072 | dasm_put(Dst, 16896, BC_JLOOP); |
3038 | } | 3073 | } |
3039 | if (LJ_DUALNUM) { | 3074 | if (LJ_DUALNUM) { |
3040 | dasm_put(Dst, 11234); | 3075 | dasm_put(Dst, 11448); |
3041 | } else { | 3076 | } else { |
3042 | dasm_put(Dst, 11975); | 3077 | dasm_put(Dst, 12184); |
3043 | } | 3078 | } |
3044 | if (sse) { | 3079 | if (sse) { |
3045 | dasm_put(Dst, 16706); | 3080 | dasm_put(Dst, 16915); |
3046 | } | 3081 | } |
3047 | break; | 3082 | break; |
3048 | 3083 | ||
3049 | case BC_ITERL: | 3084 | case BC_ITERL: |
3050 | #if LJ_HASJIT | 3085 | #if LJ_HASJIT |
3051 | dasm_put(Dst, 16298, HOTCOUNT_PCMASK, GG_DISP2HOT, HOTCOUNT_LOOP); | 3086 | dasm_put(Dst, 16507, HOTCOUNT_PCMASK, GG_DISP2HOT, HOTCOUNT_LOOP); |
3052 | #endif | 3087 | #endif |
3053 | break; | 3088 | break; |
3054 | 3089 | ||
@@ -3057,33 +3092,33 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
3057 | break; | 3092 | break; |
3058 | #endif | 3093 | #endif |
3059 | case BC_IITERL: | 3094 | case BC_IITERL: |
3060 | dasm_put(Dst, 16717, LJ_TNIL); | 3095 | dasm_put(Dst, 16926, LJ_TNIL); |
3061 | if (op == BC_JITERL) { | 3096 | if (op == BC_JITERL) { |
3062 | dasm_put(Dst, 16732, BC_JLOOP); | 3097 | dasm_put(Dst, 16941, BC_JLOOP); |
3063 | } else { | 3098 | } else { |
3064 | dasm_put(Dst, 16746, -BCBIAS_J*4); | 3099 | dasm_put(Dst, 16955, -BCBIAS_J*4); |
3065 | } | 3100 | } |
3066 | dasm_put(Dst, 11335); | 3101 | dasm_put(Dst, 11544); |
3067 | break; | 3102 | break; |
3068 | 3103 | ||
3069 | case BC_LOOP: | 3104 | case BC_LOOP: |
3070 | #if LJ_HASJIT | 3105 | #if LJ_HASJIT |
3071 | dasm_put(Dst, 16298, HOTCOUNT_PCMASK, GG_DISP2HOT, HOTCOUNT_LOOP); | 3106 | dasm_put(Dst, 16507, HOTCOUNT_PCMASK, GG_DISP2HOT, HOTCOUNT_LOOP); |
3072 | #endif | 3107 | #endif |
3073 | break; | 3108 | break; |
3074 | 3109 | ||
3075 | case BC_ILOOP: | 3110 | case BC_ILOOP: |
3076 | dasm_put(Dst, 11337); | 3111 | dasm_put(Dst, 11546); |
3077 | break; | 3112 | break; |
3078 | 3113 | ||
3079 | case BC_JLOOP: | 3114 | case BC_JLOOP: |
3080 | #if LJ_HASJIT | 3115 | #if LJ_HASJIT |
3081 | dasm_put(Dst, 16762, DISPATCH_J(trace), DtD(->mcode), DISPATCH_GL(jit_base), DISPATCH_GL(jit_L)); | 3116 | dasm_put(Dst, 16971, DISPATCH_J(trace), DtD(->mcode), DISPATCH_GL(jit_base), DISPATCH_GL(jit_L)); |
3082 | #endif | 3117 | #endif |
3083 | break; | 3118 | break; |
3084 | 3119 | ||
3085 | case BC_JMP: | 3120 | case BC_JMP: |
3086 | dasm_put(Dst, 16785, -BCBIAS_J*4); | 3121 | dasm_put(Dst, 16994, -BCBIAS_J*4); |
3087 | break; | 3122 | break; |
3088 | 3123 | ||
3089 | /* -- Function headers -------------------------------------------------- */ | 3124 | /* -- Function headers -------------------------------------------------- */ |
@@ -3097,7 +3132,7 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
3097 | 3132 | ||
3098 | case BC_FUNCF: | 3133 | case BC_FUNCF: |
3099 | #if LJ_HASJIT | 3134 | #if LJ_HASJIT |
3100 | dasm_put(Dst, 16809, HOTCOUNT_PCMASK, GG_DISP2HOT, HOTCOUNT_CALL); | 3135 | dasm_put(Dst, 17018, HOTCOUNT_PCMASK, GG_DISP2HOT, HOTCOUNT_CALL); |
3101 | #endif | 3136 | #endif |
3102 | case BC_FUNCV: /* NYI: compiled vararg functions. */ | 3137 | case BC_FUNCV: /* NYI: compiled vararg functions. */ |
3103 | break; | 3138 | break; |
@@ -3107,47 +3142,47 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
3107 | break; | 3142 | break; |
3108 | #endif | 3143 | #endif |
3109 | case BC_IFUNCF: | 3144 | case BC_IFUNCF: |
3110 | dasm_put(Dst, 16830, -4+PC2PROTO(k), Dt1(->maxstack), -4+PC2PROTO(numparams)); | 3145 | dasm_put(Dst, 17039, -4+PC2PROTO(k), Dt1(->maxstack), -4+PC2PROTO(numparams)); |
3111 | if (op == BC_JFUNCF) { | 3146 | if (op == BC_JFUNCF) { |
3112 | dasm_put(Dst, 16860, BC_JLOOP); | 3147 | dasm_put(Dst, 17069, BC_JLOOP); |
3113 | } else { | 3148 | } else { |
3114 | dasm_put(Dst, 11337); | 3149 | dasm_put(Dst, 11546); |
3115 | } | 3150 | } |
3116 | dasm_put(Dst, 16869, LJ_TNIL); | 3151 | dasm_put(Dst, 17078, LJ_TNIL); |
3117 | break; | 3152 | break; |
3118 | 3153 | ||
3119 | case BC_JFUNCV: | 3154 | case BC_JFUNCV: |
3120 | #if !LJ_HASJIT | 3155 | #if !LJ_HASJIT |
3121 | break; | 3156 | break; |
3122 | #endif | 3157 | #endif |
3123 | dasm_put(Dst, 10436); | 3158 | dasm_put(Dst, 10445); |
3124 | break; /* NYI: compiled vararg functions. */ | 3159 | break; /* NYI: compiled vararg functions. */ |
3125 | 3160 | ||
3126 | case BC_IFUNCV: | 3161 | case BC_IFUNCV: |
3127 | dasm_put(Dst, 16891, FRAME_VARG, Dt1(->maxstack), -4+PC2PROTO(numparams), LJ_TNIL); | 3162 | dasm_put(Dst, 17100, FRAME_VARG, Dt1(->maxstack), -4+PC2PROTO(numparams), LJ_TNIL); |
3128 | if (op == BC_JFUNCV) { | 3163 | if (op == BC_JFUNCV) { |
3129 | dasm_put(Dst, 16860, BC_JLOOP); | 3164 | dasm_put(Dst, 17069, BC_JLOOP); |
3130 | } else { | 3165 | } else { |
3131 | dasm_put(Dst, 16982, -4+PC2PROTO(k)); | 3166 | dasm_put(Dst, 17191, -4+PC2PROTO(k)); |
3132 | } | 3167 | } |
3133 | dasm_put(Dst, 17004, LJ_TNIL); | 3168 | dasm_put(Dst, 17213, LJ_TNIL); |
3134 | break; | 3169 | break; |
3135 | 3170 | ||
3136 | case BC_FUNCC: | 3171 | case BC_FUNCC: |
3137 | case BC_FUNCCW: | 3172 | case BC_FUNCCW: |
3138 | dasm_put(Dst, 17026, Dt8(->f), Dt1(->base), 8*LUA_MINSTACK, Dt1(->maxstack), Dt1(->top)); | 3173 | dasm_put(Dst, 17235, Dt8(->f), Dt1(->base), 8*LUA_MINSTACK, Dt1(->maxstack), Dt1(->top)); |
3139 | if (op == BC_FUNCC) { | 3174 | if (op == BC_FUNCC) { |
3140 | dasm_put(Dst, 17055); | 3175 | dasm_put(Dst, 17264); |
3141 | } else { | 3176 | } else { |
3142 | dasm_put(Dst, 17059); | 3177 | dasm_put(Dst, 17268); |
3143 | } | 3178 | } |
3144 | dasm_put(Dst, 17067, DISPATCH_GL(vmstate), ~LJ_VMST_C); | 3179 | dasm_put(Dst, 17276, DISPATCH_GL(vmstate), ~LJ_VMST_C); |
3145 | if (op == BC_FUNCC) { | 3180 | if (op == BC_FUNCC) { |
3146 | dasm_put(Dst, 17076); | 3181 | dasm_put(Dst, 17285); |
3147 | } else { | 3182 | } else { |
3148 | dasm_put(Dst, 17080, DISPATCH_GL(wrapf)); | 3183 | dasm_put(Dst, 17289, DISPATCH_GL(wrapf)); |
3149 | } | 3184 | } |
3150 | dasm_put(Dst, 17085, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top)); | 3185 | dasm_put(Dst, 17294, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top)); |
3151 | break; | 3186 | break; |
3152 | 3187 | ||
3153 | /* ---------------------------------------------------------------------- */ | 3188 | /* ---------------------------------------------------------------------- */ |
@@ -3175,7 +3210,7 @@ static int build_backend(BuildCtx *ctx) | |||
3175 | 3210 | ||
3176 | build_subroutines(ctx, cmov, sse); | 3211 | build_subroutines(ctx, cmov, sse); |
3177 | 3212 | ||
3178 | dasm_put(Dst, 17110); | 3213 | dasm_put(Dst, 17319); |
3179 | for (op = 0; op < BC__MAX; op++) | 3214 | for (op = 0; op < BC__MAX; op++) |
3180 | build_ins(ctx, (BCOp)op, op, cmov, sse); | 3215 | build_ins(ctx, (BCOp)op, op, cmov, sse); |
3181 | 3216 | ||
diff --git a/src/lib_ffi.c b/src/lib_ffi.c index af500118..850805e6 100644 --- a/src/lib_ffi.c +++ b/src/lib_ffi.c | |||
@@ -27,6 +27,7 @@ | |||
27 | #include "lj_cconv.h" | 27 | #include "lj_cconv.h" |
28 | #include "lj_carith.h" | 28 | #include "lj_carith.h" |
29 | #include "lj_ccall.h" | 29 | #include "lj_ccall.h" |
30 | #include "lj_ccallback.h" | ||
30 | #include "lj_clib.h" | 31 | #include "lj_clib.h" |
31 | #include "lj_ff.h" | 32 | #include "lj_ff.h" |
32 | #include "lj_lib.h" | 33 | #include "lj_lib.h" |
@@ -384,6 +385,50 @@ LJLIB_CF(ffi_clib___gc) | |||
384 | 385 | ||
385 | #include "lj_libdef.h" | 386 | #include "lj_libdef.h" |
386 | 387 | ||
388 | /* -- Callback function metamethods --------------------------------------- */ | ||
389 | |||
390 | #define LJLIB_MODULE_ffi_callback | ||
391 | |||
392 | static int ffi_callback_set(lua_State *L, GCfunc *fn) | ||
393 | { | ||
394 | GCcdata *cd = ffi_checkcdata(L, 1); | ||
395 | CTState *cts = ctype_cts(L); | ||
396 | CType *ct = ctype_raw(cts, cd->typeid); | ||
397 | if (ctype_isptr(ct->info) && (LJ_32 || ct->size == 8)) { | ||
398 | MSize slot = lj_ccallback_ptr2slot(cts, *(void **)cdataptr(cd)); | ||
399 | if (slot < cts->cb.sizeid && cts->cb.cbid[slot] != 0) { | ||
400 | GCtab *t = cts->miscmap; | ||
401 | TValue *tv = lj_tab_setint(L, t, (int32_t)slot); | ||
402 | if (fn) { | ||
403 | setfuncV(L, tv, fn); | ||
404 | lj_gc_anybarriert(L, t); | ||
405 | } else { | ||
406 | setnilV(tv); | ||
407 | cts->cb.cbid[slot] = 0; | ||
408 | cts->cb.topid = slot < cts->cb.topid ? slot : cts->cb.topid; | ||
409 | } | ||
410 | return 0; | ||
411 | } | ||
412 | } | ||
413 | lj_err_caller(L, LJ_ERR_FFI_BADCBACK); | ||
414 | return 0; | ||
415 | } | ||
416 | |||
417 | LJLIB_CF(ffi_callback_free) | ||
418 | { | ||
419 | return ffi_callback_set(L, NULL); | ||
420 | } | ||
421 | |||
422 | LJLIB_CF(ffi_callback_set) | ||
423 | { | ||
424 | GCfunc *fn = lj_lib_checkfunc(L, 2); | ||
425 | return ffi_callback_set(L, fn); | ||
426 | } | ||
427 | |||
428 | LJLIB_PUSH(top-1) LJLIB_SET(__index) | ||
429 | |||
430 | #include "lj_libdef.h" | ||
431 | |||
387 | /* -- FFI library functions ----------------------------------------------- */ | 432 | /* -- FFI library functions ----------------------------------------------- */ |
388 | 433 | ||
389 | #define LJLIB_MODULE_ffi | 434 | #define LJLIB_MODULE_ffi |
@@ -428,7 +473,7 @@ LJLIB_CF(ffi_new) LJLIB_REC(.) | |||
428 | o, (MSize)(L->top - o)); /* Initialize cdata. */ | 473 | o, (MSize)(L->top - o)); /* Initialize cdata. */ |
429 | if (ctype_isstruct(ct->info)) { | 474 | if (ctype_isstruct(ct->info)) { |
430 | /* Handle ctype __gc metamethod. Use the fast lookup here. */ | 475 | /* Handle ctype __gc metamethod. Use the fast lookup here. */ |
431 | cTValue *tv = lj_tab_getint(cts->metatype, (int32_t)id); | 476 | cTValue *tv = lj_tab_getinth(cts->miscmap, -(int32_t)id); |
432 | if (tv && tvistab(tv) && (tv = lj_meta_fast(L, tabV(tv), MM_gc))) { | 477 | if (tv && tvistab(tv) && (tv = lj_meta_fast(L, tabV(tv), MM_gc))) { |
433 | GCtab *t = cts->finalizer; | 478 | GCtab *t = cts->finalizer; |
434 | if (gcref(t->metatable)) { | 479 | if (gcref(t->metatable)) { |
@@ -650,21 +695,21 @@ LJLIB_CF(ffi_abi) LJLIB_REC(.) | |||
650 | 695 | ||
651 | #undef H_ | 696 | #undef H_ |
652 | 697 | ||
653 | LJLIB_PUSH(top-8) LJLIB_SET(!) /* Store reference to metatype table. */ | 698 | LJLIB_PUSH(top-8) LJLIB_SET(!) /* Store reference to miscmap table. */ |
654 | 699 | ||
655 | LJLIB_CF(ffi_metatype) | 700 | LJLIB_CF(ffi_metatype) |
656 | { | 701 | { |
657 | CTState *cts = ctype_cts(L); | 702 | CTState *cts = ctype_cts(L); |
658 | CTypeID id = ffi_checkctype(L, cts); | 703 | CTypeID id = ffi_checkctype(L, cts); |
659 | GCtab *mt = lj_lib_checktab(L, 2); | 704 | GCtab *mt = lj_lib_checktab(L, 2); |
660 | GCtab *t = cts->metatype; | 705 | GCtab *t = cts->miscmap; |
661 | CType *ct = ctype_get(cts, id); /* Only allow raw types. */ | 706 | CType *ct = ctype_get(cts, id); /* Only allow raw types. */ |
662 | TValue *tv; | 707 | TValue *tv; |
663 | GCcdata *cd; | 708 | GCcdata *cd; |
664 | if (!(ctype_isstruct(ct->info) || ctype_iscomplex(ct->info) || | 709 | if (!(ctype_isstruct(ct->info) || ctype_iscomplex(ct->info) || |
665 | ctype_isvector(ct->info))) | 710 | ctype_isvector(ct->info))) |
666 | lj_err_arg(L, 1, LJ_ERR_FFI_INVTYPE); | 711 | lj_err_arg(L, 1, LJ_ERR_FFI_INVTYPE); |
667 | tv = lj_tab_setint(L, t, (int32_t)id); | 712 | tv = lj_tab_setinth(L, t, -(int32_t)id); |
668 | if (!tvisnil(tv)) | 713 | if (!tvisnil(tv)) |
669 | lj_err_caller(L, LJ_ERR_PROTMT); | 714 | lj_err_caller(L, LJ_ERR_PROTMT); |
670 | settabV(L, tv, mt); | 715 | settabV(L, tv, mt); |
@@ -745,12 +790,16 @@ static void ffi_register_module(lua_State *L) | |||
745 | LUALIB_API int luaopen_ffi(lua_State *L) | 790 | LUALIB_API int luaopen_ffi(lua_State *L) |
746 | { | 791 | { |
747 | CTState *cts = lj_ctype_init(L); | 792 | CTState *cts = lj_ctype_init(L); |
748 | settabV(L, L->top++, (cts->metatype = lj_tab_new(L, 0, 0))); | 793 | settabV(L, L->top++, (cts->miscmap = lj_tab_new(L, 0, 1))); |
749 | cts->finalizer = ffi_finalizer(L); | 794 | cts->finalizer = ffi_finalizer(L); |
750 | LJ_LIB_REG(L, NULL, ffi_meta); | 795 | LJ_LIB_REG(L, NULL, ffi_meta); |
751 | /* NOBARRIER: basemt is a GC root. */ | 796 | /* NOBARRIER: basemt is a GC root. */ |
752 | setgcref(basemt_it(G(L), LJ_TCDATA), obj2gco(tabV(L->top-1))); | 797 | setgcref(basemt_it(G(L), LJ_TCDATA), obj2gco(tabV(L->top-1))); |
753 | LJ_LIB_REG(L, NULL, ffi_clib); | 798 | LJ_LIB_REG(L, NULL, ffi_clib); |
799 | LJ_LIB_REG(L, NULL, ffi_callback); | ||
800 | /* NOBARRIER: the key is new and lj_tab_newkey() handles the barrier. */ | ||
801 | settabV(L, lj_tab_setstr(L, cts->miscmap, &cts->g->strempty), tabV(L->top-1)); | ||
802 | L->top--; | ||
754 | lj_clib_default(L, tabV(L->top-1)); /* Create ffi.C default namespace. */ | 803 | lj_clib_default(L, tabV(L->top-1)); /* Create ffi.C default namespace. */ |
755 | lua_pushliteral(L, LJ_OS_NAME); | 804 | lua_pushliteral(L, LJ_OS_NAME); |
756 | lua_pushliteral(L, LJ_ARCH_NAME); | 805 | lua_pushliteral(L, LJ_ARCH_NAME); |
diff --git a/src/lj_ccall.c b/src/lj_ccall.c index c1c04b6f..5ed1bf5b 100644 --- a/src/lj_ccall.c +++ b/src/lj_ccall.c | |||
@@ -10,6 +10,7 @@ | |||
10 | #include "lj_gc.h" | 10 | #include "lj_gc.h" |
11 | #include "lj_err.h" | 11 | #include "lj_err.h" |
12 | #include "lj_str.h" | 12 | #include "lj_str.h" |
13 | #include "lj_tab.h" | ||
13 | #include "lj_ctype.h" | 14 | #include "lj_ctype.h" |
14 | #include "lj_cconv.h" | 15 | #include "lj_cconv.h" |
15 | #include "lj_cdata.h" | 16 | #include "lj_cdata.h" |
@@ -290,7 +291,7 @@ | |||
290 | } | 291 | } |
291 | 292 | ||
292 | #else | 293 | #else |
293 | #error "missing calling convention definitions for this architecture" | 294 | #error "Missing calling convention definitions for this architecture" |
294 | #endif | 295 | #endif |
295 | 296 | ||
296 | #ifndef CCALL_HANDLE_STRUCTRET2 | 297 | #ifndef CCALL_HANDLE_STRUCTRET2 |
@@ -649,7 +650,13 @@ int lj_ccall_func(lua_State *L, GCcdata *cd) | |||
649 | int gcsteps, ret; | 650 | int gcsteps, ret; |
650 | cc.func = (void (*)(void))cdata_getptr(cdataptr(cd), sz); | 651 | cc.func = (void (*)(void))cdata_getptr(cdataptr(cd), sz); |
651 | gcsteps = ccall_set_args(L, cts, ct, &cc); | 652 | gcsteps = ccall_set_args(L, cts, ct, &cc); |
653 | cts->cb.slot = ~0u; | ||
652 | lj_vm_ffi_call(&cc); | 654 | lj_vm_ffi_call(&cc); |
655 | if (cts->cb.slot != ~0u) { /* Blacklist function that called a callback. */ | ||
656 | TValue tv; | ||
657 | setlightudV(&tv, (void *)cc.func); | ||
658 | setboolV(lj_tab_set(L, cts->miscmap, &tv), 1); | ||
659 | } | ||
653 | gcsteps += ccall_get_results(L, cts, ct, &cc, &ret); | 660 | gcsteps += ccall_get_results(L, cts, ct, &cc, &ret); |
654 | #if LJ_TARGET_X86 && LJ_ABI_WIN | 661 | #if LJ_TARGET_X86 && LJ_ABI_WIN |
655 | /* Automatically detect __stdcall and fix up C function declaration. */ | 662 | /* Automatically detect __stdcall and fix up C function declaration. */ |
diff --git a/src/lj_ccall.h b/src/lj_ccall.h index 14f61924..0641625f 100644 --- a/src/lj_ccall.h +++ b/src/lj_ccall.h | |||
@@ -81,7 +81,7 @@ typedef double FPRArg; | |||
81 | typedef intptr_t GPRArg; | 81 | typedef intptr_t GPRArg; |
82 | 82 | ||
83 | #else | 83 | #else |
84 | #error "missing calling convention definitions for this architecture" | 84 | #error "Missing calling convention definitions for this architecture" |
85 | #endif | 85 | #endif |
86 | 86 | ||
87 | #ifndef CCALL_SPS_EXTRA | 87 | #ifndef CCALL_SPS_EXTRA |
@@ -99,6 +99,10 @@ typedef intptr_t GPRArg; | |||
99 | #define CCALL_NUM_FPR \ | 99 | #define CCALL_NUM_FPR \ |
100 | (CCALL_NARG_FPR > CCALL_NRET_FPR ? CCALL_NARG_FPR : CCALL_NRET_FPR) | 100 | (CCALL_NARG_FPR > CCALL_NRET_FPR ? CCALL_NARG_FPR : CCALL_NRET_FPR) |
101 | 101 | ||
102 | /* Check against constants in lj_ctype.h. */ | ||
103 | LJ_STATIC_ASSERT(CCALL_NUM_GPR <= CCALL_MAX_GPR); | ||
104 | LJ_STATIC_ASSERT(CCALL_NUM_FPR <= CCALL_MAX_FPR); | ||
105 | |||
102 | #define CCALL_MAXSTACK 32 | 106 | #define CCALL_MAXSTACK 32 |
103 | 107 | ||
104 | /* -- C call state -------------------------------------------------------- */ | 108 | /* -- C call state -------------------------------------------------------- */ |
diff --git a/src/lj_ccallback.c b/src/lj_ccallback.c new file mode 100644 index 00000000..8aab7f36 --- /dev/null +++ b/src/lj_ccallback.c | |||
@@ -0,0 +1,461 @@ | |||
1 | /* | ||
2 | ** FFI C callback handling. | ||
3 | ** Copyright (C) 2005-2011 Mike Pall. See Copyright Notice in luajit.h | ||
4 | */ | ||
5 | |||
6 | #include "lj_obj.h" | ||
7 | |||
8 | #if LJ_HASFFI | ||
9 | |||
10 | #include "lj_gc.h" | ||
11 | #include "lj_err.h" | ||
12 | #include "lj_tab.h" | ||
13 | #include "lj_state.h" | ||
14 | #include "lj_frame.h" | ||
15 | #include "lj_ctype.h" | ||
16 | #include "lj_cconv.h" | ||
17 | #include "lj_ccall.h" | ||
18 | #include "lj_ccallback.h" | ||
19 | #include "lj_target.h" | ||
20 | #include "lj_vm.h" | ||
21 | |||
22 | /* -- Target-specific handling of callback slots -------------------------- */ | ||
23 | |||
24 | #define CALLBACK_MCODE_SIZE (LJ_PAGESIZE * LJ_NUM_CBPAGE) | ||
25 | |||
26 | #if LJ_TARGET_X86ORX64 | ||
27 | |||
28 | #define CALLBACK_MCODE_HEAD (LJ_64 ? 8 : 0) | ||
29 | #define CALLBACK_MCODE_GROUP (-2+1+2+5+(LJ_64 ? 6 : 5)) | ||
30 | |||
31 | #define CALLBACK_SLOT2OFS(slot) \ | ||
32 | (CALLBACK_MCODE_HEAD + CALLBACK_MCODE_GROUP*((slot)/32) + 4*(slot)) | ||
33 | |||
34 | static MSize CALLBACK_OFS2SLOT(MSize ofs) | ||
35 | { | ||
36 | MSize group; | ||
37 | ofs -= CALLBACK_MCODE_HEAD; | ||
38 | group = ofs / (32*4 + CALLBACK_MCODE_GROUP); | ||
39 | return (ofs % (32*4 + CALLBACK_MCODE_GROUP))/4 + group*32; | ||
40 | } | ||
41 | |||
42 | #define CALLBACK_MAX_SLOT \ | ||
43 | (((CALLBACK_MCODE_SIZE-CALLBACK_MCODE_HEAD)/(CALLBACK_MCODE_GROUP+4*32))*32) | ||
44 | |||
45 | #else | ||
46 | |||
47 | /* Missing support for this architecture. */ | ||
48 | #define CALLBACK_SLOT2OFS(slot) (0*(slot)) | ||
49 | #define CALLBACK_OFS2SLOT(ofs) (0*(ofs)) | ||
50 | #define CALLBACK_MAX_SLOT 0 | ||
51 | |||
52 | #endif | ||
53 | |||
54 | /* Convert callback slot number to callback function pointer. */ | ||
55 | static void *callback_slot2ptr(CTState *cts, MSize slot) | ||
56 | { | ||
57 | return (uint8_t *)cts->cb.mcode + CALLBACK_SLOT2OFS(slot); | ||
58 | } | ||
59 | |||
60 | /* Convert callback function pointer to slot number. */ | ||
61 | MSize lj_ccallback_ptr2slot(CTState *cts, void *p) | ||
62 | { | ||
63 | uintptr_t ofs = (uintptr_t)((uint8_t *)p -(uint8_t *)cts->cb.mcode); | ||
64 | if (ofs < CALLBACK_MCODE_SIZE) { | ||
65 | MSize slot = CALLBACK_OFS2SLOT((MSize)ofs); | ||
66 | if (CALLBACK_SLOT2OFS(slot) == (MSize)ofs) | ||
67 | return slot; | ||
68 | } | ||
69 | return ~0u; /* Not a known callback function pointer. */ | ||
70 | } | ||
71 | |||
72 | #if LJ_TARGET_X86ORX64 | ||
73 | /* Initialize machine code for callback function pointers. */ | ||
74 | static void callback_mcode_init(global_State *g, uint8_t *page) | ||
75 | { | ||
76 | uint8_t *p = page; | ||
77 | uint8_t *target = (uint8_t *)(void *)lj_vm_ffi_callback; | ||
78 | MSize slot; | ||
79 | #if LJ_64 | ||
80 | *(void **)p = target; p += 8; | ||
81 | #endif | ||
82 | for (slot = 0; slot < CALLBACK_MAX_SLOT; slot++) { | ||
83 | /* mov al, slot; jmp group */ | ||
84 | *p++ = XI_MOVrib | RID_EAX; *p++ = (uint8_t)slot; | ||
85 | if ((slot & 31) == 31 || slot == CALLBACK_MAX_SLOT-1) { | ||
86 | /* push ebp/rbp; mov ah, slot>>8; mov ebp, &g. */ | ||
87 | *p++ = XI_PUSH + RID_EBP; | ||
88 | *p++ = XI_MOVrib | (RID_EAX+4); *p++ = (uint8_t)(slot >> 8); | ||
89 | *p++ = XI_MOVri | RID_EBP; | ||
90 | *(int32_t *)p = i32ptr(g); p += 4; | ||
91 | #if LJ_64 | ||
92 | /* jmp [rip-pageofs] where lj_vm_ffi_callback is stored. */ | ||
93 | *p++ = XI_GROUP5; *p++ = XM_OFS0 + (XOg_JMP<<3) + RID_EBP; | ||
94 | *(int32_t *)p = (int32_t)(page-(p+4)); p += 4; | ||
95 | #else | ||
96 | /* jmp lj_vm_ffi_callback. */ | ||
97 | *p++ = XI_JMP; *(int32_t *)p = target-(p+4); p += 4; | ||
98 | #endif | ||
99 | } else { | ||
100 | *p++ = XI_JMPs; *p++ = (uint8_t)((2+2)*(31-(slot&31)) - 2); | ||
101 | } | ||
102 | } | ||
103 | lua_assert(p - page <= CALLBACK_MCODE_SIZE); | ||
104 | } | ||
105 | #else | ||
106 | /* Missing support for this architecture. */ | ||
107 | #define callback_mcode_init(g, p) UNUSED(p) | ||
108 | #endif | ||
109 | |||
110 | /* -- Machine code management --------------------------------------------- */ | ||
111 | |||
112 | #if LJ_TARGET_WINDOWS | ||
113 | |||
114 | #define WIN32_LEAN_AND_MEAN | ||
115 | #include <windows.h> | ||
116 | |||
117 | #elif LJ_TARGET_POSIX | ||
118 | |||
119 | #include <sys/mman.h> | ||
120 | #ifndef MAP_ANONYMOUS | ||
121 | #define MAP_ANONYMOUS MAP_ANON | ||
122 | #endif | ||
123 | |||
124 | #endif | ||
125 | |||
126 | /* Allocate and initialize area for callback function pointers. */ | ||
127 | static void callback_mcode_new(CTState *cts) | ||
128 | { | ||
129 | size_t sz = (size_t)CALLBACK_MCODE_SIZE; | ||
130 | void *p; | ||
131 | if (CALLBACK_MAX_SLOT == 0) | ||
132 | lj_err_caller(cts->L, LJ_ERR_FFI_CBACKOV); | ||
133 | #if LJ_TARGET_WINDOWS | ||
134 | p = VirtualAlloc(NULL, sz, MEM_RESERVE|MEM_COMMIT, PAGE_READWRITE); | ||
135 | if (!p) | ||
136 | lj_err_caller(cts->L, LJ_ERR_FFI_CBACKOV); | ||
137 | #elif LJ_TARGET_POSIX | ||
138 | p = mmap(NULL, sz, (PROT_READ|PROT_WRITE), MAP_PRIVATE|MAP_ANONYMOUS, | ||
139 | -1, 0); | ||
140 | if (p == MAP_FAILED) | ||
141 | lj_err_caller(cts->L, LJ_ERR_FFI_CBACKOV); | ||
142 | #else | ||
143 | /* Fallback allocator. Fails if memory is not executable by default. */ | ||
144 | p = lj_mem_new(cts->L, sz); | ||
145 | #endif | ||
146 | cts->cb.mcode = p; | ||
147 | callback_mcode_init(cts->g, p); | ||
148 | #if LJ_TARGET_WINDOWS | ||
149 | { | ||
150 | DWORD oprot; | ||
151 | VirtualProtect(p, sz, PAGE_EXECUTE_READ, &oprot); | ||
152 | } | ||
153 | #elif LJ_TARGET_POSIX | ||
154 | mprotect(p, sz, (PROT_READ|PROT_EXEC)); | ||
155 | #endif | ||
156 | } | ||
157 | |||
158 | /* Free area for callback function pointers. */ | ||
159 | void lj_ccallback_mcode_free(CTState *cts) | ||
160 | { | ||
161 | size_t sz = (size_t)CALLBACK_MCODE_SIZE; | ||
162 | void *p = cts->cb.mcode; | ||
163 | if (p == NULL) return; | ||
164 | #if LJ_TARGET_WINDOWS | ||
165 | VirtualFree(p, 0, MEM_RELEASE); | ||
166 | UNUSED(sz); | ||
167 | #elif LJ_TARGET_POSIX | ||
168 | munmap(p, sz); | ||
169 | #else | ||
170 | lj_mem_free(cts->g, p, sz); | ||
171 | #endif | ||
172 | } | ||
173 | |||
174 | /* -- C callback entry ---------------------------------------------------- */ | ||
175 | |||
176 | /* Target-specific handling of register arguments. Similar to lj_ccall.c. */ | ||
177 | #if LJ_TARGET_X86 | ||
178 | |||
179 | #define CALLBACK_HANDLE_REGARG \ | ||
180 | if (!isfp) { /* Only non-FP values may be passed in registers. */ \ | ||
181 | if (n > 1) { /* Anything > 32 bit is passed on the stack. */ \ | ||
182 | if (!LJ_ABI_WIN) ngpr = maxgpr; /* Prevent reordering. */ \ | ||
183 | } else if (ngpr + 1 <= maxgpr) { \ | ||
184 | sp = &cts->cb.gpr[ngpr]; \ | ||
185 | ngpr += n; \ | ||
186 | goto done; \ | ||
187 | } \ | ||
188 | } | ||
189 | |||
190 | #elif LJ_TARGET_X64 && LJ_ABI_WIN | ||
191 | |||
192 | /* Windows/x64 argument registers are strictly positional (use ngpr). */ | ||
193 | #define CALLBACK_HANDLE_REGARG \ | ||
194 | if (isfp) { \ | ||
195 | if (ngpr < 4) { sp = &cts->cb.fpr[ngpr++]; nfpr = ngpr; goto done; } \ | ||
196 | } else { \ | ||
197 | if (ngpr < 4) { sp = &cts->cb.gpr[ngpr++]; goto done; } \ | ||
198 | } | ||
199 | |||
200 | #elif LJ_TARGET_X64 | ||
201 | |||
202 | #define CALLBACK_HANDLE_REGARG \ | ||
203 | if (isfp) { \ | ||
204 | if (nfpr + n <= CCALL_NARG_FPR) { \ | ||
205 | sp = &cts->cb.fpr[nfpr]; \ | ||
206 | nfpr += n; \ | ||
207 | goto done; \ | ||
208 | } \ | ||
209 | } else { \ | ||
210 | if (ngpr + n <= maxgpr) { \ | ||
211 | sp = &cts->cb.gpr[ngpr]; \ | ||
212 | ngpr += n; \ | ||
213 | goto done; \ | ||
214 | } \ | ||
215 | } | ||
216 | |||
217 | #elif LJ_TARGET_ARM | ||
218 | |||
219 | #define CALLBACK_HANDLE_REGARG \ | ||
220 | UNUSED(ngpr); UNUSED(maxgpr); goto done; /* NYI */ | ||
221 | |||
222 | #elif LJ_TARGET_PPC | ||
223 | |||
224 | #define CALLBACK_HANDLE_REGARG \ | ||
225 | UNUSED(ngpr); UNUSED(nfpr); UNUSED(maxgpr); goto done; /* NYI */ | ||
226 | #define CALLBACK_HANDLE_RET /* NYI */ | ||
227 | |||
228 | #else | ||
229 | #error "Missing calling convention definitions for this architecture" | ||
230 | #endif | ||
231 | |||
232 | /* Convert and push callback arguments to Lua stack. */ | ||
233 | static void callback_conv_args(CTState *cts, lua_State *L) | ||
234 | { | ||
235 | TValue *o = L->top; | ||
236 | intptr_t *stack = cts->cb.stack; | ||
237 | MSize slot = cts->cb.slot; | ||
238 | CTypeID id = 0, rid, fid; | ||
239 | CType *ct; | ||
240 | GCfunc *fn; | ||
241 | MSize ngpr = 0, nsp = 0, maxgpr = CCALL_NARG_GPR; | ||
242 | #if CCALL_NARG_FPR | ||
243 | MSize nfpr = 0; | ||
244 | #endif | ||
245 | |||
246 | if (slot < cts->cb.sizeid && (id = cts->cb.cbid[slot]) != 0) { | ||
247 | ct = ctype_get(cts, id); | ||
248 | rid = ctype_cid(ct->info); | ||
249 | fn = funcV(lj_tab_getint(cts->miscmap, (int32_t)slot)); | ||
250 | } else { /* Must set up frame first, before throwing the error. */ | ||
251 | ct = NULL; | ||
252 | rid = 0; | ||
253 | fn = (GCfunc *)L; | ||
254 | } | ||
255 | o->u32.lo = LJ_CONT_FFI_CALLBACK; /* Continuation returns from callback. */ | ||
256 | o->u32.hi = rid; /* Return type. x86: +(spadj<<16). */ | ||
257 | o++; | ||
258 | setframe_gc(o, obj2gco(fn)); | ||
259 | setframe_ftsz(o, (int)((char *)(o+1) - (char *)L->base) + FRAME_CONT); | ||
260 | L->top = L->base = ++o; | ||
261 | if (!ct) | ||
262 | lj_err_caller(cts->L, LJ_ERR_FFI_BADCBACK); | ||
263 | if (isluafunc(fn)) | ||
264 | setcframe_pc(L->cframe, proto_bc(funcproto(fn))+1); | ||
265 | lj_state_checkstack(L, LUA_MINSTACK); /* May throw. */ | ||
266 | o = L->base; /* Might have been reallocated. */ | ||
267 | |||
268 | #if LJ_TARGET_X86 | ||
269 | /* x86 has several different calling conventions. */ | ||
270 | switch (ctype_cconv(ct->info)) { | ||
271 | case CTCC_FASTCALL: maxgpr = 2; break; | ||
272 | case CTCC_THISCALL: maxgpr = 1; break; | ||
273 | default: maxgpr = 0; break; | ||
274 | } | ||
275 | #endif | ||
276 | |||
277 | fid = ct->sib; | ||
278 | while (fid) { | ||
279 | CType *ctf = ctype_get(cts, fid); | ||
280 | if (!ctype_isattrib(ctf->info)) { | ||
281 | CType *cta; | ||
282 | void *sp; | ||
283 | CTSize sz; | ||
284 | int isfp; | ||
285 | MSize n; | ||
286 | lua_assert(ctype_isfield(ctf->info)); | ||
287 | cta = ctype_rawchild(cts, ctf); | ||
288 | if (ctype_isenum(cta->info)) cta = ctype_child(cts, cta); | ||
289 | isfp = ctype_isfp(cta->info); | ||
290 | sz = (cta->size + CTSIZE_PTR-1) & ~(CTSIZE_PTR-1); | ||
291 | n = sz / CTSIZE_PTR; /* Number of GPRs or stack slots needed. */ | ||
292 | |||
293 | CALLBACK_HANDLE_REGARG /* Handle register arguments. */ | ||
294 | |||
295 | /* Otherwise pass argument on stack. */ | ||
296 | if (CCALL_ALIGN_STACKARG && LJ_32 && sz == 8) | ||
297 | nsp = (nsp + 1) & ~1u; /* Align 64 bit argument on stack. */ | ||
298 | sp = &stack[nsp]; | ||
299 | nsp += n; | ||
300 | |||
301 | done: | ||
302 | if (LJ_BE && cta->size < CTSIZE_PTR) | ||
303 | sp = (void *)((uint8_t *)sp + CTSIZE_PTR-cta->size); | ||
304 | lj_cconv_tv_ct(cts, cta, 0, o++, sp); | ||
305 | } | ||
306 | fid = ctf->sib; | ||
307 | } | ||
308 | L->top = o; | ||
309 | #if LJ_TARGET_X86 | ||
310 | /* Store stack adjustment for returns from fastcall/stdcall callbacks. */ | ||
311 | switch (ctype_cconv(ct->info)) { | ||
312 | case CTCC_FASTCALL: case CTCC_STDCALL: | ||
313 | (L->base-2)->u32.hi |= (nsp << (16+2)); | ||
314 | break; | ||
315 | } | ||
316 | #endif | ||
317 | } | ||
318 | |||
319 | /* Convert Lua object to callback result. */ | ||
320 | static void callback_conv_result(CTState *cts, lua_State *L, TValue *o) | ||
321 | { | ||
322 | CType *ctr = ctype_raw(cts, (uint16_t)(L->base-2)->u32.hi); | ||
323 | #if LJ_TARGET_X86 | ||
324 | cts->cb.gpr[2] = 0; | ||
325 | #endif | ||
326 | if (!ctype_isvoid(ctr->info)) { | ||
327 | uint8_t *dp = (uint8_t *)&cts->cb.gpr[0]; | ||
328 | #ifdef CALLBACK_HANDLE_RET | ||
329 | CALLBACK_HANDLE_RET | ||
330 | #endif | ||
331 | #if CCALL_NUM_FPR | ||
332 | if (ctype_isfp(ctr->info)) | ||
333 | dp = (uint8_t *)&cts->cb.fpr[0]; | ||
334 | #endif | ||
335 | lj_cconv_ct_tv(cts, ctr, dp, o, 0); | ||
336 | /* Extend returned integers to (at least) 32 bits. */ | ||
337 | if (ctype_isinteger_or_bool(ctr->info) && ctr->size < 4) { | ||
338 | if (ctr->info & CTF_UNSIGNED) | ||
339 | *(uint32_t *)dp = ctr->size == 1 ? (uint32_t)*(uint8_t *)dp : | ||
340 | (uint32_t)*(uint16_t *)dp; | ||
341 | else | ||
342 | *(int32_t *)dp = ctr->size == 1 ? (int32_t)*(int8_t *)dp : | ||
343 | (int32_t)*(int16_t *)dp; | ||
344 | } | ||
345 | #if LJ_TARGET_X86 | ||
346 | if (ctype_isfp(ctr->info)) | ||
347 | cts->cb.gpr[2] = ctr->size == sizeof(float) ? 1 : 2; | ||
348 | #endif | ||
349 | } | ||
350 | } | ||
351 | |||
352 | /* Enter callback. */ | ||
353 | lua_State * LJ_FASTCALL lj_ccallback_enter(CTState *cts, void *cf) | ||
354 | { | ||
355 | lua_State *L = cts->L; | ||
356 | lua_assert(L != NULL); | ||
357 | if (gcref(cts->g->jit_L)) | ||
358 | lj_err_caller(gco2th(gcref(cts->g->jit_L)), LJ_ERR_FFI_BADCBACK); | ||
359 | /* Setup C frame. */ | ||
360 | cframe_prev(cf) = L->cframe; | ||
361 | setcframe_L(cf, L); | ||
362 | cframe_errfunc(cf) = -1; | ||
363 | cframe_nres(cf) = 0; | ||
364 | L->cframe = cf; | ||
365 | callback_conv_args(cts, L); | ||
366 | return L; /* Now call the function on this stack. */ | ||
367 | } | ||
368 | |||
369 | /* Leave callback. */ | ||
370 | void LJ_FASTCALL lj_ccallback_leave(CTState *cts, TValue *o) | ||
371 | { | ||
372 | lua_State *L = cts->L; | ||
373 | GCfunc *fn; | ||
374 | TValue *obase = L->base; | ||
375 | L->base = L->top; /* Keep continuation frame for throwing errors. */ | ||
376 | /* PC of RET* is lost. Point to last line for result conv. errors. */ | ||
377 | fn = curr_func(L); | ||
378 | if (isluafunc(fn)) { | ||
379 | GCproto *pt = funcproto(fn); | ||
380 | setcframe_pc(L->cframe, proto_bc(pt)+pt->sizebc); | ||
381 | } | ||
382 | callback_conv_result(cts, L, o); | ||
383 | /* Finally drop C frame and continuation frame. */ | ||
384 | L->cframe = cframe_prev(L->cframe); | ||
385 | L->top -= 2; | ||
386 | L->base = obase; | ||
387 | } | ||
388 | |||
389 | /* -- C callback management ----------------------------------------------- */ | ||
390 | |||
391 | /* Get an unused slot in the callback slot table. */ | ||
392 | static MSize callback_slot_new(CTState *cts, CType *ct) | ||
393 | { | ||
394 | CTypeID id = ctype_typeid(cts, ct); | ||
395 | CTypeID1 *cbid = cts->cb.cbid; | ||
396 | MSize top; | ||
397 | for (top = cts->cb.topid; top < cts->cb.sizeid; top++) | ||
398 | if (LJ_LIKELY(cbid[top] == 0)) | ||
399 | goto found; | ||
400 | #if CALLBACK_MAX_SLOT | ||
401 | if (top >= CALLBACK_MAX_SLOT) | ||
402 | #endif | ||
403 | lj_err_caller(cts->L, LJ_ERR_FFI_CBACKOV); | ||
404 | if (!cts->cb.mcode) | ||
405 | callback_mcode_new(cts); | ||
406 | lj_mem_growvec(cts->L, cbid, cts->cb.sizeid, CALLBACK_MAX_SLOT, CTypeID1); | ||
407 | cts->cb.cbid = cbid; | ||
408 | memset(cbid+top, 0, (cts->cb.sizeid-top)*sizeof(CTypeID1)); | ||
409 | found: | ||
410 | cbid[top] = id; | ||
411 | cts->cb.topid = top+1; | ||
412 | return top; | ||
413 | } | ||
414 | |||
415 | /* Check for function pointer and supported argument/result types. */ | ||
416 | static CType *callback_checkfunc(CTState *cts, CType *ct) | ||
417 | { | ||
418 | int narg = 0; | ||
419 | if (!ctype_isptr(ct->info) || (LJ_64 && ct->size != CTSIZE_PTR)) | ||
420 | return NULL; | ||
421 | ct = ctype_rawchild(cts, ct); | ||
422 | if (ctype_isfunc(ct->info)) { | ||
423 | CType *ctr = ctype_rawchild(cts, ct); | ||
424 | CTypeID fid = ct->sib; | ||
425 | if (!(ctype_isvoid(ctr->info) || ctype_isenum(ctr->info) || | ||
426 | ctype_isptr(ctr->info) || (ctype_isnum(ctr->info) && ctr->size <= 8))) | ||
427 | return NULL; | ||
428 | if ((ct->info & CTF_VARARG)) | ||
429 | return NULL; | ||
430 | while (fid) { | ||
431 | CType *ctf = ctype_get(cts, fid); | ||
432 | if (!ctype_isattrib(ctf->info)) { | ||
433 | CType *cta; | ||
434 | lua_assert(ctype_isfield(ctf->info)); | ||
435 | cta = ctype_rawchild(cts, ctf); | ||
436 | if (!(ctype_isenum(cta->info) || ctype_isptr(cta->info) || | ||
437 | (ctype_isnum(cta->info) && cta->size <= 8)) || | ||
438 | ++narg >= LUA_MINSTACK-3) | ||
439 | return NULL; | ||
440 | } | ||
441 | fid = ctf->sib; | ||
442 | } | ||
443 | return ct; | ||
444 | } | ||
445 | return NULL; | ||
446 | } | ||
447 | |||
448 | /* Create a new callback and return the callback function pointer. */ | ||
449 | void *lj_ccallback_new(CTState *cts, CType *ct, GCfunc *fn) | ||
450 | { | ||
451 | ct = callback_checkfunc(cts, ct); | ||
452 | if (ct) { | ||
453 | MSize slot = callback_slot_new(cts, ct); | ||
454 | GCtab *t = cts->miscmap; | ||
455 | setfuncV(cts->L, lj_tab_setint(cts->L, t, (int32_t)slot), fn); | ||
456 | return callback_slot2ptr(cts, slot); | ||
457 | } | ||
458 | return NULL; /* Bad conversion. */ | ||
459 | } | ||
460 | |||
461 | #endif | ||
diff --git a/src/lj_ccallback.h b/src/lj_ccallback.h new file mode 100644 index 00000000..cbdc1e89 --- /dev/null +++ b/src/lj_ccallback.h | |||
@@ -0,0 +1,25 @@ | |||
1 | /* | ||
2 | ** FFI C callback handling. | ||
3 | ** Copyright (C) 2005-2011 Mike Pall. See Copyright Notice in luajit.h | ||
4 | */ | ||
5 | |||
6 | #ifndef _LJ_CCALLBACK_H | ||
7 | #define _LJ_CCALLBACK_H | ||
8 | |||
9 | #include "lj_obj.h" | ||
10 | #include "lj_ctype.h" | ||
11 | |||
12 | #if LJ_HASFFI | ||
13 | |||
14 | /* Really belongs to lj_vm.h. */ | ||
15 | LJ_ASMF void lj_vm_ffi_callback(void); | ||
16 | |||
17 | LJ_FUNC MSize lj_ccallback_ptr2slot(CTState *cts, void *p); | ||
18 | LJ_FUNCA lua_State * LJ_FASTCALL lj_ccallback_enter(CTState *cts, void *cf); | ||
19 | LJ_FUNCA void LJ_FASTCALL lj_ccallback_leave(CTState *cts, TValue *o); | ||
20 | LJ_FUNC void *lj_ccallback_new(CTState *cts, CType *ct, GCfunc *fn); | ||
21 | LJ_FUNC void lj_ccallback_mcode_free(CTState *cts); | ||
22 | |||
23 | #endif | ||
24 | |||
25 | #endif | ||
diff --git a/src/lj_cconv.c b/src/lj_cconv.c index 884edef1..d73984f4 100644 --- a/src/lj_cconv.c +++ b/src/lj_cconv.c | |||
@@ -12,6 +12,7 @@ | |||
12 | #include "lj_ctype.h" | 12 | #include "lj_ctype.h" |
13 | #include "lj_cdata.h" | 13 | #include "lj_cdata.h" |
14 | #include "lj_cconv.h" | 14 | #include "lj_cconv.h" |
15 | #include "lj_ccallback.h" | ||
15 | 16 | ||
16 | /* -- Conversion errors --------------------------------------------------- */ | 17 | /* -- Conversion errors --------------------------------------------------- */ |
17 | 18 | ||
@@ -603,6 +604,13 @@ void lj_cconv_ct_tv(CTState *cts, CType *d, | |||
603 | tmpptr = uddata(udataV(o)); | 604 | tmpptr = uddata(udataV(o)); |
604 | } else if (tvislightud(o)) { | 605 | } else if (tvislightud(o)) { |
605 | tmpptr = lightudV(o); | 606 | tmpptr = lightudV(o); |
607 | } else if (tvisfunc(o)) { | ||
608 | void *p = lj_ccallback_new(cts, d, funcV(o)); | ||
609 | if (p) { | ||
610 | *(void **)dp = p; | ||
611 | return; | ||
612 | } | ||
613 | goto err_conv; | ||
606 | } else { | 614 | } else { |
607 | err_conv: | 615 | err_conv: |
608 | cconv_err_convtv(cts, d, o, flags); | 616 | cconv_err_convtv(cts, d, o, flags); |
diff --git a/src/lj_crecord.c b/src/lj_crecord.c index 2c63e8a6..9457b519 100644 --- a/src/lj_crecord.c +++ b/src/lj_crecord.c | |||
@@ -15,6 +15,7 @@ | |||
15 | #include "lj_tab.h" | 15 | #include "lj_tab.h" |
16 | #include "lj_frame.h" | 16 | #include "lj_frame.h" |
17 | #include "lj_ctype.h" | 17 | #include "lj_ctype.h" |
18 | #include "lj_cdata.h" | ||
18 | #include "lj_cparse.h" | 19 | #include "lj_cparse.h" |
19 | #include "lj_cconv.h" | 20 | #include "lj_cconv.h" |
20 | #include "lj_clib.h" | 21 | #include "lj_clib.h" |
@@ -785,7 +786,7 @@ static TRef crec_call_args(jit_State *J, RecordFFData *rd, | |||
785 | did = ctype_cid(ctf->info); | 786 | did = ctype_cid(ctf->info); |
786 | } else { | 787 | } else { |
787 | if (!(ct->info & CTF_VARARG)) | 788 | if (!(ct->info & CTF_VARARG)) |
788 | lj_trace_err(J, LJ_TRERR_NYICALL); /* Too many arguments. */ | 789 | lj_trace_err(J, LJ_TRERR_NYICALL); /* Too many arguments. */ |
789 | did = lj_ccall_ctid_vararg(cts, o); /* Infer vararg type. */ | 790 | did = lj_ccall_ctid_vararg(cts, o); /* Infer vararg type. */ |
790 | } | 791 | } |
791 | d = ctype_raw(cts, did); | 792 | d = ctype_raw(cts, did); |
@@ -853,6 +854,12 @@ static int crec_call(jit_State *J, RecordFFData *rd, GCcdata *cd) | |||
853 | CType *ctr = ctype_rawchild(cts, ct); | 854 | CType *ctr = ctype_rawchild(cts, ct); |
854 | IRType t = crec_ct2irt(ctr); | 855 | IRType t = crec_ct2irt(ctr); |
855 | TRef tr; | 856 | TRef tr; |
857 | TValue tv; | ||
858 | /* Check for blacklisted C functions that might call a callback. */ | ||
859 | setlightudV(&tv, | ||
860 | cdata_getptr(cdataptr(cd), (LJ_64 && tp == IRT_P64) ? 8 : 4)); | ||
861 | if (tvistrue(lj_tab_get(J->L, cts->miscmap, &tv))) | ||
862 | lj_trace_err(J, LJ_TRERR_BLACKL); | ||
856 | if (ctype_isvoid(ctr->info)) { | 863 | if (ctype_isvoid(ctr->info)) { |
857 | t = IRT_NIL; | 864 | t = IRT_NIL; |
858 | rd->nres = 0; | 865 | rd->nres = 0; |
diff --git a/src/lj_ctype.c b/src/lj_ctype.c index 85e9a0ba..7187d6ff 100644 --- a/src/lj_ctype.c +++ b/src/lj_ctype.c | |||
@@ -12,6 +12,7 @@ | |||
12 | #include "lj_str.h" | 12 | #include "lj_str.h" |
13 | #include "lj_tab.h" | 13 | #include "lj_tab.h" |
14 | #include "lj_ctype.h" | 14 | #include "lj_ctype.h" |
15 | #include "lj_ccallback.h" | ||
15 | 16 | ||
16 | /* -- C type definitions -------------------------------------------------- */ | 17 | /* -- C type definitions -------------------------------------------------- */ |
17 | 18 | ||
@@ -315,7 +316,11 @@ cTValue *lj_ctype_meta(CTState *cts, CTypeID id, MMS mm) | |||
315 | id = ctype_cid(ct->info); | 316 | id = ctype_cid(ct->info); |
316 | ct = ctype_get(cts, id); | 317 | ct = ctype_get(cts, id); |
317 | } | 318 | } |
318 | tv = lj_tab_getint(cts->metatype, (int32_t)id); | 319 | if (ctype_isptr(ct->info) && |
320 | ctype_isfunc(ctype_get(cts, ctype_cid(ct->info))->info)) | ||
321 | tv = lj_tab_getstr(cts->miscmap, &cts->g->strempty); | ||
322 | else | ||
323 | tv = lj_tab_getinth(cts->miscmap, -(int32_t)id); | ||
319 | if (tv && tvistab(tv) && | 324 | if (tv && tvistab(tv) && |
320 | (tv = lj_tab_getstr(tabV(tv), mmname_str(cts->g, mm))) && !tvisnil(tv)) | 325 | (tv = lj_tab_getstr(tabV(tv), mmname_str(cts->g, mm))) && !tvisnil(tv)) |
321 | return tv; | 326 | return tv; |
@@ -592,7 +597,9 @@ void lj_ctype_freestate(global_State *g) | |||
592 | { | 597 | { |
593 | CTState *cts = ctype_ctsG(g); | 598 | CTState *cts = ctype_ctsG(g); |
594 | if (cts) { | 599 | if (cts) { |
600 | lj_ccallback_mcode_free(cts); | ||
595 | lj_mem_freevec(g, cts->tab, cts->sizetab, CType); | 601 | lj_mem_freevec(g, cts->tab, cts->sizetab, CType); |
602 | lj_mem_freevec(g, cts->cb.cbid, cts->cb.sizeid, CTypeID1); | ||
596 | lj_mem_freet(g, cts); | 603 | lj_mem_freet(g, cts); |
597 | } | 604 | } |
598 | } | 605 | } |
diff --git a/src/lj_ctype.h b/src/lj_ctype.h index 49f28108..da313851 100644 --- a/src/lj_ctype.h +++ b/src/lj_ctype.h | |||
@@ -151,6 +151,25 @@ typedef struct CType { | |||
151 | #define CTHASH_SIZE 128 /* Number of hash anchors. */ | 151 | #define CTHASH_SIZE 128 /* Number of hash anchors. */ |
152 | #define CTHASH_MASK (CTHASH_SIZE-1) | 152 | #define CTHASH_MASK (CTHASH_SIZE-1) |
153 | 153 | ||
154 | /* Simplify target-specific configuration. Checked in lj_ccall.h. */ | ||
155 | #define CCALL_MAX_GPR 8 | ||
156 | #define CCALL_MAX_FPR 8 | ||
157 | |||
158 | typedef LJ_ALIGN(8) union FPRCBArg { double d; float f; } FPRCBArg; | ||
159 | |||
160 | /* C callback state. Defined here, to avoid dragging in lj_ccall.h. */ | ||
161 | |||
162 | typedef LJ_ALIGN(8) struct CCallback { | ||
163 | FPRCBArg fpr[CCALL_MAX_FPR]; /* Arguments/results in FPRs. */ | ||
164 | intptr_t gpr[CCALL_MAX_GPR]; /* Arguments/results in GPRs. */ | ||
165 | intptr_t *stack; /* Pointer to arguments on stack. */ | ||
166 | void *mcode; /* Machine code for callback func. pointers. */ | ||
167 | CTypeID1 *cbid; /* Callback type table. */ | ||
168 | MSize sizeid; /* Size of callback type table. */ | ||
169 | MSize topid; /* Highest unused callback type table slot. */ | ||
170 | MSize slot; /* Current callback slot. */ | ||
171 | } CCallback; | ||
172 | |||
154 | /* C type state. */ | 173 | /* C type state. */ |
155 | typedef struct CTState { | 174 | typedef struct CTState { |
156 | CType *tab; /* C type table. */ | 175 | CType *tab; /* C type table. */ |
@@ -159,7 +178,8 @@ typedef struct CTState { | |||
159 | lua_State *L; /* Lua state (needed for errors and allocations). */ | 178 | lua_State *L; /* Lua state (needed for errors and allocations). */ |
160 | global_State *g; /* Global state. */ | 179 | global_State *g; /* Global state. */ |
161 | GCtab *finalizer; /* Map of cdata to finalizer. */ | 180 | GCtab *finalizer; /* Map of cdata to finalizer. */ |
162 | GCtab *metatype; /* Map of CTypeID to metatable. */ | 181 | GCtab *miscmap; /* Map of -CTypeID to metatable and cb slot to func. */ |
182 | CCallback cb; /* Temporary callback state. */ | ||
163 | CTypeID1 hash[CTHASH_SIZE]; /* Hash anchors for C type table. */ | 183 | CTypeID1 hash[CTHASH_SIZE]; /* Hash anchors for C type table. */ |
164 | } CTState; | 184 | } CTState; |
165 | 185 | ||
diff --git a/src/lj_debug.c b/src/lj_debug.c index 699fca28..4038e209 100644 --- a/src/lj_debug.c +++ b/src/lj_debug.c | |||
@@ -107,6 +107,7 @@ BCLine LJ_FASTCALL lj_debug_line(GCproto *pt, BCPos pc) | |||
107 | const void *lineinfo = proto_lineinfo(pt); | 107 | const void *lineinfo = proto_lineinfo(pt); |
108 | if (pc < pt->sizebc && lineinfo) { | 108 | if (pc < pt->sizebc && lineinfo) { |
109 | BCLine first = pt->firstline; | 109 | BCLine first = pt->firstline; |
110 | if (pc == pt->sizebc-1) return first + pt->numline; | ||
110 | if (pc-- == 0) return first; | 111 | if (pc-- == 0) return first; |
111 | if (pt->numline < 256) | 112 | if (pt->numline < 256) |
112 | return first + (BCLine)((const uint8_t *)lineinfo)[pc]; | 113 | return first + (BCLine)((const uint8_t *)lineinfo)[pc]; |
@@ -124,7 +125,7 @@ static BCLine debug_frameline(lua_State *L, GCfunc *fn, cTValue *nextframe) | |||
124 | BCPos pc = debug_framepc(L, fn, nextframe); | 125 | BCPos pc = debug_framepc(L, fn, nextframe); |
125 | if (pc != NO_BCPOS) { | 126 | if (pc != NO_BCPOS) { |
126 | GCproto *pt = funcproto(fn); | 127 | GCproto *pt = funcproto(fn); |
127 | lua_assert(pc < pt->sizebc); | 128 | lua_assert(pc <= pt->sizebc); |
128 | return lj_debug_line(pt, pc); | 129 | return lj_debug_line(pt, pc); |
129 | } | 130 | } |
130 | return -1; | 131 | return -1; |
diff --git a/src/lj_def.h b/src/lj_def.h index dadb8c0a..5d21d584 100644 --- a/src/lj_def.h +++ b/src/lj_def.h | |||
@@ -67,6 +67,8 @@ typedef unsigned int uintptr_t; | |||
67 | #define LJ_MAX_IDXCHAIN 100 /* __index/__newindex chain limit. */ | 67 | #define LJ_MAX_IDXCHAIN 100 /* __index/__newindex chain limit. */ |
68 | #define LJ_STACK_EXTRA 5 /* Extra stack space (metamethods). */ | 68 | #define LJ_STACK_EXTRA 5 /* Extra stack space (metamethods). */ |
69 | 69 | ||
70 | #define LJ_NUM_CBPAGE 1 /* Number of FFI callback pages. */ | ||
71 | |||
70 | /* Minimum table/buffer sizes. */ | 72 | /* Minimum table/buffer sizes. */ |
71 | #define LJ_MIN_GLOBAL 6 /* Min. global table size (hbits). */ | 73 | #define LJ_MIN_GLOBAL 6 /* Min. global table size (hbits). */ |
72 | #define LJ_MIN_REGISTRY 2 /* Min. registry size (hbits). */ | 74 | #define LJ_MIN_REGISTRY 2 /* Min. registry size (hbits). */ |
diff --git a/src/lj_err.c b/src/lj_err.c index 406c833d..b0f3e5c7 100644 --- a/src/lj_err.c +++ b/src/lj_err.c | |||
@@ -113,6 +113,9 @@ static void *err_unwind(lua_State *L, void *stopcf, int errcode) | |||
113 | frame = frame_prevl(frame); | 113 | frame = frame_prevl(frame); |
114 | break; | 114 | break; |
115 | case FRAME_C: /* C frame. */ | 115 | case FRAME_C: /* C frame. */ |
116 | #if LJ_HASFFI | ||
117 | unwind_c: | ||
118 | #endif | ||
116 | #if LJ_UNWIND_EXT | 119 | #if LJ_UNWIND_EXT |
117 | if (errcode) { | 120 | if (errcode) { |
118 | L->cframe = cframe_prev(cf); | 121 | L->cframe = cframe_prev(cf); |
@@ -145,6 +148,10 @@ static void *err_unwind(lua_State *L, void *stopcf, int errcode) | |||
145 | } | 148 | } |
146 | return cf; | 149 | return cf; |
147 | case FRAME_CONT: /* Continuation frame. */ | 150 | case FRAME_CONT: /* Continuation frame. */ |
151 | #if LJ_HASFFI | ||
152 | if ((frame-1)->u32.lo == LJ_CONT_FFI_CALLBACK) | ||
153 | goto unwind_c; | ||
154 | #endif | ||
148 | case FRAME_VARG: /* Vararg frame. */ | 155 | case FRAME_VARG: /* Vararg frame. */ |
149 | frame = frame_prevd(frame); | 156 | frame = frame_prevd(frame); |
150 | break; | 157 | break; |
@@ -464,6 +471,10 @@ static ptrdiff_t finderrfunc(lua_State *L) | |||
464 | cf = cframe_prev(cf); | 471 | cf = cframe_prev(cf); |
465 | /* fallthrough */ | 472 | /* fallthrough */ |
466 | case FRAME_CONT: | 473 | case FRAME_CONT: |
474 | #if LJ_HASFFI | ||
475 | if ((frame-1)->u32.lo == LJ_CONT_FFI_CALLBACK) | ||
476 | cf = cframe_prev(cf); | ||
477 | #endif | ||
467 | case FRAME_VARG: | 478 | case FRAME_VARG: |
468 | frame = frame_prevd(frame); | 479 | frame = frame_prevd(frame); |
469 | break; | 480 | break; |
@@ -591,15 +602,23 @@ LJ_NOINLINE void lj_err_callermsg(lua_State *L, const char *msg) | |||
591 | if (frame_islua(frame)) { | 602 | if (frame_islua(frame)) { |
592 | pframe = frame_prevl(frame); | 603 | pframe = frame_prevl(frame); |
593 | } else if (frame_iscont(frame)) { | 604 | } else if (frame_iscont(frame)) { |
594 | pframe = frame_prevd(frame); | ||
595 | #if LJ_HASFFI | 605 | #if LJ_HASFFI |
596 | /* Remove frame for FFI metamethods. */ | 606 | if ((frame-1)->u32.lo == LJ_CONT_FFI_CALLBACK) { |
597 | if (frame_func(frame)->c.ffid >= FF_ffi_meta___index && | 607 | pframe = frame; |
598 | frame_func(frame)->c.ffid <= FF_ffi_meta___tostring) { | 608 | frame = NULL; |
599 | L->base = pframe+1; | 609 | } else |
600 | L->top = frame; | 610 | #endif |
601 | } | 611 | { |
612 | pframe = frame_prevd(frame); | ||
613 | #if LJ_HASFFI | ||
614 | /* Remove frame for FFI metamethods. */ | ||
615 | if (frame_func(frame)->c.ffid >= FF_ffi_meta___index && | ||
616 | frame_func(frame)->c.ffid <= FF_ffi_meta___tostring) { | ||
617 | L->base = pframe+1; | ||
618 | L->top = frame; | ||
619 | } | ||
602 | #endif | 620 | #endif |
621 | } | ||
603 | } | 622 | } |
604 | lj_debug_addloc(L, msg, pframe, frame); | 623 | lj_debug_addloc(L, msg, pframe, frame); |
605 | lj_err_run(L); | 624 | lj_err_run(L); |
diff --git a/src/lj_errmsg.h b/src/lj_errmsg.h index dc015ef2..e9ad0451 100644 --- a/src/lj_errmsg.h +++ b/src/lj_errmsg.h | |||
@@ -160,6 +160,12 @@ ERRDEF(FFI_BADMEMBER, LUA_QS " has no member named " LUA_QS) | |||
160 | ERRDEF(FFI_BADIDX, LUA_QS " cannot be indexed") | 160 | ERRDEF(FFI_BADIDX, LUA_QS " cannot be indexed") |
161 | ERRDEF(FFI_WRCONST, "attempt to write to constant location") | 161 | ERRDEF(FFI_WRCONST, "attempt to write to constant location") |
162 | ERRDEF(FFI_NODECL, "missing declaration for symbol " LUA_QS) | 162 | ERRDEF(FFI_NODECL, "missing declaration for symbol " LUA_QS) |
163 | ERRDEF(FFI_BADCBACK, "bad callback") | ||
164 | #if LJ_TARGET_X86ORX64 | ||
165 | ERRDEF(FFI_CBACKOV, "too many callbacks") | ||
166 | #else | ||
167 | ERRDEF(FFI_CBACKOV, "no support for callbacks (yet)") | ||
168 | #endif | ||
163 | ERRDEF(FFI_NYIPACKBIT, "NYI: packed bit fields") | 169 | ERRDEF(FFI_NYIPACKBIT, "NYI: packed bit fields") |
164 | ERRDEF(FFI_NYICALL, "NYI: cannot call this C function (yet)") | 170 | ERRDEF(FFI_NYICALL, "NYI: cannot call this C function (yet)") |
165 | #endif | 171 | #endif |
diff --git a/src/lj_frame.h b/src/lj_frame.h index 89484565..3497671b 100644 --- a/src/lj_frame.h +++ b/src/lj_frame.h | |||
@@ -138,6 +138,8 @@ enum { | |||
138 | (&gcref(*(GCRef *)(((char *)(cf))+CFRAME_OFS_L))->th) | 138 | (&gcref(*(GCRef *)(((char *)(cf))+CFRAME_OFS_L))->th) |
139 | #define cframe_pc(cf) \ | 139 | #define cframe_pc(cf) \ |
140 | (mref(*(MRef *)(((char *)(cf))+CFRAME_OFS_PC), const BCIns)) | 140 | (mref(*(MRef *)(((char *)(cf))+CFRAME_OFS_PC), const BCIns)) |
141 | #define setcframe_L(cf, L) \ | ||
142 | (setmref(*(MRef *)(((char *)(cf))+CFRAME_OFS_L), (L))) | ||
141 | #define setcframe_pc(cf, pc) \ | 143 | #define setcframe_pc(cf, pc) \ |
142 | (setmref(*(MRef *)(((char *)(cf))+CFRAME_OFS_PC), (pc))) | 144 | (setmref(*(MRef *)(((char *)(cf))+CFRAME_OFS_PC), (pc))) |
143 | #define cframe_canyield(cf) ((intptr_t)(cf) & CFRAME_RESUME) | 145 | #define cframe_canyield(cf) ((intptr_t)(cf) & CFRAME_RESUME) |
diff --git a/src/lj_meta.c b/src/lj_meta.c index 278d2d34..f258e3e1 100644 --- a/src/lj_meta.c +++ b/src/lj_meta.c | |||
@@ -77,7 +77,7 @@ int lj_meta_tailcall(lua_State *L, cTValue *tv) | |||
77 | TValue *top = L->top; | 77 | TValue *top = L->top; |
78 | const BCIns *pc = frame_pc(base-1); /* Preserve old PC from frame. */ | 78 | const BCIns *pc = frame_pc(base-1); /* Preserve old PC from frame. */ |
79 | copyTV(L, base-1, tv); /* Replace frame with new object. */ | 79 | copyTV(L, base-1, tv); /* Replace frame with new object. */ |
80 | top->u64 = 0; | 80 | top->u32.lo = LJ_CONT_TAILCALL; |
81 | setframe_pc(top, pc); | 81 | setframe_pc(top, pc); |
82 | setframe_gc(top+1, obj2gco(L)); /* Dummy frame object. */ | 82 | setframe_gc(top+1, obj2gco(L)); /* Dummy frame object. */ |
83 | setframe_ftsz(top+1, (int)((char *)(top+2) - (char *)base) + FRAME_CONT); | 83 | setframe_ftsz(top+1, (int)((char *)(top+2) - (char *)base) + FRAME_CONT); |
diff --git a/src/lj_target_x86.h b/src/lj_target_x86.h index 233b77e5..593e7b00 100644 --- a/src/lj_target_x86.h +++ b/src/lj_target_x86.h | |||
@@ -192,6 +192,7 @@ typedef enum { | |||
192 | XI_CALL = 0xe8, | 192 | XI_CALL = 0xe8, |
193 | XI_JMP = 0xe9, | 193 | XI_JMP = 0xe9, |
194 | XI_JMPs = 0xeb, | 194 | XI_JMPs = 0xeb, |
195 | XI_PUSH = 0x50, /* Really 50+r. */ | ||
195 | XI_JCCs = 0x70, /* Really 7x. */ | 196 | XI_JCCs = 0x70, /* Really 7x. */ |
196 | XI_JCCn = 0x80, /* Really 0f8x. */ | 197 | XI_JCCn = 0x80, /* Really 0f8x. */ |
197 | XI_LEA = 0x8d, | 198 | XI_LEA = 0x8d, |
@@ -203,6 +204,7 @@ typedef enum { | |||
203 | XI_PUSHi8 = 0x6a, | 204 | XI_PUSHi8 = 0x6a, |
204 | XI_TEST = 0x85, | 205 | XI_TEST = 0x85, |
205 | XI_MOVmi = 0xc7, | 206 | XI_MOVmi = 0xc7, |
207 | XI_GROUP5 = 0xff, | ||
206 | 208 | ||
207 | /* Note: little-endian byte-order! */ | 209 | /* Note: little-endian byte-order! */ |
208 | XI_FLDZ = 0xeed9, | 210 | XI_FLDZ = 0xeed9, |
diff --git a/src/lj_vm.h b/src/lj_vm.h index 5a82dab0..9ce14acc 100644 --- a/src/lj_vm.h +++ b/src/lj_vm.h | |||
@@ -88,6 +88,8 @@ LJ_ASMF void lj_cont_condt(void); /* Branch if result is true. */ | |||
88 | LJ_ASMF void lj_cont_condf(void); /* Branch if result is false. */ | 88 | LJ_ASMF void lj_cont_condf(void); /* Branch if result is false. */ |
89 | LJ_ASMF void lj_cont_hook(void); /* Continue from hook yield. */ | 89 | LJ_ASMF void lj_cont_hook(void); /* Continue from hook yield. */ |
90 | 90 | ||
91 | enum { LJ_CONT_TAILCALL, LJ_CONT_FFI_CALLBACK }; /* Special continuations. */ | ||
92 | |||
91 | /* Start of the ASM code. */ | 93 | /* Start of the ASM code. */ |
92 | LJ_ASMF char lj_vm_asm_begin[]; | 94 | LJ_ASMF char lj_vm_asm_begin[]; |
93 | 95 | ||
diff --git a/src/ljamalg.c b/src/ljamalg.c index cc32bf30..17c4b65e 100644 --- a/src/ljamalg.c +++ b/src/ljamalg.c | |||
@@ -52,6 +52,7 @@ | |||
52 | #include "lj_cdata.c" | 52 | #include "lj_cdata.c" |
53 | #include "lj_cconv.c" | 53 | #include "lj_cconv.c" |
54 | #include "lj_ccall.c" | 54 | #include "lj_ccall.c" |
55 | #include "lj_ccallback.c" | ||
55 | #include "lj_carith.c" | 56 | #include "lj_carith.c" |
56 | #include "lj_clib.c" | 57 | #include "lj_clib.c" |
57 | #include "lj_cparse.c" | 58 | #include "lj_cparse.c" |