You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I presume what’s happening is the addresses are different between base and diff, and we’re getting lucky to be able to encode a constant with one of arm’s wacky constant encodings. I don’t remember ever seeing this with ngen-base altjit asm diffs – presumably because the addresses always required relocs, so we always forced movw/movt encoding. This could be kind of annoying; we might have to thing about how to make this stable.
(This points out an advantage for SuperPMI diffs, where the addresses are guaranteed to be identical.)
The text was updated successfully, but these errors were encountered:
One way to fix this would be to change emitter::isModImmConst to always return "false" when COMPlus_JitDiffableDasm=1. We currently never change code generation for diffable; we only elide the constant outputs. It seems like it would be ok in this case to avoid "random" diff failures.
I saw this a few times in some arm altjit frameworks PMI diffs:
I presume what’s happening is the addresses are different between base and diff, and we’re getting lucky to be able to encode a constant with one of arm’s wacky constant encodings. I don’t remember ever seeing this with ngen-base altjit asm diffs – presumably because the addresses always required relocs, so we always forced movw/movt encoding. This could be kind of annoying; we might have to thing about how to make this stable.
(This points out an advantage for SuperPMI diffs, where the addresses are guaranteed to be identical.)
The text was updated successfully, but these errors were encountered: