From c4c19c74b8c7208bff29048b1a0d35b06accd8ac Mon Sep 17 00:00:00 2001 From: Yann Collet Date: Tue, 25 Sep 2018 14:43:19 -0700 Subject: changed LZ4_streamDecode member order to reduce memory usage on 128-bits systems --- doc/lz4_manual.html | 20 ++++++++++---------- lib/lz4.h | 2 +- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/doc/lz4_manual.html b/doc/lz4_manual.html index 39a48f3..5e04263 100644 --- a/doc/lz4_manual.html +++ b/doc/lz4_manual.html @@ -16,7 +16,7 @@
  • Streaming Compression Functions
  • Streaming Decompression Functions
  • Unstable declarations
  • -
  • Private definitions
  • +
  • PRIVATE DEFINITIONS
  • Obsolete Functions

  • @@ -375,7 +375,7 @@ int LZ4_decompress_fast_usingDict (const char* src, char* dst, int originalSize,


    -

    Private definitions

    +

    PRIVATE DEFINITIONS

      Do not use these definitions directly.
      They are only exposed to allow static allocation of `LZ4_stream_t` and `LZ4_streamDecode_t`.
      Accessing members will expose code to API and/or ABI break in future versions of the library.
    @@ -390,12 +390,12 @@ int LZ4_decompress_fast_usingDict (const char* src, char* dst, int originalSize,
     

    typedef struct {
         const unsigned char* externalDict;
    -    size_t extDictSize;
         const unsigned char* prefixEnd;
    +    size_t extDictSize;
         size_t prefixSize;
     } LZ4_streamDecode_t_internal;
     

    -
    #define LZ4_STREAMSIZE_U64 ((1 << (LZ4_MEMORY_USAGE-3)) + 4)
    +
    #define LZ4_STREAMSIZE_U64 ((1 << (LZ4_MEMORY_USAGE-3)) + 4 + ((sizeof(void*)==16) ? 4 : 0) /*AS-400*/ )
     #define LZ4_STREAMSIZE     (LZ4_STREAMSIZE_U64 * sizeof(unsigned long long))
     union LZ4_stream_u {
         unsigned long long table[LZ4_STREAMSIZE_U64];
    @@ -409,7 +409,7 @@ union LZ4_stream_u {
      
     


    -
    #define LZ4_STREAMDECODESIZE_U64  4
    +
    #define LZ4_STREAMDECODESIZE_U64 (4 + ((sizeof(void*)==16) ? 2 : 0) /*AS-400*/ )
     #define LZ4_STREAMDECODESIZE     (LZ4_STREAMDECODESIZE_U64 * sizeof(unsigned long long))
     union LZ4_streamDecode_u {
         unsigned long long table[LZ4_STREAMDECODESIZE_U64];
    @@ -442,11 +442,11 @@ union LZ4_streamDecode_u {
     #    define LZ4_DEPRECATED(message)
     #  endif
     #endif /* LZ4_DISABLE_DEPRECATE_WARNINGS */
    -

    Should deprecation warnings be a problem, - it is generally possible to disable them, - typically with -Wno-deprecated-declarations for gcc - or _CRT_SECURE_NO_WARNINGS in Visual. - Otherwise, it's also possible to define LZ4_DISABLE_DEPRECATE_WARNINGS +

    Should deprecation warnings be a problem, + it is generally possible to disable them, + typically with -Wno-deprecated-declarations for gcc + or _CRT_SECURE_NO_WARNINGS in Visual. + Otherwise, it's also possible to define LZ4_DISABLE_DEPRECATE_WARNINGS


    diff --git a/lib/lz4.h b/lib/lz4.h index 639797a..4d30857 100644 --- a/lib/lz4.h +++ b/lib/lz4.h @@ -535,8 +535,8 @@ struct LZ4_stream_t_internal { typedef struct { const unsigned char* externalDict; - size_t extDictSize; const unsigned char* prefixEnd; + size_t extDictSize; size_t prefixSize; } LZ4_streamDecode_t_internal; -- cgit v0.12