ARM64: Fix for handling GC register for call site
authorKyungwoo Lee <kyulee@microsoft.com>
Mon, 7 Mar 2016 16:49:10 +0000 (08:49 -0800)
committerKyungwoo Lee <kyulee@microsoft.com>
Mon, 7 Mar 2016 20:16:27 +0000 (12:16 -0800)
commit377a8c5d5743835d2d3cd86c456099bb83f35e80
treee182d28a5d939dbfa8fab6078f7f09c098808724
parenta43659055974983c910d421144f749498f9f66a4
ARM64: Fix for handling GC register for call site

This fixes https://github.com/dotnet/coreclr/issues/2731.
Looking at GC heap corruption, JIT incorrectly reports the live range of
GC references so GC swept the live objects.
The issue was when JIT emits call instruction, GC live register is not
processed at all, which JIT treated them as dead.
The fix is to implement this missing part for ARM64.
src/jit/emitinl.h
src/jit/lowerarm64.cpp
tests/arm64/Tests.lst