Spill the eval stack when storing to a pinned local.
authorAndy Ayers <andya@microsoft.com>
Wed, 3 Jan 2018 22:11:18 +0000 (14:11 -0800)
committerAndy Ayers <andya@microsoft.com>
Wed, 3 Jan 2018 22:11:18 +0000 (14:11 -0800)
commit60f74b3bf12e2993c7f928856b5740cbe03f6612
treeae51e91e6ed770a3d837fd0ee26396b93326ae9f
parent50a4b337f59071ced788681ca3e5a8c3ea51d8f5
Spill the eval stack when storing to a pinned local.

The jit may not see direct interference between a pinned local and expressions that use the pinned value. So worst case it should assume that such interference exists and spill the stack when storing to a pinned local. Otherwise the jit may reorder unpins and calls that refer to pinned storage.

Fixes DevDiv 545749

[tfs-changeset: 1685045]
src/jit/importer.cpp