diff options
author | Erlang/OTP <[email protected]> | 2018-11-15 12:26:08 +0100 |
---|---|---|
committer | Erlang/OTP <[email protected]> | 2018-11-15 12:26:08 +0100 |
commit | 876751e39f704355fdf99e765c6ede17d1bc3c1b (patch) | |
tree | bfd1109b47fa35918a1c73f5a4c1398b31ab5a37 /lib/compiler/src | |
parent | d9682b02b81fa6e23e554b6e017650eb89ecebed (diff) | |
parent | 59e5879164f0c11d2063e4eecb8a7052e2f4a04a (diff) | |
download | otp-876751e39f704355fdf99e765c6ede17d1bc3c1b.tar.gz otp-876751e39f704355fdf99e765c6ede17d1bc3c1b.tar.bz2 otp-876751e39f704355fdf99e765c6ede17d1bc3c1b.zip |
Merge branch 'john/compiler/bs_match-anno-liveness-fix/OTP-15353/ERL-753' into maint-21
* john/compiler/bs_match-anno-liveness-fix/OTP-15353/ERL-753:
beam_utils: Handle bs_start_match2 in anno_defs
Diffstat (limited to 'lib/compiler/src')
-rw-r--r-- | lib/compiler/src/beam_utils.erl | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/lib/compiler/src/beam_utils.erl b/lib/compiler/src/beam_utils.erl index 5580d2f123..6e23003fc7 100644 --- a/lib/compiler/src/beam_utils.erl +++ b/lib/compiler/src/beam_utils.erl @@ -1115,6 +1115,10 @@ defs([{bs_init,{f,L},_,Live,_,Dst}=I|Is], Regs0, D) -> end, Regs = def_regs([Dst], Regs1), [I|defs(Is, Regs, update_regs(L, Regs, D))]; +defs([{test,bs_start_match2,{f,L},Live,_,Dst}=I|Is], _Regs, D) -> + Regs0 = init_def_regs(Live), + Regs = def_regs([Dst], Regs0), + [I|defs(Is, Regs, update_regs(L, Regs0, D))]; defs([{bs_put,{f,L},_,_}=I|Is], Regs, D) -> [I|defs(Is, Regs, update_regs(L, Regs, D))]; defs([build_stacktrace=I|Is], _Regs, D) -> |