*q++ = (Pos)(m >= t ? m-t: NIL);
}
}
-
#endif /* NOT_TWEAK_COMPILER */
+
n = wsize;
p = &s->prev[n];
#ifdef NOT_TWEAK_COMPILER
* used.
*/
-#ifdef NOT_TWEAK_COMPILER
-# define TRIGGER_LEVEL 6
-#else
-# define TRIGGER_LEVEL 5
-#endif
+#define TRIGGER_LEVEL 5
/* Bit buffer and compress bits calculation debugging */
#ifdef ZLIB_DEBUG
if (s->match_length <= s->max_insert_length && s->lookahead >= MIN_MATCH) {
s->match_length--; /* string at strstart already in table */
s->strstart++;
-#ifdef NOT_TWEAK_COMPILER
- do {
- functable.quick_insert_string(s, s->strstart);
- s->strstart++;
- /* strstart never exceeds WSIZE-MAX_MATCH, so there are
- * always MIN_MATCH bytes ahead.
- */
- } while (--s->match_length != 0);
-#else
- {
- functable.insert_string(s, s->strstart, s->match_length);
- s->strstart += s->match_length;
- s->match_length = 0;
- }
-#endif
+
+ functable.insert_string(s, s->strstart, s->match_length);
+ s->strstart += s->match_length;
+ s->match_length = 0;
} else {
s->strstart += s->match_length;
s->match_length = 0;
/* matches that are not long enough we need to emit as literals */
if (match.match_length < MIN_MATCH) {
-#ifdef NOT_TWEAK_COMPILER
- while (match.match_length) {
- match.strstart++;
- match.match_length--;
-
- if (match.match_length) {
- if (match.strstart >= match.orgstart) {
- functable.quick_insert_string(s, match.strstart);
- }
- }
- }
-#else
match.strstart++;
match.match_length--;
if (match.match_length > 0) {
match.match_length = 0;
}
}
-#endif
return;
}
if (match.match_length <= 16* s->max_insert_length && s->lookahead >= MIN_MATCH) {
match.match_length--; /* string at strstart already in table */
match.strstart++;
-#ifdef NOT_TWEAK_COMPILER
- do {
- if (LIKELY(match.strstart >= match.orgstart)) {
- functable.quick_insert_string(s, match.strstart);
- }
- match.strstart++;
- /* strstart never exceeds WSIZE-MAX_MATCH, so there are
- * always MIN_MATCH bytes ahead.
- */
- } while (--match.match_length != 0);
-#else
+
if (LIKELY(match.strstart >= match.orgstart)) {
if (LIKELY(match.strstart + match.match_length - 1 >= match.orgstart)) {
functable.insert_string(s, match.strstart, match.match_length);
}
match.strstart += match.match_length;
match.match_length = 0;
-#endif
} else {
match.strstart += match.match_length;
match.match_length = 0;
*/
s->lookahead -= s->prev_length-1;
-#ifdef NOT_TWEAK_COMPILER
- s->prev_length -= 2;
- do {
- if (++s->strstart <= max_insert) {
- functable.quick_insert_string(s, s->strstart);
- }
- } while (--s->prev_length != 0);
+ unsigned int mov_fwd = s->prev_length - 2;
+ if (max_insert > s->strstart) {
+ unsigned int insert_cnt = mov_fwd;
+ if (UNLIKELY(insert_cnt > max_insert - s->strstart))
+ insert_cnt = max_insert - s->strstart;
+
+ functable.insert_string(s, s->strstart + 1, insert_cnt);
+ }
+ s->prev_length = 0;
s->match_available = 0;
s->match_length = MIN_MATCH-1;
- s->strstart++;
-#else
- {
- unsigned int mov_fwd = s->prev_length - 2;
- if (max_insert > s->strstart) {
- unsigned int insert_cnt = mov_fwd;
- if (UNLIKELY(insert_cnt > max_insert - s->strstart))
- insert_cnt = max_insert - s->strstart;
-
- functable.insert_string(s, s->strstart + 1, insert_cnt);
- }
- s->prev_length = 0;
- s->match_available = 0;
- s->match_length = MIN_MATCH-1;
- s->strstart += mov_fwd + 1;
- }
-#endif /*NOT_TWEAK_COMPILER*/
+ s->strstart += mov_fwd + 1;
if (bflush)
FLUSH_BLOCK(s, 0);