[interp] Fix incorrect propagation of indirect local (#32511)
authormonojenkins <jo.shields+jenkins@xamarin.com>
Wed, 19 Feb 2020 22:09:32 +0000 (17:09 -0500)
committerGitHub <noreply@github.com>
Wed, 19 Feb 2020 22:09:32 +0000 (00:09 +0200)
commit8652d1fbf26bc732cc11fd2756e037d11ede7c96
tree7495c6404c0a9ac7917caa0845a852d8b38fee6c
parent3c48c12eb35b682d5c167e3f89b5ad3833d42c8a
[interp] Fix incorrect propagation of indirect local (#32511)

We never track the value of locals who have their address taken in a method, since their value can change without the pass detecting it, leading to propagation of incorrect values. We failed to check for this when doing a stloc.np optimization.

Fixes System.Reflection.Metadata.Tests.ImmutableByteArrayInteropTest.DangerousCreateFromUnderlyingArray

Enable more interp tests, which don't seem to fail on my machine.

Co-authored-by: Vlad Brezae <brezaevlad@gmail.com>
src/mono/mono/mini/interp/transform.c