diff --git a/src/mono/wasm/runtime/CMakeLists.txt b/src/mono/wasm/runtime/CMakeLists.txt
index 2ceb88641abcd..de944167cf249 100644
--- a/src/mono/wasm/runtime/CMakeLists.txt
+++ b/src/mono/wasm/runtime/CMakeLists.txt
@@ -36,13 +36,6 @@ set_target_properties(dotnet PROPERTIES
set(ignoreMeWasmOptFlags "${CONFIGURATION_WASM_OPT_FLAGS}")
-add_custom_target(GENERATE_MINTOPS_TYPESCRIPT ALL
- ${Python3_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/genmintops.py "${CMAKE_CURRENT_SOURCE_DIR}/../../mono/mini/interp/mintops.def" "${CMAKE_CURRENT_SOURCE_DIR}/mintops.ts"
- DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/genmintops.py ${CMAKE_CURRENT_SOURCE_DIR}/../../mono/mini/interp/mintops.def
- BYPRODUCTS ${CMAKE_CURRENT_SOURCE_DIR}/mintops.ts
- VERBATIM
-)
-
if(CMAKE_BUILD_TYPE STREQUAL "Release")
add_custom_command(TARGET dotnet
POST_BUILD COMMAND ${EMSDK_PATH}/upstream/bin/wasm-opt --enable-exception-handling ${CONFIGURATION_WASM_OPT_FLAGS} --strip-dwarf ${NATIVE_BIN_DIR}/dotnet.wasm -o ${NATIVE_BIN_DIR}/dotnet.wasm
diff --git a/src/mono/wasm/runtime/genmintops.py b/src/mono/wasm/runtime/genmintops.py
index b4f3b9d2f98ab..bef525c578a49 100755
--- a/src/mono/wasm/runtime/genmintops.py
+++ b/src/mono/wasm/runtime/genmintops.py
@@ -46,14 +46,15 @@
}};
"""
-dest = open(output_ts_path, 'r')
-if (dest.read() == generated):
- print("mintops.ts up to date, exiting")
- exit(0)
-
-dest.close()
-dest = open(output_ts_path, 'w')
-dest.write(generated)
+os.makedirs(os.path.dirname(output_ts_path), exist_ok=True)
+try:
+ with open(output_ts_path, 'r') as dest:
+ if (dest.read() == generated):
+ print("mintops.ts up to date, exiting")
+ exit(0)
+except FileNotFoundError:
+ pass
+with open(output_ts_path, 'w') as dest:
+ dest.write(generated)
print("mintops.ts generated")
-dest.close()
exit(0)
diff --git a/src/mono/wasm/runtime/mintops.ts b/src/mono/wasm/runtime/mintops.ts
deleted file mode 100644
index dc88fa5ab6593..0000000000000
--- a/src/mono/wasm/runtime/mintops.ts
+++ /dev/null
@@ -1,1637 +0,0 @@
-
-// Generated by genmintops.py from mintops.def.
-// Do not manually edit this file.
-
-import { OpcodeInfoTable, MintOpArgType } from "./jiterpreter-opcodes";
-
-export const enum MintOpcode {
- /*
- * Definitions of VM instructions executed by interp.c
- *
- * Authors:
- * Bernie Solomon (bernard@ugsolutions.com)
- *
- * OPDEF (opsymbol, opstring, oplength (in uint16s), num_dregs (0 or 1), num_sregs, optype)
- * optype describes the contents of the instruction, following the dreg/sreg offsets.
- */
-
- /*
- * This file is parsed by genmintops.py to generate typescript during the wasm build process,
- * so if you make any changes to its syntax you will need to update that script.
- */
-
- MINT_NOP = 0,
- MINT_NIY,
- MINT_DEF,
- MINT_IL_SEQ_POINT,
- MINT_DUMMY_USE,
- MINT_TIER_PATCHPOINT_DATA,
- MINT_BREAK,
- MINT_BREAKPOINT,
-
- MINT_RET,
- MINT_RET_VOID,
- MINT_RET_VT,
- MINT_RET_LOCALLOC,
- MINT_RET_VOID_LOCALLOC,
- MINT_RET_VT_LOCALLOC,
-
- MINT_RET_I1,
- MINT_RET_U1,
- MINT_RET_I2,
- MINT_RET_U2,
-
- MINT_LDC_I4_M1,
- MINT_LDC_I4_0,
- MINT_LDC_I4_1,
- MINT_LDC_I4_2,
- MINT_LDC_I4_3,
- MINT_LDC_I4_4,
- MINT_LDC_I4_5,
- MINT_LDC_I4_6,
- MINT_LDC_I4_7,
- MINT_LDC_I4_8,
- MINT_LDC_I4_S,
- MINT_LDC_I4,
-
- MINT_LDC_I8_0,
- MINT_LDC_I8_S,
- MINT_LDC_I8,
-
- MINT_LDC_R4,
- MINT_LDC_R8,
-
- MINT_INIT_ARGLIST,
-
- MINT_LDFLD_I1,
- MINT_LDFLD_U1,
- MINT_LDFLD_I2,
- MINT_LDFLD_U2,
- MINT_LDFLD_I4,
- MINT_LDFLD_I8,
- MINT_LDFLD_R4,
- MINT_LDFLD_R8,
- MINT_LDFLD_O,
- MINT_LDFLD_VT,
- MINT_LDFLD_I8_UNALIGNED,
- MINT_LDFLD_R8_UNALIGNED,
-
- MINT_LDFLDA,
- MINT_LDFLDA_UNSAFE,
-
- MINT_STFLD_I1,
- MINT_STFLD_U1,
- MINT_STFLD_I2,
- MINT_STFLD_U2,
- MINT_STFLD_I4,
- MINT_STFLD_I8,
- MINT_STFLD_R4,
- MINT_STFLD_R8,
- MINT_STFLD_O,
- MINT_STFLD_VT,
- MINT_STFLD_VT_NOREF,
- MINT_STFLD_I8_UNALIGNED,
- MINT_STFLD_R8_UNALIGNED,
-
- MINT_LDSFLD_I1,
- MINT_LDSFLD_U1,
- MINT_LDSFLD_I2,
- MINT_LDSFLD_U2,
- MINT_LDSFLD_I4,
- MINT_LDSFLD_I8,
- MINT_LDSFLD_R4,
- MINT_LDSFLD_R8,
- MINT_LDSFLD_O,
- MINT_LDSFLD_VT,
- MINT_LDSFLD_W,
-
- MINT_STSFLD_I1,
- MINT_STSFLD_U1,
- MINT_STSFLD_I2,
- MINT_STSFLD_U2,
- MINT_STSFLD_I4,
- MINT_STSFLD_I8,
- MINT_STSFLD_R4,
- MINT_STSFLD_R8,
- MINT_STSFLD_O,
- MINT_STSFLD_VT,
- MINT_STSFLD_W,
- MINT_LDSFLDA,
- MINT_LDTSFLDA,
-
- MINT_MOV_SRC_OFF,
- MINT_MOV_DST_OFF,
-
- MINT_MOV_I4_I1,
- MINT_MOV_I4_U1,
- MINT_MOV_I4_I2,
- MINT_MOV_I4_U2,
- MINT_MOV_1,
- MINT_MOV_2,
- MINT_MOV_4,
- MINT_MOV_8,
- MINT_MOV_VT,
-
- // These opcodes represent multiple moves stacked together. They have multiple src and dst
- // but they are not represented here. They are generated by the var offset allocator.
- MINT_MOV_8_2,
- MINT_MOV_8_3,
- MINT_MOV_8_4,
-
- MINT_LDLOCA_S,
-
- MINT_LDIND_I1,
- MINT_LDIND_U1,
- MINT_LDIND_I2,
- MINT_LDIND_U2,
- MINT_LDIND_I4,
- MINT_LDIND_I8,
- MINT_LDIND_R4,
- MINT_LDIND_R8,
-
- MINT_LDIND_OFFSET_I1,
- MINT_LDIND_OFFSET_U1,
- MINT_LDIND_OFFSET_I2,
- MINT_LDIND_OFFSET_U2,
- MINT_LDIND_OFFSET_I4,
- MINT_LDIND_OFFSET_I8,
-
- MINT_LDIND_OFFSET_IMM_I1,
- MINT_LDIND_OFFSET_IMM_U1,
- MINT_LDIND_OFFSET_IMM_I2,
- MINT_LDIND_OFFSET_IMM_U2,
- MINT_LDIND_OFFSET_IMM_I4,
- MINT_LDIND_OFFSET_IMM_I8,
-
- MINT_STIND_I1,
- MINT_STIND_I2,
- MINT_STIND_I4,
- MINT_STIND_I8,
- MINT_STIND_R4,
- MINT_STIND_R8,
- MINT_STIND_REF,
-
- MINT_STIND_OFFSET_I1,
- MINT_STIND_OFFSET_I2,
- MINT_STIND_OFFSET_I4,
- MINT_STIND_OFFSET_I8,
-
- MINT_STIND_OFFSET_IMM_I1,
- MINT_STIND_OFFSET_IMM_I2,
- MINT_STIND_OFFSET_IMM_I4,
- MINT_STIND_OFFSET_IMM_I8,
-
- MINT_BR,
- MINT_LEAVE,
- MINT_LEAVE_CHECK,
- MINT_BR_S,
- MINT_LEAVE_S,
- MINT_LEAVE_S_CHECK,
- MINT_CALL_HANDLER,
- MINT_CALL_HANDLER_S,
-
- MINT_THROW,
- MINT_RETHROW,
- MINT_ENDFINALLY,
- MINT_MONO_RETHROW,
-
- MINT_SAFEPOINT,
-
- MINT_BRFALSE_I4,
- MINT_BRFALSE_I8,
- MINT_BRFALSE_R4,
- MINT_BRFALSE_R8,
- MINT_BRTRUE_I4,
- MINT_BRTRUE_I8,
- MINT_BRTRUE_R4,
- MINT_BRTRUE_R8,
-
- MINT_BRFALSE_I4_S,
- MINT_BRFALSE_I8_S,
- MINT_BRFALSE_R4_S,
- MINT_BRFALSE_R8_S,
- MINT_BRTRUE_I4_S,
- MINT_BRTRUE_I8_S,
- MINT_BRTRUE_R4_S,
- MINT_BRTRUE_R8_S,
-
- MINT_BEQ_I4,
- MINT_BEQ_I8,
- MINT_BEQ_R4,
- MINT_BEQ_R8,
- MINT_BGE_I4,
- MINT_BGE_I8,
- MINT_BGE_R4,
- MINT_BGE_R8,
- MINT_BGT_I4,
- MINT_BGT_I8,
- MINT_BGT_R4,
- MINT_BGT_R8,
- MINT_BLT_I4,
- MINT_BLT_I8,
- MINT_BLT_R4,
- MINT_BLT_R8,
- MINT_BLE_I4,
- MINT_BLE_I8,
- MINT_BLE_R4,
- MINT_BLE_R8,
-
- MINT_BNE_UN_I4,
- MINT_BNE_UN_I8,
- MINT_BNE_UN_R4,
- MINT_BNE_UN_R8,
- MINT_BGE_UN_I4,
- MINT_BGE_UN_I8,
- MINT_BGE_UN_R4,
- MINT_BGE_UN_R8,
- MINT_BGT_UN_I4,
- MINT_BGT_UN_I8,
- MINT_BGT_UN_R4,
- MINT_BGT_UN_R8,
- MINT_BLE_UN_I4,
- MINT_BLE_UN_I8,
- MINT_BLE_UN_R4,
- MINT_BLE_UN_R8,
- MINT_BLT_UN_I4,
- MINT_BLT_UN_I8,
- MINT_BLT_UN_R4,
- MINT_BLT_UN_R8,
-
- MINT_BEQ_I4_S,
- MINT_BEQ_I8_S,
- MINT_BEQ_R4_S,
- MINT_BEQ_R8_S,
- MINT_BGE_I4_S,
- MINT_BGE_I8_S,
- MINT_BGE_R4_S,
- MINT_BGE_R8_S,
- MINT_BGT_I4_S,
- MINT_BGT_I8_S,
- MINT_BGT_R4_S,
- MINT_BGT_R8_S,
- MINT_BLT_I4_S,
- MINT_BLT_I8_S,
- MINT_BLT_R4_S,
- MINT_BLT_R8_S,
- MINT_BLE_I4_S,
- MINT_BLE_I8_S,
- MINT_BLE_R4_S,
- MINT_BLE_R8_S,
-
- MINT_BNE_UN_I4_S,
- MINT_BNE_UN_I8_S,
- MINT_BNE_UN_R4_S,
- MINT_BNE_UN_R8_S,
- MINT_BGE_UN_I4_S,
- MINT_BGE_UN_I8_S,
- MINT_BGE_UN_R4_S,
- MINT_BGE_UN_R8_S,
- MINT_BGT_UN_I4_S,
- MINT_BGT_UN_I8_S,
- MINT_BGT_UN_R4_S,
- MINT_BGT_UN_R8_S,
- MINT_BLE_UN_I4_S,
- MINT_BLE_UN_I8_S,
- MINT_BLE_UN_R4_S,
- MINT_BLE_UN_R8_S,
- MINT_BLT_UN_I4_S,
- MINT_BLT_UN_I8_S,
- MINT_BLT_UN_R4_S,
- MINT_BLT_UN_R8_S,
-
- MINT_BRFALSE_I4_SP,
- MINT_BRFALSE_I8_SP,
- MINT_BRTRUE_I4_SP,
- MINT_BRTRUE_I8_SP,
-
- MINT_BEQ_I4_SP,
- MINT_BEQ_I8_SP,
- MINT_BGE_I4_SP,
- MINT_BGE_I8_SP,
- MINT_BGT_I4_SP,
- MINT_BGT_I8_SP,
- MINT_BLT_I4_SP,
- MINT_BLT_I8_SP,
- MINT_BLE_I4_SP,
- MINT_BLE_I8_SP,
-
- MINT_BNE_UN_I4_SP,
- MINT_BNE_UN_I8_SP,
- MINT_BGE_UN_I4_SP,
- MINT_BGE_UN_I8_SP,
- MINT_BGT_UN_I4_SP,
- MINT_BGT_UN_I8_SP,
- MINT_BLE_UN_I4_SP,
- MINT_BLE_UN_I8_SP,
- MINT_BLT_UN_I4_SP,
- MINT_BLT_UN_I8_SP,
-
- MINT_BEQ_I4_IMM_SP,
- MINT_BEQ_I8_IMM_SP,
- MINT_BGE_I4_IMM_SP,
- MINT_BGE_I8_IMM_SP,
- MINT_BGT_I4_IMM_SP,
- MINT_BGT_I8_IMM_SP,
- MINT_BLT_I4_IMM_SP,
- MINT_BLT_I8_IMM_SP,
- MINT_BLE_I4_IMM_SP,
- MINT_BLE_I8_IMM_SP,
-
- MINT_BNE_UN_I4_IMM_SP,
- MINT_BNE_UN_I8_IMM_SP,
- MINT_BGE_UN_I4_IMM_SP,
- MINT_BGE_UN_I8_IMM_SP,
- MINT_BGT_UN_I4_IMM_SP,
- MINT_BGT_UN_I8_IMM_SP,
- MINT_BLE_UN_I4_IMM_SP,
- MINT_BLE_UN_I8_IMM_SP,
- MINT_BLT_UN_I4_IMM_SP,
- MINT_BLT_UN_I8_IMM_SP,
-
-
- MINT_SWITCH,
-
- MINT_LDSTR,
- MINT_LDSTR_TOKEN,
-
- MINT_JMP,
-
- MINT_ENDFILTER,
-
- MINT_NEWOBJ_SLOW_UNOPT,
- MINT_NEWOBJ_STRING_UNOPT,
- MINT_NEWOBJ_SLOW,
- MINT_NEWOBJ_ARRAY,
- MINT_NEWOBJ_STRING,
- MINT_NEWOBJ,
- MINT_NEWOBJ_INLINED,
- MINT_NEWOBJ_VT,
- MINT_NEWOBJ_VT_INLINED,
- MINT_INITOBJ,
- MINT_CASTCLASS,
- MINT_ISINST,
- MINT_CASTCLASS_INTERFACE,
- MINT_ISINST_INTERFACE,
- MINT_CASTCLASS_COMMON,
- MINT_ISINST_COMMON,
- MINT_NEWARR,
- MINT_BOX,
- MINT_BOX_VT,
- MINT_BOX_PTR,
- MINT_BOX_NULLABLE_PTR,
- MINT_UNBOX,
- MINT_LDTOKEN,
- MINT_LDFTN,
- MINT_LDFTN_ADDR,
- MINT_LDFTN_DYNAMIC,
- MINT_LDVIRTFTN,
- MINT_CPOBJ,
- MINT_CPOBJ_VT,
- MINT_LDOBJ_VT,
- MINT_STOBJ_VT,
- MINT_CPBLK,
- MINT_INITBLK,
- MINT_LOCALLOC,
- MINT_INITLOCAL,
- MINT_INITLOCALS,
-
- MINT_LDELEM_I,
- MINT_LDELEM_I1,
- MINT_LDELEM_U1,
- MINT_LDELEM_I2,
- MINT_LDELEM_U2,
- MINT_LDELEM_I4,
- MINT_LDELEM_U4,
- MINT_LDELEM_I8,
- MINT_LDELEM_R4,
- MINT_LDELEM_R8,
- MINT_LDELEM_REF,
- MINT_LDELEM_VT,
-
- MINT_LDELEMA1,
- MINT_LDELEMA,
- MINT_LDELEMA_TC,
-
- MINT_STELEM_I,
- MINT_STELEM_I1,
- MINT_STELEM_U1,
- MINT_STELEM_I2,
- MINT_STELEM_U2,
- MINT_STELEM_I4,
- MINT_STELEM_I8,
- MINT_STELEM_R4,
- MINT_STELEM_R8,
- MINT_STELEM_REF,
- MINT_STELEM_VT,
-
- MINT_LDLEN,
-
- MINT_GETITEM_SPAN,
- MINT_GETITEM_LOCALSPAN,
-
- /* binops */
- MINT_ADD_I4,
- MINT_ADD_I8,
- MINT_ADD_R4,
- MINT_ADD_R8,
-
- MINT_SUB_I4,
- MINT_SUB_I8,
- MINT_SUB_R4,
- MINT_SUB_R8,
-
- MINT_MUL_I4,
- MINT_MUL_I8,
- MINT_MUL_R4,
- MINT_MUL_R8,
-
- MINT_DIV_I4,
- MINT_DIV_I8,
- MINT_DIV_R4,
- MINT_DIV_R8,
-
- MINT_DIV_UN_I4,
- MINT_DIV_UN_I8,
-
- MINT_ADD_OVF_I4,
- MINT_ADD_OVF_I8,
-
- MINT_ADD_OVF_UN_I4,
- MINT_ADD_OVF_UN_I8,
-
- MINT_MUL_OVF_I4,
- MINT_MUL_OVF_I8,
-
- MINT_MUL_OVF_UN_I4,
- MINT_MUL_OVF_UN_I8,
-
- MINT_SUB_OVF_I4,
- MINT_SUB_OVF_I8,
-
- MINT_SUB_OVF_UN_I4,
- MINT_SUB_OVF_UN_I8,
-
- MINT_AND_I4,
- MINT_AND_I8,
-
- MINT_OR_I4,
- MINT_OR_I8,
-
- MINT_XOR_I4,
- MINT_XOR_I8,
-
- MINT_REM_I4,
- MINT_REM_I8,
- MINT_REM_R4,
- MINT_REM_R8,
-
- MINT_REM_UN_I4,
- MINT_REM_UN_I8,
-
- // Shifts, keep in order with imm versions
- MINT_SHR_UN_I4,
- MINT_SHR_UN_I8,
- MINT_SHL_I4,
- MINT_SHL_I8,
- MINT_SHR_I4,
- MINT_SHR_I8,
-
- MINT_CEQ_I4,
- MINT_CEQ_I8,
- MINT_CEQ_R4,
- MINT_CEQ_R8,
-
- MINT_CNE_I4,
- MINT_CNE_I8,
- MINT_CNE_R4,
- MINT_CNE_R8,
-
- MINT_CGT_I4,
- MINT_CGT_I8,
- MINT_CGT_R4,
- MINT_CGT_R8,
-
- MINT_CGE_I4,
- MINT_CGE_I8,
- MINT_CGE_R4,
- MINT_CGE_R8,
-
- MINT_CGE_UN_I4,
- MINT_CGE_UN_I8,
-
- MINT_CGT_UN_I4,
- MINT_CGT_UN_I8,
- MINT_CGT_UN_R4,
- MINT_CGT_UN_R8,
-
- MINT_CLT_I4,
- MINT_CLT_I8,
- MINT_CLT_R4,
- MINT_CLT_R8,
-
- MINT_CLE_I4,
- MINT_CLE_I8,
- MINT_CLE_R4,
- MINT_CLE_R8,
-
- MINT_CLE_UN_I4,
- MINT_CLE_UN_I8,
-
- MINT_CLT_UN_I4,
- MINT_CLT_UN_I8,
- MINT_CLT_UN_R4,
- MINT_CLT_UN_R8,
- /* binops end */
-
- /* unops */
- MINT_ADD1_I4,
- MINT_ADD1_I8,
- MINT_SUB1_I4,
- MINT_SUB1_I8,
-
- MINT_NEG_I4,
- MINT_NEG_I8,
- MINT_NEG_R4,
- MINT_NEG_R8,
-
- MINT_NOT_I4,
- MINT_NOT_I8,
-
- MINT_CONV_R_UN_I4,
- MINT_CONV_R_UN_I8,
-
- MINT_CONV_I1_I4,
- MINT_CONV_I1_I8,
- MINT_CONV_I1_R4,
- MINT_CONV_I1_R8,
-
- MINT_CONV_U1_I4,
- MINT_CONV_U1_I8,
- MINT_CONV_U1_R4,
- MINT_CONV_U1_R8,
-
- MINT_CONV_I2_I4,
- MINT_CONV_I2_I8,
- MINT_CONV_I2_R4,
- MINT_CONV_I2_R8,
-
- MINT_CONV_U2_I4,
- MINT_CONV_U2_I8,
- MINT_CONV_U2_R4,
- MINT_CONV_U2_R8,
-
- MINT_CONV_I4_R4,
- MINT_CONV_I4_R8,
-
- MINT_CONV_U4_R4,
- MINT_CONV_U4_R8,
-
- MINT_CONV_I8_I4,
- MINT_CONV_I8_U4,
- MINT_CONV_I8_R4,
- MINT_CONV_I8_R8,
-
- MINT_CONV_R4_I4,
- MINT_CONV_R4_I8,
- MINT_CONV_R4_R8,
-
- MINT_CONV_R8_I4,
- MINT_CONV_R8_I8,
- MINT_CONV_R8_R4,
-
- MINT_CONV_U8_R4,
- MINT_CONV_U8_R8,
-
- MINT_CONV_OVF_I1_I4,
- MINT_CONV_OVF_I1_I8,
- MINT_CONV_OVF_I1_R4,
- MINT_CONV_OVF_I1_R8,
-
- MINT_CONV_OVF_I1_U4,
- MINT_CONV_OVF_I1_U8,
-
- MINT_CONV_OVF_U1_I4,
- MINT_CONV_OVF_U1_I8,
- MINT_CONV_OVF_U1_R4,
- MINT_CONV_OVF_U1_R8,
-
- MINT_CONV_OVF_I2_I4,
- MINT_CONV_OVF_I2_I8,
- MINT_CONV_OVF_I2_R4,
- MINT_CONV_OVF_I2_R8,
-
- MINT_CONV_OVF_I2_U4,
- MINT_CONV_OVF_I2_U8,
-
- MINT_CONV_OVF_U2_I4,
- MINT_CONV_OVF_U2_I8,
- MINT_CONV_OVF_U2_R4,
- MINT_CONV_OVF_U2_R8,
-
- MINT_CONV_OVF_I4_U4,
- MINT_CONV_OVF_I4_I8,
- MINT_CONV_OVF_I4_U8,
- MINT_CONV_OVF_I4_R4,
- MINT_CONV_OVF_I4_R8,
-
- MINT_CONV_OVF_U4_I4,
- MINT_CONV_OVF_U4_I8,
- MINT_CONV_OVF_U4_R4,
- MINT_CONV_OVF_U4_R8,
-
- MINT_CONV_OVF_I8_U8,
- MINT_CONV_OVF_I8_R4,
- MINT_CONV_OVF_I8_R8,
-
- MINT_CONV_OVF_U8_I4,
- MINT_CONV_OVF_U8_I8,
- MINT_CONV_OVF_U8_R4,
- MINT_CONV_OVF_U8_R8,
-
- MINT_CEQ0_I4,
- /* unops end */
-
- /* super instructions */
- MINT_RET_I4_IMM,
- MINT_RET_I8_IMM,
-
- MINT_ADD_I4_IMM,
- MINT_ADD_I8_IMM,
-
- MINT_MUL_I4_IMM,
- MINT_MUL_I8_IMM,
-
- MINT_SHR_UN_I4_IMM,
- MINT_SHR_UN_I8_IMM,
- MINT_SHL_I4_IMM,
- MINT_SHL_I8_IMM,
- MINT_SHR_I4_IMM,
- MINT_SHR_I8_IMM,
-
-
- MINT_CKFINITE_R4,
- MINT_CKFINITE_R8,
- MINT_MKREFANY,
- MINT_REFANYTYPE,
- MINT_REFANYVAL,
-
- MINT_CKNULL,
-
- MINT_GETCHR,
- MINT_STRLEN,
- MINT_ARRAY_RANK,
- MINT_ARRAY_ELEMENT_SIZE,
- MINT_ARRAY_IS_PRIMITIVE,
-
- /* Calls */
- MINT_CALL,
- MINT_CALLVIRT,
- MINT_CALLVIRT_FAST,
- MINT_CALL_DELEGATE,
- MINT_CALLI,
- MINT_CALLI_NAT,
- MINT_CALLI_NAT_DYNAMIC,
- MINT_CALLI_NAT_FAST,
- MINT_CALL_VARARG,
- MINT_CALLRUN,
- MINT_TAILCALL,
- MINT_TAILCALL_VIRT,
-
- MINT_ICALL_V_V,
- MINT_ICALL_V_P,
- MINT_ICALL_P_V,
- MINT_ICALL_P_P,
- MINT_ICALL_PP_V,
- MINT_ICALL_PP_P,
- MINT_ICALL_PPP_V,
- MINT_ICALL_PPP_P,
- MINT_ICALL_PPPP_V,
- MINT_ICALL_PPPP_P,
- MINT_ICALL_PPPPP_V,
- MINT_ICALL_PPPPP_P,
- MINT_ICALL_PPPPPP_V,
- MINT_ICALL_PPPPPP_P,
- // FIXME: MintOp
- MINT_JIT_CALL,
- MINT_JIT_CALL2,
-
- MINT_MONO_LDPTR,
- MINT_MONO_SGEN_THREAD_INFO,
- MINT_MONO_NEWOBJ,
- MINT_MONO_RETOBJ,
- MINT_MONO_ATOMIC_STORE_I4,
- MINT_MONO_MEMORY_BARRIER,
- MINT_MONO_EXCHANGE_I8,
- MINT_MONO_LDDOMAIN,
- MINT_MONO_ENABLE_GCTRANS,
-
- MINT_SDB_INTR_LOC,
- MINT_SDB_SEQ_POINT,
- MINT_SDB_BREAKPOINT,
- MINT_LD_DELEGATE_METHOD_PTR,
-
- // Math intrinsics
- // double
- MINT_ASIN,
- MINT_ASINH,
- MINT_ACOS,
- MINT_ACOSH,
- MINT_ATAN,
- MINT_ATANH,
- MINT_ATAN2,
- MINT_CEILING,
- MINT_COS,
- MINT_CBRT,
- MINT_COSH,
- MINT_EXP,
- MINT_FMA,
- MINT_FLOOR,
- MINT_LOG,
- MINT_LOG2,
- MINT_LOG10,
- MINT_POW,
- MINT_SCALEB,
- MINT_SIN,
- MINT_SQRT,
- MINT_SINH,
- MINT_TAN,
- MINT_TANH,
- MINT_ABS,
- MINT_MIN,
- MINT_MAX,
-
- // float. These must be kept in the same order as their double counterpart
- MINT_ASINF,
- MINT_ASINHF,
- MINT_ACOSF,
- MINT_ACOSHF,
- MINT_ATANF,
- MINT_ATANHF,
- MINT_ATAN2F,
- MINT_CEILINGF,
- MINT_COSF,
- MINT_CBRTF,
- MINT_COSHF,
- MINT_EXPF,
- MINT_FMAF,
- MINT_FLOORF,
- MINT_LOGF,
- MINT_LOG2F,
- MINT_LOG10F,
- MINT_POWF,
- MINT_SCALEBF,
- MINT_SINF,
- MINT_SQRTF,
- MINT_SINHF,
- MINT_TANF,
- MINT_TANHF,
- MINT_ABSF,
- MINT_MINF,
- MINT_MAXF,
-
- MINT_PROF_ENTER,
- MINT_PROF_EXIT,
- MINT_PROF_EXIT_VOID,
- MINT_PROF_COVERAGE_STORE,
-
- MINT_TIER_ENTER_METHOD,
- MINT_TIER_PATCHPOINT,
-
- MINT_INTRINS_ENUM_HASFLAG,
- MINT_INTRINS_GET_HASHCODE,
- MINT_INTRINS_GET_TYPE,
- MINT_INTRINS_SPAN_CTOR,
- MINT_INTRINS_UNSAFE_BYTE_OFFSET,
- MINT_INTRINS_RUNTIMEHELPERS_OBJECT_HAS_COMPONENT_SIZE,
- MINT_INTRINS_CLEAR_WITH_REFERENCES,
- MINT_INTRINS_MARVIN_BLOCK,
- MINT_INTRINS_ASCII_CHARS_TO_UPPERCASE,
- MINT_INTRINS_MEMORYMARSHAL_GETARRAYDATAREF,
- MINT_INTRINS_ORDINAL_IGNORE_CASE_ASCII,
- MINT_INTRINS_64ORDINAL_IGNORE_CASE_ASCII,
- MINT_INTRINS_U32_TO_DECSTR,
- MINT_INTRINS_WIDEN_ASCII_TO_UTF16,
-
- // TODO: Make this wasm only
- MINT_TIER_PREPARE_JITERPRETER,
- MINT_TIER_NOP_JITERPRETER,
- MINT_TIER_ENTER_JITERPRETER,
-
-
- MINT_LASTOP
-}
-
-export const OpcodeInfo : OpcodeInfoTable = {
- /*
- * Definitions of VM instructions executed by interp.c
- *
- * Authors:
- * Bernie Solomon (bernard@ugsolutions.com)
- *
- * OPDEF (opsymbol, opstring, oplength (in uint16s), num_dregs (0 or 1), num_sregs, optype)
- * optype describes the contents of the instruction, following the dreg/sreg offsets.
- */
-
- /*
- * This file is parsed by genmintops.py to generate typescript during the wasm build process,
- * so if you make any changes to its syntax you will need to update that script.
- */
-
- [MintOpcode.MINT_NOP]: ["nop", 1, 0, 0, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_NIY]: ["niy", 1, 0, 0, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_DEF]: ["def", 2, 1, 0, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_IL_SEQ_POINT]: ["il_seq_point", 1, 0, 0, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_DUMMY_USE]: ["dummy_use", 2, 0, 1, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_TIER_PATCHPOINT_DATA]: ["tier_patchpoint_data", 2, 0, 0, MintOpArgType.MintOpShortInt],
- [MintOpcode.MINT_BREAK]: ["break", 1, 0, 0, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_BREAKPOINT]: ["breakpoint", 1, 0, 0, MintOpArgType.MintOpNoArgs],
-
- [MintOpcode.MINT_RET]: ["ret", 2, 0, 1, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_RET_VOID]: ["ret.void", 1, 0, 0, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_RET_VT]: ["ret.vt", 3, 0, 1, MintOpArgType.MintOpShortInt],
- [MintOpcode.MINT_RET_LOCALLOC]: ["ret.localloc", 2, 0, 1, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_RET_VOID_LOCALLOC]: ["ret.void.localloc", 1, 0, 0, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_RET_VT_LOCALLOC]: ["ret.vt.localloc", 3, 0, 1, MintOpArgType.MintOpShortInt],
-
- [MintOpcode.MINT_RET_I1]: ["ret.i1", 2, 0, 1, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_RET_U1]: ["ret.u1", 2, 0, 1, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_RET_I2]: ["ret.i2", 2, 0, 1, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_RET_U2]: ["ret.u2", 2, 0, 1, MintOpArgType.MintOpNoArgs],
-
- [MintOpcode.MINT_LDC_I4_M1]: ["ldc.i4.m1", 2, 1, 0, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_LDC_I4_0]: ["ldc.i4.0", 2, 1, 0, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_LDC_I4_1]: ["ldc.i4.1", 2, 1, 0, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_LDC_I4_2]: ["ldc.i4.2", 2, 1, 0, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_LDC_I4_3]: ["ldc.i4.3", 2, 1, 0, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_LDC_I4_4]: ["ldc.i4.4", 2, 1, 0, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_LDC_I4_5]: ["ldc.i4.5", 2, 1, 0, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_LDC_I4_6]: ["ldc.i4.6", 2, 1, 0, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_LDC_I4_7]: ["ldc.i4.7", 2, 1, 0, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_LDC_I4_8]: ["ldc.i4.8", 2, 1, 0, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_LDC_I4_S]: ["ldc.i4.s", 3, 1, 0, MintOpArgType.MintOpShortInt],
- [MintOpcode.MINT_LDC_I4]: ["ldc.i4", 4, 1, 0, MintOpArgType.MintOpInt],
-
- [MintOpcode.MINT_LDC_I8_0]: ["ldc.i8.0", 2, 1, 0, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_LDC_I8_S]: ["ldc.i8.s", 3, 1, 0, MintOpArgType.MintOpShortInt],
- [MintOpcode.MINT_LDC_I8]: ["ldc.i8", 6, 1, 0, MintOpArgType.MintOpLongInt],
-
- [MintOpcode.MINT_LDC_R4]: ["ldc.r4", 4, 1, 0, MintOpArgType.MintOpFloat],
- [MintOpcode.MINT_LDC_R8]: ["ldc.r8", 6, 1, 0, MintOpArgType.MintOpDouble],
-
- [MintOpcode.MINT_INIT_ARGLIST]: ["init_arglist", 3, 1, 0, MintOpArgType.MintOpNoArgs],
-
- [MintOpcode.MINT_LDFLD_I1]: ["ldfld.i1", 4, 1, 1, MintOpArgType.MintOpUShortInt],
- [MintOpcode.MINT_LDFLD_U1]: ["ldfld.u1", 4, 1, 1, MintOpArgType.MintOpUShortInt],
- [MintOpcode.MINT_LDFLD_I2]: ["ldfld.i2", 4, 1, 1, MintOpArgType.MintOpUShortInt],
- [MintOpcode.MINT_LDFLD_U2]: ["ldfld.u2", 4, 1, 1, MintOpArgType.MintOpUShortInt],
- [MintOpcode.MINT_LDFLD_I4]: ["ldfld.i4", 4, 1, 1, MintOpArgType.MintOpUShortInt],
- [MintOpcode.MINT_LDFLD_I8]: ["ldfld.i8", 4, 1, 1, MintOpArgType.MintOpUShortInt],
- [MintOpcode.MINT_LDFLD_R4]: ["ldfld.r4", 4, 1, 1, MintOpArgType.MintOpUShortInt],
- [MintOpcode.MINT_LDFLD_R8]: ["ldfld.r8", 4, 1, 1, MintOpArgType.MintOpUShortInt],
- [MintOpcode.MINT_LDFLD_O]: ["ldfld.o", 4, 1, 1, MintOpArgType.MintOpUShortInt],
- [MintOpcode.MINT_LDFLD_VT]: ["ldfld.vt", 5, 1, 1, MintOpArgType.MintOpShortInt],
- [MintOpcode.MINT_LDFLD_I8_UNALIGNED]: ["ldfld.i8.unaligned", 4, 1, 1, MintOpArgType.MintOpUShortInt],
- [MintOpcode.MINT_LDFLD_R8_UNALIGNED]: ["ldfld.r8.unaligned", 4, 1, 1, MintOpArgType.MintOpUShortInt],
-
- [MintOpcode.MINT_LDFLDA]: ["ldflda", 4, 1, 1, MintOpArgType.MintOpUShortInt],
- [MintOpcode.MINT_LDFLDA_UNSAFE]: ["ldflda.unsafe", 4, 1, 1, MintOpArgType.MintOpUShortInt],
-
- [MintOpcode.MINT_STFLD_I1]: ["stfld.i1", 4, 0, 2, MintOpArgType.MintOpUShortInt],
- [MintOpcode.MINT_STFLD_U1]: ["stfld.u1", 4, 0, 2, MintOpArgType.MintOpUShortInt],
- [MintOpcode.MINT_STFLD_I2]: ["stfld.i2", 4, 0, 2, MintOpArgType.MintOpUShortInt],
- [MintOpcode.MINT_STFLD_U2]: ["stfld.u2", 4, 0, 2, MintOpArgType.MintOpUShortInt],
- [MintOpcode.MINT_STFLD_I4]: ["stfld.i4", 4, 0, 2, MintOpArgType.MintOpUShortInt],
- [MintOpcode.MINT_STFLD_I8]: ["stfld.i8", 4, 0, 2, MintOpArgType.MintOpUShortInt],
- [MintOpcode.MINT_STFLD_R4]: ["stfld.r4", 4, 0, 2, MintOpArgType.MintOpUShortInt],
- [MintOpcode.MINT_STFLD_R8]: ["stfld.r8", 4, 0, 2, MintOpArgType.MintOpUShortInt],
- [MintOpcode.MINT_STFLD_O]: ["stfld.o", 4, 0, 2, MintOpArgType.MintOpUShortInt],
- [MintOpcode.MINT_STFLD_VT]: ["stfld.vt", 5, 0, 2, MintOpArgType.MintOpTwoShorts],
- [MintOpcode.MINT_STFLD_VT_NOREF]: ["stfld.vt.noref", 5, 0, 2, MintOpArgType.MintOpTwoShorts],
- [MintOpcode.MINT_STFLD_I8_UNALIGNED]: ["stfld.i8.unaligned", 4, 0, 2, MintOpArgType.MintOpUShortInt],
- [MintOpcode.MINT_STFLD_R8_UNALIGNED]: ["stfld.r8.unaligned", 4, 0, 2, MintOpArgType.MintOpUShortInt],
-
- [MintOpcode.MINT_LDSFLD_I1]: ["ldsfld.i1", 4, 1, 0, MintOpArgType.MintOpUShortInt],
- [MintOpcode.MINT_LDSFLD_U1]: ["ldsfld.u1", 4, 1, 0, MintOpArgType.MintOpUShortInt],
- [MintOpcode.MINT_LDSFLD_I2]: ["ldsfld.i2", 4, 1, 0, MintOpArgType.MintOpUShortInt],
- [MintOpcode.MINT_LDSFLD_U2]: ["ldsfld.u2", 4, 1, 0, MintOpArgType.MintOpUShortInt],
- [MintOpcode.MINT_LDSFLD_I4]: ["ldsfld.i4", 4, 1, 0, MintOpArgType.MintOpUShortInt],
- [MintOpcode.MINT_LDSFLD_I8]: ["ldsfld.i8", 4, 1, 0, MintOpArgType.MintOpUShortInt],
- [MintOpcode.MINT_LDSFLD_R4]: ["ldsfld.r4", 4, 1, 0, MintOpArgType.MintOpUShortInt],
- [MintOpcode.MINT_LDSFLD_R8]: ["ldsfld.r8", 4, 1, 0, MintOpArgType.MintOpUShortInt],
- [MintOpcode.MINT_LDSFLD_O]: ["ldsfld.o", 4, 1, 0, MintOpArgType.MintOpUShortInt],
- [MintOpcode.MINT_LDSFLD_VT]: ["ldsfld.vt", 5, 1, 0, MintOpArgType.MintOpTwoShorts],
- [MintOpcode.MINT_LDSFLD_W]: ["ldsfld.w", 8, 1, 0, MintOpArgType.MintOpTwoInts],
-
- [MintOpcode.MINT_STSFLD_I1]: ["stsfld.i1", 4, 0, 1, MintOpArgType.MintOpUShortInt],
- [MintOpcode.MINT_STSFLD_U1]: ["stsfld.u1", 4, 0, 1, MintOpArgType.MintOpUShortInt],
- [MintOpcode.MINT_STSFLD_I2]: ["stsfld.i2", 4, 0, 1, MintOpArgType.MintOpUShortInt],
- [MintOpcode.MINT_STSFLD_U2]: ["stsfld.u2", 4, 0, 1, MintOpArgType.MintOpUShortInt],
- [MintOpcode.MINT_STSFLD_I4]: ["stsfld.i4", 4, 0, 1, MintOpArgType.MintOpUShortInt],
- [MintOpcode.MINT_STSFLD_I8]: ["stsfld.i8", 4, 0, 1, MintOpArgType.MintOpUShortInt],
- [MintOpcode.MINT_STSFLD_R4]: ["stsfld.r4", 4, 0, 1, MintOpArgType.MintOpUShortInt],
- [MintOpcode.MINT_STSFLD_R8]: ["stsfld.r8", 4, 0, 1, MintOpArgType.MintOpUShortInt],
- [MintOpcode.MINT_STSFLD_O]: ["stsfld.o", 4, 0, 1, MintOpArgType.MintOpUShortInt],
- [MintOpcode.MINT_STSFLD_VT]: ["stsfld.vt", 5, 0, 1, MintOpArgType.MintOpTwoShorts],
- [MintOpcode.MINT_STSFLD_W]: ["stsfld.w", 8, 0, 1, MintOpArgType.MintOpTwoInts],
- [MintOpcode.MINT_LDSFLDA]: ["ldsflda", 4, 1, 0, MintOpArgType.MintOpTwoShorts],
- [MintOpcode.MINT_LDTSFLDA]: ["ldtsflda", 4, 1, 0, MintOpArgType.MintOpInt],
-
- [MintOpcode.MINT_MOV_SRC_OFF]: ["mov.src.off", 6, 1, 1, MintOpArgType.MintOpTwoShorts],
- [MintOpcode.MINT_MOV_DST_OFF]: ["mov.dst.off", 6, 1, 1, MintOpArgType.MintOpTwoShorts],
-
- [MintOpcode.MINT_MOV_I4_I1]: ["mov.i4.i1", 3, 1, 1, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_MOV_I4_U1]: ["mov.i4.u1", 3, 1, 1, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_MOV_I4_I2]: ["mov.i4.i2", 3, 1, 1, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_MOV_I4_U2]: ["mov.i4.u2", 3, 1, 1, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_MOV_1]: ["mov.1", 3, 1, 1, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_MOV_2]: ["mov.2", 3, 1, 1, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_MOV_4]: ["mov.4", 3, 1, 1, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_MOV_8]: ["mov.8", 3, 1, 1, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_MOV_VT]: ["mov.vt", 4, 1, 1, MintOpArgType.MintOpShortInt],
-
- // These opcodes represent multiple moves stacked together. They have multiple src and dst
- // but they are not represented here. They are generated by the var offset allocator.
- [MintOpcode.MINT_MOV_8_2]: ["mov.8.2", 5, 0, 0, MintOpArgType.MintOpPair2],
- [MintOpcode.MINT_MOV_8_3]: ["mov.8.3", 7, 0, 0, MintOpArgType.MintOpPair3],
- [MintOpcode.MINT_MOV_8_4]: ["mov.8.4", 9, 0, 0, MintOpArgType.MintOpPair4],
-
- [MintOpcode.MINT_LDLOCA_S]: ["ldloca.s", 3, 1, 0, MintOpArgType.MintOpUShortInt],
-
- [MintOpcode.MINT_LDIND_I1]: ["ldind.i1", 3, 1, 1, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_LDIND_U1]: ["ldind.u1", 3, 1, 1, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_LDIND_I2]: ["ldind.i2", 3, 1, 1, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_LDIND_U2]: ["ldind.u2", 3, 1, 1, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_LDIND_I4]: ["ldind.i4", 3, 1, 1, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_LDIND_I8]: ["ldind.i8", 3, 1, 1, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_LDIND_R4]: ["ldind.r4", 3, 1, 1, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_LDIND_R8]: ["ldind.r8", 3, 1, 1, MintOpArgType.MintOpNoArgs],
-
- [MintOpcode.MINT_LDIND_OFFSET_I1]: ["ldind_off.i1", 4, 1, 2, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_LDIND_OFFSET_U1]: ["ldind_off.u1", 4, 1, 2, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_LDIND_OFFSET_I2]: ["ldind_off.i2", 4, 1, 2, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_LDIND_OFFSET_U2]: ["ldind_off.u2", 4, 1, 2, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_LDIND_OFFSET_I4]: ["ldind_off.i4", 4, 1, 2, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_LDIND_OFFSET_I8]: ["ldind_off.i8", 4, 1, 2, MintOpArgType.MintOpNoArgs],
-
- [MintOpcode.MINT_LDIND_OFFSET_IMM_I1]: ["ldind_off_imm.i1", 4, 1, 1, MintOpArgType.MintOpShortInt],
- [MintOpcode.MINT_LDIND_OFFSET_IMM_U1]: ["ldind_off_imm.u1", 4, 1, 1, MintOpArgType.MintOpShortInt],
- [MintOpcode.MINT_LDIND_OFFSET_IMM_I2]: ["ldind_off_imm.i2", 4, 1, 1, MintOpArgType.MintOpShortInt],
- [MintOpcode.MINT_LDIND_OFFSET_IMM_U2]: ["ldind_off_imm.u2", 4, 1, 1, MintOpArgType.MintOpShortInt],
- [MintOpcode.MINT_LDIND_OFFSET_IMM_I4]: ["ldind_off_imm.i4", 4, 1, 1, MintOpArgType.MintOpShortInt],
- [MintOpcode.MINT_LDIND_OFFSET_IMM_I8]: ["ldind_off_imm.i8", 4, 1, 1, MintOpArgType.MintOpShortInt],
-
- [MintOpcode.MINT_STIND_I1]: ["stind.i1", 3, 0, 2, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_STIND_I2]: ["stind.i2", 3, 0, 2, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_STIND_I4]: ["stind.i4", 3, 0, 2, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_STIND_I8]: ["stind.i8", 3, 0, 2, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_STIND_R4]: ["stind.r4", 3, 0, 2, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_STIND_R8]: ["stind.r8", 3, 0, 2, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_STIND_REF]: ["stind.ref", 3, 0, 2, MintOpArgType.MintOpNoArgs],
-
- [MintOpcode.MINT_STIND_OFFSET_I1]: ["stind_off.i1", 4, 0, 3, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_STIND_OFFSET_I2]: ["stind_off.i2", 4, 0, 3, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_STIND_OFFSET_I4]: ["stind_off.i4", 4, 0, 3, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_STIND_OFFSET_I8]: ["stind_off.i8", 4, 0, 3, MintOpArgType.MintOpNoArgs],
-
- [MintOpcode.MINT_STIND_OFFSET_IMM_I1]: ["stind_off_imm.i1", 4, 0, 2, MintOpArgType.MintOpShortInt],
- [MintOpcode.MINT_STIND_OFFSET_IMM_I2]: ["stind_off_imm.i2", 4, 0, 2, MintOpArgType.MintOpShortInt],
- [MintOpcode.MINT_STIND_OFFSET_IMM_I4]: ["stind_off_imm.i4", 4, 0, 2, MintOpArgType.MintOpShortInt],
- [MintOpcode.MINT_STIND_OFFSET_IMM_I8]: ["stind_off_imm.i8", 4, 0, 2, MintOpArgType.MintOpShortInt],
-
- [MintOpcode.MINT_BR]: ["br", 3, 0, 0, MintOpArgType.MintOpBranch],
- [MintOpcode.MINT_LEAVE]: ["leave", 3, 0, 0, MintOpArgType.MintOpBranch],
- [MintOpcode.MINT_LEAVE_CHECK]: ["leave.check", 3, 0, 0, MintOpArgType.MintOpBranch],
- [MintOpcode.MINT_BR_S]: ["br.s", 2, 0, 0, MintOpArgType.MintOpShortBranch],
- [MintOpcode.MINT_LEAVE_S]: ["leave.s", 2, 0, 0, MintOpArgType.MintOpShortBranch],
- [MintOpcode.MINT_LEAVE_S_CHECK]: ["leave.s.check", 2, 0, 0, MintOpArgType.MintOpShortBranch],
- [MintOpcode.MINT_CALL_HANDLER]: ["call_handler", 4, 0, 0, MintOpArgType.MintOpBranch],
- [MintOpcode.MINT_CALL_HANDLER_S]: ["call_handler.s", 3, 0, 0, MintOpArgType.MintOpShortBranch],
-
- [MintOpcode.MINT_THROW]: ["throw", 2, 0, 1, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_RETHROW]: ["rethrow", 2, 0, 0, MintOpArgType.MintOpUShortInt],
- [MintOpcode.MINT_ENDFINALLY]: ["endfinally", 2, 0, 0, MintOpArgType.MintOpShortInt],
- [MintOpcode.MINT_MONO_RETHROW]: ["mono_rethrow", 2, 0, 1, MintOpArgType.MintOpNoArgs],
-
- [MintOpcode.MINT_SAFEPOINT]: ["safepoint", 1, 0, 0, MintOpArgType.MintOpNoArgs],
-
- [MintOpcode.MINT_BRFALSE_I4]: ["brfalse.i4", 4, 0, 1, MintOpArgType.MintOpBranch],
- [MintOpcode.MINT_BRFALSE_I8]: ["brfalse.i8", 4, 0, 1, MintOpArgType.MintOpBranch],
- [MintOpcode.MINT_BRFALSE_R4]: ["brfalse.r4", 4, 0, 1, MintOpArgType.MintOpBranch],
- [MintOpcode.MINT_BRFALSE_R8]: ["brfalse.r8", 4, 0, 1, MintOpArgType.MintOpBranch],
- [MintOpcode.MINT_BRTRUE_I4]: ["brtrue.i4", 4, 0, 1, MintOpArgType.MintOpBranch],
- [MintOpcode.MINT_BRTRUE_I8]: ["brtrue.i8", 4, 0, 1, MintOpArgType.MintOpBranch],
- [MintOpcode.MINT_BRTRUE_R4]: ["brtrue.r4", 4, 0, 1, MintOpArgType.MintOpBranch],
- [MintOpcode.MINT_BRTRUE_R8]: ["brtrue.r8", 4, 0, 1, MintOpArgType.MintOpBranch],
-
- [MintOpcode.MINT_BRFALSE_I4_S]: ["brfalse.i4.s", 3, 0, 1, MintOpArgType.MintOpShortBranch],
- [MintOpcode.MINT_BRFALSE_I8_S]: ["brfalse.i8.s", 3, 0, 1, MintOpArgType.MintOpShortBranch],
- [MintOpcode.MINT_BRFALSE_R4_S]: ["brfalse.r4.s", 3, 0, 1, MintOpArgType.MintOpShortBranch],
- [MintOpcode.MINT_BRFALSE_R8_S]: ["brfalse.r8.s", 3, 0, 1, MintOpArgType.MintOpShortBranch],
- [MintOpcode.MINT_BRTRUE_I4_S]: ["brtrue.i4.s", 3, 0, 1, MintOpArgType.MintOpShortBranch],
- [MintOpcode.MINT_BRTRUE_I8_S]: ["brtrue.i8.s", 3, 0, 1, MintOpArgType.MintOpShortBranch],
- [MintOpcode.MINT_BRTRUE_R4_S]: ["brtrue.r4.s", 3, 0, 1, MintOpArgType.MintOpShortBranch],
- [MintOpcode.MINT_BRTRUE_R8_S]: ["brtrue.r8.s", 3, 0, 1, MintOpArgType.MintOpShortBranch],
-
- [MintOpcode.MINT_BEQ_I4]: ["beq.i4", 5, 0, 2, MintOpArgType.MintOpBranch],
- [MintOpcode.MINT_BEQ_I8]: ["beq.i8", 5, 0, 2, MintOpArgType.MintOpBranch],
- [MintOpcode.MINT_BEQ_R4]: ["beq.r4", 5, 0, 2, MintOpArgType.MintOpBranch],
- [MintOpcode.MINT_BEQ_R8]: ["beq.r8", 5, 0, 2, MintOpArgType.MintOpBranch],
- [MintOpcode.MINT_BGE_I4]: ["bge.i4", 5, 0, 2, MintOpArgType.MintOpBranch],
- [MintOpcode.MINT_BGE_I8]: ["bge.i8", 5, 0, 2, MintOpArgType.MintOpBranch],
- [MintOpcode.MINT_BGE_R4]: ["bge.r4", 5, 0, 2, MintOpArgType.MintOpBranch],
- [MintOpcode.MINT_BGE_R8]: ["bge.r8", 5, 0, 2, MintOpArgType.MintOpBranch],
- [MintOpcode.MINT_BGT_I4]: ["bgt.i4", 5, 0, 2, MintOpArgType.MintOpBranch],
- [MintOpcode.MINT_BGT_I8]: ["bgt.i8", 5, 0, 2, MintOpArgType.MintOpBranch],
- [MintOpcode.MINT_BGT_R4]: ["bgt.r4", 5, 0, 2, MintOpArgType.MintOpBranch],
- [MintOpcode.MINT_BGT_R8]: ["bgt.r8", 5, 0, 2, MintOpArgType.MintOpBranch],
- [MintOpcode.MINT_BLT_I4]: ["blt.i4", 5, 0, 2, MintOpArgType.MintOpBranch],
- [MintOpcode.MINT_BLT_I8]: ["blt.i8", 5, 0, 2, MintOpArgType.MintOpBranch],
- [MintOpcode.MINT_BLT_R4]: ["blt.r4", 5, 0, 2, MintOpArgType.MintOpBranch],
- [MintOpcode.MINT_BLT_R8]: ["blt.r8", 5, 0, 2, MintOpArgType.MintOpBranch],
- [MintOpcode.MINT_BLE_I4]: ["ble.i4", 5, 0, 2, MintOpArgType.MintOpBranch],
- [MintOpcode.MINT_BLE_I8]: ["ble.i8", 5, 0, 2, MintOpArgType.MintOpBranch],
- [MintOpcode.MINT_BLE_R4]: ["ble.r4", 5, 0, 2, MintOpArgType.MintOpBranch],
- [MintOpcode.MINT_BLE_R8]: ["ble.r8", 5, 0, 2, MintOpArgType.MintOpBranch],
-
- [MintOpcode.MINT_BNE_UN_I4]: ["bne.un.i4", 5, 0, 2, MintOpArgType.MintOpBranch],
- [MintOpcode.MINT_BNE_UN_I8]: ["bne.un.i8", 5, 0, 2, MintOpArgType.MintOpBranch],
- [MintOpcode.MINT_BNE_UN_R4]: ["bne.un.r4", 5, 0, 2, MintOpArgType.MintOpBranch],
- [MintOpcode.MINT_BNE_UN_R8]: ["bne.un.r8", 5, 0, 2, MintOpArgType.MintOpBranch],
- [MintOpcode.MINT_BGE_UN_I4]: ["bge.un.i4", 5, 0, 2, MintOpArgType.MintOpBranch],
- [MintOpcode.MINT_BGE_UN_I8]: ["bge.un.i8", 5, 0, 2, MintOpArgType.MintOpBranch],
- [MintOpcode.MINT_BGE_UN_R4]: ["bge.un.r4", 5, 0, 2, MintOpArgType.MintOpBranch],
- [MintOpcode.MINT_BGE_UN_R8]: ["bge.un.r8", 5, 0, 2, MintOpArgType.MintOpBranch],
- [MintOpcode.MINT_BGT_UN_I4]: ["bgt.un.i4", 5, 0, 2, MintOpArgType.MintOpBranch],
- [MintOpcode.MINT_BGT_UN_I8]: ["bgt.un.i8", 5, 0, 2, MintOpArgType.MintOpBranch],
- [MintOpcode.MINT_BGT_UN_R4]: ["bgt.un.r4", 5, 0, 2, MintOpArgType.MintOpBranch],
- [MintOpcode.MINT_BGT_UN_R8]: ["bgt.un.r8", 5, 0, 2, MintOpArgType.MintOpBranch],
- [MintOpcode.MINT_BLE_UN_I4]: ["ble.un.i4", 5, 0, 2, MintOpArgType.MintOpBranch],
- [MintOpcode.MINT_BLE_UN_I8]: ["ble.un.i8", 5, 0, 2, MintOpArgType.MintOpBranch],
- [MintOpcode.MINT_BLE_UN_R4]: ["ble.un.r4", 5, 0, 2, MintOpArgType.MintOpBranch],
- [MintOpcode.MINT_BLE_UN_R8]: ["ble.un.r8", 5, 0, 2, MintOpArgType.MintOpBranch],
- [MintOpcode.MINT_BLT_UN_I4]: ["blt.un.i4", 5, 0, 2, MintOpArgType.MintOpBranch],
- [MintOpcode.MINT_BLT_UN_I8]: ["blt.un.i8", 5, 0, 2, MintOpArgType.MintOpBranch],
- [MintOpcode.MINT_BLT_UN_R4]: ["blt.un.r4", 5, 0, 2, MintOpArgType.MintOpBranch],
- [MintOpcode.MINT_BLT_UN_R8]: ["blt.un.r8", 5, 0, 2, MintOpArgType.MintOpBranch],
-
- [MintOpcode.MINT_BEQ_I4_S]: ["beq.i4.s", 4, 0, 2, MintOpArgType.MintOpShortBranch],
- [MintOpcode.MINT_BEQ_I8_S]: ["beq.i8.s", 4, 0, 2, MintOpArgType.MintOpShortBranch],
- [MintOpcode.MINT_BEQ_R4_S]: ["beq.r4.s", 4, 0, 2, MintOpArgType.MintOpShortBranch],
- [MintOpcode.MINT_BEQ_R8_S]: ["beq.r8.s", 4, 0, 2, MintOpArgType.MintOpShortBranch],
- [MintOpcode.MINT_BGE_I4_S]: ["bge.i4.s", 4, 0, 2, MintOpArgType.MintOpShortBranch],
- [MintOpcode.MINT_BGE_I8_S]: ["bge.i8.s", 4, 0, 2, MintOpArgType.MintOpShortBranch],
- [MintOpcode.MINT_BGE_R4_S]: ["bge.r4.s", 4, 0, 2, MintOpArgType.MintOpShortBranch],
- [MintOpcode.MINT_BGE_R8_S]: ["bge.r8.s", 4, 0, 2, MintOpArgType.MintOpShortBranch],
- [MintOpcode.MINT_BGT_I4_S]: ["bgt.i4.s", 4, 0, 2, MintOpArgType.MintOpShortBranch],
- [MintOpcode.MINT_BGT_I8_S]: ["bgt.i8.s", 4, 0, 2, MintOpArgType.MintOpShortBranch],
- [MintOpcode.MINT_BGT_R4_S]: ["bgt.r4.s", 4, 0, 2, MintOpArgType.MintOpShortBranch],
- [MintOpcode.MINT_BGT_R8_S]: ["bgt.r8.s", 4, 0, 2, MintOpArgType.MintOpShortBranch],
- [MintOpcode.MINT_BLT_I4_S]: ["blt.i4.s", 4, 0, 2, MintOpArgType.MintOpShortBranch],
- [MintOpcode.MINT_BLT_I8_S]: ["blt.i8.s", 4, 0, 2, MintOpArgType.MintOpShortBranch],
- [MintOpcode.MINT_BLT_R4_S]: ["blt.r4.s", 4, 0, 2, MintOpArgType.MintOpShortBranch],
- [MintOpcode.MINT_BLT_R8_S]: ["blt.r8.s", 4, 0, 2, MintOpArgType.MintOpShortBranch],
- [MintOpcode.MINT_BLE_I4_S]: ["ble.i4.s", 4, 0, 2, MintOpArgType.MintOpShortBranch],
- [MintOpcode.MINT_BLE_I8_S]: ["ble.i8.s", 4, 0, 2, MintOpArgType.MintOpShortBranch],
- [MintOpcode.MINT_BLE_R4_S]: ["ble.r4.s", 4, 0, 2, MintOpArgType.MintOpShortBranch],
- [MintOpcode.MINT_BLE_R8_S]: ["ble.r8.s", 4, 0, 2, MintOpArgType.MintOpShortBranch],
-
- [MintOpcode.MINT_BNE_UN_I4_S]: ["bne.un.i4.s", 4, 0, 2, MintOpArgType.MintOpShortBranch],
- [MintOpcode.MINT_BNE_UN_I8_S]: ["bne.un.i8.s", 4, 0, 2, MintOpArgType.MintOpShortBranch],
- [MintOpcode.MINT_BNE_UN_R4_S]: ["bne.un.r4.s", 4, 0, 2, MintOpArgType.MintOpShortBranch],
- [MintOpcode.MINT_BNE_UN_R8_S]: ["bne.un.r8.s", 4, 0, 2, MintOpArgType.MintOpShortBranch],
- [MintOpcode.MINT_BGE_UN_I4_S]: ["bge.un.i4.s", 4, 0, 2, MintOpArgType.MintOpShortBranch],
- [MintOpcode.MINT_BGE_UN_I8_S]: ["bge.un.i8.s", 4, 0, 2, MintOpArgType.MintOpShortBranch],
- [MintOpcode.MINT_BGE_UN_R4_S]: ["bge.un.r4.s", 4, 0, 2, MintOpArgType.MintOpShortBranch],
- [MintOpcode.MINT_BGE_UN_R8_S]: ["bge.un.r8.s", 4, 0, 2, MintOpArgType.MintOpShortBranch],
- [MintOpcode.MINT_BGT_UN_I4_S]: ["bgt.un.i4.s", 4, 0, 2, MintOpArgType.MintOpShortBranch],
- [MintOpcode.MINT_BGT_UN_I8_S]: ["bgt.un.i8.s", 4, 0, 2, MintOpArgType.MintOpShortBranch],
- [MintOpcode.MINT_BGT_UN_R4_S]: ["bgt.un.r4.s", 4, 0, 2, MintOpArgType.MintOpShortBranch],
- [MintOpcode.MINT_BGT_UN_R8_S]: ["bgt.un.r8.s", 4, 0, 2, MintOpArgType.MintOpShortBranch],
- [MintOpcode.MINT_BLE_UN_I4_S]: ["ble.un.i4.s", 4, 0, 2, MintOpArgType.MintOpShortBranch],
- [MintOpcode.MINT_BLE_UN_I8_S]: ["ble.un.i8.s", 4, 0, 2, MintOpArgType.MintOpShortBranch],
- [MintOpcode.MINT_BLE_UN_R4_S]: ["ble.un.r4.s", 4, 0, 2, MintOpArgType.MintOpShortBranch],
- [MintOpcode.MINT_BLE_UN_R8_S]: ["ble.un.r8.s", 4, 0, 2, MintOpArgType.MintOpShortBranch],
- [MintOpcode.MINT_BLT_UN_I4_S]: ["blt.un.i4.s", 4, 0, 2, MintOpArgType.MintOpShortBranch],
- [MintOpcode.MINT_BLT_UN_I8_S]: ["blt.un.i8.s", 4, 0, 2, MintOpArgType.MintOpShortBranch],
- [MintOpcode.MINT_BLT_UN_R4_S]: ["blt.un.r4.s", 4, 0, 2, MintOpArgType.MintOpShortBranch],
- [MintOpcode.MINT_BLT_UN_R8_S]: ["blt.un.r8.s", 4, 0, 2, MintOpArgType.MintOpShortBranch],
-
- [MintOpcode.MINT_BRFALSE_I4_SP]: ["brfalse.i4.sp", 3, 0, 1, MintOpArgType.MintOpShortBranch],
- [MintOpcode.MINT_BRFALSE_I8_SP]: ["brfalse.i8.sp", 3, 0, 1, MintOpArgType.MintOpShortBranch],
- [MintOpcode.MINT_BRTRUE_I4_SP]: ["brtrue.i4.sp", 3, 0, 1, MintOpArgType.MintOpShortBranch],
- [MintOpcode.MINT_BRTRUE_I8_SP]: ["brtrue.i8.sp", 3, 0, 1, MintOpArgType.MintOpShortBranch],
-
- [MintOpcode.MINT_BEQ_I4_SP]: ["beq.i4.sp", 4, 0, 2, MintOpArgType.MintOpShortBranch],
- [MintOpcode.MINT_BEQ_I8_SP]: ["beq.i8.sp", 4, 0, 2, MintOpArgType.MintOpShortBranch],
- [MintOpcode.MINT_BGE_I4_SP]: ["bge.i4.sp", 4, 0, 2, MintOpArgType.MintOpShortBranch],
- [MintOpcode.MINT_BGE_I8_SP]: ["bge.i8.sp", 4, 0, 2, MintOpArgType.MintOpShortBranch],
- [MintOpcode.MINT_BGT_I4_SP]: ["bgt.i4.sp", 4, 0, 2, MintOpArgType.MintOpShortBranch],
- [MintOpcode.MINT_BGT_I8_SP]: ["bgt.i8.sp", 4, 0, 2, MintOpArgType.MintOpShortBranch],
- [MintOpcode.MINT_BLT_I4_SP]: ["blt.i4.sp", 4, 0, 2, MintOpArgType.MintOpShortBranch],
- [MintOpcode.MINT_BLT_I8_SP]: ["blt.i8.sp", 4, 0, 2, MintOpArgType.MintOpShortBranch],
- [MintOpcode.MINT_BLE_I4_SP]: ["ble.i4.sp", 4, 0, 2, MintOpArgType.MintOpShortBranch],
- [MintOpcode.MINT_BLE_I8_SP]: ["ble.i8.sp", 4, 0, 2, MintOpArgType.MintOpShortBranch],
-
- [MintOpcode.MINT_BNE_UN_I4_SP]: ["bne.un.i4.sp", 4, 0, 2, MintOpArgType.MintOpShortBranch],
- [MintOpcode.MINT_BNE_UN_I8_SP]: ["bne.un.i8.sp", 4, 0, 2, MintOpArgType.MintOpShortBranch],
- [MintOpcode.MINT_BGE_UN_I4_SP]: ["bge.un.i4.sp", 4, 0, 2, MintOpArgType.MintOpShortBranch],
- [MintOpcode.MINT_BGE_UN_I8_SP]: ["bge.un.i8.sp", 4, 0, 2, MintOpArgType.MintOpShortBranch],
- [MintOpcode.MINT_BGT_UN_I4_SP]: ["bgt.un.i4.sp", 4, 0, 2, MintOpArgType.MintOpShortBranch],
- [MintOpcode.MINT_BGT_UN_I8_SP]: ["bgt.un.i8.sp", 4, 0, 2, MintOpArgType.MintOpShortBranch],
- [MintOpcode.MINT_BLE_UN_I4_SP]: ["ble.un.i4.sp", 4, 0, 2, MintOpArgType.MintOpShortBranch],
- [MintOpcode.MINT_BLE_UN_I8_SP]: ["ble.un.i8.sp", 4, 0, 2, MintOpArgType.MintOpShortBranch],
- [MintOpcode.MINT_BLT_UN_I4_SP]: ["blt.un.i4.sp", 4, 0, 2, MintOpArgType.MintOpShortBranch],
- [MintOpcode.MINT_BLT_UN_I8_SP]: ["blt.un.i8.sp", 4, 0, 2, MintOpArgType.MintOpShortBranch],
-
- [MintOpcode.MINT_BEQ_I4_IMM_SP]: ["beq.i4.imm.sp", 4, 0, 1, MintOpArgType.MintOpShortAndShortBranch],
- [MintOpcode.MINT_BEQ_I8_IMM_SP]: ["beq.i8.imm.sp", 4, 0, 1, MintOpArgType.MintOpShortAndShortBranch],
- [MintOpcode.MINT_BGE_I4_IMM_SP]: ["bge.i4.imm.sp", 4, 0, 1, MintOpArgType.MintOpShortAndShortBranch],
- [MintOpcode.MINT_BGE_I8_IMM_SP]: ["bge.i8.imm.sp", 4, 0, 1, MintOpArgType.MintOpShortAndShortBranch],
- [MintOpcode.MINT_BGT_I4_IMM_SP]: ["bgt.i4.imm.sp", 4, 0, 1, MintOpArgType.MintOpShortAndShortBranch],
- [MintOpcode.MINT_BGT_I8_IMM_SP]: ["bgt.i8.imm.sp", 4, 0, 1, MintOpArgType.MintOpShortAndShortBranch],
- [MintOpcode.MINT_BLT_I4_IMM_SP]: ["blt.i4.imm.sp", 4, 0, 1, MintOpArgType.MintOpShortAndShortBranch],
- [MintOpcode.MINT_BLT_I8_IMM_SP]: ["blt.i8.imm.sp", 4, 0, 1, MintOpArgType.MintOpShortAndShortBranch],
- [MintOpcode.MINT_BLE_I4_IMM_SP]: ["ble.i4.imm.sp", 4, 0, 1, MintOpArgType.MintOpShortAndShortBranch],
- [MintOpcode.MINT_BLE_I8_IMM_SP]: ["ble.i8.imm.sp", 4, 0, 1, MintOpArgType.MintOpShortAndShortBranch],
-
- [MintOpcode.MINT_BNE_UN_I4_IMM_SP]: ["bne.un.i4.imm.sp", 4, 0, 1, MintOpArgType.MintOpShortAndShortBranch],
- [MintOpcode.MINT_BNE_UN_I8_IMM_SP]: ["bne.un.i8.imm.sp", 4, 0, 1, MintOpArgType.MintOpShortAndShortBranch],
- [MintOpcode.MINT_BGE_UN_I4_IMM_SP]: ["bge.un.i4.imm.sp", 4, 0, 1, MintOpArgType.MintOpShortAndShortBranch],
- [MintOpcode.MINT_BGE_UN_I8_IMM_SP]: ["bge.un.i8.imm.sp", 4, 0, 1, MintOpArgType.MintOpShortAndShortBranch],
- [MintOpcode.MINT_BGT_UN_I4_IMM_SP]: ["bgt.un.i4.imm.sp", 4, 0, 1, MintOpArgType.MintOpShortAndShortBranch],
- [MintOpcode.MINT_BGT_UN_I8_IMM_SP]: ["bgt.un.i8.imm.sp", 4, 0, 1, MintOpArgType.MintOpShortAndShortBranch],
- [MintOpcode.MINT_BLE_UN_I4_IMM_SP]: ["ble.un.i4.imm.sp", 4, 0, 1, MintOpArgType.MintOpShortAndShortBranch],
- [MintOpcode.MINT_BLE_UN_I8_IMM_SP]: ["ble.un.i8.imm.sp", 4, 0, 1, MintOpArgType.MintOpShortAndShortBranch],
- [MintOpcode.MINT_BLT_UN_I4_IMM_SP]: ["blt.un.i4.imm.sp", 4, 0, 1, MintOpArgType.MintOpShortAndShortBranch],
- [MintOpcode.MINT_BLT_UN_I8_IMM_SP]: ["blt.un.i8.imm.sp", 4, 0, 1, MintOpArgType.MintOpShortAndShortBranch],
-
-
- [MintOpcode.MINT_SWITCH]: ["switch", 0, 0, 1, MintOpArgType.MintOpSwitch],
-
- [MintOpcode.MINT_LDSTR]: ["ldstr", 3, 1, 0, MintOpArgType.MintOpShortInt],
- [MintOpcode.MINT_LDSTR_TOKEN]: ["ldstr.token", 3, 1, 0, MintOpArgType.MintOpShortInt],
-
- [MintOpcode.MINT_JMP]: ["jmp", 2, 0, 0, MintOpArgType.MintOpMethodToken],
-
- [MintOpcode.MINT_ENDFILTER]: ["endfilter", 2, 0, 1, MintOpArgType.MintOpNoArgs],
-
- [MintOpcode.MINT_NEWOBJ_SLOW_UNOPT]: ["newobj_slow_unopt", 5, 1, 0, MintOpArgType.MintOpMethodToken],
- [MintOpcode.MINT_NEWOBJ_STRING_UNOPT]: ["newobj_string_unopt", 4, 1, 0, MintOpArgType.MintOpMethodToken],
- [MintOpcode.MINT_NEWOBJ_SLOW]: ["newobj_slow", 4, 1, 1, MintOpArgType.MintOpMethodToken],
- [MintOpcode.MINT_NEWOBJ_ARRAY]: ["newobj_array", 5, 1, 1, MintOpArgType.MintOpMethodToken],
- [MintOpcode.MINT_NEWOBJ_STRING]: ["newobj_string", 4, 1, 1, MintOpArgType.MintOpMethodToken],
- [MintOpcode.MINT_NEWOBJ]: ["newobj", 5, 1, 1, MintOpArgType.MintOpMethodToken],
- [MintOpcode.MINT_NEWOBJ_INLINED]: ["newobj_inlined", 3, 1, 0, MintOpArgType.MintOpMethodToken],
- [MintOpcode.MINT_NEWOBJ_VT]: ["newobj_vt", 5, 1, 1, MintOpArgType.MintOpMethodToken],
- [MintOpcode.MINT_NEWOBJ_VT_INLINED]: ["newobj_vt_inlined", 4, 1, 1, MintOpArgType.MintOpMethodToken],
- [MintOpcode.MINT_INITOBJ]: ["initobj", 3, 0, 1, MintOpArgType.MintOpShortInt],
- [MintOpcode.MINT_CASTCLASS]: ["castclass", 4, 1, 1, MintOpArgType.MintOpClassToken],
- [MintOpcode.MINT_ISINST]: ["isinst", 4, 1, 1, MintOpArgType.MintOpClassToken],
- [MintOpcode.MINT_CASTCLASS_INTERFACE]: ["castclass.interface", 4, 1, 1, MintOpArgType.MintOpClassToken],
- [MintOpcode.MINT_ISINST_INTERFACE]: ["isinst.interface", 4, 1, 1, MintOpArgType.MintOpClassToken],
- [MintOpcode.MINT_CASTCLASS_COMMON]: ["castclass.common", 4, 1, 1, MintOpArgType.MintOpClassToken],
- [MintOpcode.MINT_ISINST_COMMON]: ["isinst.common", 4, 1, 1, MintOpArgType.MintOpClassToken],
- [MintOpcode.MINT_NEWARR]: ["newarr", 4, 1, 1, MintOpArgType.MintOpClassToken],
- [MintOpcode.MINT_BOX]: ["box", 4, 1, 1, MintOpArgType.MintOpShortInt],
- [MintOpcode.MINT_BOX_VT]: ["box.vt", 4, 1, 1, MintOpArgType.MintOpShortInt],
- [MintOpcode.MINT_BOX_PTR]: ["box.ptr", 4, 1, 1, MintOpArgType.MintOpShortInt],
- [MintOpcode.MINT_BOX_NULLABLE_PTR]: ["box.nullable.ptr", 4, 1, 1, MintOpArgType.MintOpShortInt],
- [MintOpcode.MINT_UNBOX]: ["unbox", 4, 1, 1, MintOpArgType.MintOpClassToken],
- [MintOpcode.MINT_LDTOKEN]: ["ldtoken", 3, 1, 0, MintOpArgType.MintOpShortInt],
- [MintOpcode.MINT_LDFTN]: ["ldftn", 3, 1, 0, MintOpArgType.MintOpMethodToken],
- [MintOpcode.MINT_LDFTN_ADDR]: ["ldftn_addr", 3, 1, 0, MintOpArgType.MintOpMethodToken],
- [MintOpcode.MINT_LDFTN_DYNAMIC]: ["ldftn.dynamic", 3, 1, 1, MintOpArgType.MintOpMethodToken],
- [MintOpcode.MINT_LDVIRTFTN]: ["ldvirtftn", 4, 1, 1, MintOpArgType.MintOpMethodToken],
- [MintOpcode.MINT_CPOBJ]: ["cpobj", 4, 0, 2, MintOpArgType.MintOpClassToken],
- [MintOpcode.MINT_CPOBJ_VT]: ["cpobj.vt", 4, 0, 2, MintOpArgType.MintOpClassToken],
- [MintOpcode.MINT_LDOBJ_VT]: ["ldobj.vt", 4, 1, 1, MintOpArgType.MintOpShortInt],
- [MintOpcode.MINT_STOBJ_VT]: ["stobj.vt", 4, 0, 2, MintOpArgType.MintOpClassToken],
- [MintOpcode.MINT_CPBLK]: ["cpblk", 4, 0, 3, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_INITBLK]: ["initblk", 4, 0, 3, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_LOCALLOC]: ["localloc", 3, 1, 1, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_INITLOCAL]: ["initlocal", 3, 1, 0, MintOpArgType.MintOpShortInt],
- [MintOpcode.MINT_INITLOCALS]: ["initlocals", 3, 0, 0, MintOpArgType.MintOpTwoShorts],
-
- [MintOpcode.MINT_LDELEM_I]: ["ldelem.i", 4, 1, 2, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_LDELEM_I1]: ["ldelem.i1", 4, 1, 2, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_LDELEM_U1]: ["ldelem.u1", 4, 1, 2, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_LDELEM_I2]: ["ldelem.i2", 4, 1, 2, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_LDELEM_U2]: ["ldelem.u2", 4, 1, 2, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_LDELEM_I4]: ["ldelem.i4", 4, 1, 2, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_LDELEM_U4]: ["ldelem.u4", 4, 1, 2, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_LDELEM_I8]: ["ldelem.i8", 4, 1, 2, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_LDELEM_R4]: ["ldelem.r4", 4, 1, 2, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_LDELEM_R8]: ["ldelem.r8", 4, 1, 2, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_LDELEM_REF]: ["ldelem.ref", 4, 1, 2, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_LDELEM_VT]: ["ldelem.vt", 5, 1, 2, MintOpArgType.MintOpShortInt],
-
- [MintOpcode.MINT_LDELEMA1]: ["ldelema1", 5, 1, 2, MintOpArgType.MintOpShortInt],
- [MintOpcode.MINT_LDELEMA]: ["ldelema", 5, 1, 1, MintOpArgType.MintOpTwoShorts],
- [MintOpcode.MINT_LDELEMA_TC]: ["ldelema.tc", 4, 1, 1, MintOpArgType.MintOpTwoShorts],
-
- [MintOpcode.MINT_STELEM_I]: ["stelem.i", 4, 0, 3, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_STELEM_I1]: ["stelem.i1", 4, 0, 3, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_STELEM_U1]: ["stelem.u1", 4, 0, 3, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_STELEM_I2]: ["stelem.i2", 4, 0, 3, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_STELEM_U2]: ["stelem.u2", 4, 0, 3, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_STELEM_I4]: ["stelem.i4", 4, 0, 3, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_STELEM_I8]: ["stelem.i8", 4, 0, 3, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_STELEM_R4]: ["stelem.r4", 4, 0, 3, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_STELEM_R8]: ["stelem.r8", 4, 0, 3, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_STELEM_REF]: ["stelem.ref", 4, 0, 3, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_STELEM_VT]: ["stelem.vt", 6, 0, 3, MintOpArgType.MintOpTwoShorts],
-
- [MintOpcode.MINT_LDLEN]: ["ldlen", 3, 1, 1, MintOpArgType.MintOpNoArgs],
-
- [MintOpcode.MINT_GETITEM_SPAN]: ["getitem.span", 5, 1, 2, MintOpArgType.MintOpTwoShorts],
- [MintOpcode.MINT_GETITEM_LOCALSPAN]: ["getitem.localspan", 5, 1, 2, MintOpArgType.MintOpTwoShorts],
-
- /* binops */
- [MintOpcode.MINT_ADD_I4]: ["add.i4", 4, 1, 2, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_ADD_I8]: ["add.i8", 4, 1, 2, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_ADD_R4]: ["add.r4", 4, 1, 2, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_ADD_R8]: ["add.r8", 4, 1, 2, MintOpArgType.MintOpNoArgs],
-
- [MintOpcode.MINT_SUB_I4]: ["sub.i4", 4, 1, 2, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_SUB_I8]: ["sub.i8", 4, 1, 2, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_SUB_R4]: ["sub.r4", 4, 1, 2, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_SUB_R8]: ["sub.r8", 4, 1, 2, MintOpArgType.MintOpNoArgs],
-
- [MintOpcode.MINT_MUL_I4]: ["mul.i4", 4, 1, 2, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_MUL_I8]: ["mul.i8", 4, 1, 2, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_MUL_R4]: ["mul.r4", 4, 1, 2, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_MUL_R8]: ["mul.r8", 4, 1, 2, MintOpArgType.MintOpNoArgs],
-
- [MintOpcode.MINT_DIV_I4]: ["div.i4", 4, 1, 2, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_DIV_I8]: ["div.i8", 4, 1, 2, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_DIV_R4]: ["div.r4", 4, 1, 2, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_DIV_R8]: ["div.r8", 4, 1, 2, MintOpArgType.MintOpNoArgs],
-
- [MintOpcode.MINT_DIV_UN_I4]: ["div.un.i4", 4, 1, 2, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_DIV_UN_I8]: ["div.un.i8", 4, 1, 2, MintOpArgType.MintOpNoArgs],
-
- [MintOpcode.MINT_ADD_OVF_I4]: ["add.ovf.i4", 4, 1, 2, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_ADD_OVF_I8]: ["add.ovf.i8", 4, 1, 2, MintOpArgType.MintOpNoArgs],
-
- [MintOpcode.MINT_ADD_OVF_UN_I4]: ["add.ovf.un.i4", 4, 1, 2, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_ADD_OVF_UN_I8]: ["add.ovf.un.i8", 4, 1, 2, MintOpArgType.MintOpNoArgs],
-
- [MintOpcode.MINT_MUL_OVF_I4]: ["mul.ovf.i4", 4, 1, 2, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_MUL_OVF_I8]: ["mul.ovf.i8", 4, 1, 2, MintOpArgType.MintOpNoArgs],
-
- [MintOpcode.MINT_MUL_OVF_UN_I4]: ["mul.ovf.un.i4", 4, 1, 2, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_MUL_OVF_UN_I8]: ["mul.ovf.un.i8", 4, 1, 2, MintOpArgType.MintOpNoArgs],
-
- [MintOpcode.MINT_SUB_OVF_I4]: ["sub.ovf.i4", 4, 1, 2, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_SUB_OVF_I8]: ["sub.ovf.i8", 4, 1, 2, MintOpArgType.MintOpNoArgs],
-
- [MintOpcode.MINT_SUB_OVF_UN_I4]: ["sub.ovf.un.i4", 4, 1, 2, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_SUB_OVF_UN_I8]: ["sub.ovf.un.i8", 4, 1, 2, MintOpArgType.MintOpNoArgs],
-
- [MintOpcode.MINT_AND_I4]: ["and.i4", 4, 1, 2, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_AND_I8]: ["and.i8", 4, 1, 2, MintOpArgType.MintOpNoArgs],
-
- [MintOpcode.MINT_OR_I4]: ["or.i4", 4, 1, 2, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_OR_I8]: ["or.i8", 4, 1, 2, MintOpArgType.MintOpNoArgs],
-
- [MintOpcode.MINT_XOR_I4]: ["xor.i4", 4, 1, 2, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_XOR_I8]: ["xor.i8", 4, 1, 2, MintOpArgType.MintOpNoArgs],
-
- [MintOpcode.MINT_REM_I4]: ["rem.i4", 4, 1, 2, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_REM_I8]: ["rem.i8", 4, 1, 2, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_REM_R4]: ["rem.r4", 4, 1, 2, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_REM_R8]: ["rem.r8", 4, 1, 2, MintOpArgType.MintOpNoArgs],
-
- [MintOpcode.MINT_REM_UN_I4]: ["rem.un.i4", 4, 1, 2, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_REM_UN_I8]: ["rem.un.i8", 4, 1, 2, MintOpArgType.MintOpNoArgs],
-
- // Shifts, keep in order with imm versions
- [MintOpcode.MINT_SHR_UN_I4]: ["shr.un.i4", 4, 1, 2, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_SHR_UN_I8]: ["shr.un.i8", 4, 1, 2, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_SHL_I4]: ["shl.i4", 4, 1, 2, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_SHL_I8]: ["shl.i8", 4, 1, 2, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_SHR_I4]: ["shr.i4", 4, 1, 2, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_SHR_I8]: ["shr.i8", 4, 1, 2, MintOpArgType.MintOpNoArgs],
-
- [MintOpcode.MINT_CEQ_I4]: ["ceq.i4", 4, 1, 2, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_CEQ_I8]: ["ceq.i8", 4, 1, 2, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_CEQ_R4]: ["ceq.r4", 4, 1, 2, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_CEQ_R8]: ["ceq.r8", 4, 1, 2, MintOpArgType.MintOpNoArgs],
-
- [MintOpcode.MINT_CNE_I4]: ["cne.i4", 4, 1, 2, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_CNE_I8]: ["cne.i8", 4, 1, 2, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_CNE_R4]: ["cne.r4", 4, 1, 2, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_CNE_R8]: ["cne.r8", 4, 1, 2, MintOpArgType.MintOpNoArgs],
-
- [MintOpcode.MINT_CGT_I4]: ["cgt.i4", 4, 1, 2, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_CGT_I8]: ["cgt.i8", 4, 1, 2, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_CGT_R4]: ["cgt.r4", 4, 1, 2, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_CGT_R8]: ["cgt.r8", 4, 1, 2, MintOpArgType.MintOpNoArgs],
-
- [MintOpcode.MINT_CGE_I4]: ["cge.i4", 4, 1, 2, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_CGE_I8]: ["cge.i8", 4, 1, 2, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_CGE_R4]: ["cge.r4", 4, 1, 2, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_CGE_R8]: ["cge.r8", 4, 1, 2, MintOpArgType.MintOpNoArgs],
-
- [MintOpcode.MINT_CGE_UN_I4]: ["cge.un.i4", 4, 1, 2, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_CGE_UN_I8]: ["cge.un.i8", 4, 1, 2, MintOpArgType.MintOpNoArgs],
-
- [MintOpcode.MINT_CGT_UN_I4]: ["cgt.un.i4", 4, 1, 2, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_CGT_UN_I8]: ["cgt.un.i8", 4, 1, 2, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_CGT_UN_R4]: ["cgt.un.r4", 4, 1, 2, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_CGT_UN_R8]: ["cgt.un.r8", 4, 1, 2, MintOpArgType.MintOpNoArgs],
-
- [MintOpcode.MINT_CLT_I4]: ["clt.i4", 4, 1, 2, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_CLT_I8]: ["clt.i8", 4, 1, 2, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_CLT_R4]: ["clt.r4", 4, 1, 2, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_CLT_R8]: ["clt.r8", 4, 1, 2, MintOpArgType.MintOpNoArgs],
-
- [MintOpcode.MINT_CLE_I4]: ["cle.i4", 4, 1, 2, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_CLE_I8]: ["cle.i8", 4, 1, 2, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_CLE_R4]: ["cle.r4", 4, 1, 2, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_CLE_R8]: ["cle.r8", 4, 1, 2, MintOpArgType.MintOpNoArgs],
-
- [MintOpcode.MINT_CLE_UN_I4]: ["cle.un.i4", 4, 1, 2, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_CLE_UN_I8]: ["cle.un.i8", 4, 1, 2, MintOpArgType.MintOpNoArgs],
-
- [MintOpcode.MINT_CLT_UN_I4]: ["clt.un.i4", 4, 1, 2, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_CLT_UN_I8]: ["clt.un.i8", 4, 1, 2, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_CLT_UN_R4]: ["clt.un.r4", 4, 1, 2, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_CLT_UN_R8]: ["clt.un.r8", 4, 1, 2, MintOpArgType.MintOpNoArgs],
- /* binops end */
-
- /* unops */
- [MintOpcode.MINT_ADD1_I4]: ["add1.i4", 3, 1, 1, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_ADD1_I8]: ["add1.i8", 3, 1, 1, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_SUB1_I4]: ["sub1.i4", 3, 1, 1, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_SUB1_I8]: ["sub1.i8", 3, 1, 1, MintOpArgType.MintOpNoArgs],
-
- [MintOpcode.MINT_NEG_I4]: ["neg.i4", 3, 1, 1, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_NEG_I8]: ["neg.i8", 3, 1, 1, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_NEG_R4]: ["neg.r4", 3, 1, 1, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_NEG_R8]: ["neg.r8", 3, 1, 1, MintOpArgType.MintOpNoArgs],
-
- [MintOpcode.MINT_NOT_I4]: ["not.i4", 3, 1, 1, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_NOT_I8]: ["not.i8", 3, 1, 1, MintOpArgType.MintOpNoArgs],
-
- [MintOpcode.MINT_CONV_R_UN_I4]: ["conv.r.un.i4", 3, 1, 1, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_CONV_R_UN_I8]: ["conv.r.un.i8", 3, 1, 1, MintOpArgType.MintOpNoArgs],
-
- [MintOpcode.MINT_CONV_I1_I4]: ["conv.i1.i4", 3, 1, 1, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_CONV_I1_I8]: ["conv.i1.i8", 3, 1, 1, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_CONV_I1_R4]: ["conv.i1.r4", 3, 1, 1, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_CONV_I1_R8]: ["conv.i1.r8", 3, 1, 1, MintOpArgType.MintOpNoArgs],
-
- [MintOpcode.MINT_CONV_U1_I4]: ["conv.u1.i4", 3, 1, 1, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_CONV_U1_I8]: ["conv.u1.i8", 3, 1, 1, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_CONV_U1_R4]: ["conv.u1.r4", 3, 1, 1, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_CONV_U1_R8]: ["conv.u1.r8", 3, 1, 1, MintOpArgType.MintOpNoArgs],
-
- [MintOpcode.MINT_CONV_I2_I4]: ["conv.i2.i4", 3, 1, 1, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_CONV_I2_I8]: ["conv.i2.i8", 3, 1, 1, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_CONV_I2_R4]: ["conv.i2.r4", 3, 1, 1, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_CONV_I2_R8]: ["conv.i2.r8", 3, 1, 1, MintOpArgType.MintOpNoArgs],
-
- [MintOpcode.MINT_CONV_U2_I4]: ["conv.u2.i4", 3, 1, 1, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_CONV_U2_I8]: ["conv.u2.i8", 3, 1, 1, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_CONV_U2_R4]: ["conv.u2.r4", 3, 1, 1, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_CONV_U2_R8]: ["conv.u2.r8", 3, 1, 1, MintOpArgType.MintOpNoArgs],
-
- [MintOpcode.MINT_CONV_I4_R4]: ["conv.i4.r4", 3, 1, 1, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_CONV_I4_R8]: ["conv.i4.r8", 3, 1, 1, MintOpArgType.MintOpNoArgs],
-
- [MintOpcode.MINT_CONV_U4_R4]: ["conv.u4.r4", 3, 1, 1, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_CONV_U4_R8]: ["conv.u4.r8", 3, 1, 1, MintOpArgType.MintOpNoArgs],
-
- [MintOpcode.MINT_CONV_I8_I4]: ["conv.i8.i4", 3, 1, 1, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_CONV_I8_U4]: ["conv.i8.u4", 3, 1, 1, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_CONV_I8_R4]: ["conv.i8.r4", 3, 1, 1, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_CONV_I8_R8]: ["conv.i8.r8", 3, 1, 1, MintOpArgType.MintOpNoArgs],
-
- [MintOpcode.MINT_CONV_R4_I4]: ["conv.r4.i4", 3, 1, 1, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_CONV_R4_I8]: ["conv.r4.i8", 3, 1, 1, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_CONV_R4_R8]: ["conv.r4.r8", 3, 1, 1, MintOpArgType.MintOpNoArgs],
-
- [MintOpcode.MINT_CONV_R8_I4]: ["conv.r8.i4", 3, 1, 1, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_CONV_R8_I8]: ["conv.r8.i8", 3, 1, 1, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_CONV_R8_R4]: ["conv.r8.r4", 3, 1, 1, MintOpArgType.MintOpNoArgs],
-
- [MintOpcode.MINT_CONV_U8_R4]: ["conv.u8.r4", 3, 1, 1, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_CONV_U8_R8]: ["conv.u8.r8", 3, 1, 1, MintOpArgType.MintOpNoArgs],
-
- [MintOpcode.MINT_CONV_OVF_I1_I4]: ["conv.ovf.i1.i4", 3, 1, 1, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_CONV_OVF_I1_I8]: ["conv.ovf.i1.i8", 3, 1, 1, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_CONV_OVF_I1_R4]: ["conv.ovf.i1.r4", 3, 1, 1, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_CONV_OVF_I1_R8]: ["conv.ovf.i1.r8", 3, 1, 1, MintOpArgType.MintOpNoArgs],
-
- [MintOpcode.MINT_CONV_OVF_I1_U4]: ["conv.ovf.i1.u4", 3, 1, 1, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_CONV_OVF_I1_U8]: ["conv.ovf.i1.u8", 3, 1, 1, MintOpArgType.MintOpNoArgs],
-
- [MintOpcode.MINT_CONV_OVF_U1_I4]: ["conv.ovf.u1.i4", 3, 1, 1, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_CONV_OVF_U1_I8]: ["conv.ovf.u1.i8", 3, 1, 1, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_CONV_OVF_U1_R4]: ["conv.ovf.u1.r4", 3, 1, 1, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_CONV_OVF_U1_R8]: ["conv.ovf.u1.r8", 3, 1, 1, MintOpArgType.MintOpNoArgs],
-
- [MintOpcode.MINT_CONV_OVF_I2_I4]: ["conv.ovf.i2.i4", 3, 1, 1, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_CONV_OVF_I2_I8]: ["conv.ovf.i2.i8", 3, 1, 1, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_CONV_OVF_I2_R4]: ["conv.ovf.i2.r4", 3, 1, 1, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_CONV_OVF_I2_R8]: ["conv.ovf.i2.r8", 3, 1, 1, MintOpArgType.MintOpNoArgs],
-
- [MintOpcode.MINT_CONV_OVF_I2_U4]: ["conv.ovf.i2.u4", 3, 1, 1, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_CONV_OVF_I2_U8]: ["conv.ovf.i2.u8", 3, 1, 1, MintOpArgType.MintOpNoArgs],
-
- [MintOpcode.MINT_CONV_OVF_U2_I4]: ["conv.ovf.u2.i4", 3, 1, 1, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_CONV_OVF_U2_I8]: ["conv.ovf.u2.i8", 3, 1, 1, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_CONV_OVF_U2_R4]: ["conv.ovf.u2.r4", 3, 1, 1, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_CONV_OVF_U2_R8]: ["conv.ovf.u2.r8", 3, 1, 1, MintOpArgType.MintOpNoArgs],
-
- [MintOpcode.MINT_CONV_OVF_I4_U4]: ["conv.ovf.i4.u4", 3, 1, 1, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_CONV_OVF_I4_I8]: ["conv.ovf.i4.i8", 3, 1, 1, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_CONV_OVF_I4_U8]: ["conv.ovf.i4.u8", 3, 1, 1, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_CONV_OVF_I4_R4]: ["conv.ovf.i4.r4", 3, 1, 1, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_CONV_OVF_I4_R8]: ["conv.ovf.i4.r8", 3, 1, 1, MintOpArgType.MintOpNoArgs],
-
- [MintOpcode.MINT_CONV_OVF_U4_I4]: ["conv.ovf.u4.i4", 3, 1, 1, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_CONV_OVF_U4_I8]: ["conv.ovf.u4.i8", 3, 1, 1, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_CONV_OVF_U4_R4]: ["conv.ovf.u4.r4", 3, 1, 1, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_CONV_OVF_U4_R8]: ["conv.ovf.u4.r8", 3, 1, 1, MintOpArgType.MintOpNoArgs],
-
- [MintOpcode.MINT_CONV_OVF_I8_U8]: ["conv.ovf.i8.u8", 3, 1, 1, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_CONV_OVF_I8_R4]: ["conv.ovf.i8.r4", 3, 1, 1, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_CONV_OVF_I8_R8]: ["conv.ovf.i8.r8", 3, 1, 1, MintOpArgType.MintOpNoArgs],
-
- [MintOpcode.MINT_CONV_OVF_U8_I4]: ["conv.ovf.u8.i4", 3, 1, 1, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_CONV_OVF_U8_I8]: ["conv.ovf.u8.i8", 3, 1, 1, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_CONV_OVF_U8_R4]: ["conv.ovf.u8.r4", 3, 1, 1, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_CONV_OVF_U8_R8]: ["conv.ovf.u8.r8", 3, 1, 1, MintOpArgType.MintOpNoArgs],
-
- [MintOpcode.MINT_CEQ0_I4]: ["ceq0.i4", 3, 1, 1, MintOpArgType.MintOpNoArgs],
- /* unops end */
-
- /* super instructions */
- [MintOpcode.MINT_RET_I4_IMM]: ["ret.i4.imm", 2, 0, 0, MintOpArgType.MintOpShortInt],
- [MintOpcode.MINT_RET_I8_IMM]: ["ret.i8.imm", 2, 0, 0, MintOpArgType.MintOpShortInt],
-
- [MintOpcode.MINT_ADD_I4_IMM]: ["add.i4.imm", 4, 1, 1, MintOpArgType.MintOpShortInt],
- [MintOpcode.MINT_ADD_I8_IMM]: ["add.i8.imm", 4, 1, 1, MintOpArgType.MintOpShortInt],
-
- [MintOpcode.MINT_MUL_I4_IMM]: ["mul.i4.imm", 4, 1, 1, MintOpArgType.MintOpShortInt],
- [MintOpcode.MINT_MUL_I8_IMM]: ["mul.i8.imm", 4, 1, 1, MintOpArgType.MintOpShortInt],
-
- [MintOpcode.MINT_SHR_UN_I4_IMM]: ["shr.un.i4.imm", 4, 1, 1, MintOpArgType.MintOpShortInt],
- [MintOpcode.MINT_SHR_UN_I8_IMM]: ["shr.un.i8.imm", 4, 1, 1, MintOpArgType.MintOpShortInt],
- [MintOpcode.MINT_SHL_I4_IMM]: ["shl.i4.imm", 4, 1, 1, MintOpArgType.MintOpShortInt],
- [MintOpcode.MINT_SHL_I8_IMM]: ["shl.i8.imm", 4, 1, 1, MintOpArgType.MintOpShortInt],
- [MintOpcode.MINT_SHR_I4_IMM]: ["shr.i4.imm", 4, 1, 1, MintOpArgType.MintOpShortInt],
- [MintOpcode.MINT_SHR_I8_IMM]: ["shr.i8.imm", 4, 1, 1, MintOpArgType.MintOpShortInt],
-
-
- [MintOpcode.MINT_CKFINITE_R4]: ["ckfinite.r4", 3, 1, 1, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_CKFINITE_R8]: ["ckfinite.r8", 3, 1, 1, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_MKREFANY]: ["mkrefany", 4, 1, 1, MintOpArgType.MintOpClassToken],
- [MintOpcode.MINT_REFANYTYPE]: ["refanytype", 3, 1, 1, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_REFANYVAL]: ["refanyval", 4, 1, 1, MintOpArgType.MintOpNoArgs],
-
- [MintOpcode.MINT_CKNULL]: ["cknull", 3, 1, 1, MintOpArgType.MintOpNoArgs],
-
- [MintOpcode.MINT_GETCHR]: ["getchr", 4, 1, 2, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_STRLEN]: ["strlen", 3, 1, 1, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_ARRAY_RANK]: ["array_rank", 3, 1, 1, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_ARRAY_ELEMENT_SIZE]: ["array_element_size", 3, 1, 1, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_ARRAY_IS_PRIMITIVE]: ["array_is_primitive", 3, 1, 1, MintOpArgType.MintOpNoArgs],
-
- /* Calls */
- [MintOpcode.MINT_CALL]: ["call", 4, 1, 1, MintOpArgType.MintOpMethodToken],
- [MintOpcode.MINT_CALLVIRT]: ["callvirt", 4, 1, 1, MintOpArgType.MintOpMethodToken],
- [MintOpcode.MINT_CALLVIRT_FAST]: ["callvirt.fast", 5, 1, 1, MintOpArgType.MintOpMethodToken],
- [MintOpcode.MINT_CALL_DELEGATE]: ["call.delegate", 5, 1, 1, MintOpArgType.MintOpTwoShorts],
- [MintOpcode.MINT_CALLI]: ["calli", 4, 1, 2, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_CALLI_NAT]: ["calli.nat", 8, 1, 2, MintOpArgType.MintOpMethodToken],
- [MintOpcode.MINT_CALLI_NAT_DYNAMIC]: ["calli.nat.dynamic", 5, 1, 2, MintOpArgType.MintOpMethodToken],
- [MintOpcode.MINT_CALLI_NAT_FAST]: ["calli.nat.fast", 7, 1, 2, MintOpArgType.MintOpMethodToken],
- [MintOpcode.MINT_CALL_VARARG]: ["call.vararg", 6, 1, 1, MintOpArgType.MintOpMethodToken],
- [MintOpcode.MINT_CALLRUN]: ["callrun", 5, 1, 1, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_TAILCALL]: ["tailcall", 4, 0, 1, MintOpArgType.MintOpMethodToken],
- [MintOpcode.MINT_TAILCALL_VIRT]: ["tailcall.virt", 5, 0, 1, MintOpArgType.MintOpMethodToken],
-
- [MintOpcode.MINT_ICALL_V_V]: ["mono_icall_v_v", 3, 0, 1, MintOpArgType.MintOpShortInt],
- [MintOpcode.MINT_ICALL_V_P]: ["mono_icall_v_p", 4, 1, 1, MintOpArgType.MintOpShortInt],
- [MintOpcode.MINT_ICALL_P_V]: ["mono_icall_p_v", 3, 0, 1, MintOpArgType.MintOpShortInt],
- [MintOpcode.MINT_ICALL_P_P]: ["mono_icall_p_p", 4, 1, 1, MintOpArgType.MintOpShortInt],
- [MintOpcode.MINT_ICALL_PP_V]: ["mono_icall_pp_v", 3, 0, 1, MintOpArgType.MintOpShortInt],
- [MintOpcode.MINT_ICALL_PP_P]: ["mono_icall_pp_p", 4, 1, 1, MintOpArgType.MintOpShortInt],
- [MintOpcode.MINT_ICALL_PPP_V]: ["mono_icall_ppp_v", 3, 0, 1, MintOpArgType.MintOpShortInt],
- [MintOpcode.MINT_ICALL_PPP_P]: ["mono_icall_ppp_p", 4, 1, 1, MintOpArgType.MintOpShortInt],
- [MintOpcode.MINT_ICALL_PPPP_V]: ["mono_icall_pppp_v", 3, 0, 1, MintOpArgType.MintOpShortInt],
- [MintOpcode.MINT_ICALL_PPPP_P]: ["mono_icall_pppp_p", 4, 1, 1, MintOpArgType.MintOpShortInt],
- [MintOpcode.MINT_ICALL_PPPPP_V]: ["mono_icall_ppppp_v", 3, 0, 1, MintOpArgType.MintOpShortInt],
- [MintOpcode.MINT_ICALL_PPPPP_P]: ["mono_icall_ppppp_p", 4, 1, 1, MintOpArgType.MintOpShortInt],
- [MintOpcode.MINT_ICALL_PPPPPP_V]: ["mono_icall_pppppp_v", 3, 0, 1, MintOpArgType.MintOpShortInt],
- [MintOpcode.MINT_ICALL_PPPPPP_P]: ["mono_icall_pppppp_p", 4, 1, 1, MintOpArgType.MintOpShortInt],
- // FIXME: MintOp
- [MintOpcode.MINT_JIT_CALL]: ["mono_jit_call", 4, 1, 1, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_JIT_CALL2]: ["mono_jit_call2", 7, 1, 1, MintOpArgType.MintOpNoArgs],
-
- [MintOpcode.MINT_MONO_LDPTR]: ["mono_ldptr", 3, 1, 0, MintOpArgType.MintOpShortInt],
- [MintOpcode.MINT_MONO_SGEN_THREAD_INFO]: ["mono_sgen_thread_info", 2, 1, 0, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_MONO_NEWOBJ]: ["mono_newobj", 3, 1, 0, MintOpArgType.MintOpClassToken],
- [MintOpcode.MINT_MONO_RETOBJ]: ["mono_retobj", 2, 0, 1, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_MONO_ATOMIC_STORE_I4]: ["mono_atomic.store.i4", 3, 0, 2, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_MONO_MEMORY_BARRIER]: ["mono_memory_barrier", 1, 0, 0, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_MONO_EXCHANGE_I8]: ["mono_interlocked.xchg.i8", 4, 1, 2, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_MONO_LDDOMAIN]: ["mono_lddomain", 2, 1, 0, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_MONO_ENABLE_GCTRANS]: ["mono_enable_gctrans", 1, 0, 0, MintOpArgType.MintOpNoArgs],
-
- [MintOpcode.MINT_SDB_INTR_LOC]: ["sdb_intr_loc", 1, 0, 0, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_SDB_SEQ_POINT]: ["sdb_seq_point", 1, 0, 0, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_SDB_BREAKPOINT]: ["sdb_breakpoint", 1, 0, 0, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_LD_DELEGATE_METHOD_PTR]: ["ld_delegate_method_ptr", 3, 1, 1, MintOpArgType.MintOpNoArgs],
-
- // Math intrinsics
- // double
- [MintOpcode.MINT_ASIN]: ["asin", 3, 1, 1, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_ASINH]: ["asinh", 3, 1, 1, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_ACOS]: ["acos", 3, 1, 1, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_ACOSH]: ["acosh", 3, 1, 1, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_ATAN]: ["atan", 3, 1, 1, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_ATANH]: ["atanh", 3, 1, 1, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_ATAN2]: ["atan2", 4, 1, 2, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_CEILING]: ["ceiling", 3, 1, 1, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_COS]: ["cos", 3, 1, 1, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_CBRT]: ["cbrt", 3, 1, 1, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_COSH]: ["cosh", 3, 1, 1, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_EXP]: ["exp", 3, 1, 1, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_FMA]: ["fma", 5, 1, 3, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_FLOOR]: ["floor", 3, 1, 1, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_LOG]: ["log", 3, 1, 1, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_LOG2]: ["log2", 3, 1, 1, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_LOG10]: ["log10", 3, 1, 1, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_POW]: ["pow", 4, 1, 2, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_SCALEB]: ["scaleb", 4, 1, 2, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_SIN]: ["sin", 3, 1, 1, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_SQRT]: ["sqrt", 3, 1, 1, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_SINH]: ["sinh", 3, 1, 1, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_TAN]: ["tan", 3, 1, 1, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_TANH]: ["tanh", 3, 1, 1, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_ABS]: ["abs_d", 3, 1, 1, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_MIN]: ["min_d", 4, 1, 2, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_MAX]: ["max_d", 4, 1, 2, MintOpArgType.MintOpNoArgs],
-
- // float. These must be kept in the same order as their double counterpart
- [MintOpcode.MINT_ASINF]: ["asinf", 3, 1, 1, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_ASINHF]: ["asinhf", 3, 1, 1, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_ACOSF]: ["acosf", 3, 1, 1, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_ACOSHF]: ["acoshf", 3, 1, 1, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_ATANF]: ["atanf", 3, 1, 1, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_ATANHF]: ["atanhf", 3, 1, 1, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_ATAN2F]: ["atan2f", 4, 1, 2, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_CEILINGF]: ["ceilingf", 3, 1, 1, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_COSF]: ["cosf", 3, 1, 1, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_CBRTF]: ["cbrtf", 3, 1, 1, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_COSHF]: ["coshf", 3, 1, 1, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_EXPF]: ["expf", 3, 1, 1, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_FMAF]: ["fmaf", 5, 1, 3, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_FLOORF]: ["floorf", 3, 1, 1, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_LOGF]: ["logf", 3, 1, 1, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_LOG2F]: ["log2f", 3, 1, 1, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_LOG10F]: ["log10f", 3, 1, 1, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_POWF]: ["powf", 4, 1, 2, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_SCALEBF]: ["scalebf", 4, 1, 2, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_SINF]: ["sinf", 3, 1, 1, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_SQRTF]: ["sqrtf", 3, 1, 1, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_SINHF]: ["sinhf", 3, 1, 1, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_TANF]: ["tanf", 3, 1, 1, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_TANHF]: ["tanhf", 3, 1, 1, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_ABSF]: ["abs_f", 3, 1, 1, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_MINF]: ["min_f", 4, 1, 2, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_MAXF]: ["max_f", 4, 1, 2, MintOpArgType.MintOpNoArgs],
-
- [MintOpcode.MINT_PROF_ENTER]: ["prof_enter", 2, 0, 0, MintOpArgType.MintOpShortInt],
- [MintOpcode.MINT_PROF_EXIT]: ["prof_exit", 5, 0, 1, MintOpArgType.MintOpShortAndInt],
- [MintOpcode.MINT_PROF_EXIT_VOID]: ["prof_exit_void", 2, 0, 0, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_PROF_COVERAGE_STORE]: ["prof_coverage_store", 5, 0, 0, MintOpArgType.MintOpLongInt],
-
- [MintOpcode.MINT_TIER_ENTER_METHOD]: ["tier_enter_method", 1, 0, 0, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_TIER_PATCHPOINT]: ["tier_patchpoint", 2, 0, 0, MintOpArgType.MintOpShortInt],
-
- [MintOpcode.MINT_INTRINS_ENUM_HASFLAG]: ["intrins_enum_hasflag", 5, 1, 2, MintOpArgType.MintOpClassToken],
- [MintOpcode.MINT_INTRINS_GET_HASHCODE]: ["intrins_get_hashcode", 3, 1, 1, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_INTRINS_GET_TYPE]: ["intrins_get_type", 3, 1, 1, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_INTRINS_SPAN_CTOR]: ["intrins_span_ctor", 4, 1, 2, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_INTRINS_UNSAFE_BYTE_OFFSET]: ["intrins_unsafe_byte_offset", 4, 1, 2, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_INTRINS_RUNTIMEHELPERS_OBJECT_HAS_COMPONENT_SIZE]: ["intrins_runtimehelpers_object_has_component_size", 3, 1, 1, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_INTRINS_CLEAR_WITH_REFERENCES]: ["intrin_clear_with_references", 3, 0, 2, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_INTRINS_MARVIN_BLOCK]: ["intrins_marvin_block", 3, 0, 2, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_INTRINS_ASCII_CHARS_TO_UPPERCASE]: ["intrins_ascii_chars_to_uppercase", 3, 1, 1, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_INTRINS_MEMORYMARSHAL_GETARRAYDATAREF]: ["intrins_memorymarshal_getarraydataref", 3, 1, 1, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_INTRINS_ORDINAL_IGNORE_CASE_ASCII]: ["intrins_ordinal_ignore_case_ascii", 4, 1, 2, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_INTRINS_64ORDINAL_IGNORE_CASE_ASCII]: ["intrins_64ordinal_ignore_case_ascii", 4, 1, 2, MintOpArgType.MintOpNoArgs],
- [MintOpcode.MINT_INTRINS_U32_TO_DECSTR]: ["intrins_u32_to_decstr", 5, 1, 1, MintOpArgType.MintOpTwoShorts],
- [MintOpcode.MINT_INTRINS_WIDEN_ASCII_TO_UTF16]: ["intrins_widen_ascii_to_utf16", 5, 1, 3, MintOpArgType.MintOpNoArgs],
-
- // TODO: Make this wasm only
- [MintOpcode.MINT_TIER_PREPARE_JITERPRETER]: ["tier_prepare_jiterpreter", 3, 0, 0, MintOpArgType.MintOpInt],
- [MintOpcode.MINT_TIER_NOP_JITERPRETER]: ["tier_nop_jiterpreter", 3, 0, 0, MintOpArgType.MintOpInt],
- [MintOpcode.MINT_TIER_ENTER_JITERPRETER]: ["tier_enter_jiterpreter", 3, 0, 0, MintOpArgType.MintOpInt],
-
-};
diff --git a/src/mono/wasm/runtime/rollup.config.js b/src/mono/wasm/runtime/rollup.config.js
index 358ac42e2e80a..6d071cd9b638d 100644
--- a/src/mono/wasm/runtime/rollup.config.js
+++ b/src/mono/wasm/runtime/rollup.config.js
@@ -73,7 +73,15 @@ try {
gitHash = "unknown";
}
-const outputCodePlugins = [regexReplace(inlineAssert), consts({ productVersion, configuration, monoWasmThreads, monoDiagnosticsMock, gitHash }), typescript()];
+// set tsconfig.json options note exclude comes from tsconfig.json
+// (which gets it from tsconfig.shared.json) to exclude node_modules,
+// for example
+const typescriptConfigOptions = {
+ rootDirs: [".", "../../../../artifacts/bin/native/generated"],
+ include: ["**/*.ts", "../../../../artifacts/bin/native/generated/**/*.ts"]
+};
+
+const outputCodePlugins = [regexReplace(inlineAssert), consts({ productVersion, configuration, monoWasmThreads, monoDiagnosticsMock, gitHash }), typescript(typescriptConfigOptions)];
const externalDependencies = [
];
diff --git a/src/mono/wasm/runtime/tsconfig.json b/src/mono/wasm/runtime/tsconfig.json
index 9423cf70a5514..4353fe7e54bcb 100644
--- a/src/mono/wasm/runtime/tsconfig.json
+++ b/src/mono/wasm/runtime/tsconfig.json
@@ -5,6 +5,5 @@
"esnext",
"dom"
],
- "outDir": "bin",
}
}
diff --git a/src/mono/wasm/runtime/tsconfig.shared.json b/src/mono/wasm/runtime/tsconfig.shared.json
index a58000ebffd1f..94b120645d1d1 100644
--- a/src/mono/wasm/runtime/tsconfig.shared.json
+++ b/src/mono/wasm/runtime/tsconfig.shared.json
@@ -11,7 +11,8 @@
"lib": [
"esnext"
],
- "types": []
+ "types": [],
+ "rootDirs": [".", "../../../../artifacts/bin/native/generated"]
},
"exclude": [
"dotnet.d.ts",
@@ -19,4 +20,4 @@
"diagnostics-mock.d.ts",
"bin"
]
-}
\ No newline at end of file
+}
diff --git a/src/mono/wasm/wasm.proj b/src/mono/wasm/wasm.proj
index a69c76b6d09f2..5c4befca2730b 100644
--- a/src/mono/wasm/wasm.proj
+++ b/src/mono/wasm/wasm.proj
@@ -6,6 +6,13 @@
browser-wasm
$([MSBuild]::NormalizeDirectory('$(ArtifactsBinDir)', 'native', '$(NetCoreAppCurrent)-$(TargetOS)-$(Configuration)-$(TargetArchitecture)'))
+
+ $([MSBuild]::NormalizeDirectory('$(ArtifactsBinDir)', 'native', 'generated'))
+
+
+
+ python3
+ python
@@ -406,10 +413,16 @@
Overwrite="true" />
+
+
+
+