[interp] Fix resuming from finally block (#8195)
commit2fd38a2f4b2735d692b4d34101fd12bd2d10f53e
authorVlad Brezae <brezaevlad@gmail.com>
Thu, 12 Apr 2018 16:54:26 +0000 (12 19:54 +0300)
committerLudovic Henry <luhenry@microsoft.com>
Thu, 12 Apr 2018 16:54:26 +0000 (12 12:54 -0400)
treedee64f546cea147e5f0277421a301f4e8f14b1c0
parenta14f41ca2605da246c6475f1bd2718eca7f8b3cb
[interp] Fix resuming from finally block (#8195)

In interp we implement the leave statement by enqueuing finally ips (and the destination ip that we are leaving to) that we call as we exit finally blocks. When throwing an exception from a finally block we need to flush these ips, so we don't jump back into clauses that were already skipped by EH.
mono/mini/interp/interp-internals.h
mono/mini/interp/interp.c
mono/tests/Makefile.am
mono/tests/exception19.cs [new file with mode: 0644]