diff options
| author | Heejin Ahn <aheejin@gmail.com> | 2020-12-28 05:10:22 -0800 |
|---|---|---|
| committer | Heejin Ahn <aheejin@gmail.com> | 2021-02-06 07:07:04 -0800 |
| commit | ed41945faadab27036d368cda9223dc3cb6eb840 (patch) | |
| tree | 5257adba87a802008e8b3dda73523b88ecda9a45 /lldb/test/API/python_api | |
| parent | 79a6cfc29eb35322152389e4eddb2e1a28aa038f (diff) | |
[WebAssembly] Fix call unwind mismatches
This adds `delegate` instruction and use it to fix unwind destination
mismatches created by marker placement in CFGStackify.
There are two kinds of unwind destination mismatches:
- Mismatches caused by throwing instructions (here we call it "call
unwind mismatches", even though `throw` and `rethrow` can also cause
mismatches)
- Mismatches caused by `catch`es, in case a foreign exception is not
caught by the nearest `catch` and the next outer `catch` is not the
catch it should unwind to. This kind of mismatches didn't exist in the
previous version of the spec, because in the previous spec `catch` was
effectively `catch_all`, catching all exceptions.
This implements routines to fix the first kind of unwind mismatches,
which we call "call unwind mismatches". The second mismatch (catch
unwind mismatches) will be fixed in a later CL.
This also reenables all previously disabled tests in cfg-stackify-eh.ll
and updates FileCheck lines to match the new spec. Two tests were
deleted because they specifically tested the way we fixed unwind
mismatches before using `exnref`s and branches, which we don't do
anymore.
Reviewed By: tlively
Differential Revision: https://reviews.llvm.org/D94048
Diffstat (limited to 'lldb/test/API/python_api')
0 files changed, 0 insertions, 0 deletions
