diff options
author | Björn Gustavsson <[email protected]> | 2018-09-28 05:57:47 +0200 |
---|---|---|
committer | Björn Gustavsson <[email protected]> | 2018-09-28 10:47:56 +0200 |
commit | 0bb261b730eff06cca524ea9999ff035585ef5b4 (patch) | |
tree | e057e70bc7fe53a7ec74577dfdb836707e7ae60b /make/unexpected_use | |
parent | 377f19f25aeec6939a6728bd0c4910086c22ccdc (diff) | |
download | otp-0bb261b730eff06cca524ea9999ff035585ef5b4.tar.gz otp-0bb261b730eff06cca524ea9999ff035585ef5b4.tar.bz2 otp-0bb261b730eff06cca524ea9999ff035585ef5b4.zip |
Fix rare bug in binary matching (again)
2e40d8d1c51a attempted fix a bug in binary matching, but it only
fixed the bug for the minimized test case.
This commit removes the previous fix and fixes the bug in a more
effective way. See the comments in the new code in `sys_core_bsm`
for an explanation.
This commit restores the optimizations in string.erl and dets_v9.erl
that the previous fix disabled.
I have not found any code where this commit will disable optimizations
when they are actually safe. There are some changes to the code
in ssl_cipher.erl in that some bs_start_match2 instruction did not
reuse the binary register for the match context, but the delayed
sub binary optimizations was never applied to the code in the first
place.
https://bugs.erlang.org/browse/ERL-689
Diffstat (limited to 'make/unexpected_use')
0 files changed, 0 insertions, 0 deletions