aboutsummaryrefslogtreecommitdiffstats
path: root/lib/compiler/src
diff options
context:
space:
mode:
authorJohn Högberg <[email protected]>2018-10-15 10:30:00 +0200
committerJohn Högberg <[email protected]>2018-10-15 13:15:13 +0200
commit59e5879164f0c11d2063e4eecb8a7052e2f4a04a (patch)
treebfd1109b47fa35918a1c73f5a4c1398b31ab5a37 /lib/compiler/src
parentd9682b02b81fa6e23e554b6e017650eb89ecebed (diff)
downloadotp-59e5879164f0c11d2063e4eecb8a7052e2f4a04a.tar.gz
otp-59e5879164f0c11d2063e4eecb8a7052e2f4a04a.tar.bz2
otp-59e5879164f0c11d2063e4eecb8a7052e2f4a04a.zip
beam_utils: Handle bs_start_match2 in anno_defs
Diffstat (limited to 'lib/compiler/src')
-rw-r--r--lib/compiler/src/beam_utils.erl4
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) ->