This repository was archived by the owner on Jan 23, 2023. It is now read-only.
File tree Expand file tree Collapse file tree 1 file changed +14
-1
lines changed
Expand file tree Collapse file tree 1 file changed +14
-1
lines changed Original file line number Diff line number Diff line change @@ -18592,7 +18592,20 @@ void Compiler::impDevirtualizeCall(GenTreeCall* call,
1859218592#if defined(DEBUG)
1859318593 // Validate that callInfo has up to date method flags
1859418594 const DWORD freshBaseMethodAttribs = info.compCompHnd->getMethodAttribs(baseMethod);
18595- assert(freshBaseMethodAttribs == baseMethodAttribs);
18595+
18596+ // All the base method attributes should agree, save that
18597+ // CORINFO_FLG_DONT_INLINE may have changed from 0 to 1
18598+ // because of concurrent jitting activity.
18599+ //
18600+ // Note we don't look at this particular flag bit below, and
18601+ // later on (if we do try and inline) we will rediscover why
18602+ // the method can't be inlined, so there's no danger here in
18603+ // seeing this particular flag bit in different states between
18604+ // the cached and fresh values.
18605+ if ((freshBaseMethodAttribs & ~CORINFO_FLG_DONT_INLINE) != (baseMethodAttribs & ~CORINFO_FLG_DONT_INLINE))
18606+ {
18607+ assert(!"mismatched method attributes");
18608+ }
1859618609#endif // DEBUG
1859718610 }
1859818611
You can’t perform that action at this time.
0 commit comments