diff --git a/docs/Diagnostics.md b/docs/Diagnostics.md new file mode 100644 index 0000000..41e8fcf --- /dev/null +++ b/docs/Diagnostics.md @@ -0,0 +1,40 @@ + +## Operation Profiling + +To profile the interpreter's operations enable `d_m3EnableOpProfiling` in `m3_config.h` + +When a runtime is released or `m3_PrintProfilerInfo ()` is called, a table of the executed operations and +their instance counts will be printed to stderr. + +``` + 23199904 op_SetSlot_i32 + 12203917 op_i32_Add_ss + 6682992 op_u32_GreaterThan_sr + 2021555 op_u32_ShiftLeft_sr + 1136577 op_u32_ShiftLeft_ss + 1019725 op_CopySlot_32 + 775431 op_i32_Subtract_ss + 703307 op_i32_Store_i32_rs + 337656 op_i32_Multiply_rs + 146383 op_u32_Or_rs + 99168 op_u64_Or_rs + 50311 op_u32_ShiftRight_rs + 43319 op_u32_ShiftLeft_rs + 21104 op_i64_Load_i64_s + 17450 op_i32_LessThan_sr + 7129 op_If_s + 5574 op_i32_Wrap_i64_r + 1630 op_f64_Load_f64_r + 1116 op_u32_Divide_sr + 903 op_i32_GreaterThan_ss + 390 op_u64_And_rs + 108 op_Select_f64_rss + 77 op_u64_ShiftLeft_sr + 64 op_Select_i32_ssr + 11 op_f64_Store_f64_ss + 10 op_MemGrow + 8 op_f64_GreaterThan_sr + 4 op_u64_LessThan_rs + 1 op_u32_Xor_ss + 1 op_i64_Subtract_ss +```