extern int mono_break_at_bb_bb_num;
extern gboolean mono_verify_all;
extern gboolean mono_do_x86_stack_align;
-extern const char *mono_build_date;
+extern MONO_API const char *mono_build_date;
extern gboolean mono_do_signal_chaining;
extern gboolean mono_do_crash_chaining;
extern MONO_API gboolean mono_use_llvm;
int active_jit_methods;
gpointer interp_context;
+
+#if defined(TARGET_WIN32)
+ MonoContext stack_restore_ctx;
+#endif
} MonoJitTlsData;
/*
gint32 loads_eliminated;
gint32 stores_eliminated;
gint32 optimized_divisions;
- int methods_with_llvm;
- int methods_without_llvm;
+ gint32 methods_with_llvm;
+ gint32 methods_without_llvm;
char *max_ratio_method;
char *biggest_method;
- double jit_method_to_ir;
- 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;
- double jit_handle_global_vregs;
- double jit_local_deadce;
- double jit_local_alias_analysis;
- double jit_if_conversion;
- double jit_bb_ordering;
- double jit_compile_dominator_info;
- double jit_compute_natural_loops;
- double jit_insert_safepoints;
- double jit_ssa_compute;
- double jit_ssa_cprop;
- double jit_ssa_deadce;
- double jit_perform_abc_removal;
- double jit_ssa_remove;
- double jit_local_cprop2;
- double jit_handle_global_vregs2;
- double jit_local_deadce2;
- double jit_optimize_branches2;
- double jit_decompose_vtype_opts;
- double jit_decompose_array_access_opts;
- double jit_liveness_handle_exception_clauses2;
- double jit_analyze_liveness;
- double jit_linear_scan;
- double jit_arch_allocate_vars;
- double jit_spill_global_vars;
- double jit_local_cprop3;
- double jit_local_deadce3;
- double jit_codegen;
- double jit_create_jit_info;
- double jit_gc_create_gc_map;
- double jit_save_seq_point_info;
- double jit_time;
+ gdouble jit_method_to_ir;
+ gdouble jit_liveness_handle_exception_clauses;
+ gdouble jit_handle_out_of_line_bblock;
+ gdouble jit_decompose_long_opts;
+ gdouble jit_decompose_typechecks;
+ gdouble jit_local_cprop;
+ gdouble jit_local_emulate_ops;
+ gdouble jit_optimize_branches;
+ gdouble jit_handle_global_vregs;
+ gdouble jit_local_deadce;
+ gdouble jit_local_alias_analysis;
+ gdouble jit_if_conversion;
+ gdouble jit_bb_ordering;
+ gdouble jit_compile_dominator_info;
+ gdouble jit_compute_natural_loops;
+ gdouble jit_insert_safepoints;
+ gdouble jit_ssa_compute;
+ gdouble jit_ssa_cprop;
+ gdouble jit_ssa_deadce;
+ gdouble jit_perform_abc_removal;
+ gdouble jit_ssa_remove;
+ gdouble jit_local_cprop2;
+ gdouble jit_handle_global_vregs2;
+ gdouble jit_local_deadce2;
+ gdouble jit_optimize_branches2;
+ gdouble jit_decompose_vtype_opts;
+ gdouble jit_decompose_array_access_opts;
+ gdouble jit_liveness_handle_exception_clauses2;
+ gdouble jit_analyze_liveness;
+ gdouble jit_linear_scan;
+ gdouble jit_arch_allocate_vars;
+ gdouble jit_spill_global_vars;
+ gdouble jit_local_cprop3;
+ gdouble jit_local_deadce3;
+ gdouble jit_codegen;
+ gdouble jit_create_jit_info;
+ gdouble jit_gc_create_gc_map;
+ gdouble jit_save_seq_point_info;
+ gdouble jit_time;
gboolean enabled;
} MonoJitStats;
}
GTimer *mono_time_track_start (void);
-void mono_time_track_end (double *time, GTimer *timer);
+void mono_time_track_end (gdouble *time, GTimer *timer);
void mono_update_jit_stats (MonoCompile *cfg);