[libcxx-commits] [PATCH] D93186: [libc++abi] Simplify __gxx_personality_v0
Fangrui Song via Phabricator via libcxx-commits
libcxx-commits at lists.llvm.org
Sun Dec 13 15:57:03 PST 2020
MaskRay created this revision.
MaskRay added a reviewer: libc++abi.
MaskRay requested review of this revision.
Herald added a project: libc++abi.
Herald added a subscriber: libcxx-commits.
Herald added 1 blocking reviewer(s): libc++abi.
In three cases we call `scan_eh_tab` to parse LSDA:
- `actions & _UA_SEARCH_PHASE`
- `actions & _UA_CLEANUP_PHASE && actions & _UA_HANDLER_FRAME && !native_exception`
- `actions & _UA_CLEANUP_PHASE && !(actions & _UA_HANDLER_FRAME)`
Check `actions & _UA_CLEANUP_PHASE && actions & _UA_HANDLER_FRAME &&
native_exception` first, then we can move three `scan_eh_tab` onto one place.
Another simplification is that we can check whether the result of `scan_eh_tab`
is `_UA_CONTINUE_UNWIND` or `_UA_FATAL_PHASE1_ERROR` first. Then many of the
original checks will be dead and can thus be deleted.
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D93186
Files:
libcxxabi/src/cxa_personality.cpp
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D93186.311474.patch
Type: text/x-patch
Size: 6018 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/libcxx-commits/attachments/20201213/e0d2ba0e/attachment.bin>
More information about the libcxx-commits
mailing list