← Back to team overview

maria-developers team mailing list archive

Re: [Commits] 14bd406: Less code to depend on ut_crc32_init()

 

Thanks, this looks OK to me. I guess the function ut_crc32_init() will be
made optional separately.

On Thu, Nov 23, 2017 at 1:22 PM, Sergey Vojtovich <svoj@xxxxxxxxxxx> wrote:

> revision-id: 14bd406970c9bb18c744a452359aa4505f325b2d
> (mariadb-10.3.2-67-g14bd406)
> parent(s): f28af027a0439d760c6d26eb67a932e97eb665d7
> committer: Sergey Vojtovich
> timestamp: 2017-11-23 15:22:10 +0400
> message:
>
> Less code to depend on ut_crc32_init()
>
> ---
>  storage/innobase/include/ut0crc32.h |  1 +
>  storage/innobase/ut/ut0crc32.cc     | 20 +++++++-------------
>  2 files changed, 8 insertions(+), 13 deletions(-)
>
> diff --git a/storage/innobase/include/ut0crc32.h
> b/storage/innobase/include/ut0crc32.h
> index 527a3e81..32ad066 100644
> --- a/storage/innobase/include/ut0crc32.h
> +++ b/storage/innobase/include/ut0crc32.h
> @@ -51,6 +51,7 @@ extern ut_crc32_func_t        ut_crc32;
>  when converting byte strings to integers internally. */
>  extern uint32_t ut_crc32_legacy_big_endian(const byte* buf, ulint len);
>
> +/** Text description of CRC32 implementation */
>  extern const char*     ut_crc32_implementation;
>
>  #endif /* ut0crc32_h */
> diff --git a/storage/innobase/ut/ut0crc32.cc b/storage/innobase/ut/
> ut0crc32.cc
> index 36c52b7..48f6b82 100644
> --- a/storage/innobase/ut/ut0crc32.cc
> +++ b/storage/innobase/ut/ut0crc32.cc
> @@ -86,12 +86,6 @@ mysys/my_perf.c, contributed by Facebook under the
> following license.
>  #include "univ.i"
>  #include "ut0crc32.h"
>
> -/** Pointer to CRC32 calculation function. */
> -ut_crc32_func_t        ut_crc32;
> -
> -/** Text description of CRC32 implementation */
> -const char*    ut_crc32_implementation;
> -
>  /** Swap the byte order of an 8 byte integer.
>  @param[in]     i       8-byte integer
>  @return 8-byte integer */
> @@ -125,6 +119,13 @@ ut_crc32_power8(
>  {
>         return crc32c_vpmsum(0, buf, len);
>  }
> +
> +ut_crc32_func_t        ut_crc32 = ut_crc32_power8;
> +const char*    ut_crc32_implementation = "Using POWER8 crc32
> instructions";
> +#else
> +uint32_t ut_crc32_sw(const byte* buf, ulint len);
> +ut_crc32_func_t        ut_crc32 = ut_crc32_sw;
> +const char*    ut_crc32_implementation = "Using generic crc32
> instructions";
>  #endif
>
>  #if defined(__GNUC__) && defined(__x86_64__)
> @@ -568,8 +569,6 @@ ut_crc32_init()
>  /*===========*/
>  {
>         ut_crc32_slice8_table_init();
> -       ut_crc32 = ut_crc32_sw;
> -       ut_crc32_implementation = "Using generic crc32 instructions";
>
>  #if defined(__GNUC__) && defined(__x86_64__)
>         uint32_t        vend[3];
> @@ -603,10 +602,5 @@ ut_crc32_init()
>                 ut_crc32 = ut_crc32_hw;
>                 ut_crc32_implementation = "Using SSE2 crc32 instructions";
>         }
> -
> -#elif defined(HAVE_CRC32_VPMSUM)
> -       ut_crc32 = ut_crc32_power8;
> -       ut_crc32_implementation = "Using POWER8 crc32 instructions";
>  #endif
> -
>  }
> _______________________________________________
> commits mailing list
> commits@xxxxxxxxxxx
> https://lists.askmonty.org/cgi-bin/mailman/listinfo/commits




-- 
Marko Mäkelä, Lead Developer InnoDB
MariaDB Corporation

DON’T MISS

M|18

MariaDB User Conference

February 26 - 27, 2018

New York City

https://m18.mariadb.com/