mirror of
				https://github.com/eledio-devices/thirdparty-miniz.git
				synced 2025-10-31 08:42:39 +01:00 
			
		
		
		
	adding MZ_FORCEINLINE
This commit is contained in:
		
							
								
								
									
										37
									
								
								miniz.c
									
									
									
									
									
								
							
							
						
						
									
										37
									
								
								miniz.c
									
									
									
									
									
								
							| @@ -916,12 +916,12 @@ typedef unsigned char mz_validate_uint64[sizeof(mz_uint64)==8 ? 1 : -1]; | |||||||
|   #define MZ_READ_LE32(p) ((mz_uint32)(((const mz_uint8 *)(p))[0]) | ((mz_uint32)(((const mz_uint8 *)(p))[1]) << 8U) | ((mz_uint32)(((const mz_uint8 *)(p))[2]) << 16U) | ((mz_uint32)(((const mz_uint8 *)(p))[3]) << 24U)) |   #define MZ_READ_LE32(p) ((mz_uint32)(((const mz_uint8 *)(p))[0]) | ((mz_uint32)(((const mz_uint8 *)(p))[1]) << 8U) | ((mz_uint32)(((const mz_uint8 *)(p))[2]) << 16U) | ((mz_uint32)(((const mz_uint8 *)(p))[3]) << 24U)) | ||||||
| #endif | #endif | ||||||
|  |  | ||||||
| #if !defined(_MSC_VER) && !defined(__MINGW32__) && !defined(__MINGW64__) && !defined(__forceinline) | #ifdef _MSC_VER | ||||||
|   #ifdef __cplusplus |   #define MZ_FORCEINLINE __forceinline | ||||||
|     #define __forceinline inline | #elif defined(__GNUC__) | ||||||
|  |   #define MZ_FORCEINLINE __attribute__((__always_inline__)) | ||||||
| #else | #else | ||||||
|     #define __forceinline |   #define MZ_FORCEINLINE inline | ||||||
|   #endif |  | ||||||
| #endif | #endif | ||||||
|  |  | ||||||
| #ifdef __cplusplus | #ifdef __cplusplus | ||||||
| @@ -2213,8 +2213,7 @@ static int tdefl_flush_block(tdefl_compressor *d, int flush) | |||||||
|  |  | ||||||
| #if MINIZ_USE_UNALIGNED_LOADS_AND_STORES | #if MINIZ_USE_UNALIGNED_LOADS_AND_STORES | ||||||
| #define TDEFL_READ_UNALIGNED_WORD(p) *(const mz_uint16*)(p) | #define TDEFL_READ_UNALIGNED_WORD(p) *(const mz_uint16*)(p) | ||||||
| static __forceinline void tdefl_find_match(tdefl_compressor *d, mz_uint lookahead_pos, mz_uint max_dist, mz_uint max_match_len, mz_uint *pMatch_dist, mz_uint *pMatch_len) | static MZ_FORCEINLINE void tdefl_find_match(tdefl_compressor *d, mz_uint lookahead_pos, mz_uint max_dist, mz_uint max_match_len, mz_uint *pMatch_dist, mz_uint *pMatch_len) | ||||||
|  |  | ||||||
| { | { | ||||||
|   mz_uint dist, pos = lookahead_pos & TDEFL_LZ_DICT_SIZE_MASK, match_len = *pMatch_len, probe_pos = pos, next_probe_pos, probe_len; |   mz_uint dist, pos = lookahead_pos & TDEFL_LZ_DICT_SIZE_MASK, match_len = *pMatch_len, probe_pos = pos, next_probe_pos, probe_len; | ||||||
|   mz_uint num_probes_left = d->m_max_probes[match_len >= 32]; |   mz_uint num_probes_left = d->m_max_probes[match_len >= 32]; | ||||||
| @@ -2248,7 +2247,7 @@ static __forceinline void tdefl_find_match(tdefl_compressor *d, mz_uint lookahea | |||||||
|   } |   } | ||||||
| } | } | ||||||
| #else | #else | ||||||
| static __forceinline void tdefl_find_match(tdefl_compressor *d, mz_uint lookahead_pos, mz_uint max_dist, mz_uint max_match_len, mz_uint *pMatch_dist, mz_uint *pMatch_len) | static MZ_FORCEINLINE void tdefl_find_match(tdefl_compressor *d, mz_uint lookahead_pos, mz_uint max_dist, mz_uint max_match_len, mz_uint *pMatch_dist, mz_uint *pMatch_len) | ||||||
| { | { | ||||||
|   mz_uint dist, pos = lookahead_pos & TDEFL_LZ_DICT_SIZE_MASK, match_len = *pMatch_len, probe_pos = pos, next_probe_pos, probe_len; |   mz_uint dist, pos = lookahead_pos & TDEFL_LZ_DICT_SIZE_MASK, match_len = *pMatch_len, probe_pos = pos, next_probe_pos, probe_len; | ||||||
|   mz_uint num_probes_left = d->m_max_probes[match_len >= 32]; |   mz_uint num_probes_left = d->m_max_probes[match_len >= 32]; | ||||||
| @@ -2416,7 +2415,7 @@ static mz_bool tdefl_compress_fast(tdefl_compressor *d) | |||||||
| } | } | ||||||
| #endif // MINIZ_USE_UNALIGNED_LOADS_AND_STORES && MINIZ_LITTLE_ENDIAN | #endif // MINIZ_USE_UNALIGNED_LOADS_AND_STORES && MINIZ_LITTLE_ENDIAN | ||||||
|  |  | ||||||
| static __forceinline void tdefl_record_literal(tdefl_compressor *d, mz_uint8 lit) | static MZ_FORCEINLINE void tdefl_record_literal(tdefl_compressor *d, mz_uint8 lit) | ||||||
| { | { | ||||||
|   d->m_total_lz_bytes++; |   d->m_total_lz_bytes++; | ||||||
|   *d->m_pLZ_code_buf++ = lit; |   *d->m_pLZ_code_buf++ = lit; | ||||||
| @@ -2424,7 +2423,7 @@ static __forceinline void tdefl_record_literal(tdefl_compressor *d, mz_uint8 lit | |||||||
|   d->m_huff_count[0][lit]++; |   d->m_huff_count[0][lit]++; | ||||||
| } | } | ||||||
|  |  | ||||||
| static __forceinline void tdefl_record_match(tdefl_compressor *d, mz_uint match_len, mz_uint match_dist) | static MZ_FORCEINLINE void tdefl_record_match(tdefl_compressor *d, mz_uint match_len, mz_uint match_dist) | ||||||
| { | { | ||||||
|   mz_uint32 s0, s1; |   mz_uint32 s0, s1; | ||||||
|  |  | ||||||
| @@ -2868,7 +2867,7 @@ struct mz_zip_internal_state_tag | |||||||
| #define MZ_ZIP_ARRAY_SET_ELEMENT_SIZE(array_ptr, element_size) (array_ptr)->m_element_size = element_size | #define MZ_ZIP_ARRAY_SET_ELEMENT_SIZE(array_ptr, element_size) (array_ptr)->m_element_size = element_size | ||||||
| #define MZ_ZIP_ARRAY_ELEMENT(array_ptr, element_type, index) ((element_type *)((array_ptr)->m_p))[index] | #define MZ_ZIP_ARRAY_ELEMENT(array_ptr, element_type, index) ((element_type *)((array_ptr)->m_p))[index] | ||||||
|  |  | ||||||
| static __forceinline void mz_zip_array_clear(mz_zip_archive *pZip, mz_zip_array *pArray) | static MZ_FORCEINLINE void mz_zip_array_clear(mz_zip_archive *pZip, mz_zip_array *pArray) | ||||||
| { | { | ||||||
|   pZip->m_pFree(pZip->m_pAlloc_opaque, pArray->m_p); |   pZip->m_pFree(pZip->m_pAlloc_opaque, pArray->m_p); | ||||||
|   memset(pArray, 0, sizeof(mz_zip_array)); |   memset(pArray, 0, sizeof(mz_zip_array)); | ||||||
| @@ -2883,25 +2882,25 @@ static mz_bool mz_zip_array_ensure_capacity(mz_zip_archive *pZip, mz_zip_array * | |||||||
|   return MZ_TRUE; |   return MZ_TRUE; | ||||||
| } | } | ||||||
|  |  | ||||||
| static __forceinline mz_bool mz_zip_array_reserve(mz_zip_archive *pZip, mz_zip_array *pArray, size_t new_capacity, mz_uint growing) | static MZ_FORCEINLINE mz_bool mz_zip_array_reserve(mz_zip_archive *pZip, mz_zip_array *pArray, size_t new_capacity, mz_uint growing) | ||||||
| { | { | ||||||
|   if (new_capacity > pArray->m_capacity) { if (!mz_zip_array_ensure_capacity(pZip, pArray, new_capacity, growing)) return MZ_FALSE; } |   if (new_capacity > pArray->m_capacity) { if (!mz_zip_array_ensure_capacity(pZip, pArray, new_capacity, growing)) return MZ_FALSE; } | ||||||
|   return MZ_TRUE; |   return MZ_TRUE; | ||||||
| } | } | ||||||
|  |  | ||||||
| static __forceinline mz_bool mz_zip_array_resize(mz_zip_archive *pZip, mz_zip_array *pArray, size_t new_size, mz_uint growing) | static MZ_FORCEINLINE mz_bool mz_zip_array_resize(mz_zip_archive *pZip, mz_zip_array *pArray, size_t new_size, mz_uint growing) | ||||||
| { | { | ||||||
|   if (new_size > pArray->m_capacity) { if (!mz_zip_array_ensure_capacity(pZip, pArray, new_size, growing)) return MZ_FALSE; } |   if (new_size > pArray->m_capacity) { if (!mz_zip_array_ensure_capacity(pZip, pArray, new_size, growing)) return MZ_FALSE; } | ||||||
|   pArray->m_size = new_size; |   pArray->m_size = new_size; | ||||||
|   return MZ_TRUE; |   return MZ_TRUE; | ||||||
| } | } | ||||||
|  |  | ||||||
| static __forceinline mz_bool mz_zip_array_ensure_room(mz_zip_archive *pZip, mz_zip_array *pArray, size_t n) | static MZ_FORCEINLINE mz_bool mz_zip_array_ensure_room(mz_zip_archive *pZip, mz_zip_array *pArray, size_t n) | ||||||
| { | { | ||||||
|   return mz_zip_array_reserve(pZip, pArray, pArray->m_size + n, MZ_TRUE); |   return mz_zip_array_reserve(pZip, pArray, pArray->m_size + n, MZ_TRUE); | ||||||
| } | } | ||||||
|  |  | ||||||
| static __forceinline mz_bool mz_zip_array_push_back(mz_zip_archive *pZip, mz_zip_array *pArray, const void *pElements, size_t n) | static MZ_FORCEINLINE mz_bool mz_zip_array_push_back(mz_zip_archive *pZip, mz_zip_array *pArray, const void *pElements, size_t n) | ||||||
| { | { | ||||||
|   size_t orig_size = pArray->m_size; if (!mz_zip_array_resize(pZip, pArray, orig_size + n, MZ_TRUE)) return MZ_FALSE; |   size_t orig_size = pArray->m_size; if (!mz_zip_array_resize(pZip, pArray, orig_size + n, MZ_TRUE)) return MZ_FALSE; | ||||||
|   memcpy((mz_uint8*)pArray->m_p + orig_size * pArray->m_element_size, pElements, n * pArray->m_element_size); |   memcpy((mz_uint8*)pArray->m_p + orig_size * pArray->m_element_size, pElements, n * pArray->m_element_size); | ||||||
| @@ -2974,7 +2973,7 @@ static mz_bool mz_zip_reader_init_internal(mz_zip_archive *pZip, mz_uint32 flags | |||||||
|   return MZ_TRUE; |   return MZ_TRUE; | ||||||
| } | } | ||||||
|  |  | ||||||
| static __forceinline mz_bool mz_zip_reader_filename_less(const mz_zip_array *pCentral_dir_array, const mz_zip_array *pCentral_dir_offsets, mz_uint l_index, mz_uint r_index) | static MZ_FORCEINLINE mz_bool mz_zip_reader_filename_less(const mz_zip_array *pCentral_dir_array, const mz_zip_array *pCentral_dir_offsets, mz_uint l_index, mz_uint r_index) | ||||||
| { | { | ||||||
|   const mz_uint8 *pL = &MZ_ZIP_ARRAY_ELEMENT(pCentral_dir_array, mz_uint8, MZ_ZIP_ARRAY_ELEMENT(pCentral_dir_offsets, mz_uint32, l_index)), *pE; |   const mz_uint8 *pL = &MZ_ZIP_ARRAY_ELEMENT(pCentral_dir_array, mz_uint8, MZ_ZIP_ARRAY_ELEMENT(pCentral_dir_offsets, mz_uint32, l_index)), *pE; | ||||||
|   const mz_uint8 *pR = &MZ_ZIP_ARRAY_ELEMENT(pCentral_dir_array, mz_uint8, MZ_ZIP_ARRAY_ELEMENT(pCentral_dir_offsets, mz_uint32, r_index)); |   const mz_uint8 *pR = &MZ_ZIP_ARRAY_ELEMENT(pCentral_dir_array, mz_uint8, MZ_ZIP_ARRAY_ELEMENT(pCentral_dir_offsets, mz_uint32, r_index)); | ||||||
| @@ -3208,7 +3207,7 @@ mz_uint mz_zip_reader_get_num_files(mz_zip_archive *pZip) | |||||||
|   return pZip ? pZip->m_total_files : 0; |   return pZip ? pZip->m_total_files : 0; | ||||||
| } | } | ||||||
|  |  | ||||||
| static __forceinline const mz_uint8 *mz_zip_reader_get_cdh(mz_zip_archive *pZip, mz_uint file_index) | static MZ_FORCEINLINE const mz_uint8 *mz_zip_reader_get_cdh(mz_zip_archive *pZip, mz_uint file_index) | ||||||
| { | { | ||||||
|   if ((!pZip) || (!pZip->m_pState) || (file_index >= pZip->m_total_files) || (pZip->m_zip_mode != MZ_ZIP_MODE_READING)) |   if ((!pZip) || (!pZip->m_pState) || (file_index >= pZip->m_total_files) || (pZip->m_zip_mode != MZ_ZIP_MODE_READING)) | ||||||
|     return NULL; |     return NULL; | ||||||
| @@ -3297,7 +3296,7 @@ mz_uint mz_zip_reader_get_filename(mz_zip_archive *pZip, mz_uint file_index, cha | |||||||
|   return n + 1; |   return n + 1; | ||||||
| } | } | ||||||
|  |  | ||||||
| static __forceinline mz_bool mz_zip_reader_string_equal(const char *pA, const char *pB, mz_uint len, mz_uint flags) | static MZ_FORCEINLINE mz_bool mz_zip_reader_string_equal(const char *pA, const char *pB, mz_uint len, mz_uint flags) | ||||||
| { | { | ||||||
|   mz_uint i; |   mz_uint i; | ||||||
|   if (flags & MZ_ZIP_FLAG_CASE_SENSITIVE) |   if (flags & MZ_ZIP_FLAG_CASE_SENSITIVE) | ||||||
| @@ -3308,7 +3307,7 @@ static __forceinline mz_bool mz_zip_reader_string_equal(const char *pA, const ch | |||||||
|   return MZ_TRUE; |   return MZ_TRUE; | ||||||
| } | } | ||||||
|  |  | ||||||
| static __forceinline int mz_zip_reader_filename_compare(const mz_zip_array *pCentral_dir_array, const mz_zip_array *pCentral_dir_offsets, mz_uint l_index, const char *pR, mz_uint r_len) | static MZ_FORCEINLINE int mz_zip_reader_filename_compare(const mz_zip_array *pCentral_dir_array, const mz_zip_array *pCentral_dir_offsets, mz_uint l_index, const char *pR, mz_uint r_len) | ||||||
| { | { | ||||||
|   const mz_uint8 *pL = &MZ_ZIP_ARRAY_ELEMENT(pCentral_dir_array, mz_uint8, MZ_ZIP_ARRAY_ELEMENT(pCentral_dir_offsets, mz_uint32, l_index)), *pE; |   const mz_uint8 *pL = &MZ_ZIP_ARRAY_ELEMENT(pCentral_dir_array, mz_uint8, MZ_ZIP_ARRAY_ELEMENT(pCentral_dir_offsets, mz_uint32, l_index)), *pE; | ||||||
|   mz_uint l_len = MZ_READ_LE16(pL + MZ_ZIP_CDH_FILENAME_LEN_OFS); |   mz_uint l_len = MZ_READ_LE16(pL + MZ_ZIP_CDH_FILENAME_LEN_OFS); | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user