*
*/
-/* OPDEF (opsymbol, opstring, oplength, optype) */
+/* OPDEF (opsymbol, opstring, oplength (in uint16s), optype) */
OPDEF(MINT_NOP, "nop", 1, MintOpNoArgs)
OPDEF(MINT_BREAK, "break", 1, MintOpNoArgs)
OPDEF(MINT_LEAVE_S, "leave.s", 2, MintOpShortBranch)
OPDEF(MINT_THROW, "throw", 1, MintOpNoArgs)
-OPDEF(MINT_RETHROW, "rethrow", 1, MintOpNoArgs)
+OPDEF(MINT_RETHROW, "rethrow", 2, MintOpUShortInt)
OPDEF(MINT_ENDFINALLY, "endfinally", 2, MintOpNoArgs)
OPDEF(MINT_BRFALSE_I4, "brfalse.i4", 3, MintOpBranch)
OPDEF(MINT_ICALL_PPP_V, "mono_icall_ppp_v", 2, MintOpClassToken)
OPDEF(MINT_ICALL_PPI_V, "mono_icall_ppi_v", 2, MintOpClassToken)
OPDEF(MINT_MONO_LDPTR, "mono_ldptr", 2, MintOpClassToken)
-OPDEF(MINT_MONO_TLS, "mono_tls", 2, MintOpInt)
+OPDEF(MINT_MONO_TLS, "mono_tls", 3, MintOpInt)
OPDEF(MINT_MONO_NEWOBJ, "mono_newobj", 2, MintOpClassToken)
OPDEF(MINT_MONO_RETOBJ, "mono_retobj", 1, MintOpNoArgs)
OPDEF(MINT_MONO_FREE, "mono_free", 1, MintOpNoArgs)
OPDEF(MINT_MONO_ATOMIC_STORE_I4, "mono_atomic.store.i4", 1, MintOpNoArgs)
+OPDEF(MINT_MONO_MEMORY_BARRIER, "mono_memory_barrier", 1, MintOpNoArgs)
OPDEF(MINT_MONO_JIT_ATTACH, "mono_jit_attach", 1, MintOpNoArgs)
OPDEF(MINT_MONO_JIT_DETACH, "mono_jit_detach", 1, MintOpNoArgs)
+OPDEF(MINT_MONO_LDDOMAIN, "mono_lddomain", 1, MintOpNoArgs)
// FIXME: MintOp
OPDEF(MINT_JIT_CALL, "mono_jit_call", 2, MintOpNoArgs)
+OPDEF(MINT_SDB_INTR_LOC, "sdb_intr_loc", 1, MintOpNoArgs)
+OPDEF(MINT_SDB_SEQ_POINT, "sdb_seq_point", 1, MintOpNoArgs)
+OPDEF(MINT_SDB_BREAKPOINT, "sdb_breakpoint", 1, MintOpNoArgs)
+
+/*
+ * This needs to be an opcode because we need to trigger the enter event after
+ * the STINARG* opcodes have executed.
+ */
+OPDEF(MINT_PROF_ENTER, "prof_enter", 1, MintOpNoArgs)