Skip to content

Commit

Permalink
show line info + module in ADD_METHOD profiling (#49495)
Browse files Browse the repository at this point in the history
  • Loading branch information
KristofferC committed Apr 27, 2023
1 parent 3b993a9 commit bc2fa50
Show file tree
Hide file tree
Showing 3 changed files with 12 additions and 1 deletion.
2 changes: 1 addition & 1 deletion src/gf.c
Original file line number Diff line number Diff line change
Expand Up @@ -1986,7 +1986,7 @@ JL_DLLEXPORT void jl_method_table_insert(jl_methtable_t *mt, jl_method_t *method
JL_TIMING(ADD_METHOD, ADD_METHOD);
assert(jl_is_method(method));
assert(jl_is_mtable(mt));
jl_timing_show((jl_value_t *)method, JL_TIMING_CURRENT_BLOCK);
jl_timing_show_method(method, JL_TIMING_CURRENT_BLOCK);
jl_value_t *type = method->sig;
jl_value_t *oldvalue = NULL;
jl_array_t *oldmi = NULL;
Expand Down
9 changes: 9 additions & 0 deletions src/timing.c
Original file line number Diff line number Diff line change
Expand Up @@ -190,6 +190,15 @@ JL_DLLEXPORT void jl_timing_show_method_instance(jl_method_instance_t *mi, jl_ti
jl_symbol_name(def->module->name));
}

JL_DLLEXPORT void jl_timing_show_method(jl_method_t *method, jl_timing_block_t *cur_block)
{
jl_timing_show((jl_value_t *)method, cur_block);
jl_timing_printf(cur_block, "%s:%d in %s",
gnu_basename(jl_symbol_name(method->file)),
method->line,
jl_symbol_name(method->module->name));
}

JL_DLLEXPORT void jl_timing_show_func_sig(jl_value_t *v, jl_timing_block_t *cur_block)
{
#ifdef USE_TRACY
Expand Down
2 changes: 2 additions & 0 deletions src/timing.h
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,7 @@ extern uint32_t jl_timing_print_limit;
#define jl_timing_show_module(m, b)
#define jl_timing_show_filename(f, b)
#define jl_timing_show_method_instance(mi, b)
#define jl_timing_show_method(mi, b)
#define jl_timing_show_func_sig(tt, b)
#define jl_timing_printf(s, f, ...)
#define jl_timing_block_enter_task(ct, ptls, blk)
Expand Down Expand Up @@ -102,6 +103,7 @@ void jl_timing_show(jl_value_t *v, jl_timing_block_t *cur_block);
void jl_timing_show_module(jl_module_t *m, jl_timing_block_t *cur_block);
void jl_timing_show_filename(const char *path, jl_timing_block_t *cur_block);
void jl_timing_show_method_instance(jl_method_instance_t *mi, jl_timing_block_t *cur_block);
void jl_timing_show_method(jl_method_t *method, jl_timing_block_t *cur_block);
void jl_timing_show_func_sig(jl_value_t *v, jl_timing_block_t *cur_block);
void jl_timing_printf(jl_timing_block_t *cur_block, const char *format, ...);
#ifdef __cplusplus
Expand Down

0 comments on commit bc2fa50

Please sign in to comment.