aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator/beam/beam_debug.c
diff options
context:
space:
mode:
authorBjörn Gustavsson <[email protected]>2018-01-18 12:58:23 +0100
committerBjörn Gustavsson <[email protected]>2018-01-18 13:33:59 +0100
commit1aa1833be4e9ee0d48351564f4bf9d1f77c1e634 (patch)
treeb5a70c738eb429a66dd7fc45315c580b68081d61 /erts/emulator/beam/beam_debug.c
parentdb58a0c04ca183de5e5436e0ae97e3f109a458fe (diff)
downloadotp-1aa1833be4e9ee0d48351564f4bf9d1f77c1e634.tar.gz
otp-1aa1833be4e9ee0d48351564f4bf9d1f77c1e634.tar.bz2
otp-1aa1833be4e9ee0d48351564f4bf9d1f77c1e634.zip
beam_debug: Print the MFA in the i_make_fun/2 instruction
Diffstat (limited to 'erts/emulator/beam/beam_debug.c')
-rw-r--r--erts/emulator/beam/beam_debug.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/erts/emulator/beam/beam_debug.c b/erts/emulator/beam/beam_debug.c
index 509aa2a84f..5aff1c3cb8 100644
--- a/erts/emulator/beam/beam_debug.c
+++ b/erts/emulator/beam/beam_debug.c
@@ -570,6 +570,16 @@ print_op(fmtfn_t to, void *to_arg, int op, int size, BeamInstr* addr)
}
break;
}
+ case op_i_make_fun_Wt:
+ if (*sign == 'W') {
+ ErlFunEntry* fe = (ErlFunEntry *) *ap;
+ ErtsCodeMFA* cmfa = find_function_from_pc(fe->address);
+ erts_print(to, to_arg, "%T:%T/%bpu", cmfa->module,
+ cmfa->function, cmfa->arity);
+ } else {
+ erts_print(to, to_arg, "%d", *ap);
+ }
+ break;
default:
erts_print(to, to_arg, "%d", *ap);
}