diff options
author | John Högberg <[email protected]> | 2019-01-24 14:43:09 +0100 |
---|---|---|
committer | John Högberg <[email protected]> | 2019-01-24 14:43:22 +0100 |
commit | bd6a3d3c574644151ecc4d919673bb0526c94bd0 (patch) | |
tree | 0859df3c3171cfab6adf7f9733a549ea1ccbfca5 /lib/compiler/src | |
parent | a0104bc16c8c6f57c2725d07b811bf3bcb0a2455 (diff) | |
download | otp-bd6a3d3c574644151ecc4d919673bb0526c94bd0.tar.gz otp-bd6a3d3c574644151ecc4d919673bb0526c94bd0.tar.bz2 otp-bd6a3d3c574644151ecc4d919673bb0526c94bd0.zip |
Make the beam_validator smarter again, again
The fix in f9ea85611faca82c7494449ddb8bcb1ef1d194cb didn't consider
that the tested register could be aliased.
Diffstat (limited to 'lib/compiler/src')
-rw-r--r-- | lib/compiler/src/beam_validator.erl | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/compiler/src/beam_validator.erl b/lib/compiler/src/beam_validator.erl index 15ed267c54..4081e366a5 100644 --- a/lib/compiler/src/beam_validator.erl +++ b/lib/compiler/src/beam_validator.erl @@ -871,7 +871,7 @@ valfun_4({test,is_map,{f,Lbl},[Src]}, Vst0) -> valfun_4({test,is_nil,{f,Lbl},[Src]}, Vst0) -> Vst = case get_term_type(Src, Vst0) of list -> - branch_state(Lbl, set_type_reg(cons, Src, Vst0)); + branch_state(Lbl, set_aliased_type(cons, Src, Vst0)); _ -> branch_state(Lbl, Vst0) end, |