aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/lib/iomgr/error.cc
Commit message (Collapse)AuthorAge
* Optimize error handling for special cases.Gravatar Soheil Hassas Yeganeh2018-10-18
| | | | | | | | | | | | | | This commit contains a few improvements: 1. Using a consequetive range of [0..4], will allow us to merge all branches of error_is_special into one comparison. 2. With (1), we can remove the for loops to find entries in error_status_map with a single O(1) lookup. 3. grpc_error_is_special() code paths should be inlined for ref and unref to avoid callq for the majority of cases where speical error is used. 4. grpc_error_get_int() should never accept a nullptr argument to avoid an expensive branch in the hot path. Callers should all allocate a dummy int on the stack when calling.
* Avoid extra branches in grpc_error_get_(str|int).Gravatar Soheil Hassas Yeganeh2018-09-25
| | | | | | | | | Moving the check for "which" inside the for loop, will let the compiler unroll the loop and merge it with the branches grpc_error_is_especial. This is visible in the following godbolts: Before: https://godbolt.org/z/Nqujh1 After: https://godbolt.org/z/fA2PX-
* Explain the newer semantics of grpc_error_add_childGravatar Yash Tibrewal2018-08-21
|
* Modify existing error child manipulationGravatar Yash Tibrewal2018-08-21
|
* PR Feedback ChangesGravatar kpayson642018-07-27
|
* Revert "Make error strings consistent"Gravatar kpayson642018-07-25
| | | | This reverts commit a135059ce7d2db3180045810f66dd69a8fc88284.
* Make error strings consistentGravatar kpayson642018-07-13
|
* Add an error mode to disable creationGravatar ncteisen2018-06-07
|
* Run clang fmtGravatar Noah Eisen2018-02-09
|
* Autofix c casts to c++ castsGravatar Noah Eisen2018-02-09
|
* Privatize useful.h and avl.hGravatar Vijay Pai2018-02-02
|
* Deprecate GPR_TIMER_BEGIN/END and replace with GPR_TIMER_SCOPE.Gravatar yang-g2018-01-31
|
* Fix internal TSAN bugGravatar Noah Eisen2017-12-19
|
* Revert "Revert "All instances of exec_ctx being passed around in src/core ↵Gravatar Yash Tibrewal2017-12-06
| | | | removed""
* Revert "All instances of exec_ctx being passed around in src/core removed"Gravatar Yash Tibrewal2017-12-06
|
* Merge masterGravatar Yash Tibrewal2017-11-21
|\
| * Merge branch 'master' of https://github.com/grpc/grpc into tracing++Gravatar ncteisen2017-11-17
| |\
* | \ Merge masterGravatar Yash Tibrewal2017-11-16
|\ \ \
* | | | Address some PR commentsGravatar Yash Tibrewal2017-11-14
| | | |
| | | * Merge branch 'master' of https://github.com/grpc/grpc into inline-closureGravatar Noah Eisen2017-11-13
| | | |\ | | |_|/ | |/| |
| | * | Merge branch 'master' of https://github.com/grpc/grpc into tracing++Gravatar Noah Eisen2017-11-13
| | |\ \ | | |/ / | |/| |
| | | * clang fmtGravatar ncteisen2017-11-12
| | | |
| | | * Fix trace_closure linker errorGravatar ncteisen2017-11-12
| | | |
| * | | clang-format after nullptr changesGravatar Craig Tiller2017-11-10
| | | |
| | * | Merge branch 'master' of https://github.com/grpc/grpc into tracing++Gravatar ncteisen2017-11-10
| | |\| | | | | | | | | | | | | Lot's of manual work to make this merge work
| * | | s/NULL/nullptrGravatar Craig Tiller2017-11-10
| | |/ | |/|
* | | Merge with masterGravatar Yash Tibrewal2017-11-09
|\| |
| * | Update clang-format to 5.0Gravatar Craig Tiller2017-11-03
| | |
* | | Removing instances of exec_ctx being passed around in functions inGravatar Yash Tibrewal2017-10-18
|/ / | | | | | | | | | | | | | | | | | | | | src/core. exec_ctx is now a thread_local pointer of type ExecCtx instead of grpc_exec_ctx which is initialized whenever ExecCtx is instantiated. ExecCtx also keeps track of the previous exec_ctx so that nesting of exec_ctx is allowed. This means that there is only one exec_ctx being used at any time. Also, grpc_exec_ctx_finish is called in the destructor of the object, and the previous exec_ctx is restored to avoid breaking current functionality. The code still explicitly calls grpc_exec_ctx_finish because removing all such instances causes the code to break.
| * Add debug-only trace flagsGravatar Craig Tiller2017-10-18
| |
| * Better nameGravatar Craig Tiller2017-10-18
| |
| * clang-formatGravatar Craig Tiller2017-10-16
| |
| * C++ize tracingGravatar Craig Tiller2017-10-16
|/
* More build errorsGravatar Yash Tibrewal2017-10-02
|
* Changes for C to C++. Adding extern C to header files for compatibility.Gravatar Yash Tibrewal2017-10-02
Also converting to .cc