函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:lib\lz4\lz4hc_compress.c Create Date:2022-07-27 07:58:24
Last Modify:2020-03-12 14:18:49 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:LZ4HC_InsertAndGetWiderMatch

函数原型:static inline __attribute__((__always_inline__)) int LZ4HC_InsertAndGetWiderMatch(LZ4HC_CCtx_internal *hc4, const BYTE *const ip, const BYTE *const iLowLimit, const BYTE *const iHighLimit, int longest, const BYTE **matchpos, const BYTE **startpos, const int maxNbAttempts)

返回类型:int

参数:

类型参数名称
LZ4HC_CCtx_internal *hc4
const BYTE *constip
const BYTE *constiLowLimit
const BYTE *constiHighLimit
intlongest
const BYTE **matchpos
const BYTE **startpos
const intmaxNbAttempts
178  chainTable等于chainTable
179  HashTable等于hashTable
180  base等于All index relative to this position
181  dictLimit等于low that point, need extDict
182  lowPrefixPtr等于basedictLimit
183  lowLimit等于如果low that point, no more dict 加64乘KB大于ipbaselow that point, no more dict 否则ipbase减64乘KB减1
186  dictBase等于alternate base for extDict
188  nbAttempts等于maxNbAttempts
189  delta等于ipiLowLimit
192  Update chains up to ip (excluded)
193  matchIndex等于HashTable[LZ4HC_hashPtr(ip)]
195 matchIndex大于等于lowLimitnbAttempts循环
197  nbAttempts自减
198  如果matchIndex大于等于dictLimit
199  matchPtr等于basematchIndex
201  如果*iLowLimitlongest的和恒等于*matchPtrdeltalongest的和则
224  否则
227  如果LZ4_read32(matchPtr)恒等于LZ4_read32(ip)则
229  back等于0
230  vLimit等于ipdictLimitmatchIndex
232  如果vLimit大于iHighLimitvLimit等于iHighLimit
238  如果ipmlt恒等于vLimitvLimit小于iHighLimitmlt加等于LZ4_count(ip + mlt, base + dictLimit, iHighLimit)
241 ipback大于iLowLimitmatchIndexback大于lowLimitip[back - 1]恒等于matchPtr[back - 1]循环
244  back自减
246  mlt减等于back
248  如果mlt大于longest
249  longest等于mlt
250  matchpos等于basematchIndexback
251  startpos等于ipback
256  matchIndex减等于aster (matchIndex)
259  返回:longest
调用者
名称描述
LZ4HC_compress_generic