aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator/beam/beam_emu.c
diff options
context:
space:
mode:
authorLukas Larsson <[email protected]>2016-10-05 12:16:35 +0200
committerLukas Larsson <[email protected]>2016-10-12 15:39:38 +0200
commit8e2490086b45b9ce4d51883e594c38e2e17b5b47 (patch)
tree091b4fcad015cd0eaa8f7c03b03bfcd66f745493 /erts/emulator/beam/beam_emu.c
parent855b3a9be724ffd3c9f7e311cf9d810099fa36ef (diff)
downloadotp-8e2490086b45b9ce4d51883e594c38e2e17b5b47.tar.gz
otp-8e2490086b45b9ce4d51883e594c38e2e17b5b47.tar.bz2
otp-8e2490086b45b9ce4d51883e594c38e2e17b5b47.zip
erts: Refactor find_function_from_pc to return MFA
Diffstat (limited to 'erts/emulator/beam/beam_emu.c')
-rw-r--r--erts/emulator/beam/beam_emu.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/erts/emulator/beam/beam_emu.c b/erts/emulator/beam/beam_emu.c
index 4ff177f215..2c47386925 100644
--- a/erts/emulator/beam/beam_emu.c
+++ b/erts/emulator/beam/beam_emu.c
@@ -1317,8 +1317,8 @@ void process_main(Eterm * x_reg_array, FloatDef* f_reg_array)
if (start_time != 0) {
Sint64 diff = erts_timestamp_millis() - start_time;
if (diff > 0 && (Uint) diff > erts_system_monitor_long_schedule) {
- ErtsCodeInfo *inptr = find_function_from_pc(start_time_i);
- ErtsCodeInfo *outptr = find_function_from_pc(c_p->i);
+ ErtsCodeMFA *inptr = find_function_from_pc(start_time_i);
+ ErtsCodeMFA *outptr = find_function_from_pc(c_p->i);
monitor_long_schedule_proc(c_p,inptr,outptr,(Uint) diff);
}
}
@@ -6074,7 +6074,7 @@ build_stacktrace(Process* c_p, Eterm exc) {
* If fi.current is still NULL, default to the initial function
* (e.g. spawn_link(erlang, abs, [1])).
*/
- if (fi.ci == NULL) {
+ if (fi.mfa == NULL) {
erts_set_current_function(&fi, &c_p->u.initial);
args = am_true; /* Just in case */
} else {
@@ -6091,7 +6091,7 @@ build_stacktrace(Process* c_p, Eterm exc) {
heap_size = fi.needed + 2;
for (i = 0; i < depth; i++) {
erts_lookup_function_info(stkp, s->trace[i], 1);
- if (stkp->ci) {
+ if (stkp->mfa) {
heap_size += stkp->needed + 2;
stkp++;
}