-
Notifications
You must be signed in to change notification settings - Fork 3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Possible problem with safe destructive update of tuples #8875
Comments
I'm taking a look. |
This appears to be unrelated to the destructive update, if we just look at the first failing function test.erl
For the call to
If we load this module into the x86 JIT with
If we place a breakpoint following the first instruction of block 10 and dump |
Catches issues like erlangGH-8875
Catches issues like erlangGH-8875
…OTP-19268 Eliminate unsafe fusion of BEAM instructions
* bjorn/jit/fix-tuple-test/GH-8875/OTP-19268: Eliminate unsafe fusion of BEAM instructions
Describe the bug
I found unexpected behavior when testing some old source code with Erlang 27.
The problem may be related to this improvement introduced in OTP 27.0 (I'm just guessing):
To Reproduce
The problem is 100% reproducible with the example code. I tried to reduce the code as much as possible, but it still includes calls to ets, maps... that probably can be simplified once the problem is better delimited.
Expected behavior
test1/0 finishes correctly, test2 and test3 fail, even if they are almost identical to test1.
Affected versions
Tested and affected: Erlang/OTP 27.0.1 and 27.1.1
Not tested with older 27 versions or git master branch.
Tested and not affected: Erlang 26.2.5.
Additional context
Example module to reproduce the problem:
The text was updated successfully, but these errors were encountered: