- Notifications
You must be signed in to change notification settings - Fork5.2k
Do not confuse fgDispBasicBlocks in fgMorphBlocks#50703
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 ourterms of service andprivacy statement. We’ll occasionally send you account related emails.
Already on GitHub?Sign in to your account
Do not confuse fgDispBasicBlocks in fgMorphBlocks#50703
Uh oh!
There was an error while loading.Please reload this page.
Conversation
The logic in "fgDispBasicBlocks" has a check for promoted implicit by-refsthat only allows them during global morph via an 'assert(fgGlobalMorph)'.However, "fgMorphBlocks" was calling "fgDispBasicBlocks" after having set "fgGlobalMorph" to "false",leading it to falsely believe it was not actually being called during global morphand asserting with a message like "assertion failed 'fgGlobalMorph' - during 'Morph - Global'".Fix this by setting "fgGlobalMorph" to "false" at the very end of "fgMorphBlocks".
e07ee9f to32c86dcCompareAndyAyersMS commentedApr 5, 2021
Asserts in dumping code are a bad idea, so can you fix that too? |
SingleAccretion commentedApr 5, 2021 • edited
Loading Uh oh!
There was an error while loading.Please reload this page.
edited
Uh oh!
There was an error while loading.Please reload this page.
I unfortunately could not find a new home for these asserts... We have a few IR walks in the |
AndyAyersMS left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others.Learn more.
Thanks.
I would not worry about losing those two asserts.
AndyAyersMS commentedApr 6, 2021
Thanks again,@SingleAccretion ! |
…shim_mono# By Aaron Robinson (10) and others# Via GitHub* upstream/main: (108 commits) [mbr] Add Apple sample (dotnet#50740) make EstablishProxyTunnelAsync throw on failure status code from proxy (dotnet#50763) Improve RGB Min Max evaluation performance by using 2 or 3 comparison… (dotnet#50622) [mono] More domain cleanups (dotnet#50479) Fix Crossgen2 of PlatformDefaultMemberFunction methods and calls. (dotnet#50754) Disable EventSource generator in design-time builds (dotnet#50741) Fix X509 test failures on Android (dotnet#50301) Do not confuse fgDispBasicBlocks in fgMorphBlocks (dotnet#50703) Enforce 64KB event payload size limit on EventPipe (dotnet#50600) Reorganize CoreCLR native build to reduce CMake reconfigures when the build system is untouched (dotnet#49906) [mbr] Turn on hot reload for iOS, tvOS and MacCatalyst (dotnet#50458) improve connection scavenge logic by doing zero-byte read (dotnet#50545) Resolve call mdtokens when making tier 1 inline observations (dotnet#50675) Annotate APIs in System.Private.Xml (dotnet#49682) Support compiling against OpenSSL 3 headers Change Configuration.Json to use a regular Dictionary. (dotnet#50611) Remove unused BigNumFromBinary P/Invoke (dotnet#50670) Make Ninja the default CMake generator on Windows for the repo (dotnet#49715) [AppleAppBuilder] Entitlements to run tests on catalyst using the JIT (dotnet#50637) [mono] Fix delegate invokes to dynamic methods in mixed mode. (dotnet#50547) ...# Conflicts:#src/mono/dlls/mscordbi/CMakeLists.txt
The logic in "fgDispBasicBlocks" has a check for promoted implicit by-refs
that only allows them during global morph via an 'assert(fgGlobalMorph)'.
However, "fgMorphBlocks" was calling "fgDispBasicBlocks" after having set "fgGlobalMorph" to "false",
leading it to falsely believe it was not actually being called during global morph
and asserting with a message like "assertion failed 'fgGlobalMorph' - during 'Morph - Global'".
Fix this by setting "fgGlobalMorph" to "false" at the very end of "fgMorphBlocks".