Lower fast tail call wasn't patching control expression (dotnet/coreclr#20740)
authorEgor Chesakov <Egor.Chesakov@microsoft.com>
Tue, 13 Nov 2018 00:41:01 +0000 (16:41 -0800)
committerGitHub <noreply@github.com>
Tue, 13 Nov 2018 00:41:01 +0000 (16:41 -0800)
commit6ef4a3174904b913e1ce9fe0b9d9c1428b611710
treefc6ac35e35b8b3469b6c9d211da7314305677bf2
parentea4db88fb4cb6aa7ddb8728128f376affc62b55a
Lower fast tail call wasn't patching control expression (dotnet/coreclr#20740)

Lower fast tail call can replace local variables (holding Caller stack arguments) with new temps in order to set up Callee stack arguments correctly. This involves patching corresponding LCL_VAR and LCL_VAR_ADDR nodes and replacing them with the location of a new temp.

This was not done for control expression which continued pointing to the old location and could contain a Callee argument.

Commit migrated from https://github.com/dotnet/coreclr/commit/ce7e79770b924c3ed4649c60074fa36c1401b4ee
src/coreclr/src/jit/lower.cpp
src/coreclr/tests/src/JIT/Regression/JitBlue/GitHub_20625/GitHub_20625.il [new file with mode: 0644]
src/coreclr/tests/src/JIT/Regression/JitBlue/GitHub_20625/GitHub_20625.ilproj [new file with mode: 0644]