diff options
author | Magnus Lång <[email protected]> | 2017-11-05 16:12:42 +0100 |
---|---|---|
committer | Magnus Lång <[email protected]> | 2017-11-16 13:24:55 +0100 |
commit | 8e8380865bb31c119e7f11fbdbbb14ea58ebbef2 (patch) | |
tree | d9b663c10f68df6a82216fdf08b4072787b01758 /erts/emulator/hipe | |
parent | 68dd05500dcad280417a2479f32fb6f7894ae712 (diff) | |
download | otp-8e8380865bb31c119e7f11fbdbbb14ea58ebbef2.tar.gz otp-8e8380865bb31c119e7f11fbdbbb14ea58ebbef2.tar.bz2 otp-8e8380865bb31c119e7f11fbdbbb14ea58ebbef2.zip |
HiPE: Unique ref receive opt
Diffstat (limited to 'erts/emulator/hipe')
-rw-r--r-- | erts/emulator/hipe/hipe_mkliterals.c | 3 | ||||
-rw-r--r-- | erts/emulator/hipe/hipe_native_bif.c | 2 |
2 files changed, 5 insertions, 0 deletions
diff --git a/erts/emulator/hipe/hipe_mkliterals.c b/erts/emulator/hipe/hipe_mkliterals.c index de00994d64..84889b3376 100644 --- a/erts/emulator/hipe/hipe_mkliterals.c +++ b/erts/emulator/hipe/hipe_mkliterals.c @@ -531,6 +531,9 @@ static const struct rts_param rts_params[] = { 1, offsetof(struct process, hipe.gc_is_unsafe) #endif }, + + { 54, "P_MSG_LAST", 1, offsetof(struct process, msg.last) }, + { 55, "P_MSG_SAVED_LAST", 1, offsetof(struct process, msg.saved_last) }, }; #define NR_PARAMS ARRAY_SIZE(rts_params) diff --git a/erts/emulator/hipe/hipe_native_bif.c b/erts/emulator/hipe/hipe_native_bif.c index 99c34532b9..d6358eabf4 100644 --- a/erts/emulator/hipe/hipe_native_bif.c +++ b/erts/emulator/hipe/hipe_native_bif.c @@ -254,6 +254,8 @@ void hipe_handle_exception(Process *c_p) /* Synthesized to avoid having to generate code for it. */ c_p->def_arg_reg[0] = exception_tag[GET_EXC_CLASS(c_p->freason)]; + c_p->msg.saved_last = 0; /* No longer safe to use this position */ + hipe_find_handler(c_p); } |