| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
| |
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-
|
| |
|
| |
|
| |
|
|
|
|
| |
This reverts commit a135059ce7d2db3180045810f66dd69a8fc88284.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
removed""
|
| |
|
|\ |
|
| |\ |
|
|\ \ \ |
|
| | | | |
|
| | | |\
| | |_|/
| |/| | |
|
| | |\ \
| | |/ /
| |/| | |
|
| | | | |
|
| | | | |
|
| | | | |
|
| | |\|
| | | |
| | | |
| | | | |
Lot's of manual work to make this merge work
|
| | |/
| |/| |
|
|\| | |
|
| | | |
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| | |
|
| | |
|
| | |
|
|/ |
|
| |
|
|
Also converting to .cc
|