diff options
author | Abseil Team <absl-team@google.com> | 2018-10-16T17·33-0700 |
---|---|---|
committer | Xiaoyi Zhang <zhangxy988@gmail.com> | 2018-10-17T20·27-0400 |
commit | 2019e17a520575ab365b2b5134d71068182c70b8 (patch) | |
tree | 3f82a3389308ed98ca9944221597fdc007391cab /absl/debugging | |
parent | 5b70a8910b2e6fb0ce5193a41873139a126d2f7f (diff) |
Export of internal Abseil changes.
-- 578b3ed641b8d92769a34d73389dfff5559925e6 by Abseil Team <absl-team@google.com>: Prevents tail call optimization for GetStackFrames[WithContext]/GetStackTrace[WithContext] functions, so the skipped frames will not change because of optimization difference. PiperOrigin-RevId: 217342437 -- 31fad1337e146a6ec74ae887d95920373e36c8dd by Abseil Team <absl-team@google.com>: Fixed syntax on flat_hash_set documentation for insert. PiperOrigin-RevId: 217208659 GitOrigin-RevId: 578b3ed641b8d92769a34d73389dfff5559925e6 Change-Id: I121c42861e8321ab561326978ac8972c68f066d0
Diffstat (limited to 'absl/debugging')
-rw-r--r-- | absl/debugging/stacktrace.cc | 22 |
1 files changed, 11 insertions, 11 deletions
diff --git a/absl/debugging/stacktrace.cc b/absl/debugging/stacktrace.cc index 463fad269c16..7bbd65ac90e0 100644 --- a/absl/debugging/stacktrace.cc +++ b/absl/debugging/stacktrace.cc @@ -80,29 +80,29 @@ ABSL_ATTRIBUTE_ALWAYS_INLINE inline int Unwind(void** result, int* sizes, } // anonymous namespace -ABSL_ATTRIBUTE_NOINLINE -int GetStackFrames(void** result, int* sizes, int max_depth, int skip_count) { +ABSL_ATTRIBUTE_NOINLINE ABSL_ATTRIBUTE_NO_TAIL_CALL int GetStackFrames( + void** result, int* sizes, int max_depth, int skip_count) { return Unwind<true, false>(result, sizes, max_depth, skip_count, nullptr, nullptr); } -ABSL_ATTRIBUTE_NOINLINE -int GetStackFramesWithContext(void** result, int* sizes, int max_depth, - int skip_count, const void* uc, - int* min_dropped_frames) { +ABSL_ATTRIBUTE_NOINLINE ABSL_ATTRIBUTE_NO_TAIL_CALL int +GetStackFramesWithContext(void** result, int* sizes, int max_depth, + int skip_count, const void* uc, + int* min_dropped_frames) { return Unwind<true, true>(result, sizes, max_depth, skip_count, uc, min_dropped_frames); } -ABSL_ATTRIBUTE_NOINLINE -int GetStackTrace(void** result, int max_depth, int skip_count) { +ABSL_ATTRIBUTE_NOINLINE ABSL_ATTRIBUTE_NO_TAIL_CALL int GetStackTrace( + void** result, int max_depth, int skip_count) { return Unwind<false, false>(result, nullptr, max_depth, skip_count, nullptr, nullptr); } -ABSL_ATTRIBUTE_NOINLINE -int GetStackTraceWithContext(void** result, int max_depth, int skip_count, - const void* uc, int* min_dropped_frames) { +ABSL_ATTRIBUTE_NOINLINE ABSL_ATTRIBUTE_NO_TAIL_CALL int +GetStackTraceWithContext(void** result, int max_depth, int skip_count, + const void* uc, int* min_dropped_frames) { return Unwind<false, true>(result, nullptr, max_depth, skip_count, uc, min_dropped_frames); } |