Require a frame pointer in methods with throw blocks for sources that have mismatched...
authorPat Gavlin <pagavlin@microsoft.com>
Wed, 26 Apr 2017 20:23:59 +0000 (13:23 -0700)
committerPat Gavlin <pagavlin@microsoft.com>
Wed, 26 Apr 2017 20:23:59 +0000 (13:23 -0700)
commitfbcc6dcc6cbc270bad57ff39fb482c09a7fecf54
tree68aa343f3fd28e19cfbcadc32227c6095898b4f7
parentab235ff11b108b3dd21c16903ed989dcd4cc3119
Require a frame pointer in methods with throw blocks for sources that have mismatched stack depths.

This requirement effectively disables double-aligned frames (which are
effectively a special case of ESP frames). Without this change it is
possible for the JIT to generate a throw block with sources that have
mismatched offsets, which can lead to GC holes.

Fixes VSO 424019.

Commit migrated from https://github.com/dotnet/coreclr/commit/93db790df78e34a496c8a4ecc985289e680b9958
src/coreclr/src/jit/flowgraph.cpp