2e1a56f264
The MemoryCopyInstr on x64 in MSAN mode when forward copying was unpoisoning at the wrong pointer. The `rep mov` changes the destination register. Now we unpoison _before_ the `rep mov` if it's a forward copy, and _after_ the `rep mov` for backwards copies. This way the destination register contains the start of the memory in both cases. TEST=tests/ffi/msan_test.dart b/266213262 Change-Id: I37688802e63797f650a8242b6ba8b884813ebbd0 Cq-Include-Trybots: luci.dart.try:vm-msan-linux-release-x64-try,vm-aot-msan-linux-release-x64-try,vm-linux-debug-ia32-try Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/361420 Reviewed-by: Tess Strickland <sstrickl@google.com> Commit-Queue: Daco Harkes <dacoharkes@google.com>