diff options
Diffstat (limited to 'erts/emulator/beam/emu/beam_emu.c')
-rw-r--r-- | erts/emulator/beam/emu/beam_emu.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/erts/emulator/beam/emu/beam_emu.c b/erts/emulator/beam/emu/beam_emu.c index ec71dd2088..dd35859559 100644 --- a/erts/emulator/beam/emu/beam_emu.c +++ b/erts/emulator/beam/emu/beam_emu.c @@ -717,7 +717,7 @@ erts_beam_jump_table(void) void erts_prepare_bs_construct_fail_info(Process* c_p, const BeamInstr* p, Eterm reason, Eterm Info) { - Eterm* hp = HeapFragOnlyAlloc(c_p, MAP3_SZ+3+1); + Eterm* hp; Eterm cause_tuple; Eterm op; Eterm error_info; @@ -758,8 +758,9 @@ erts_prepare_bs_construct_fail_info(Process* c_p, const BeamInstr* p, Eterm reas break; } - cause_tuple = TUPLE3(hp, make_small(segment), op, Info); - hp += 4; + hp = HeapFragOnlyAlloc(c_p, MAP3_SZ+4+1); + cause_tuple = TUPLE4(hp, make_small(segment), op, Info, NIL); + hp += 5; error_info = MAP3(hp, am_cause, cause_tuple, am_function, am_format_bs_fail, |