diff options
author | Eugene Rozenfeld <erozen@microsoft.com> | 2019-02-14 14:43:26 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-02-14 14:43:26 -0800 |
commit | 6c9ad257e78977c9fd5d2429490b5d2f72c1b612 (patch) | |
tree | cb52a07d50601f0255c2d537552689435defe084 /src/jit/lir.h | |
parent | 171be182943cd4633d5408c5b36b4cf56eefe9e1 (diff) | |
download | coreclr-6c9ad257e78977c9fd5d2429490b5d2f72c1b612.tar.gz coreclr-6c9ad257e78977c9fd5d2429490b5d2f72c1b612.tar.bz2 coreclr-6c9ad257e78977c9fd5d2429490b5d2f72c1b612.zip |
Fix check for memory containment safety. (#22563)
This change ensures that if an operand can produce an exception
and any instructions executed after the operand evaluation but before
the operand's parent can also produce an exception, the operand
shouldn't be contained. The reason is that in this case operand
containment may reorder exceptions.
With `strict` set to true the containment is blocked here:
https://github.com/dotnet/coreclr/blob/d27fff3f65193dd71c6197e9876101f496bbd28b/src/jit/sideeffects.cpp#L485-L488
Also, make the check for ordering side-effect interference less
conservative.
Fixes #22556.
Diffstat (limited to 'src/jit/lir.h')
0 files changed, 0 insertions, 0 deletions