components/zlib/patches/perf.patch
author Petr Sumbera <petr.sumbera@oracle.com>
Tue, 04 Apr 2017 07:25:56 -0700
branchs11u3-sru
changeset 7889 a5ad77e24b54
parent 3670 fe32d4cd3c6b
permissions -rw-r--r--
25391510 Upgrade zlib to version 1.2.11 25214399 problem in LIBRARY/LIBZ 25417002 ZLIB_VERSION is not fully numeric, breaks Python zlib test
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
3670
fe32d4cd3c6b PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
     1
Patch origin: in-house
7889
a5ad77e24b54 25391510 Upgrade zlib to version 1.2.11
Petr Sumbera <petr.sumbera@oracle.com>
parents: 3670
diff changeset
     2
Patch status: inffast.c part: accepted, will be in next version
3670
fe32d4cd3c6b 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
fe32d4cd3c6b PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
     4
7889
a5ad77e24b54 25391510 Upgrade zlib to version 1.2.11
Petr Sumbera <petr.sumbera@oracle.com>
parents: 3670
diff changeset
     5
https://github.com/madler/zlib/commit/60a5ecc62b18d1e2391993b1fcfc10e100720642
a5ad77e24b54 25391510 Upgrade zlib to version 1.2.11
Petr Sumbera <petr.sumbera@oracle.com>
parents: 3670
diff changeset
     6
3670
fe32d4cd3c6b PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
     7
--- zlib-1.2.8/inffast.c	2013-03-24 22:47:59.000000000 -0700
fe32d4cd3c6b PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
     8
+++ zlib-1.2.8/inffast.c	2014-02-28 01:57:57.075708259 -0800
7889
a5ad77e24b54 25391510 Upgrade zlib to version 1.2.11
Petr Sumbera <petr.sumbera@oracle.com>
parents: 3670
diff changeset
     9
@@ -68,7 +68,7 @@
825
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    10
     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
    11
     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
    12
     unsigned dmask;             /* mask for first level of distance codes */
3670
fe32d4cd3c6b PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
    13
-    code here;                  /* retrieved table entry */
fe32d4cd3c6b PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
    14
+    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
    15
     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
    16
                                 /*  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
    17
     unsigned len;               /* match length, unused bytes */
7889
a5ad77e24b54 25391510 Upgrade zlib to version 1.2.11
Petr Sumbera <petr.sumbera@oracle.com>
parents: 3670
diff changeset
    18
@@ -105,20 +105,20 @@
a5ad77e24b54 25391510 Upgrade zlib to version 1.2.11
Petr Sumbera <petr.sumbera@oracle.com>
parents: 3670
diff changeset
    19
             hold += (unsigned long)(*in++) << bits;
825
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    20
             bits += 8;
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    21
         }
3670
fe32d4cd3c6b PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
    22
-        here = lcode[hold & lmask];
fe32d4cd3c6b PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
    23
+        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
    24
       dolen:
3670
fe32d4cd3c6b PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
    25
-        op = (unsigned)(here.bits);
fe32d4cd3c6b PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
    26
+        op = (unsigned)(here->bits);
825
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    27
         hold >>= op;
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    28
         bits -= op;
3670
fe32d4cd3c6b PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
    29
-        op = (unsigned)(here.op);
fe32d4cd3c6b PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
    30
+        op = (unsigned)(here->op);
825
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    31
         if (op == 0) {                          /* literal */
3670
fe32d4cd3c6b PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
    32
-            Tracevv((stderr, here.val >= 0x20 && here.val < 0x7f ?
fe32d4cd3c6b PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
    33
+            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
    34
                     "inflate:         literal '%c'\n" :
3670
fe32d4cd3c6b PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
    35
-                    "inflate:         literal 0x%02x\n", here.val));
7889
a5ad77e24b54 25391510 Upgrade zlib to version 1.2.11
Petr Sumbera <petr.sumbera@oracle.com>
parents: 3670
diff changeset
    36
-            *out++ = (unsigned char)(here.val);
3670
fe32d4cd3c6b PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
    37
+                    "inflate:         literal 0x%02x\n", here->val));
7889
a5ad77e24b54 25391510 Upgrade zlib to version 1.2.11
Petr Sumbera <petr.sumbera@oracle.com>
parents: 3670
diff changeset
    38
+            *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
    39
         }
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    40
         else if (op & 16) {                     /* length base */
3670
fe32d4cd3c6b PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
    41
-            len = (unsigned)(here.val);
fe32d4cd3c6b PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
    42
+            len = (unsigned)(here->val);
825
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    43
             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
    44
             if (op) {
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    45
                 if (bits < op) {
7889
a5ad77e24b54 25391510 Upgrade zlib to version 1.2.11
Petr Sumbera <petr.sumbera@oracle.com>
parents: 3670
diff changeset
    46
@@ -136,14 +136,14 @@
a5ad77e24b54 25391510 Upgrade zlib to version 1.2.11
Petr Sumbera <petr.sumbera@oracle.com>
parents: 3670
diff changeset
    47
                 hold += (unsigned long)(*in++) << bits;
825
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    48
                 bits += 8;
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    49
             }
3670
fe32d4cd3c6b PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
    50
-            here = dcode[hold & dmask];
fe32d4cd3c6b PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
    51
+            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
    52
           dodist:
3670
fe32d4cd3c6b PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
    53
-            op = (unsigned)(here.bits);
fe32d4cd3c6b PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
    54
+            op = (unsigned)(here->bits);
825
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    55
             hold >>= op;
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    56
             bits -= op;
3670
fe32d4cd3c6b PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
    57
-            op = (unsigned)(here.op);
fe32d4cd3c6b PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
    58
+            op = (unsigned)(here->op);
825
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    59
             if (op & 16) {                      /* distance base */
3670
fe32d4cd3c6b PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
    60
-                dist = (unsigned)(here.val);
fe32d4cd3c6b PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
    61
+                dist = (unsigned)(here->val);
825
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    62
                 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
    63
                 if (bits < op) {
7889
a5ad77e24b54 25391510 Upgrade zlib to version 1.2.11
Petr Sumbera <petr.sumbera@oracle.com>
parents: 3670
diff changeset
    64
                     hold += (unsigned long)(*in++) << bits;
a5ad77e24b54 25391510 Upgrade zlib to version 1.2.11
Petr Sumbera <petr.sumbera@oracle.com>
parents: 3670
diff changeset
    65
@@ -262,7 +262,7 @@
825
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    66
                 }
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    67
             }
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    68
             else if ((op & 64) == 0) {          /* 2nd level distance code */
3670
fe32d4cd3c6b PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
    69
-                here = dcode[here.val + (hold & ((1U << op) - 1))];
fe32d4cd3c6b PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
    70
+                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
    71
                 goto dodist;
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    72
             }
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    73
             else {
7889
a5ad77e24b54 25391510 Upgrade zlib to version 1.2.11
Petr Sumbera <petr.sumbera@oracle.com>
parents: 3670
diff changeset
    74
@@ -272,7 +272,7 @@
825
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    75
             }
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    76
         }
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    77
         else if ((op & 64) == 0) {              /* 2nd level length code */
3670
fe32d4cd3c6b PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
    78
-            here = lcode[here.val + (hold & ((1U << op) - 1))];
fe32d4cd3c6b PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
    79
+            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
    80
             goto dolen;
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    81
         }
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    82
         else if (op & 32) {                     /* end-of-block */
3670
fe32d4cd3c6b PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
    83
--- zlib-1.2.8/deflate.c	2013-04-28 15:57:10.000000000 -0700
fe32d4cd3c6b PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
    84
+++ zlib-1.2.8/deflate.c	2014-02-28 02:32:02.517988885 -0800
fe32d4cd3c6b PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
    85
@@ -60,6 +60,7 @@
fe32d4cd3c6b PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
    86
   copyright string in the executable of your product.
fe32d4cd3c6b PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
    87
  */
fe32d4cd3c6b PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
    88
 
fe32d4cd3c6b PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
    89
+#ifndef LONGEST_MATCH_ONLY
fe32d4cd3c6b PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
    90
 /* ===========================================================================
fe32d4cd3c6b PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
    91
  *  Function prototypes.
fe32d4cd3c6b PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
    92
  */
7889
a5ad77e24b54 25391510 Upgrade zlib to version 1.2.11
Petr Sumbera <petr.sumbera@oracle.com>
parents: 3670
diff changeset
    93
@@ -91,13 +92,18 @@
825
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    94
       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
    95
       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
    96
 #else
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    97
+#ifdef ORIG_LONGEST_MATCH
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    98
 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
    99
+#else
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   100
+uInt longest_match  OF((deflate_state *s, IPos cur_match));
3670
fe32d4cd3c6b PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
   101
+#endif
fe32d4cd3c6b PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
   102
 #endif
fe32d4cd3c6b PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
   103
 
7889
a5ad77e24b54 25391510 Upgrade zlib to version 1.2.11
Petr Sumbera <petr.sumbera@oracle.com>
parents: 3670
diff changeset
   104
 #ifdef ZLIB_DEBUG
3670
fe32d4cd3c6b PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
   105
 local  void check_match OF((deflate_state *s, IPos start, IPos match,
fe32d4cd3c6b PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
   106
                             int length));
fe32d4cd3c6b PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
   107
 #endif
fe32d4cd3c6b PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
   108
+#endif /* ! LONGEST_MATCH_ONLY */
fe32d4cd3c6b PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
   109
 
fe32d4cd3c6b PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
   110
 /* ===========================================================================
fe32d4cd3c6b PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
   111
  * Local data
7889
a5ad77e24b54 25391510 Upgrade zlib to version 1.2.11
Petr Sumbera <petr.sumbera@oracle.com>
parents: 3670
diff changeset
   112
@@ -106,6 +112,7 @@
3670
fe32d4cd3c6b PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
   113
 #define NIL 0
fe32d4cd3c6b PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
   114
 /* Tail of hash chains */
fe32d4cd3c6b PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
   115
 
fe32d4cd3c6b PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
   116
+#ifndef LONGEST_MATCH_ONLY
fe32d4cd3c6b PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
   117
 #ifndef TOO_FAR
fe32d4cd3c6b PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
   118
 #  define TOO_FAR 4096
fe32d4cd3c6b PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
   119
 #endif
7889
a5ad77e24b54 25391510 Upgrade zlib to version 1.2.11
Petr Sumbera <petr.sumbera@oracle.com>
parents: 3670
diff changeset
   120
@@ -1217,7 +1224,9 @@
825
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   121
 #endif
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   122
 #endif
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   123
 }
3670
fe32d4cd3c6b PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
   124
+#endif /* ! LONGEST_MATCH_ONLY */
825
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   125
 
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   126
+#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
   127
 #ifndef FASTEST
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   128
 /* ===========================================================================
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   129
  * Set match_start to the longest match starting at the given string and
7889
a5ad77e24b54 25391510 Upgrade zlib to version 1.2.11
Petr Sumbera <petr.sumbera@oracle.com>
parents: 3670
diff changeset
   130
@@ -1232,7 +1241,11 @@
825
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   131
 /* 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
   132
  * 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
   133
  */
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   134
+#ifdef ORIG_LONGEST_MATCH_GLOBAL
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   135
+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
   136
+#else
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   137
 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
   138
+#endif
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   139
     deflate_state *s;
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   140
     IPos cur_match;                             /* current match */
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   141
 {
7889
a5ad77e24b54 25391510 Upgrade zlib to version 1.2.11
Petr Sumbera <petr.sumbera@oracle.com>
parents: 3670
diff changeset
   142
@@ -1375,6 +1388,7 @@
3670
fe32d4cd3c6b PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
   143
     return s->lookahead;
825
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
 #endif /* ASMV */
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   146
+#endif /* ORIG_LONGEST_MATCHT */
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   147
 
3670
fe32d4cd3c6b PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
   148
 #else /* FASTEST */
fe32d4cd3c6b PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
   149
 
7889
a5ad77e24b54 25391510 Upgrade zlib to version 1.2.11
Petr Sumbera <petr.sumbera@oracle.com>
parents: 3670
diff changeset
   150
@@ -1436,6 +1450,7 @@
3670
fe32d4cd3c6b PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
   151
 
fe32d4cd3c6b PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
   152
 #endif /* FASTEST */
fe32d4cd3c6b PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
   153
 
fe32d4cd3c6b PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
   154
+#ifndef LONGEST_MATCH_ONLY
7889
a5ad77e24b54 25391510 Upgrade zlib to version 1.2.11
Petr Sumbera <petr.sumbera@oracle.com>
parents: 3670
diff changeset
   155
 #ifdef ZLIB_DEBUG
a5ad77e24b54 25391510 Upgrade zlib to version 1.2.11
Petr Sumbera <petr.sumbera@oracle.com>
parents: 3670
diff changeset
   156
 
a5ad77e24b54 25391510 Upgrade zlib to version 1.2.11
Petr Sumbera <petr.sumbera@oracle.com>
parents: 3670
diff changeset
   157
 #define EQUAL 0
a5ad77e24b54 25391510 Upgrade zlib to version 1.2.11
Petr Sumbera <petr.sumbera@oracle.com>
parents: 3670
diff changeset
   158
@@ -2154,3 +2169,4 @@
3670
fe32d4cd3c6b PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
   159
         FLUSH_BLOCK(s, 0);
fe32d4cd3c6b PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
   160
     return block_done;
fe32d4cd3c6b PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
   161
 }
fe32d4cd3c6b PSARC/2014/167 zlib 1.2.8
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
   162
+#endif /* ! LONGEST_MATCH_ONLY */