aboutsummaryrefslogtreecommitdiffstats
path: root/bootstrap/lib/compiler/ebin
diff options
context:
space:
mode:
authorBjörn Gustavsson <[email protected]>2015-02-04 15:47:07 +0100
committerBjörn Gustavsson <[email protected]>2015-02-04 16:12:10 +0100
commitf79afb23fbd469bed88616784f757707f9985a06 (patch)
tree24164e8557f9d62578bfe94be98fc084f17e6470 /bootstrap/lib/compiler/ebin
parent42d6afe554e11813385dbf175fce58f995c2f9e5 (diff)
downloadotp-f79afb23fbd469bed88616784f757707f9985a06.tar.gz
otp-f79afb23fbd469bed88616784f757707f9985a06.tar.bz2
otp-f79afb23fbd469bed88616784f757707f9985a06.zip
Correct unsafe optimization of '==' and '/='
Since '=:=' is cheaper than '==', the compiler tries to replace '==' with '=:=' if the result of comparison will be the same. As an example: V == {a,b} can be rewritten to: V =:= {a,b} since the literal on the right side contains no numeric values that '==' would compare differently to '=:='. With the introduction of maps, we will need to take them into account. Since the comparison of maps is planned to change in 18.0, we will be very conservative and only do the optimization if both keys and values are non-numeric.
Diffstat (limited to 'bootstrap/lib/compiler/ebin')
0 files changed, 0 insertions, 0 deletions