Skip to content
This repository was archived by the owner on Jan 23, 2023. It is now read-only.

Guard a use of a possibly-uninitialized BitSet.#9871

Merged
pgavlin merged 1 commit into
dotnet:masterfrom
pgavlin:FixUninitBitsetAccess
Mar 1, 2017
Merged

Guard a use of a possibly-uninitialized BitSet.#9871
pgavlin merged 1 commit into
dotnet:masterfrom
pgavlin:FixUninitBitsetAccess

Conversation

@pgavlin
Copy link
Copy Markdown

@pgavlin pgavlin commented Mar 1, 2017

Part of the range check optimization pass was not checking to ensure that a bitset
was initialized before attempting to access it. This was causing one of the new
tests for Vector.Narrow to fail with an AV.

Part of the range check optimization pass was not checking to ensure that a bitset
was initialized before attempting to access it. This was causing one of the new
tests for Vector.Narrow to fail with an AV.
@pgavlin
Copy link
Copy Markdown
Author

pgavlin commented Mar 1, 2017

@JosephTremoulet @briansull @dotnet/jit-contrib PTAL.

See #9835 for an example of the test failure.

@pgavlin
Copy link
Copy Markdown
Author

pgavlin commented Mar 1, 2017

@dotnet-bot test Windows_NT x86 corefx_baseline
@dotnet-bot test Ubuntu x64 corefx_baseline
@dotnet-bot test Windows_NT x64 corefx_baseline

@pgavlin
Copy link
Copy Markdown
Author

pgavlin commented Mar 1, 2017

cc @mellinoe

Copy link
Copy Markdown

@JosephTremoulet JosephTremoulet left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is it uninitialized because the block is unreachable? It's too bad we spend time trying to compute ranges for unreachable code, but I see the same guard around other calls to MergeEdgeAssertions, so LGTM.

@pgavlin
Copy link
Copy Markdown
Author

pgavlin commented Mar 1, 2017

Is it uninitialized because the block is unreachable? It's too bad we spend time trying to compute ranges for unreachable code, but I see the same guard around other calls to MergeEdgeAssertions, so LGTM.

I am not sure why it is initialized. I inferred from the other guards that this was an expected case and copy/pasted :/

At some point it would be good to understand why this is happening, but for the moment I'd simply like to unblock our CoreFX testing.

@pgavlin pgavlin merged commit 616519f into dotnet:master Mar 1, 2017
@pgavlin pgavlin deleted the FixUninitBitsetAccess branch March 1, 2017 17:07
@mikedn
Copy link
Copy Markdown

mikedn commented Mar 1, 2017

I am not sure why it is initialized. I inferred from the other guards that this was an expected case and copy/pasted :/

Eh, I keep running into assertion prop weirdness, maybe I'll run into this too :)

@karelz karelz modified the milestone: 2.0.0 Aug 28, 2017
picenka21 pushed a commit to picenka21/runtime that referenced this pull request Feb 18, 2022
…cess

Guard a use of a possibly-uninitialized BitSet.

Commit migrated from dotnet/coreclr@616519f
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants