Skip to content
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

compiler alias analysis: Fix bug in status of map extracts #8686

Closed

Conversation

frej
Copy link
Contributor

@frej frej commented Jul 24, 2024

As the destructive update pass does not have any support for patching literal maps, as it can do for tuples to ensure that the term that will be destructively updated is on the heap, we must conservatively consider anything extracted from a literal map as aliased.

This is not a significant limitation as tracking the alias status of individual associations of non-literal maps is currently considered non feasible.

This bug is present in 26, 27 as well as in master. I'm not at all sure on the interrelationship between the various maint branches and the patch cannot be just merged forward. To help merging here is what applies to maint-27 and this is what should go into master.

As the destructive update pass does not have any support for patching
literal maps, as it can do for tuples to ensure that the term that
will be destructively updated is on the heap, we must conservatively
consider anything extracted from a literal map as aliased.

This is not a significant limitation as tracking the alias status of
individual associations of non-literal maps is currently considered
non feasible.
Copy link
Contributor

github-actions bot commented Jul 24, 2024

CT Test Results

    2 files    296 suites   10m 19s ⏱️
  781 tests   779 ✅ 2 💤 0 ❌
4 952 runs  4 950 ✅ 2 💤 0 ❌

Results for commit e8f770a.

♻️ This comment has been updated with latest results.

To speed up review, make sure that you have read Contributing to Erlang/OTP and that all checks pass.

See the TESTING and DEVELOPMENT HowTo guides for details about how to run test locally.

Artifacts

// Erlang/OTP Github Action Bot

@jhogberg jhogberg self-assigned this Jul 24, 2024
@jhogberg jhogberg added team:VM Assigned to OTP team VM testing currently being tested, tag is used by OTP internal CI labels Jul 25, 2024
@frej frej mentioned this pull request Jul 30, 2024
@frej
Copy link
Contributor Author

frej commented Aug 14, 2024

@jhogberg, as far as I can tell this one is now merged to all of 26, 27, and master, shouldn't it be closed?

@jhogberg
Copy link
Contributor

It will close itself when the next 26 patch is released. :-)

@jhogberg jhogberg closed this Sep 9, 2024
@jhogberg
Copy link
Contributor

jhogberg commented Sep 9, 2024

... turns out that it didn't get closed automatically this time. I've closed the PR manually.

@frej frej deleted the frej/fix-alias-analysis-error-for-maint-26 branch September 30, 2024 10:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
team:VM Assigned to OTP team VM testing currently being tested, tag is used by OTP internal CI
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants