1 // D import file generated from importC
2 module wasm3.binding.binding;
3 
4 
5 extern (C)
6 @nogc @system nothrow:
7 
8 alias M3Result = const(char)*;
9 alias IM3Environment = M3Environment*;
10 alias IM3Runtime = M3Runtime*;
11 alias IM3Module = M3Module*;
12 alias IM3Function = M3Function*;
13 alias IM3Global = M3Global*;
14 
15 struct M3ErrorInfo
16 {
17     const(char)* result = void;
18     M3Runtime* runtime = void;
19     M3Module* mod = void;
20     M3Function* func = void;
21     const(char)* file = void;
22     uint line = void;
23     const(char)* message = void;
24 }
25 
26 struct M3BacktraceFrame
27 {
28     uint moduleOffset = void;
29     M3Function* func = void;
30     M3BacktraceFrame* next = void;
31 }
32 
33 alias IM3BacktraceFrame = M3BacktraceFrame*;
34 struct M3BacktraceInfo
35 {
36     M3BacktraceFrame* frames = void;
37     M3BacktraceFrame* lastFrame = void;
38 }
39 
40 alias IM3BacktraceInfo = M3BacktraceInfo*;
41 enum M3ValueType
42 {
43     c_m3Type_none = 0,
44     c_m3Type_i32 = 1,
45     c_m3Type_i64 = 2,
46     c_m3Type_f32 = 3,
47     c_m3Type_f64 = 4,
48     c_m3Type_unknown,
49 }
50 
51 alias c_m3Type_none = M3ValueType.c_m3Type_none;
52 alias c_m3Type_i32 = M3ValueType.c_m3Type_i32;
53 alias c_m3Type_i64 = M3ValueType.c_m3Type_i64;
54 alias c_m3Type_f32 = M3ValueType.c_m3Type_f32;
55 alias c_m3Type_f64 = M3ValueType.c_m3Type_f64;
56 alias c_m3Type_unknown = M3ValueType.c_m3Type_unknown;
57 struct M3TaggedValue
58 {
59     M3ValueType type = void;
60     M3ValueUnion value = {0};
61 }
62 
63 union M3ValueUnion
64 {
65     uint i32;
66     ulong i64;
67     float f32;
68     double f64;
69 }
70 
71 alias IM3TaggedValue = M3TaggedValue*;
72 struct M3ImportInfo
73 {
74     const(char)* moduleUtf8 = void;
75     const(char)* fieldUtf8 = void;
76 }
77 
78 alias IM3ImportInfo = M3ImportInfo*;
79 struct M3ImportContext
80 {
81     void* userdata = void;
82     M3Function* func = void;
83 }
84 
85 alias IM3ImportContext = M3ImportContext*;
86 extern __gshared const(char*) m3Err_none;
87 extern __gshared const(char*) m3Err_mallocFailed;
88 extern __gshared const(char*) m3Err_incompatibleWasmVersion;
89 extern __gshared const(char*) m3Err_wasmMalformed;
90 extern __gshared const(char*) m3Err_misorderedWasmSection;
91 extern __gshared const(char*) m3Err_wasmUnderrun;
92 extern __gshared const(char*) m3Err_wasmOverrun;
93 extern __gshared const(char*) m3Err_wasmMissingInitExpr;
94 extern __gshared const(char*) m3Err_lebOverflow;
95 extern __gshared const(char*) m3Err_missingUTF8;
96 extern __gshared const(char*) m3Err_wasmSectionUnderrun;
97 extern __gshared const(char*) m3Err_wasmSectionOverrun;
98 extern __gshared const(char*) m3Err_invalidTypeId;
99 extern __gshared const(char*) m3Err_tooManyMemorySections;
100 extern __gshared const(char*) m3Err_tooManyArgsRets;
101 extern __gshared const(char*) m3Err_moduleNotLinked;
102 extern __gshared const(char*) m3Err_moduleAlreadyLinked;
103 extern __gshared const(char*) m3Err_functionLookupFailed;
104 extern __gshared const(char*) m3Err_functionImportMissing;
105 extern __gshared const(char*) m3Err_malformedFunctionSignature;
106 extern __gshared const(char*) m3Err_noCompiler;
107 extern __gshared const(char*) m3Err_unknownOpcode;
108 extern __gshared const(char*) m3Err_restrictedOpcode;
109 extern __gshared const(char*) m3Err_functionStackOverflow;
110 extern __gshared const(char*) m3Err_functionStackUnderrun;
111 extern __gshared const(char*) m3Err_mallocFailedCodePage;
112 extern __gshared const(char*) m3Err_settingImmutableGlobal;
113 extern __gshared const(char*) m3Err_typeMismatch;
114 extern __gshared const(char*) m3Err_typeCountMismatch;
115 extern __gshared const(char*) m3Err_missingCompiledCode;
116 extern __gshared const(char*) m3Err_wasmMemoryOverflow;
117 extern __gshared const(char*) m3Err_globalMemoryNotAllocated;
118 extern __gshared const(char*) m3Err_globaIndexOutOfBounds;
119 extern __gshared const(char*) m3Err_argumentCountMismatch;
120 extern __gshared const(char*) m3Err_argumentTypeMismatch;
121 extern __gshared const(char*) m3Err_globalLookupFailed;
122 extern __gshared const(char*) m3Err_globalTypeMismatch;
123 extern __gshared const(char*) m3Err_globalNotMutable;
124 extern __gshared const(char*) m3Err_trapOutOfBoundsMemoryAccess;
125 extern __gshared const(char*) m3Err_trapDivisionByZero;
126 extern __gshared const(char*) m3Err_trapIntegerOverflow;
127 extern __gshared const(char*) m3Err_trapIntegerConversion;
128 extern __gshared const(char*) m3Err_trapIndirectCallTypeMismatch;
129 extern __gshared const(char*) m3Err_trapTableIndexOutOfRange;
130 extern __gshared const(char*) m3Err_trapTableElementIsNull;
131 extern __gshared const(char*) m3Err_trapExit;
132 extern __gshared const(char*) m3Err_trapAbort;
133 extern __gshared const(char*) m3Err_trapUnreachable;
134 extern __gshared const(char*) m3Err_trapStackOverflow;
135 M3Environment* m3_NewEnvironment();
136 void m3_FreeEnvironment(M3Environment* i_environment);
137 alias M3SectionHandler = const(char)* function(M3Module* i_module, const(char)* name, const(ubyte)* start, const(
138         ubyte)* end);
139 void m3_SetCustomSectionHandler(M3Environment* i_environment, const(char)* function(
140         M3Module* i_module, const(char)* name, const(ubyte)* start, const(ubyte)* end) i_handler);
141 M3Runtime* m3_NewRuntime(M3Environment* io_environment, uint i_stackSizeInBytes, void* i_userdata);
142 void m3_FreeRuntime(M3Runtime* i_runtime);
143 ubyte* m3_GetMemory(M3Runtime* i_runtime, uint* o_memorySizeInBytes, uint i_memoryIndex);
144 uint m3_GetMemorySize(M3Runtime* i_runtime);
145 void* m3_GetUserData(M3Runtime* i_runtime);
146 const(char)* m3_ParseModule(M3Environment* i_environment, M3Module** o_module, const(ubyte)* i_wasmBytes, uint i_numWasmBytes);
147 void m3_FreeModule(M3Module* i_module);
148 const(char)* m3_LoadModule(M3Runtime* io_runtime, M3Module* io_module);
149 const(char)* m3_CompileModule(M3Module* io_module);
150 const(char)* m3_RunStart(M3Module* i_module);
151 alias M3RawCall = const(void)* function(M3Runtime* runtime, M3ImportContext* _ctx, uint* _sp, void* _mem);
152 const(char)* m3_LinkRawFunction(M3Module* io_module, const(char)* i_moduleName, const(char)* i_functionName, const(char)* i_signature, const(
153         void)* function(M3Runtime* runtime, M3ImportContext* _ctx, uint* _sp, void* _mem) i_function);
154 const(char)* m3_LinkRawFunctionEx(M3Module* io_module, const(char)* i_moduleName, const(char)* i_functionName, const(char)* i_signature, const(
155         void)* function(M3Runtime* runtime, M3ImportContext* _ctx, uint* _sp, void* _mem) i_function, const(
156         void)* i_userdata);
157 const(char)* m3_GetModuleName(M3Module* i_module);
158 void m3_SetModuleName(M3Module* i_module, const(char)* name);
159 M3Runtime* m3_GetModuleRuntime(M3Module* i_module);
160 M3Global* m3_FindGlobal(M3Module* io_module, const(char)* i_globalName);
161 const(char)* m3_GetGlobal(M3Global* i_global, M3TaggedValue* o_value);
162 const(char)* m3_SetGlobal(M3Global* i_global, M3TaggedValue* i_value);
163 M3ValueType m3_GetGlobalType(M3Global* i_global);
164 const(char)* m3_Yield();
165 const(char)* m3_FindFunction(M3Function** o_function, M3Runtime* i_runtime, const(char)* i_functionName);
166 const(char)* m3_GetTableFunction(M3Function** o_function, M3Module* i_module, uint i_index);
167 uint m3_GetArgCount(M3Function* i_function);
168 uint m3_GetRetCount(M3Function* i_function);
169 M3ValueType m3_GetArgType(M3Function* i_function, uint i_index);
170 M3ValueType m3_GetRetType(M3Function* i_function, uint i_index);
171 const(char)* m3_CallV(M3Function* i_function, ...);
172 const(char)* m3_CallVL(M3Function* i_function, __builtin_va_list i_args);
173 const(char)* m3_Call(M3Function* i_function, uint i_argc, const(void)*[0] i_argptrs);
174 const(char)* m3_CallArgv(M3Function* i_function, uint i_argc, const(char)** i_argv);
175 const(char)* m3_GetResultsV(M3Function* i_function, ...);
176 const(char)* m3_GetResultsVL(M3Function* i_function, __builtin_va_list o_rets);
177 const(char)* m3_GetResults(M3Function* i_function, uint i_retc, const(void)*[0] o_retptrs);
178 void m3_GetErrorInfo(M3Runtime* i_runtime, M3ErrorInfo* o_info);
179 void m3_ResetErrorInfo(M3Runtime* i_runtime);
180 const(char)* m3_GetFunctionName(M3Function* i_function);
181 M3Module* m3_GetFunctionModule(M3Function* i_function);
182 void m3_PrintRuntimeInfo(M3Runtime* i_runtime);
183 void m3_PrintM3Info();
184 void m3_PrintProfilerInfo();
185 M3BacktraceInfo* m3_GetBacktrace(M3Runtime* i_runtime);
186 
187 alias m3ret_t = const(void)*;
188 alias voidptr_t = const(void)*;
189 alias cstr_t = const(char)*;
190 alias ccstr_t = const(char*);
191 alias bytes_t = const(ubyte)*;
192 alias cbytes_t = const(ubyte*);
193 alias m3opcode_t = ushort;
194 alias m3reg_t = int;
195 alias m3slot_t = uint;
196 alias m3stack_t = uint*;
197 alias cvptr_t = const(void*);
198 alias code_t = void*;
199 alias pc_t = void**;
200 struct M3MemoryHeader
201 {
202     M3Runtime* runtime = void;
203     void* maxStack = void;
204     uint length = void;
205 }
206 
207 struct M3CodeMappingPage;
208 struct M3CodePageHeader
209 {
210     M3CodePage* next = void;
211     uint lineIndex = void;
212     uint numLines = void;
213     uint sequence = void;
214     uint usageCount = void;
215 }
216 
217 static extern __gshared const(char*)[0] c_waTypes;
218 static extern __gshared const(char*)[0] c_waCompactTypes;
219 const(char)* m3Error(const(char)* i_result, M3Runtime* i_runtime, M3Module* i_module, M3Function* i_function, const(
220         char)* i_file, uint i_lineNum, const(char)* i_errorMessage, ...);
221 void m3_Abort(const(char)* message);
222 void* m3_Malloc_Impl(uint i_size);
223 void* m3_Realloc_Impl(void* i_ptr, uint i_newSize, uint i_oldSize);
224 void m3_Free_Impl(void* i_ptr);
225 void* m3_CopyMem(const(void)* i_from, uint i_size);
226 const(char)* NormalizeType(ubyte* o_type, byte i_convolutedWasmType);
227 bool IsIntType(ubyte i_wasmType);
228 bool IsFpType(ubyte i_wasmType);
229 bool Is64BitType(ubyte i_m3Type);
230 uint SizeOfType(ubyte i_m3Type);
231 const(char)* Read_u64(uint* o_value, const(ubyte)** io_bytes, const(ubyte*) i_end);
232 const(char)* Read_u32(uint* o_value, const(ubyte)** io_bytes, const(ubyte*) i_end);
233 const(char)* Read_f64(double* o_value, const(ubyte)** io_bytes, const(ubyte*) i_end);
234 const(char)* Read_f32(float* o_value, const(ubyte)** io_bytes, const(ubyte*) i_end);
235 const(char)* Read_u8(ubyte* o_value, const(ubyte)** io_bytes, const(ubyte*) i_end);
236 const(char)* Read_opcode(ushort* o_value, const(ubyte)** io_bytes, const(ubyte*) i_end);
237 const(char)* ReadLebUnsigned(uint* o_value, uint i_maxNumBits, const(ubyte)** io_bytes, const(
238         ubyte*) i_end);
239 const(char)* ReadLebSigned(int* o_value, uint i_maxNumBits, const(ubyte)** io_bytes, const(ubyte*) i_end);
240 const(char)* ReadLEB_u32(uint* o_value, const(ubyte)** io_bytes, const(ubyte*) i_end);
241 const(char)* ReadLEB_u7(ubyte* o_value, const(ubyte)** io_bytes, const(ubyte*) i_end);
242 const(char)* ReadLEB_i7(byte* o_value, const(ubyte)** io_bytes, const(ubyte*) i_end);
243 const(char)* ReadLEB_i32(int* o_value, const(ubyte)** io_bytes, const(ubyte*) i_end);
244 const(char)* ReadLEB_i64(int* o_value, const(ubyte)** io_bytes, const(ubyte*) i_end);
245 const(char)* Read_utf8(const(char)** o_utf8, const(ubyte)** io_bytes, const(ubyte*) i_end);
246 const(char)* SPrintValue(void* i_value, ubyte i_type);
247 uint SPrintArg(char* o_string, uint i_stringBufferSize, const(void)* i_sp, ubyte i_type);
248 void ReportError(M3Runtime* io_runtime, M3Module* i_module, M3Function* i_function, const(char*) i_errorMessage, const(
249         char*) i_file, uint i_lineNum);
250 const(char)* m3_LinkLibC(M3Module* io_module);
251 const(char)* m3_LinkSpecTest(M3Module* io_module);
252 struct m3_wasi_context_t
253 {
254     int exit_code = void;
255     uint argc = void;
256     const(char*)* argv = void;
257 }
258 
259 const(char)* m3_LinkWASI(M3Module* io_module);
260 m3_wasi_context_t* m3_GetWasiContext();
261 struct M3CodePage
262 {
263     M3CodePageHeader info = void;
264     void*[1] code = void;
265 }
266 
267 alias IM3CodePage = M3CodePage*;
268 M3CodePage* NewCodePage(M3Runtime* i_runtime, uint i_minNumLines);
269 void FreeCodePages(M3CodePage** io_list);
270 uint NumFreeLines(M3CodePage* i_page);
271 void** GetPageStartPC(M3CodePage* i_page);
272 void** GetPagePC(M3CodePage* i_page);
273 void EmitWord_impl(M3CodePage* i_page, void* i_word);
274 void EmitWord32(M3CodePage* i_page, uint i_word);
275 void EmitWord64(M3CodePage* i_page, uint i_word);
276 void PushCodePage(M3CodePage** io_list, M3CodePage* i_codePage);
277 M3CodePage* PopCodePage(M3CodePage** io_list);
278 M3CodePage* GetEndCodePage(M3CodePage* i_list);
279 uint CountCodePages(M3CodePage* i_list);
280 alias IM3Operation = const(void)* function(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
281 static const(void)* RunCode(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
282 struct M3FuncType
283 {
284     M3FuncType* next = void;
285     ushort numRets = void;
286     ushort numArgs = void;
287     ubyte[0] types = void;
288 }
289 
290 alias IM3FuncType = M3FuncType*;
291 const(char)* AllocFuncType(M3FuncType** o_functionType, uint i_numTypes);
292 bool AreFuncTypesEqual(M3FuncType* i_typeA, M3FuncType* i_typeB);
293 ushort GetFuncTypeNumParams(M3FuncType* i_funcType);
294 ubyte GetFuncTypeParamType(M3FuncType* i_funcType, ushort i_index);
295 ushort GetFuncTypeNumResults(M3FuncType* i_funcType);
296 ubyte GetFuncTypeResultType(M3FuncType* i_funcType, ushort i_index);
297 struct M3Function
298 {
299     M3Module* mod = void;
300 
301     const(ubyte)* wasm = void;
302     const(ubyte)* wasmEnd = void;
303     const(char)*[3] names = void;
304     const(char)* export_name = void;
305     ushort numNames = void;
306     M3FuncType* funcType = void;
307     void** compiled = void;
308     ushort maxStackSlots = void;
309     ushort numRetSlots = void;
310     ushort numRetAndArgSlots = void;
311     ushort numLocals = void;
312     ushort numLocalBytes = void;
313     bool ownsWasmCode = void;
314     ushort numConstantBytes = void;
315     void* constants = void;
316 }
317 
318 void Function_Release(M3Function* i_function);
319 void Function_FreeCompiledCode(M3Function* i_function);
320 const(char)* GetFunctionImportModuleName(M3Function* i_function);
321 const(char)** GetFunctionNames(M3Function* i_function, ushort* o_numNames);
322 ushort GetFunctionNumArgs(M3Function* i_function);
323 ubyte GetFunctionArgType(M3Function* i_function, uint i_index);
324 ushort GetFunctionNumReturns(M3Function* i_function);
325 ubyte GetFunctionReturnType(M3Function* i_function, ushort i_index);
326 uint GetFunctionNumArgsAndLocals(M3Function* i_function);
327 const(char)* SPrintFunctionArgList(M3Function* i_function, uint* i_sp);
328 enum
329 {
330     c_waOp_block = 2,
331     c_waOp_loop = 3,
332     c_waOp_if = 4,
333     c_waOp_else = 5,
334     c_waOp_end = 11,
335     c_waOp_branch = 12,
336     c_waOp_branchTable = 14,
337     c_waOp_branchIf = 13,
338     c_waOp_call = 16,
339     c_waOp_getLocal = 32,
340     c_waOp_setLocal = 33,
341     c_waOp_teeLocal = 34,
342     c_waOp_getGlobal = 35,
343     c_waOp_store_f32 = 56,
344     c_waOp_store_f64 = 57,
345     c_waOp_i32_const = 65,
346     c_waOp_i64_const = 66,
347     c_waOp_f32_const = 67,
348     c_waOp_f64_const = 68,
349     c_waOp_extended = 252,
350     c_waOp_memoryCopy = 64522,
351     c_waOp_memoryFill = 64523,
352 }
353 struct M3CompilationScope
354 {
355     M3CompilationScope* outer = void;
356     void** pc = void;
357     void** patches = void;
358     int depth = void;
359     ushort exitStackIndex = void;
360     ushort blockStackIndex = void;
361     M3FuncType* type = void;
362     ushort opcode = void;
363     bool isPolymorphic = void;
364 }
365 
366 alias IM3CompilationScope = M3CompilationScope*;
367 struct M3Compilation
368 {
369     M3Runtime* runtime = void;
370     M3Module* mod = void;
371     const(ubyte)* wasm = void;
372     const(ubyte)* wasmEnd = void;
373     const(ubyte)* lastOpcodeStart = void;
374     M3CompilationScope block = void;
375     M3Function* func = void;
376     M3CodePage* page = void;
377     ushort stackFirstDynamicIndex = void;
378     ushort stackIndex = void;
379     ushort slotFirstConstIndex = void;
380     ushort slotMaxConstIndex = void;
381     ushort slotFirstLocalIndex = void;
382     ushort slotFirstDynamicIndex = void;
383     ushort maxStackSlots = void;
384     uint[120] constants = void;
385     ushort[2000] wasmStack = void;
386     ubyte[2000] typeStack = void;
387     ubyte[2000 * 2] m3Slots = void;
388     ushort slotMaxAllocatedIndexPlusOne = void;
389     ushort[2] regStackIndexPlusOne = void;
390     ushort previousOpcode = void;
391 }
392 
393 alias IM3Compilation = M3Compilation*;
394 alias M3Compiler = const(char)* function(M3Compilation*, ushort);
395 struct M3OpInfo
396 {
397     byte stackOffset = void;
398     ubyte type = void;
399     const(void)* function(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0)[4] operations = void;
400     const(char)* function(M3Compilation*, ushort) compiler = void;
401 }
402 
403 alias IM3OpInfo = const M3OpInfo*;
404 const(M3OpInfo)* GetOpInfo(ushort opcode);
405 static ubyte GetSingleRetType(M3FuncType* ftype);
406 static extern __gshared const(ushort) c_m3RegisterUnallocated;
407 static extern __gshared const(ushort) c_slotUnused;
408 static bool IsRegisterAllocated(M3Compilation* o, uint i_register);
409 static bool IsStackPolymorphic(M3Compilation* o);
410 static bool IsRegisterSlotAlias(ushort i_slot);
411 static bool IsFpRegisterSlotAlias(ushort i_slot);
412 static bool IsIntRegisterSlotAlias(ushort i_slot);
413 ushort GetMaxUsedSlotPlusOne(M3Compilation* o);
414 const(char)* CompileBlock(M3Compilation* io, M3FuncType* i_blockType, ushort i_blockOpcode);
415 const(char)* CompileBlockStatements(M3Compilation* io);
416 const(char)* CompileFunction(M3Function* io_function);
417 const(char)* CompileRawFunction(M3Module* io_module, M3Function* io_function, const(void)* i_function, const(
418         void)* i_userdata);
419 struct M3MemoryInfo
420 {
421     uint initPages = void;
422     uint maxPages = void;
423 }
424 
425 struct M3Memory
426 {
427     M3MemoryHeader* mallocated = void;
428     uint numPages = void;
429     uint maxPages = void;
430 }
431 
432 alias IM3Memory = M3Memory*;
433 struct M3DataSegment
434 {
435     const(ubyte)* initExpr = void;
436     const(ubyte)* data = void;
437     uint initExprSize = void;
438     uint memoryRegion = void;
439     uint size = void;
440 }
441 
442 struct M3Global
443 {
444 
445     union
446     {
447         int i32Value;
448         int i64Value;
449         double f64Value;
450         float f32Value;
451     }
452 
453     const(char)* name = void;
454     const(ubyte)* initExpr = void;
455     uint initExprSize = void;
456     ubyte type = void;
457     bool imported = void;
458     bool isMutable = void;
459 }
460 
461 struct M3Module
462 {
463     M3Runtime* runtime = void;
464     M3Environment* environment = void;
465     const(ubyte)* wasmStart = void;
466     const(ubyte)* wasmEnd = void;
467     const(char)* name = void;
468     uint numFuncTypes = void;
469     M3FuncType** funcTypes = void;
470     uint numFuncImports = void;
471     uint numFunctions = void;
472     uint allFunctions = void;
473     M3Function* functions = void;
474     int startFunc = void;
475     uint numDataSegments = void;
476     M3DataSegment* dataSegments = void;
477     uint numGlobals = void;
478     M3Global* globals = void;
479     uint numElementSegments = void;
480     const(ubyte)* elementSection = void;
481     const(ubyte)* elementSectionEnd = void;
482     M3Function** table0 = void;
483     uint table0Size = void;
484     const(char)* table0ExportName = void;
485     M3MemoryInfo memoryInfo = void;
486     M3ImportInfo memoryImport = void;
487     bool memoryImported = void;
488     const(char)* memoryExportName = void;
489     M3Module* next = void;
490 }
491 
492 const(char)* Module_AddGlobal(M3Module* io_module, M3Global** o_global, ubyte i_type, bool i_mutable, bool i_isImported);
493 const(char)* Module_PreallocFunctions(M3Module* io_module, uint i_totalFunctions);
494 const(char)* Module_AddFunction(M3Module* io_module, uint i_typeIndex, M3ImportInfo* i_importInfo);
495 M3Function* Module_GetFunction(M3Module* i_module, uint i_functionIndex);
496 void Module_GenerateNames(M3Module* i_module);
497 void FreeImportInfo(M3ImportInfo* i_info);
498 struct M3Environment
499 {
500     M3FuncType* funcTypes = void;
501     M3FuncType*[c_m3Type_unknown] retFuncTypes = void;
502     M3CodePage* pagesReleased = void;
503     const(char)* function(M3Module* i_module, const(char)* name, const(ubyte)* start, const(ubyte)* end) customSectionHandler = void;
504 }
505 
506 void Environment_Release(M3Environment* i_environment);
507 void Environment_AddFuncType(M3Environment* i_environment, M3FuncType** io_funcType);
508 struct M3Runtime
509 {
510     M3Compilation compilation = void;
511     M3Environment* environment = void;
512     M3CodePage* pagesOpen = void;
513     M3CodePage* pagesFull = void;
514     uint numCodePages = void;
515     uint numActiveCodePages = void;
516     M3Module* modules = void;
517     void* stack = void;
518     void* originStack = void;
519     uint stackSize = void;
520     uint numStackSlots = void;
521     M3Function* lastCalled = void;
522     void* userdata = void;
523     M3Memory memory = void;
524     uint memoryLimit = void;
525     M3ErrorInfo error = void;
526     char[256] error_message = void;
527     uint newCodePageSequence = void;
528 }
529 
530 void InitRuntime(M3Runtime* io_runtime, uint i_stackSizeInBytes);
531 void Runtime_Release(M3Runtime* io_runtime);
532 const(char)* ResizeMemory(M3Runtime* io_runtime, uint i_numPages);
533 alias ModuleVisitor = void* function(M3Module* i_module, void* i_info);
534 void* ForEachModule(M3Runtime* i_runtime, void* function(M3Module* i_module, void* i_info) i_visitor, void* i_info);
535 void* v_FindFunction(M3Module* i_module, const(char)* i_name);
536 M3CodePage* AcquireCodePage(M3Runtime* io_runtime);
537 M3CodePage* AcquireCodePageWithCapacity(M3Runtime* io_runtime, uint i_lineCount);
538 void ReleaseCodePage(M3Runtime* io_runtime, M3CodePage* i_codePage);
539 void ProfileHit(const(char)* i_operationName);
540 
541 static uint rotl32(uint n, uint c);
542 static uint rotr32(uint n, uint c);
543 static uint rotl64(uint n, uint c);
544 static uint rotr64(uint n, uint c);
545 
546 static float min_f32(float a, float b);
547 static float max_f32(float a, float b);
548 static double min_f64(double a, double b);
549 static double max_f64(double a, double b);
550 static const(void)* Call(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
551 static const(void)* op_i32_Equal_rs(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
552 static const(void)* op_i32_Equal_ss(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
553 static const(void)* op_i64_Equal_rs(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
554 static const(void)* op_i64_Equal_ss(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
555 static const(void)* op_i32_NotEqual_rs(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
556 static const(void)* op_i32_NotEqual_ss(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
557 static const(void)* op_i64_NotEqual_rs(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
558 static const(void)* op_i64_NotEqual_ss(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
559 static const(void)* op_i32_LessThan_sr(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
560 static const(void)* op_i32_LessThan_rs(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
561 static const(void)* op_i32_LessThan_ss(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
562 static const(void)* op_i64_LessThan_sr(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
563 static const(void)* op_i64_LessThan_rs(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
564 static const(void)* op_i64_LessThan_ss(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
565 static const(void)* op_i32_GreaterThan_sr(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
566 static const(void)* op_i32_GreaterThan_rs(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
567 static const(void)* op_i32_GreaterThan_ss(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
568 static const(void)* op_i64_GreaterThan_sr(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
569 static const(void)* op_i64_GreaterThan_rs(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
570 static const(void)* op_i64_GreaterThan_ss(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
571 static const(void)* op_i32_LessThanOrEqual_sr(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
572 static const(void)* op_i32_LessThanOrEqual_rs(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
573 static const(void)* op_i32_LessThanOrEqual_ss(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
574 static const(void)* op_i64_LessThanOrEqual_sr(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
575 static const(void)* op_i64_LessThanOrEqual_rs(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
576 static const(void)* op_i64_LessThanOrEqual_ss(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
577 static const(void)* op_i32_GreaterThanOrEqual_sr(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
578 static const(void)* op_i32_GreaterThanOrEqual_rs(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
579 static const(void)* op_i32_GreaterThanOrEqual_ss(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
580 static const(void)* op_i64_GreaterThanOrEqual_sr(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
581 static const(void)* op_i64_GreaterThanOrEqual_rs(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
582 static const(void)* op_i64_GreaterThanOrEqual_ss(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
583 static const(void)* op_u32_LessThan_sr(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
584 static const(void)* op_u32_LessThan_rs(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
585 static const(void)* op_u32_LessThan_ss(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
586 static const(void)* op_u64_LessThan_sr(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
587 static const(void)* op_u64_LessThan_rs(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
588 static const(void)* op_u64_LessThan_ss(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
589 static const(void)* op_u32_GreaterThan_sr(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
590 static const(void)* op_u32_GreaterThan_rs(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
591 static const(void)* op_u32_GreaterThan_ss(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
592 static const(void)* op_u64_GreaterThan_sr(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
593 static const(void)* op_u64_GreaterThan_rs(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
594 static const(void)* op_u64_GreaterThan_ss(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
595 static const(void)* op_u32_LessThanOrEqual_sr(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
596 static const(void)* op_u32_LessThanOrEqual_rs(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
597 static const(void)* op_u32_LessThanOrEqual_ss(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
598 static const(void)* op_u64_LessThanOrEqual_sr(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
599 static const(void)* op_u64_LessThanOrEqual_rs(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
600 static const(void)* op_u64_LessThanOrEqual_ss(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
601 static const(void)* op_u32_GreaterThanOrEqual_sr(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
602 static const(void)* op_u32_GreaterThanOrEqual_rs(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
603 static const(void)* op_u32_GreaterThanOrEqual_ss(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
604 static const(void)* op_u64_GreaterThanOrEqual_sr(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
605 static const(void)* op_u64_GreaterThanOrEqual_rs(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
606 static const(void)* op_u64_GreaterThanOrEqual_ss(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
607 static const(void)* op_f32_Equal_rs(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
608 static const(void)* op_f32_Equal_ss(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
609 static const(void)* op_f64_Equal_rs(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
610 static const(void)* op_f64_Equal_ss(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
611 static const(void)* op_f32_NotEqual_rs(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
612 static const(void)* op_f32_NotEqual_ss(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
613 static const(void)* op_f64_NotEqual_rs(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
614 static const(void)* op_f64_NotEqual_ss(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
615 static const(void)* op_f32_LessThan_sr(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
616 static const(void)* op_f32_LessThan_rs(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
617 static const(void)* op_f32_LessThan_ss(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
618 static const(void)* op_f64_LessThan_sr(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
619 static const(void)* op_f64_LessThan_rs(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
620 static const(void)* op_f64_LessThan_ss(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
621 static const(void)* op_f32_GreaterThan_sr(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
622 static const(void)* op_f32_GreaterThan_rs(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
623 static const(void)* op_f32_GreaterThan_ss(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
624 static const(void)* op_f64_GreaterThan_sr(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
625 static const(void)* op_f64_GreaterThan_rs(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
626 static const(void)* op_f64_GreaterThan_ss(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
627 static const(void)* op_f32_LessThanOrEqual_sr(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
628 static const(void)* op_f32_LessThanOrEqual_rs(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
629 static const(void)* op_f32_LessThanOrEqual_ss(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
630 static const(void)* op_f64_LessThanOrEqual_sr(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
631 static const(void)* op_f64_LessThanOrEqual_rs(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
632 static const(void)* op_f64_LessThanOrEqual_ss(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
633 static const(void)* op_f32_GreaterThanOrEqual_sr(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
634 static const(void)* op_f32_GreaterThanOrEqual_rs(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
635 static const(void)* op_f32_GreaterThanOrEqual_ss(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
636 static const(void)* op_f64_GreaterThanOrEqual_sr(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
637 static const(void)* op_f64_GreaterThanOrEqual_rs(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
638 static const(void)* op_f64_GreaterThanOrEqual_ss(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
639 static const(void)* op_i32_Add_rs(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
640 static const(void)* op_i32_Add_ss(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
641 static const(void)* op_i64_Add_rs(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
642 static const(void)* op_i64_Add_ss(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
643 static const(void)* op_i32_Multiply_rs(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
644 static const(void)* op_i32_Multiply_ss(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
645 static const(void)* op_i64_Multiply_rs(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
646 static const(void)* op_i64_Multiply_ss(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
647 static const(void)* op_i32_Subtract_sr(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
648 static const(void)* op_i32_Subtract_rs(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
649 static const(void)* op_i32_Subtract_ss(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
650 static const(void)* op_i64_Subtract_sr(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
651 static const(void)* op_i64_Subtract_rs(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
652 static const(void)* op_i64_Subtract_ss(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
653 static const(void)* op_u32_ShiftLeft_sr(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
654 static const(void)* op_u32_ShiftLeft_rs(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
655 static const(void)* op_u32_ShiftLeft_ss(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
656 static const(void)* op_u64_ShiftLeft_sr(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
657 static const(void)* op_u64_ShiftLeft_rs(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
658 static const(void)* op_u64_ShiftLeft_ss(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
659 static const(void)* op_i32_ShiftRight_sr(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
660 static const(void)* op_i32_ShiftRight_rs(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
661 static const(void)* op_i32_ShiftRight_ss(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
662 static const(void)* op_i64_ShiftRight_sr(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
663 static const(void)* op_i64_ShiftRight_rs(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
664 static const(void)* op_i64_ShiftRight_ss(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
665 static const(void)* op_u32_ShiftRight_sr(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
666 static const(void)* op_u32_ShiftRight_rs(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
667 static const(void)* op_u32_ShiftRight_ss(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
668 static const(void)* op_u64_ShiftRight_sr(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
669 static const(void)* op_u64_ShiftRight_rs(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
670 static const(void)* op_u64_ShiftRight_ss(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
671 static const(void)* op_u32_And_rs(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
672 static const(void)* op_u32_And_ss(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
673 static const(void)* op_u32_Or_rs(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
674 static const(void)* op_u32_Or_ss(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
675 static const(void)* op_u32_Xor_rs(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
676 static const(void)* op_u32_Xor_ss(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
677 static const(void)* op_u64_And_rs(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
678 static const(void)* op_u64_And_ss(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
679 static const(void)* op_u64_Or_rs(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
680 static const(void)* op_u64_Or_ss(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
681 static const(void)* op_u64_Xor_rs(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
682 static const(void)* op_u64_Xor_ss(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
683 static const(void)* op_f32_Add_rs(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
684 static const(void)* op_f32_Add_ss(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
685 static const(void)* op_f64_Add_rs(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
686 static const(void)* op_f64_Add_ss(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
687 static const(void)* op_f32_Multiply_rs(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
688 static const(void)* op_f32_Multiply_ss(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
689 static const(void)* op_f64_Multiply_rs(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
690 static const(void)* op_f64_Multiply_ss(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
691 static const(void)* op_f32_Subtract_sr(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
692 static const(void)* op_f32_Subtract_rs(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
693 static const(void)* op_f32_Subtract_ss(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
694 static const(void)* op_f64_Subtract_sr(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
695 static const(void)* op_f64_Subtract_rs(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
696 static const(void)* op_f64_Subtract_ss(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
697 static const(void)* op_f32_Divide_sr(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
698 static const(void)* op_f32_Divide_rs(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
699 static const(void)* op_f32_Divide_ss(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
700 static const(void)* op_f64_Divide_sr(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
701 static const(void)* op_f64_Divide_rs(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
702 static const(void)* op_f64_Divide_ss(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
703 static const(void)* op_u32_Rotl_sr(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
704 static const(void)* op_u32_Rotl_rs(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
705 static const(void)* op_u32_Rotl_ss(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
706 static const(void)* op_u32_Rotr_sr(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
707 static const(void)* op_u32_Rotr_rs(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
708 static const(void)* op_u32_Rotr_ss(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
709 static const(void)* op_u64_Rotl_sr(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
710 static const(void)* op_u64_Rotl_rs(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
711 static const(void)* op_u64_Rotl_ss(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
712 static const(void)* op_u64_Rotr_sr(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
713 static const(void)* op_u64_Rotr_rs(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
714 static const(void)* op_u64_Rotr_ss(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
715 static const(void)* op_u32_Divide_sr(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
716 static const(void)* op_u32_Divide_rs(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
717 static const(void)* op_u32_Divide_ss(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
718 static const(void)* op_i32_Divide_sr(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
719 static const(void)* op_i32_Divide_rs(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
720 static const(void)* op_i32_Divide_ss(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
721 static const(void)* op_u64_Divide_sr(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
722 static const(void)* op_u64_Divide_rs(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
723 static const(void)* op_u64_Divide_ss(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
724 static const(void)* op_i64_Divide_sr(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
725 static const(void)* op_i64_Divide_rs(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
726 static const(void)* op_i64_Divide_ss(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
727 static const(void)* op_u32_Remainder_sr(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
728 static const(void)* op_u32_Remainder_rs(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
729 static const(void)* op_u32_Remainder_ss(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
730 static const(void)* op_i32_Remainder_sr(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
731 static const(void)* op_i32_Remainder_rs(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
732 static const(void)* op_i32_Remainder_ss(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
733 static const(void)* op_u64_Remainder_sr(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
734 static const(void)* op_u64_Remainder_rs(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
735 static const(void)* op_u64_Remainder_ss(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
736 static const(void)* op_i64_Remainder_sr(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
737 static const(void)* op_i64_Remainder_rs(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
738 static const(void)* op_i64_Remainder_ss(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
739 static const(void)* op_f32_Min_sr(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
740 static const(void)* op_f32_Min_rs(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
741 static const(void)* op_f32_Min_ss(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
742 static const(void)* op_f32_Max_sr(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
743 static const(void)* op_f32_Max_rs(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
744 static const(void)* op_f32_Max_ss(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
745 static const(void)* op_f64_Min_sr(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
746 static const(void)* op_f64_Min_rs(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
747 static const(void)* op_f64_Min_ss(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
748 static const(void)* op_f64_Max_sr(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
749 static const(void)* op_f64_Max_rs(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
750 static const(void)* op_f64_Max_ss(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
751 static const(void)* op_f32_CopySign_sr(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
752 static const(void)* op_f32_CopySign_rs(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
753 static const(void)* op_f32_CopySign_ss(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
754 static const(void)* op_f64_CopySign_sr(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
755 static const(void)* op_f64_CopySign_rs(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
756 static const(void)* op_f64_CopySign_ss(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
757 static const(void)* op_f32_Abs_r(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
758 static const(void)* op_f32_Abs_s(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
759 static const(void)* op_f64_Abs_r(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
760 static const(void)* op_f64_Abs_s(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
761 static const(void)* op_f32_Ceil_r(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
762 static const(void)* op_f32_Ceil_s(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
763 static const(void)* op_f64_Ceil_r(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
764 static const(void)* op_f64_Ceil_s(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
765 static const(void)* op_f32_Floor_r(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
766 static const(void)* op_f32_Floor_s(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
767 static const(void)* op_f64_Floor_r(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
768 static const(void)* op_f64_Floor_s(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
769 static const(void)* op_f32_Trunc_r(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
770 static const(void)* op_f32_Trunc_s(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
771 static const(void)* op_f64_Trunc_r(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
772 static const(void)* op_f64_Trunc_s(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
773 static const(void)* op_f32_Sqrt_r(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
774 static const(void)* op_f32_Sqrt_s(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
775 static const(void)* op_f64_Sqrt_r(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
776 static const(void)* op_f64_Sqrt_s(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
777 static const(void)* op_f32_Nearest_r(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
778 static const(void)* op_f32_Nearest_s(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
779 static const(void)* op_f64_Nearest_r(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
780 static const(void)* op_f64_Nearest_s(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
781 static const(void)* op_f32_Negate_r(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
782 static const(void)* op_f32_Negate_s(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
783 static const(void)* op_f64_Negate_r(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
784 static const(void)* op_f64_Negate_s(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
785 static const(void)* op_i32_EqualToZero_r(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
786 static const(void)* op_i32_EqualToZero_s(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
787 static const(void)* op_i64_EqualToZero_r(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
788 static const(void)* op_i64_EqualToZero_s(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
789 static const(void)* op_i32_Wrap_i64_r(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
790 static const(void)* op_i32_Wrap_i64_s(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
791 static const(void)* op_i32_Extend8_s_r(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
792 static const(void)* op_i32_Extend8_s_s(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
793 static const(void)* op_i32_Extend16_s_r(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
794 static const(void)* op_i32_Extend16_s_s(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
795 static const(void)* op_i64_Extend8_s_r(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
796 static const(void)* op_i64_Extend8_s_s(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
797 static const(void)* op_i64_Extend16_s_r(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
798 static const(void)* op_i64_Extend16_s_s(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
799 static const(void)* op_i64_Extend32_s_r(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
800 static const(void)* op_i64_Extend32_s_s(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
801 static const(void)* op_i32_Trunc_f32_r_r(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
802 static const(void)* op_i32_Trunc_f32_r_s(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
803 static const(void)* op_i32_Trunc_f32_s_r(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
804 static const(void)* op_i32_Trunc_f32_s_s(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
805 static const(void)* op_u32_Trunc_f32_r_r(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
806 static const(void)* op_u32_Trunc_f32_r_s(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
807 static const(void)* op_u32_Trunc_f32_s_r(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
808 static const(void)* op_u32_Trunc_f32_s_s(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
809 static const(void)* op_i32_Trunc_f64_r_r(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
810 static const(void)* op_i32_Trunc_f64_r_s(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
811 static const(void)* op_i32_Trunc_f64_s_r(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
812 static const(void)* op_i32_Trunc_f64_s_s(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
813 static const(void)* op_u32_Trunc_f64_r_r(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
814 static const(void)* op_u32_Trunc_f64_r_s(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
815 static const(void)* op_u32_Trunc_f64_s_r(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
816 static const(void)* op_u32_Trunc_f64_s_s(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
817 static const(void)* op_i64_Trunc_f32_r_r(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
818 static const(void)* op_i64_Trunc_f32_r_s(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
819 static const(void)* op_i64_Trunc_f32_s_r(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
820 static const(void)* op_i64_Trunc_f32_s_s(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
821 static const(void)* op_u64_Trunc_f32_r_r(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
822 static const(void)* op_u64_Trunc_f32_r_s(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
823 static const(void)* op_u64_Trunc_f32_s_r(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
824 static const(void)* op_u64_Trunc_f32_s_s(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
825 static const(void)* op_i64_Trunc_f64_r_r(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
826 static const(void)* op_i64_Trunc_f64_r_s(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
827 static const(void)* op_i64_Trunc_f64_s_r(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
828 static const(void)* op_i64_Trunc_f64_s_s(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
829 static const(void)* op_u64_Trunc_f64_r_r(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
830 static const(void)* op_u64_Trunc_f64_r_s(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
831 static const(void)* op_u64_Trunc_f64_s_r(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
832 static const(void)* op_u64_Trunc_f64_s_s(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
833 static const(void)* op_i32_TruncSat_f32_r_r(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
834 static const(void)* op_i32_TruncSat_f32_r_s(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
835 static const(void)* op_i32_TruncSat_f32_s_r(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
836 static const(void)* op_i32_TruncSat_f32_s_s(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
837 static const(void)* op_u32_TruncSat_f32_r_r(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
838 static const(void)* op_u32_TruncSat_f32_r_s(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
839 static const(void)* op_u32_TruncSat_f32_s_r(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
840 static const(void)* op_u32_TruncSat_f32_s_s(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
841 static const(void)* op_i32_TruncSat_f64_r_r(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
842 static const(void)* op_i32_TruncSat_f64_r_s(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
843 static const(void)* op_i32_TruncSat_f64_s_r(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
844 static const(void)* op_i32_TruncSat_f64_s_s(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
845 static const(void)* op_u32_TruncSat_f64_r_r(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
846 static const(void)* op_u32_TruncSat_f64_r_s(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
847 static const(void)* op_u32_TruncSat_f64_s_r(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
848 static const(void)* op_u32_TruncSat_f64_s_s(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
849 static const(void)* op_i64_TruncSat_f32_r_r(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
850 static const(void)* op_i64_TruncSat_f32_r_s(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
851 static const(void)* op_i64_TruncSat_f32_s_r(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
852 static const(void)* op_i64_TruncSat_f32_s_s(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
853 static const(void)* op_u64_TruncSat_f32_r_r(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
854 static const(void)* op_u64_TruncSat_f32_r_s(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
855 static const(void)* op_u64_TruncSat_f32_s_r(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
856 static const(void)* op_u64_TruncSat_f32_s_s(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
857 static const(void)* op_i64_TruncSat_f64_r_r(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
858 static const(void)* op_i64_TruncSat_f64_r_s(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
859 static const(void)* op_i64_TruncSat_f64_s_r(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
860 static const(void)* op_i64_TruncSat_f64_s_s(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
861 static const(void)* op_u64_TruncSat_f64_r_r(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
862 static const(void)* op_u64_TruncSat_f64_r_s(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
863 static const(void)* op_u64_TruncSat_f64_s_r(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
864 static const(void)* op_u64_TruncSat_f64_s_s(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
865 static const(void)* op_i64_Extend_i32_r(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
866 static const(void)* op_i64_Extend_i32_s(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
867 static const(void)* op_i64_Extend_u32_r(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
868 static const(void)* op_i64_Extend_u32_s(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
869 static const(void)* op_f32_Demote_f64_r(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
870 static const(void)* op_f32_Demote_f64_s(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
871 static const(void)* op_f64_Promote_f32_r(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
872 static const(void)* op_f64_Promote_f32_s(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
873 static const(void)* op_f64_Convert_i32_r_r(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
874 static const(void)* op_f64_Convert_i32_s_r(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
875 static const(void)* op_f64_Convert_i32_r_s(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
876 static const(void)* op_f64_Convert_i32_s_s(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
877 static const(void)* op_f64_Convert_u32_r_r(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
878 static const(void)* op_f64_Convert_u32_s_r(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
879 static const(void)* op_f64_Convert_u32_r_s(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
880 static const(void)* op_f64_Convert_u32_s_s(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
881 static const(void)* op_f64_Convert_i64_r_r(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
882 static const(void)* op_f64_Convert_i64_s_r(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
883 static const(void)* op_f64_Convert_i64_r_s(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
884 static const(void)* op_f64_Convert_i64_s_s(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
885 static const(void)* op_f64_Convert_u64_r_r(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
886 static const(void)* op_f64_Convert_u64_s_r(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
887 static const(void)* op_f64_Convert_u64_r_s(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
888 static const(void)* op_f64_Convert_u64_s_s(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
889 static const(void)* op_f32_Convert_i32_r_r(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
890 static const(void)* op_f32_Convert_i32_s_r(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
891 static const(void)* op_f32_Convert_i32_r_s(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
892 static const(void)* op_f32_Convert_i32_s_s(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
893 static const(void)* op_f32_Convert_u32_r_r(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
894 static const(void)* op_f32_Convert_u32_s_r(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
895 static const(void)* op_f32_Convert_u32_r_s(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
896 static const(void)* op_f32_Convert_u32_s_s(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
897 static const(void)* op_f32_Convert_i64_r_r(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
898 static const(void)* op_f32_Convert_i64_s_r(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
899 static const(void)* op_f32_Convert_i64_r_s(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
900 static const(void)* op_f32_Convert_i64_s_s(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
901 static const(void)* op_f32_Convert_u64_r_r(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
902 static const(void)* op_f32_Convert_u64_s_r(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
903 static const(void)* op_f32_Convert_u64_r_s(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
904 static const(void)* op_f32_Convert_u64_s_s(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
905 static const(void)* op_i32_Reinterpret_f32_r_r(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
906 static const(void)* op_i32_Reinterpret_f32_r_s(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
907 static const(void)* op_i32_Reinterpret_f32_s_r(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
908 static const(void)* op_i32_Reinterpret_f32_s_s(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
909 static const(void)* op_i64_Reinterpret_f64_r_r(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
910 static const(void)* op_i64_Reinterpret_f64_r_s(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
911 static const(void)* op_i64_Reinterpret_f64_s_r(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
912 static const(void)* op_i64_Reinterpret_f64_s_s(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
913 static const(void)* op_f32_Reinterpret_i32_r_r(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
914 static const(void)* op_f32_Reinterpret_i32_r_s(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
915 static const(void)* op_f32_Reinterpret_i32_s_r(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
916 static const(void)* op_f32_Reinterpret_i32_s_s(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
917 static const(void)* op_f64_Reinterpret_i64_r_r(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
918 static const(void)* op_f64_Reinterpret_i64_r_s(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
919 static const(void)* op_f64_Reinterpret_i64_s_r(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
920 static const(void)* op_f64_Reinterpret_i64_s_s(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
921 static const(void)* op_GetGlobal_s32(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
922 static const(void)* op_GetGlobal_s64(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
923 static const(void)* op_SetGlobal_i32(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
924 static const(void)* op_SetGlobal_i64(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
925 static const(void)* op_Call(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
926 static const(void)* op_CallIndirect(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
927 static const(void)* op_CallRawFunction(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
928 static const(void)* op_MemSize(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
929 static const(void)* op_MemGrow(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
930 static const(void)* op_MemCopy(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
931 static const(void)* op_MemFill(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
932 static const(void)* op_Compile(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
933 static const(void)* op_Entry(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
934 static const(void)* op_Loop(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
935 static const(void)* op_Branch(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
936 static const(void)* op_If_r(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
937 static const(void)* op_If_s(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
938 static const(void)* op_BranchTable(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
939 static const(void)* op_SetRegister_i32(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
940 static const(void)* op_SetSlot_i32(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
941 static const(void)* op_PreserveSetSlot_i32(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
942 static const(void)* op_SetRegister_i64(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
943 static const(void)* op_SetSlot_i64(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
944 static const(void)* op_PreserveSetSlot_i64(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
945 static const(void)* op_SetRegister_f32(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
946 static const(void)* op_SetSlot_f32(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
947 static const(void)* op_PreserveSetSlot_f32(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
948 static const(void)* op_SetRegister_f64(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
949 static const(void)* op_SetSlot_f64(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
950 static const(void)* op_PreserveSetSlot_f64(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
951 static const(void)* op_CopySlot_32(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
952 static const(void)* op_PreserveCopySlot_32(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
953 static const(void)* op_CopySlot_64(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
954 static const(void)* op_PreserveCopySlot_64(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
955 static const(void)* op_Select_i32_rss(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
956 static const(void)* op_Select_i32_srs(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
957 static const(void)* op_Select_i32_ssr(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
958 static const(void)* op_Select_i32_sss(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
959 static const(void)* op_Select_i64_rss(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
960 static const(void)* op_Select_i64_srs(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
961 static const(void)* op_Select_i64_ssr(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
962 static const(void)* op_Select_i64_sss(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
963 static const(void)* op_Select_f32_rss(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
964 static const(void)* op_Select_f32_rrs(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
965 static const(void)* op_Select_f32_rsr(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
966 static const(void)* op_Select_f32_sss(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
967 static const(void)* op_Select_f32_srs(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
968 static const(void)* op_Select_f32_ssr(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
969 static const(void)* op_Select_f64_rss(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
970 static const(void)* op_Select_f64_rrs(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
971 static const(void)* op_Select_f64_rsr(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
972 static const(void)* op_Select_f64_sss(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
973 static const(void)* op_Select_f64_srs(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
974 static const(void)* op_Select_f64_ssr(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
975 static const(void)* op_Return(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
976 static const(void)* op_BranchIf_r(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
977 static const(void)* op_BranchIf_s(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
978 static const(void)* op_BranchIfPrologue_r(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
979 static const(void)* op_BranchIfPrologue_s(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
980 static const(void)* op_ContinueLoop(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
981 static const(void)* op_ContinueLoopIf(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
982 static const(void)* op_Const32(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
983 static const(void)* op_Const64(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
984 static const(void)* op_Unsupported(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
985 static const(void)* op_Unreachable(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
986 static const(void)* op_End(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
987 static const(void)* op_SetGlobal_s32(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
988 static const(void)* op_SetGlobal_s64(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
989 static const(void)* op_SetGlobal_f32(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
990 static const(void)* op_SetGlobal_f64(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
991 static const(void)* op_f32_Load_f32_r(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
992 static const(void)* op_f32_Load_f32_s(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
993 static const(void)* op_f64_Load_f64_r(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
994 static const(void)* op_f64_Load_f64_s(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
995 static const(void)* op_i32_Load_i8_r(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
996 static const(void)* op_i32_Load_i8_s(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
997 static const(void)* op_i32_Load_u8_r(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
998 static const(void)* op_i32_Load_u8_s(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
999 static const(void)* op_i32_Load_i16_r(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
1000 static const(void)* op_i32_Load_i16_s(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
1001 static const(void)* op_i32_Load_u16_r(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
1002 static const(void)* op_i32_Load_u16_s(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
1003 static const(void)* op_i32_Load_i32_r(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
1004 static const(void)* op_i32_Load_i32_s(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
1005 static const(void)* op_i64_Load_i8_r(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
1006 static const(void)* op_i64_Load_i8_s(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
1007 static const(void)* op_i64_Load_u8_r(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
1008 static const(void)* op_i64_Load_u8_s(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
1009 static const(void)* op_i64_Load_i16_r(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
1010 static const(void)* op_i64_Load_i16_s(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
1011 static const(void)* op_i64_Load_u16_r(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
1012 static const(void)* op_i64_Load_u16_s(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
1013 static const(void)* op_i64_Load_i32_r(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
1014 static const(void)* op_i64_Load_i32_s(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
1015 static const(void)* op_i64_Load_u32_r(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
1016 static const(void)* op_i64_Load_u32_s(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
1017 static const(void)* op_i64_Load_i64_r(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
1018 static const(void)* op_i64_Load_i64_s(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
1019 static const(void)* op_f32_Store_f32_rs(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
1020 static const(void)* op_f32_Store_f32_sr(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
1021 static const(void)* op_f32_Store_f32_ss(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
1022 static const(void)* op_f32_Store_f32_rr(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
1023 static const(void)* op_f64_Store_f64_rs(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
1024 static const(void)* op_f64_Store_f64_sr(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
1025 static const(void)* op_f64_Store_f64_ss(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
1026 static const(void)* op_f64_Store_f64_rr(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
1027 static const(void)* op_i32_Store_u8_rs(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
1028 static const(void)* op_i32_Store_u8_sr(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
1029 static const(void)* op_i32_Store_u8_ss(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
1030 static const(void)* op_i32_Store_i16_rs(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
1031 static const(void)* op_i32_Store_i16_sr(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
1032 static const(void)* op_i32_Store_i16_ss(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
1033 static const(void)* op_i32_Store_i32_rs(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
1034 static const(void)* op_i32_Store_i32_sr(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
1035 static const(void)* op_i32_Store_i32_ss(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
1036 static const(void)* op_i64_Store_u8_rs(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
1037 static const(void)* op_i64_Store_u8_sr(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
1038 static const(void)* op_i64_Store_u8_ss(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
1039 static const(void)* op_i64_Store_i16_rs(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
1040 static const(void)* op_i64_Store_i16_sr(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
1041 static const(void)* op_i64_Store_i16_ss(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
1042 static const(void)* op_i64_Store_i32_rs(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
1043 static const(void)* op_i64_Store_i32_sr(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
1044 static const(void)* op_i64_Store_i32_ss(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
1045 static const(void)* op_i64_Store_i64_rs(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
1046 static const(void)* op_i64_Store_i64_sr(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
1047 static const(void)* op_i64_Store_i64_ss(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0);
1048 
1049 auto m3ApiOffsetToPtr(__MP198)(__MP198 offset)
1050 {
1051     return cast(void*)(cast(ubyte*) _mem + cast(uint) offset);
1052 }
1053 
1054 auto m3ApiPtrToOffset(__MP199)(__MP199 ptr)
1055 {
1056     return cast(uint)(cast(ubyte*) ptr - cast(ubyte*) _mem);
1057 }
1058 
1059 auto m3ApiIsNullPtr(__MP207)(__MP207 addr)
1060 {
1061     return cast(void*) addr <= _mem;
1062 }
1063 
1064 auto m3ApiReadMem8(__MP215)(__MP215 ptr)
1065 {
1066     return *cast(ubyte*) ptr;
1067 }
1068 
1069 auto m3ApiReadMem16(__MP216)(__MP216 ptr)
1070 {
1071     return *cast(ushort*) ptr;
1072 }
1073 
1074 auto m3ApiReadMem32(__MP217)(__MP217 ptr)
1075 {
1076     return *cast(uint*) ptr;
1077 }
1078 
1079 auto m3ApiReadMem64(__MP218)(__MP218 ptr)
1080 {
1081     return *cast(uint*) ptr;
1082 }
1083 
1084 enum int M3_HAS_TAIL_CALL = 1;
1085 auto M3_MIN(__MP237, __MP238)(__MP237 A, __MP238 B)
1086 {
1087     return A < B ? A : B;
1088 }
1089 
1090 auto M3_MAX(__MP239, __MP240)(__MP239 A, __MP240 B)
1091 {
1092     return A > B ? A : B;
1093 }
1094 
1095 auto M3_INIT(__MP241)(__MP241 field)
1096 {
1097     return memset(&field, 0, field.sizeof);
1098 }
1099 
1100 auto M3_COUNT_OF(__MP242)(__MP242 x)
1101 {
1102     return x.sizeof / 0[x].sizeof / cast(uint) !(x.sizeof % 0[x].sizeof);
1103 }
1104 
1105 enum int d_m3MaxFunctionStackHeight = 2000;
1106 enum int d_m3MaxLinearMemoryPages = 65_536;
1107 auto d_m3MaxFunctionSlots()()
1108 {
1109     return d_m3MaxFunctionStackHeight * 2;
1110 }
1111 
1112 enum int d_m3MaxConstantTableSize = 120;
1113 enum int d_m3MaxDuplicateFunctionImpl = 3;
1114 enum int d_m3CascadedOpcodes = 1;
1115 enum int d_m3VerboseErrorMessages = 1;
1116 enum int d_m3FixedHeapAlign = 16;
1117 enum int d_m3Use32BitSlots = 1;
1118 enum int d_m3ProfilerSlotMask = 65_535;
1119 enum int d_m3RecordBacktraces = 0;
1120 enum int d_m3EnableExceptionBreakpoint = 0;
1121 enum int d_m3EnableOpProfiling = 0;
1122 enum int d_m3EnableOpTracing = 0;
1123 enum int d_m3EnableWasiTracing = 0;
1124 enum int d_m3EnableStrace = 0;
1125 enum int d_m3LogParse = 0;
1126 enum int d_m3LogModule = 0;
1127 enum int d_m3LogCompile = 0;
1128 enum int d_m3LogWasmStack = 0;
1129 enum int d_m3LogEmit = 0;
1130 enum int d_m3LogCodePages = 0;
1131 enum int d_m3LogRuntime = 0;
1132 enum int d_m3LogNativeStack = 0;
1133 enum int d_m3LogHeapOps = 0;
1134 enum int d_m3LogTimestamps = 0;
1135 enum int d_m3HasFloat = 1;
1136 enum int d_m3SkipStackCheck = 0;
1137 enum int d_m3SkipMemoryBoundsCheck = 0;
1138 enum int d_m3EnableCodePageRefCounting = 0;
1139 auto d_m3ImplementFloat()()
1140 {
1141     return d_m3HasFloat || d_m3NoFloatDynamic;
1142 }
1143 
1144 enum int d_m3MemPageSize = 65_536;
1145 enum int d_m3Reg0SlotAlias = 60_000;
1146 auto d_m3Fp0SlotAlias()()
1147 {
1148     return d_m3Reg0SlotAlias + 2;
1149 }
1150 
1151 enum int d_m3MaxSaneTypesCount = 100_0000;
1152 enum int d_m3MaxSaneFunctionsCount = 1000_000;
1153 enum int d_m3MaxSaneImportsCount = 100_000;
1154 enum int d_m3MaxSaneExportsCount = 100_000;
1155 enum int d_m3MaxSaneGlobalsCount = 1000_000;
1156 enum int d_m3MaxSaneElementSegments = 1000_0000;
1157 enum int d_m3MaxSaneDataSegments = 100_000;
1158 enum int d_m3MaxSaneTableSize = 1000_0000;
1159 enum int d_m3MaxSaneUtf8Length = 10_000;
1160 enum int d_m3MaxSaneFunctionArgRetCount = 1000;
1161 enum int d_externalKind_function = 0;
1162 enum int d_externalKind_table = 1;
1163 enum int d_externalKind_memory = 2;
1164 enum int d_externalKind_global = 3;
1165 
1166 auto m3_Malloc(__MP244, __MP245)(__MP244 NAME, __MP245 SIZE)
1167 {
1168     return m3_Malloc_Impl(SIZE);
1169 }
1170 
1171 auto m3_Realloc(__MP246, __MP247, __MP248, __MP249)(__MP246 NAME, __MP247 PTR, __MP248 NEW, __MP249 OLD)
1172 {
1173     return m3_Realloc_Impl(PTR, NEW, OLD);
1174 }
1175 
1176 auto EmitWord(__MP258, __MP259)(__MP258 page, __MP259 val)
1177 {
1178     return EmitWord_impl(page, cast(void*) val);
1179 }
1180 
1181 auto m3MemData(__MP260)(__MP260 mem)
1182 {
1183     return cast(ubyte*)(cast(M3MemoryHeader*) mem + 1);
1184 }
1185 
1186 auto jumpOpImpl(__MP264)(__MP264 PC)
1187 {
1188     return (cast(const(void)* function(void** _pc, uint* _sp, M3MemoryHeader* _mem, int _r0, double _fp0))*PC)(PC + 1, d_m3OpArgs);
1189 }
1190 
1191 void* memset(return scope void* s, int c, size_t n) pure;