[interp] Split leave into pieces, partially outlined, to conserve stack, (#16213)
commitdde3452690d2836d790054faaf719a958cee7bb8
authorJay Krell <jaykrell@microsoft.com>
Thu, 15 Aug 2019 08:39:03 +0000 (15 01:39 -0700)
committerAlexander Köplinger <alex.koeplinger@outlook.com>
Thu, 15 Aug 2019 08:39:03 +0000 (15 10:39 +0200)
treec92ae85eb433e59c5e5b9789c00e5382781cd1d4
parent5b66d3d5187906d708fd9c22e67e5581f117bb37
[interp] Split leave into pieces, partially outlined, to conserve stack, (#16213)

but without changing how exception handling macros access labels and locals.

This saves 16 bytes of stack on Linux/amd64/gcc and likely similar everywhere,
as it takes an address-taken local out of interp_exec_method_full (stackval tmp_sp).

See
https://github.com/mono/mono/pull/16171
https://github.com/mono/mono/pull/16171/commits/a6a8f0d5ffa875da9cda63444e401c37810a690f for a
full outlining.
mono/mini/interp/interp.c