diff options
author | Monty <monty@mariadb.org> | 2018-04-04 12:16:12 +0300 |
---|---|---|
committer | Monty <monty@mariadb.org> | 2018-05-07 00:07:32 +0300 |
commit | 30ebc3ee9efcab635b1f3e14b9198a58ae93c233 (patch) | |
tree | 81e3ad66cd4ec8693964317cbf23515d0e9ecf35 /sql/item_inetfunc.cc | |
parent | a22a339f8e044a1e8df011beb0b4c8f43792ac96 (diff) | |
download | mariadb-git-30ebc3ee9efcab635b1f3e14b9198a58ae93c233.tar.gz |
Add likely/unlikely to speed up execution
Added to:
- if (error)
- Lex
- sql_yacc.yy and sql_yacc_ora.yy
- In header files to alloc() calls
- Added thd argument to thd_net_is_killed()
Diffstat (limited to 'sql/item_inetfunc.cc')
-rw-r--r-- | sql/item_inetfunc.cc | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/sql/item_inetfunc.cc b/sql/item_inetfunc.cc index d4788a39d5e..8a3345ecc81 100644 --- a/sql/item_inetfunc.cc +++ b/sql/item_inetfunc.cc @@ -149,13 +149,14 @@ longlong Item_func_inet_bool_base::val_int() { DBUG_ASSERT(fixed); - if (args[0]->result_type() != STRING_RESULT) // String argument expected + // String argument expected + if (unlikely(args[0]->result_type() != STRING_RESULT)) return 0; String buffer; String *arg_str= args[0]->val_str(&buffer); - if (!arg_str) // Out-of memory happened. The error has been reported. + if (unlikely(!arg_str)) // Out-of memory happened. error has been reported. return 0; // Or: the underlying field is NULL return calc_value(arg_str) ? 1 : 0; @@ -175,7 +176,8 @@ String *Item_func_inet_str_base::val_str_ascii(String *buffer) { DBUG_ASSERT(fixed); - if (args[0]->result_type() != STRING_RESULT) // String argument expected + // String argument expected + if (unlikely(args[0]->result_type() != STRING_RESULT)) { null_value= true; return NULL; @@ -183,15 +185,17 @@ String *Item_func_inet_str_base::val_str_ascii(String *buffer) StringBuffer<STRING_BUFFER_USUAL_SIZE> tmp; String *arg_str= args[0]->val_str(&tmp); - if (!arg_str) // Out-of memory happened. The error has been reported. - { // Or: the underlying field is NULL + if (unlikely(!arg_str)) + { + // Out-of memory happened. error has been reported. + // Or: the underlying field is NULL null_value= true; return NULL; } null_value= !calc_value(arg_str, buffer); - return null_value ? NULL : buffer; + return unlikely(null_value) ? NULL : buffer; } /////////////////////////////////////////////////////////////////////////// |