MySQL 5.6.14 Source Code Document
|
Go to the source code of this file.
Macros | |
#define | ut_crc32_slice8_byte |
#define | ut_crc32_slice8_quadword |
Functions | |
UNIV_INLINE ib_uint32_t | ut_crc32_sse42 (const byte *buf, ulint len) |
UNIV_INLINE ib_uint32_t | ut_crc32_slice8 (const byte *buf, ulint len) |
UNIV_INTERN void | ut_crc32_init () |
Variables | |
ib_ut_crc32_t | ut_crc32 |
UNIV_INTERN bool | ut_crc32_sse2_enabled = false |
CRC32 implementation from Facebook, based on the zlib implementation.
Created Aug 8, 2011, Vasil Dimov, based on mysys/my_crc32.c and mysys/my_perf.c, contributed by Facebook under the following license.
Definition in file ut0crc32.cc.
#define ut_crc32_slice8_byte |
Definition at line 219 of file ut0crc32.cc.
#define ut_crc32_slice8_quadword |
Definition at line 223 of file ut0crc32.cc.
UNIV_INTERN void ut_crc32_init | ( | ) |
Initializes the data structures used by ut_crc32(). Does not do any allocations, would not hurt if called twice, but would be pointless.
Definition at line 276 of file ut0crc32.cc.
UNIV_INLINE ib_uint32_t ut_crc32_slice8 | ( | const byte * | buf, |
ulint | len | ||
) |
Calculates CRC32 manually.
buf | in: data over which to calculate CRC32 |
len | in: data length |
Definition at line 240 of file ut0crc32.cc.
UNIV_INLINE ib_uint32_t ut_crc32_sse42 | ( | const byte * | buf, |
ulint | len | ||
) |
Calculates CRC32 using CPU instructions.
buf | in: data over which to calculate CRC32 |
len | in: data length |
Definition at line 182 of file ut0crc32.cc.