[mini] add time tracking for decompose_typechecks pass
authorBernhard Urban <bernhard.urban@xamarin.com>
Thu, 2 Jun 2016 22:23:42 +0000 (15:23 -0700)
committerBernhard Urban <bernhard.urban@xamarin.com>
Thu, 9 Jun 2016 20:32:36 +0000 (13:32 -0700)
mono/mini/mini-runtime.c
mono/mini/mini.c
mono/mini/mini.h

index 6f4082905c5687bf4679fffe2550815663475880..ee5a2920156b495ca71d1fd702d633ebd315f61d 100644 (file)
@@ -3254,6 +3254,7 @@ register_jit_stats (void)
        mono_counters_register ("JIT/liveness_handle_exception_clauses (sec)", MONO_COUNTER_JIT | MONO_COUNTER_DOUBLE, &mono_jit_stats.jit_liveness_handle_exception_clauses);
        mono_counters_register ("JIT/handle_out_of_line_bblock (sec)", MONO_COUNTER_JIT | MONO_COUNTER_DOUBLE, &mono_jit_stats.jit_handle_out_of_line_bblock);
        mono_counters_register ("JIT/decompose_long_opts (sec)", MONO_COUNTER_JIT | MONO_COUNTER_DOUBLE, &mono_jit_stats.jit_decompose_long_opts);
+       mono_counters_register ("JIT/decompose_typechecks (sec)", MONO_COUNTER_JIT | MONO_COUNTER_DOUBLE, &mono_jit_stats.jit_decompose_typechecks);
        mono_counters_register ("JIT/local_cprop (sec)", MONO_COUNTER_JIT | MONO_COUNTER_DOUBLE, &mono_jit_stats.jit_local_cprop);
        mono_counters_register ("JIT/local_emulate_ops (sec)", MONO_COUNTER_JIT | MONO_COUNTER_DOUBLE, &mono_jit_stats.jit_local_emulate_ops);
        mono_counters_register ("JIT/optimize_branches (sec)", MONO_COUNTER_JIT | MONO_COUNTER_DOUBLE, &mono_jit_stats.jit_optimize_branches);
index a5bc4779abc45d6b3dde4b922d92b05552f0625e..f78475a1da3f23533ae10ee8171f8aaccf773698 100644 (file)
@@ -3515,7 +3515,7 @@ mini_method_compile (MonoMethod *method, guint32 opts, MonoDomain *domain, JitFl
                mono_cfg_dump_ir (cfg, "mono_insert_nop_in_empty_bb");
        }
 
-       mono_decompose_typechecks (cfg);
+       MONO_TIME_TRACK (mono_jit_stats.jit_decompose_typechecks, mono_decompose_typechecks (cfg));
        if (cfg->gdump_ctx != NULL)
                mono_insert_nop_in_empty_bb (cfg);
        mono_cfg_dump_ir (cfg, "decompose_typechecks");
index 0edd2ec014ff3178af2f6bdc1d0c82e404bbbd5a..9f87d7d20c468d80fad0c16df6b8fa5e0bf5f2a8 100644 (file)
@@ -1903,6 +1903,7 @@ typedef struct {
        double jit_liveness_handle_exception_clauses;
        double jit_handle_out_of_line_bblock;
        double jit_decompose_long_opts;
+       double jit_decompose_typechecks;
        double jit_local_cprop;
        double jit_local_emulate_ops;
        double jit_optimize_branches;