components/zlib/patches/perf.patch
author akshay.kale@oracle.com <akshay.kale@oracle.com>
Fri, 14 Oct 2016 13:13:27 -0700
changeset 7112 dab9beb5bc49
parent 1945 3dc1935a2189
child 7718 9960a50bc6cf
permissions -rw-r--r--
24843178 Method of choosing ofports need to be improved in OVS
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1945
3dc1935a2189 PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
     1
Patch origin: in-house
3dc1935a2189 PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
     2
Patch status: inffast.c part: submitted back to community without feedback
3dc1935a2189 PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
     3
Patch status: deflate.c part: Solaris-specific; not suitable for upstream
3dc1935a2189 PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
     4
3dc1935a2189 PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
     5
--- zlib-1.2.8/zlib.h	2013-04-28 17:23:49.000000000 -0700
3dc1935a2189 PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
     6
+++ zlib-1.2.8/zlib.h	2014-04-18 05:32:31.316290241 -0700
825
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
     7
@@ -37,8 +37,8 @@
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
     8
 extern "C" {
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
     9
 #endif
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    10
 
1945
3dc1935a2189 PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
    11
-#define ZLIB_VERSION "1.2.8"
3dc1935a2189 PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
    12
-#define ZLIB_VERNUM 0x1280
3dc1935a2189 PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
    13
+#define ZLIB_VERSION "1.2.8-T4mods"
3dc1935a2189 PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
    14
+#define ZLIB_VERNUM 0x128f
3dc1935a2189 PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
    15
 #define ZLIB_VER_MAJOR 1
3dc1935a2189 PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
    16
 #define ZLIB_VER_MINOR 2
3dc1935a2189 PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
    17
 #define ZLIB_VER_REVISION 8
3dc1935a2189 PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
    18
--- zlib-1.2.8/inffast.c	2013-03-24 22:47:59.000000000 -0700
3dc1935a2189 PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
    19
+++ zlib-1.2.8/inffast.c	2014-02-28 01:57:57.075708259 -0800
825
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    20
@@ -87,7 +87,7 @@
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    21
     code const FAR *dcode;      /* local strm->distcode */
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    22
     unsigned lmask;             /* mask for first level of length codes */
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    23
     unsigned dmask;             /* mask for first level of distance codes */
1945
3dc1935a2189 PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
    24
-    code here;                  /* retrieved table entry */
3dc1935a2189 PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
    25
+    code *here;                 /* retrieved table entry */
825
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    26
     unsigned op;                /* code bits, operation, extra bits, or */
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    27
                                 /*  window position, window bytes to copy */
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    28
     unsigned len;               /* match length, unused bytes */
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    29
@@ -124,20 +124,20 @@
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    30
             hold += (unsigned long)(PUP(in)) << bits;
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    31
             bits += 8;
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    32
         }
1945
3dc1935a2189 PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
    33
-        here = lcode[hold & lmask];
3dc1935a2189 PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
    34
+        here = (code *)(&(lcode[hold & lmask]));
825
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    35
       dolen:
1945
3dc1935a2189 PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
    36
-        op = (unsigned)(here.bits);
3dc1935a2189 PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
    37
+        op = (unsigned)(here->bits);
825
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    38
         hold >>= op;
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    39
         bits -= op;
1945
3dc1935a2189 PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
    40
-        op = (unsigned)(here.op);
3dc1935a2189 PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
    41
+        op = (unsigned)(here->op);
825
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    42
         if (op == 0) {                          /* literal */
1945
3dc1935a2189 PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
    43
-            Tracevv((stderr, here.val >= 0x20 && here.val < 0x7f ?
3dc1935a2189 PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
    44
+            Tracevv((stderr, here->val >= 0x20 && here->val < 0x7f ?
825
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    45
                     "inflate:         literal '%c'\n" :
1945
3dc1935a2189 PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
    46
-                    "inflate:         literal 0x%02x\n", here.val));
3dc1935a2189 PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
    47
-            PUP(out) = (unsigned char)(here.val);
3dc1935a2189 PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
    48
+                    "inflate:         literal 0x%02x\n", here->val));
3dc1935a2189 PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
    49
+            PUP(out) = (unsigned char)(here->val);
825
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    50
         }
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    51
         else if (op & 16) {                     /* length base */
1945
3dc1935a2189 PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
    52
-            len = (unsigned)(here.val);
3dc1935a2189 PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
    53
+            len = (unsigned)(here->val);
825
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    54
             op &= 15;                           /* number of extra bits */
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    55
             if (op) {
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    56
                 if (bits < op) {
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    57
@@ -155,14 +155,14 @@
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    58
                 hold += (unsigned long)(PUP(in)) << bits;
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    59
                 bits += 8;
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    60
             }
1945
3dc1935a2189 PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
    61
-            here = dcode[hold & dmask];
3dc1935a2189 PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
    62
+            here = (code *)(&(dcode[hold & dmask]));
825
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    63
           dodist:
1945
3dc1935a2189 PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
    64
-            op = (unsigned)(here.bits);
3dc1935a2189 PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
    65
+            op = (unsigned)(here->bits);
825
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    66
             hold >>= op;
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    67
             bits -= op;
1945
3dc1935a2189 PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
    68
-            op = (unsigned)(here.op);
3dc1935a2189 PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
    69
+            op = (unsigned)(here->op);
825
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    70
             if (op & 16) {                      /* distance base */
1945
3dc1935a2189 PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
    71
-                dist = (unsigned)(here.val);
3dc1935a2189 PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
    72
+                dist = (unsigned)(here->val);
825
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    73
                 op &= 15;                       /* number of extra bits */
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    74
                 if (bits < op) {
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    75
                     hold += (unsigned long)(PUP(in)) << bits;
1945
3dc1935a2189 PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
    76
@@ -281,7 +281,7 @@
825
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    77
                 }
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    78
             }
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    79
             else if ((op & 64) == 0) {          /* 2nd level distance code */
1945
3dc1935a2189 PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
    80
-                here = dcode[here.val + (hold & ((1U << op) - 1))];
3dc1935a2189 PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
    81
+                here = (code *)(&(dcode[here->val + (hold & ((1U << op) - 1))]));
825
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    82
                 goto dodist;
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    83
             }
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    84
             else {
1945
3dc1935a2189 PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
    85
@@ -291,7 +291,7 @@
825
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    86
             }
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    87
         }
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    88
         else if ((op & 64) == 0) {              /* 2nd level length code */
1945
3dc1935a2189 PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
    89
-            here = lcode[here.val + (hold & ((1U << op) - 1))];
3dc1935a2189 PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
    90
+            here = (code *)(&(lcode[here->val + (hold & ((1U << op) - 1))]));
825
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    91
             goto dolen;
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    92
         }
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    93
         else if (op & 32) {                     /* end-of-block */
1945
3dc1935a2189 PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
    94
--- zlib-1.2.8/deflate.c	2013-04-28 15:57:10.000000000 -0700
3dc1935a2189 PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
    95
+++ zlib-1.2.8/deflate.c	2014-02-28 02:32:02.517988885 -0800
3dc1935a2189 PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
    96
@@ -60,6 +60,7 @@
3dc1935a2189 PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
    97
   copyright string in the executable of your product.
3dc1935a2189 PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
    98
  */
3dc1935a2189 PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
    99
 
3dc1935a2189 PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
   100
+#ifndef LONGEST_MATCH_ONLY
3dc1935a2189 PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
   101
 /* ===========================================================================
3dc1935a2189 PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
   102
  *  Function prototypes.
3dc1935a2189 PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
   103
  */
3dc1935a2189 PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
   104
@@ -89,13 +90,18 @@
825
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   105
       void match_init OF((void)); /* asm code initialization */
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   106
       uInt longest_match  OF((deflate_state *s, IPos cur_match));
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   107
 #else
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   108
+#ifdef ORIG_LONGEST_MATCH
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   109
 local uInt longest_match  OF((deflate_state *s, IPos cur_match));
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   110
+#else
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   111
+uInt longest_match  OF((deflate_state *s, IPos cur_match));
1945
3dc1935a2189 PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
   112
+#endif
3dc1935a2189 PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
   113
 #endif
3dc1935a2189 PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
   114
 
3dc1935a2189 PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
   115
 #ifdef DEBUG
3dc1935a2189 PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
   116
 local  void check_match OF((deflate_state *s, IPos start, IPos match,
3dc1935a2189 PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
   117
                             int length));
3dc1935a2189 PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
   118
 #endif
3dc1935a2189 PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
   119
+#endif /* ! LONGEST_MATCH_ONLY */
3dc1935a2189 PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
   120
 
3dc1935a2189 PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
   121
 /* ===========================================================================
3dc1935a2189 PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
   122
  * Local data
3dc1935a2189 PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
   123
@@ -104,6 +110,7 @@
3dc1935a2189 PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
   124
 #define NIL 0
3dc1935a2189 PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
   125
 /* Tail of hash chains */
3dc1935a2189 PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
   126
 
3dc1935a2189 PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
   127
+#ifndef LONGEST_MATCH_ONLY
3dc1935a2189 PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
   128
 #ifndef TOO_FAR
3dc1935a2189 PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
   129
 #  define TOO_FAR 4096
3dc1935a2189 PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
   130
 #endif
3dc1935a2189 PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
   131
@@ -1130,7 +1137,9 @@
825
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   132
 #endif
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   133
 #endif
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   134
 }
1945
3dc1935a2189 PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
   135
+#endif /* ! LONGEST_MATCH_ONLY */
825
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   136
 
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   137
+#if defined(ORIG_LONGEST_MATCH) || defined(ORIG_LONGEST_MATCH_GLOBAL)
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   138
 #ifndef FASTEST
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   139
 /* ===========================================================================
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   140
  * Set match_start to the longest match starting at the given string and
1945
3dc1935a2189 PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
   141
@@ -1145,7 +1154,11 @@
825
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   142
 /* For 80x86 and 680x0, an optimized version will be provided in match.asm or
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   143
  * match.S. The code will be functionally equivalent.
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   144
  */
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   145
+#ifdef ORIG_LONGEST_MATCH_GLOBAL
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   146
+uInt longest_match(s, cur_match)
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   147
+#else
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   148
 local uInt longest_match(s, cur_match)
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   149
+#endif
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   150
     deflate_state *s;
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   151
     IPos cur_match;                             /* current match */
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   152
 {
1945
3dc1935a2189 PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
   153
@@ -1288,6 +1301,7 @@
3dc1935a2189 PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
   154
     return s->lookahead;
825
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   155
 }
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   156
 #endif /* ASMV */
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   157
+#endif /* ORIG_LONGEST_MATCHT */
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   158
 
1945
3dc1935a2189 PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
   159
 #else /* FASTEST */
3dc1935a2189 PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
   160
 
3dc1935a2189 PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
   161
@@ -1349,6 +1363,7 @@
3dc1935a2189 PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
   162
 
3dc1935a2189 PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
   163
 #endif /* FASTEST */
3dc1935a2189 PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
   164
 
3dc1935a2189 PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
   165
+#ifndef LONGEST_MATCH_ONLY
3dc1935a2189 PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
   166
 #ifdef DEBUG
3dc1935a2189 PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
   167
 /* ===========================================================================
3dc1935a2189 PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
   168
  * Check that the match at match_start is indeed a match.
3dc1935a2189 PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
   169
@@ -1965,3 +1980,4 @@
3dc1935a2189 PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
   170
         FLUSH_BLOCK(s, 0);
3dc1935a2189 PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
   171
     return block_done;
3dc1935a2189 PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
   172
 }
3dc1935a2189 PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
   173
+#endif /* ! LONGEST_MATCH_ONLY */