diff options
author | Björn Gustavsson <[email protected]> | 2010-09-30 09:50:48 +0200 |
---|---|---|
committer | Sverker Eriksson <[email protected]> | 2011-10-26 18:19:20 +0200 |
commit | 5a78dd349ab7974253e3058f9da73188d5394526 (patch) | |
tree | c0c8cdb5bf59c896d98e77f0e822e8c4a7d6e0c2 /erts/emulator/beam/beam_emu.c | |
parent | 81a7ccf6dbb09015a1a35f3b59f8ec549a4d0317 (diff) | |
download | otp-5a78dd349ab7974253e3058f9da73188d5394526.tar.gz otp-5a78dd349ab7974253e3058f9da73188d5394526.tar.bz2 otp-5a78dd349ab7974253e3058f9da73188d5394526.zip |
Store the trap address in p->i
For cleanliness, store the trap address in p->i instead of in
p->def_arg_reg[3].
Diffstat (limited to 'erts/emulator/beam/beam_emu.c')
-rw-r--r-- | erts/emulator/beam/beam_emu.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/erts/emulator/beam/beam_emu.c b/erts/emulator/beam/beam_emu.c index 44c9d4ee05..6e6380d6b1 100644 --- a/erts/emulator/beam/beam_emu.c +++ b/erts/emulator/beam/beam_emu.c @@ -1521,7 +1521,7 @@ void process_main(void) NextPF(0, next); } else if (c_p->freason == TRAP) { SET_CP(c_p, I+1); - SET_I(*((BeamInstr **) (BeamInstr) ((c_p)->def_arg_reg + 3))); + SET_I(c_p->i); SWAPIN; r(0) = reg[0]; Dispatch(); @@ -2434,7 +2434,7 @@ void process_main(void) NextPF(1, next); } else if (c_p->freason == TRAP) { SET_CP(c_p, I+2); - SET_I(*((BeamInstr **) (UWord) ((c_p)->def_arg_reg + 3))); + SET_I(c_p->i); SWAPIN; r(0) = reg[0]; Dispatch(); @@ -3223,7 +3223,7 @@ void process_main(void) c_p->cp = 0; Goto(*I); } else if (c_p->freason == TRAP) { - SET_I(*((BeamInstr **) (UWord) ((c_p)->def_arg_reg + 3))); + SET_I(c_p->i); r(0) = reg[0]; if (c_p->flags & F_HIBERNATE_SCHED) { c_p->flags &= ~F_HIBERNATE_SCHED; |