summaryrefslogtreecommitdiffstats
path: root/clang/lib/Sema/SemaChecking.cpp
diff options
context:
space:
mode:
authorJason Molenda <jmolenda@apple.com>2011-12-14 04:22:18 +0000
committerJason Molenda <jmolenda@apple.com>2011-12-14 04:22:18 +0000
commit4f6f5f9cd21ef3dc4cb0d958f4b73ab6a3a0bbe4 (patch)
treeaf49cf1bc7e7e59f48c9ccae8caa17592f70a45a /clang/lib/Sema/SemaChecking.cpp
parent4c5ab7bb3878c9cae3e3c2f7af0fb878d9306429 (diff)
downloadbcm5719-llvm-4f6f5f9cd21ef3dc4cb0d958f4b73ab6a3a0bbe4.tar.gz
bcm5719-llvm-4f6f5f9cd21ef3dc4cb0d958f4b73ab6a3a0bbe4.zip
On Mac OS X the Objective-C runtime (libobjc) has many critical
dispatch functions that are implemented in hand-written assembly. There is also hand-written eh_frame instructions for unwinding from these functions. Normally we don't use eh_frame instructions for the currently executing function, prefering the assembly instruction profiling method. But in these hand-written dispatch functions, the profiling is doomed and we should use the eh_frame instructions. Unfortunately there's no easy way to flag/extend the eh_frame/debug_frame sections to annotate if the unwind instructions are accurate at all addresses ("asynchronous") or if they are only accurate at locations that can throw an exception ("synchronous" and the normal case for gcc/clang generated eh_frame/debug_frame CFI). <rdar://problem/10508134> llvm-svn: 146551
Diffstat (limited to 'clang/lib/Sema/SemaChecking.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud