gosu 0.7.10.3 → 0.7.11

Sign up to get free protection for your applications and to get access to all the features.
Files changed (545) hide show
  1. data/Gosu/AutoLink.hpp +0 -0
  2. data/Gosu/ButtonsMac.hpp +26 -0
  3. data/Gosu/ButtonsWin.hpp +26 -0
  4. data/Gosu/ButtonsX.hpp +26 -0
  5. data/Gosu/Gosu.hpp +1 -0
  6. data/Gosu/Graphics.hpp +1 -1
  7. data/Gosu/Input.hpp +4 -5
  8. data/Gosu/Math.hpp +11 -0
  9. data/Gosu/Text.hpp +59 -47
  10. data/Gosu/Utility.hpp +6 -5
  11. data/GosuImpl/Graphics/DrawOp.hpp +0 -0
  12. data/GosuImpl/Graphics/Font.cpp +45 -4
  13. data/GosuImpl/Graphics/Graphics.cpp +25 -0
  14. data/GosuImpl/Graphics/TexChunk.cpp +0 -0
  15. data/GosuImpl/Graphics/TexChunk.hpp +0 -0
  16. data/GosuImpl/Graphics/Text.cpp +26 -2
  17. data/GosuImpl/Graphics/TextMac.cpp +8 -2
  18. data/GosuImpl/Graphics/TextPangoFT.cpp +0 -0
  19. data/GosuImpl/Graphics/Texture.cpp +0 -0
  20. data/GosuImpl/Graphics/Texture.hpp +0 -0
  21. data/GosuImpl/Iconv.hpp +62 -0
  22. data/GosuImpl/InputMac.mm +3 -0
  23. data/GosuImpl/InputWin.cpp +5 -1
  24. data/GosuImpl/InputX.cpp +50 -8
  25. data/GosuImpl/Math.cpp +1 -1
  26. data/GosuImpl/RubyGosu.swg +24 -5
  27. data/GosuImpl/RubyGosu_wrap.cxx +181 -10
  28. data/GosuImpl/Utility.cpp +32 -75
  29. data/GosuImpl/Utility.cpp~RF6c566.TMP +95 -0
  30. data/GosuImpl/WindowX.cpp +2 -2
  31. data/Rakefile +57 -10
  32. data/examples/Tutorial.cpp +0 -0
  33. data/examples/media/Beep.wav +0 -0
  34. data/examples/media/CptnRuby Map.txt b/data/examples/media/CptnRuby → Map.txt +0 -0
  35. data/examples/media/Explosion.wav +0 -0
  36. data/examples/media/Space.png +0 -0
  37. data/examples/media/Star.png +0 -0
  38. data/examples/media/Starfighter.bmp +0 -0
  39. data/linux/Makefile.in +0 -0
  40. data/linux/configure +0 -0
  41. data/linux/configure.ac +0 -0
  42. data/mac/Gosu.xcodeproj/jlnr.mode1v3 +1421 -0
  43. data/mac/Gosu.xcodeproj/jlnr.mode2v3 +1464 -0
  44. data/mac/Gosu.xcodeproj/jlnr.pbxuser +733 -0
  45. data/mac/Gosu.xcodeproj/project.pbxproj +4 -2
  46. data/reference/Async_8hpp-source.html +1 -1
  47. data/reference/Audio_8hpp-source.html +1 -1
  48. data/reference/Audio_8hpp.html +1 -1
  49. data/reference/AutoLink_8hpp-source.html +1 -1
  50. data/reference/AutoLink_8hpp.html +1 -1
  51. data/reference/Bitmap_8hpp-source.html +1 -1
  52. data/reference/Bitmap_8hpp.html +1 -1
  53. data/reference/ButtonsMac_8hpp-source.html +107 -81
  54. data/reference/ButtonsWin_8hpp-source.html +84 -58
  55. data/reference/ButtonsX_8hpp-source.html +131 -105
  56. data/reference/Color_8hpp-source.html +1 -1
  57. data/reference/Color_8hpp.html +1 -1
  58. data/reference/Directories_8hpp-source.html +1 -1
  59. data/reference/Directories_8hpp.html +1 -1
  60. data/reference/Font_8hpp-source.html +1 -1
  61. data/reference/Font_8hpp.html +1 -1
  62. data/reference/Fwd_8hpp-source.html +1 -1
  63. data/reference/Fwd_8hpp.html +1 -1
  64. data/reference/Gosu_8hpp-source.html +5 -4
  65. data/reference/Gosu_8hpp.html +1 -1
  66. data/reference/GraphicsBase_8hpp-source.html +1 -1
  67. data/reference/GraphicsBase_8hpp.html +1 -1
  68. data/reference/Graphics_8hpp-source.html +2 -2
  69. data/reference/Graphics_8hpp.html +1 -1
  70. data/reference/IO_8hpp-source.html +1 -1
  71. data/reference/IO_8hpp.html +1 -1
  72. data/reference/ImageData_8hpp-source.html +1 -1
  73. data/reference/ImageData_8hpp.html +1 -1
  74. data/reference/Image_8hpp-source.html +1 -1
  75. data/reference/Image_8hpp.html +1 -1
  76. data/reference/Input_8hpp-source.html +43 -43
  77. data/reference/Input_8hpp.html +2 -2
  78. data/reference/Math_8hpp-source.html +51 -42
  79. data/reference/Math_8hpp.html +5 -1
  80. data/reference/Platform_8hpp-source.html +1 -1
  81. data/reference/Platform_8hpp.html +1 -1
  82. data/reference/RotFlip_8hpp-source.html +1 -1
  83. data/reference/RotFlip_8hpp.html +1 -1
  84. data/reference/Sockets_8hpp-source.html +1 -1
  85. data/reference/Sockets_8hpp.html +1 -1
  86. data/reference/TextInput_8hpp-source.html +1 -1
  87. data/reference/TextInput_8hpp.html +1 -1
  88. data/reference/Text_8hpp-source.html +12 -8
  89. data/reference/Text_8hpp.html +3 -1
  90. data/reference/Timing_8hpp-source.html +1 -1
  91. data/reference/Timing_8hpp.html +1 -1
  92. data/reference/Utility_8hpp-source.html +9 -10
  93. data/reference/Utility_8hpp.html +5 -7
  94. data/reference/WinUtility_8hpp-source.html +1 -1
  95. data/reference/WinUtility_8hpp.html +1 -1
  96. data/reference/Window_8hpp-source.html +3 -3
  97. data/reference/Window_8hpp.html +1 -1
  98. data/reference/annotated.html +2 -2
  99. data/reference/classGosu_1_1Audio-members.html +1 -1
  100. data/reference/classGosu_1_1Audio.html +1 -1
  101. data/reference/classGosu_1_1Bitmap-members.html +1 -1
  102. data/reference/classGosu_1_1Bitmap.html +1 -1
  103. data/reference/classGosu_1_1Buffer-members.html +1 -1
  104. data/reference/classGosu_1_1Buffer.html +1 -1
  105. data/reference/classGosu_1_1Button-members.html +1 -1
  106. data/reference/classGosu_1_1Button.html +1 -1
  107. data/reference/classGosu_1_1Color-members.html +1 -1
  108. data/reference/classGosu_1_1Color.html +1 -1
  109. data/reference/classGosu_1_1File-members.html +1 -1
  110. data/reference/classGosu_1_1File.html +1 -1
  111. data/reference/classGosu_1_1Font-members.html +1 -1
  112. data/reference/classGosu_1_1Font.html +1 -1
  113. data/reference/classGosu_1_1Graphics-members.html +1 -1
  114. data/reference/classGosu_1_1Graphics.html +1 -1
  115. data/reference/classGosu_1_1Image-members.html +1 -1
  116. data/reference/classGosu_1_1Image.html +1 -1
  117. data/reference/classGosu_1_1ImageData-members.html +1 -1
  118. data/reference/classGosu_1_1ImageData.html +1 -1
  119. data/reference/classGosu_1_1Input-members.html +1 -1
  120. data/reference/classGosu_1_1Input.html +4 -4
  121. data/reference/classGosu_1_1MessageSocket-members.html +1 -1
  122. data/reference/classGosu_1_1MessageSocket.html +1 -1
  123. data/reference/classGosu_1_1Resource-members.html +1 -1
  124. data/reference/classGosu_1_1Resource.html +1 -1
  125. data/reference/classGosu_1_1Sample-members.html +1 -1
  126. data/reference/classGosu_1_1Sample.html +1 -1
  127. data/reference/classGosu_1_1SampleInstance-members.html +1 -1
  128. data/reference/classGosu_1_1SampleInstance.html +1 -1
  129. data/reference/classGosu_1_1Song-members.html +1 -1
  130. data/reference/classGosu_1_1Song.html +1 -1
  131. data/reference/classGosu_1_1TextInput-members.html +1 -1
  132. data/reference/classGosu_1_1TextInput.html +1 -1
  133. data/reference/classGosu_1_1Window-members.html +1 -1
  134. data/reference/classGosu_1_1Window.html +1 -1
  135. data/reference/files.html +1 -1
  136. data/reference/functions.html +1 -1
  137. data/reference/functions_enum.html +1 -1
  138. data/reference/functions_func.html +1 -1
  139. data/reference/functions_vars.html +1 -1
  140. data/reference/hierarchy.html +1 -1
  141. data/reference/index.html +1 -1
  142. data/reference/namespaceGosu.html +935 -492
  143. data/reference/namespaceGosu_1_1Colors.html +1 -1
  144. data/reference/namespaceGosu_1_1Win.html +1 -1
  145. data/reference/namespacemembers.html +13 -2
  146. data/reference/namespacemembers_enum.html +1 -1
  147. data/reference/namespacemembers_eval.html +1 -1
  148. data/reference/namespacemembers_func.html +13 -2
  149. data/reference/namespacemembers_type.html +1 -1
  150. data/reference/namespacemembers_vars.html +1 -1
  151. data/reference/namespaces.html +1 -1
  152. data/windows/Gosu.vcproj +4 -4
  153. data/windows/RubyGosu.vcproj +2 -1
  154. data/windows/zlib, libpng/libpng/ANNOUNCE +61 -0
  155. data/windows/zlib, libpng/libpng/CHANGES +2173 -0
  156. data/windows/zlib, libpng/libpng/INSTALL +199 -0
  157. data/windows/zlib, libpng/libpng/KNOWNBUG +22 -0
  158. data/windows/zlib, libpng/libpng/LICENSE +109 -0
  159. data/windows/zlib, libpng/libpng/README +264 -0
  160. data/windows/zlib, libpng/libpng/TODO +24 -0
  161. data/windows/zlib, libpng/libpng/Y2KINFO +55 -0
  162. data/windows/zlib, libpng/libpng/configure +13 -0
  163. data/windows/zlib, libpng/libpng/contrib/gregbook/COPYING +340 -0
  164. data/windows/zlib, libpng/libpng/contrib/gregbook/LICENSE +50 -0
  165. data/windows/zlib, libpng/libpng/contrib/gregbook/Makefile.mingw32 +130 -0
  166. data/windows/zlib, libpng/libpng/contrib/gregbook/Makefile.sgi +104 -0
  167. data/windows/zlib, libpng/libpng/contrib/gregbook/Makefile.unx +132 -0
  168. data/windows/zlib, libpng/libpng/contrib/gregbook/Makefile.w32 +113 -0
  169. data/windows/zlib, libpng/libpng/contrib/gregbook/README +186 -0
  170. data/windows/zlib, libpng/libpng/contrib/gregbook/makevms.com +132 -0
  171. data/windows/zlib, libpng/libpng/contrib/gregbook/readpng.c +304 -0
  172. data/windows/zlib, libpng/libpng/contrib/gregbook/readpng.h +88 -0
  173. data/windows/zlib, libpng/libpng/contrib/gregbook/readpng2.c +645 -0
  174. data/windows/zlib, libpng/libpng/contrib/gregbook/readpng2.h +121 -0
  175. data/windows/zlib, libpng/libpng/contrib/gregbook/readppm.c +179 -0
  176. data/windows/zlib, libpng/libpng/contrib/gregbook/rpng-win.c +684 -0
  177. data/windows/zlib, libpng/libpng/contrib/gregbook/rpng-x.c +904 -0
  178. data/windows/zlib, libpng/libpng/contrib/gregbook/rpng2-win.c +1225 -0
  179. data/windows/zlib, libpng/libpng/contrib/gregbook/rpng2-x.c +2127 -0
  180. data/windows/zlib, libpng/libpng/contrib/gregbook/toucan.png +0 -0
  181. data/windows/zlib, libpng/libpng/contrib/gregbook/wpng.c +853 -0
  182. data/windows/zlib, libpng/libpng/contrib/gregbook/writepng.c +392 -0
  183. data/windows/zlib, libpng/libpng/contrib/gregbook/writepng.h +133 -0
  184. data/windows/zlib, libpng/libpng/contrib/pngminim/decoder/README +6 -0
  185. data/windows/zlib, libpng/libpng/contrib/pngminim/decoder/gather.sh +8 -0
  186. data/windows/zlib, libpng/libpng/contrib/pngminim/decoder/makefile.std +44 -0
  187. data/windows/zlib, libpng/libpng/contrib/pngminim/decoder/pngusr.h +67 -0
  188. data/windows/zlib, libpng/libpng/contrib/pngminim/encoder/README +6 -0
  189. data/windows/zlib, libpng/libpng/contrib/pngminim/encoder/dummy_inflate.c +27 -0
  190. data/windows/zlib, libpng/libpng/contrib/pngminim/encoder/gather.sh +9 -0
  191. data/windows/zlib, libpng/libpng/contrib/pngminim/encoder/makefile.std +43 -0
  192. data/windows/zlib, libpng/libpng/contrib/pngminim/encoder/pngusr.h +66 -0
  193. data/windows/zlib, libpng/libpng/contrib/pngminus/README +153 -0
  194. data/windows/zlib, libpng/libpng/contrib/pngminus/makefile.std +65 -0
  195. data/windows/zlib, libpng/libpng/contrib/pngminus/makefile.tc3 +38 -0
  196. data/windows/zlib, libpng/libpng/contrib/pngminus/makevms.com +92 -0
  197. data/windows/zlib, libpng/libpng/contrib/pngminus/png2pnm.bat +41 -0
  198. data/windows/zlib, libpng/libpng/contrib/pngminus/png2pnm.c +430 -0
  199. data/windows/zlib, libpng/libpng/contrib/pngminus/png2pnm.sh +42 -0
  200. data/windows/zlib, libpng/libpng/contrib/pngminus/pngminus.bat +4 -0
  201. data/windows/zlib, libpng/libpng/contrib/pngminus/pngminus.sh +5 -0
  202. data/windows/zlib, libpng/libpng/contrib/pngminus/pnm2png.bat +41 -0
  203. data/windows/zlib, libpng/libpng/contrib/pngminus/pnm2png.c +533 -0
  204. data/windows/zlib, libpng/libpng/contrib/pngminus/pnm2png.sh +42 -0
  205. data/windows/zlib, libpng/libpng/contrib/pngsuite/basn0g01.png +0 -0
  206. data/windows/zlib, libpng/libpng/contrib/pngsuite/basn0g02.png +0 -0
  207. data/windows/zlib, libpng/libpng/contrib/pngsuite/basn0g04.png +0 -0
  208. data/windows/zlib, libpng/libpng/contrib/pngsuite/basn0g08.png +0 -0
  209. data/windows/zlib, libpng/libpng/contrib/pngsuite/basn0g16.png +0 -0
  210. data/windows/zlib, libpng/libpng/contrib/pngsuite/basn2c08.png +0 -0
  211. data/windows/zlib, libpng/libpng/contrib/pngsuite/basn2c16.png +0 -0
  212. data/windows/zlib, libpng/libpng/contrib/pngsuite/basn3p01.png +0 -0
  213. data/windows/zlib, libpng/libpng/contrib/pngsuite/basn3p02.png +0 -0
  214. data/windows/zlib, libpng/libpng/contrib/pngsuite/basn3p04.png +0 -0
  215. data/windows/zlib, libpng/libpng/contrib/pngsuite/basn3p08.png +0 -0
  216. data/windows/zlib, libpng/libpng/contrib/pngsuite/basn4a08.png +0 -0
  217. data/windows/zlib, libpng/libpng/contrib/pngsuite/basn4a16.png +0 -0
  218. data/windows/zlib, libpng/libpng/contrib/pngsuite/basn6a08.png +0 -0
  219. data/windows/zlib, libpng/libpng/contrib/pngsuite/basn6a16.png +0 -0
  220. data/windows/zlib, libpng/libpng/contrib/visupng/PngFile.c +439 -0
  221. data/windows/zlib, libpng/libpng/contrib/visupng/PngFile.h +27 -0
  222. data/windows/zlib, libpng/libpng/contrib/visupng/README.txt +58 -0
  223. data/windows/zlib, libpng/libpng/contrib/visupng/VisualPng.c +961 -0
  224. data/windows/zlib, libpng/libpng/contrib/visupng/VisualPng.dsp +147 -0
  225. data/windows/zlib, libpng/libpng/contrib/visupng/VisualPng.dsw +29 -0
  226. data/windows/zlib, libpng/libpng/contrib/visupng/VisualPng.ico +0 -0
  227. data/windows/zlib, libpng/libpng/contrib/visupng/VisualPng.png +0 -0
  228. data/windows/zlib, libpng/libpng/contrib/visupng/VisualPng.rc +152 -0
  229. data/windows/zlib, libpng/libpng/contrib/visupng/cexcept.h +243 -0
  230. data/windows/zlib, libpng/libpng/contrib/visupng/resource.h +23 -0
  231. data/windows/zlib, libpng/libpng/example.c +814 -0
  232. data/windows/zlib, libpng/libpng/libpng-1.2.29.txt +2906 -0
  233. data/windows/zlib, libpng/libpng/libpng.3 +3680 -0
  234. data/windows/zlib, libpng/libpng/libpngpf.3 +274 -0
  235. data/windows/zlib, libpng/libpng/png.5 +74 -0
  236. data/windows/zlib, libpng/libpng/png.c +798 -0
  237. data/windows/zlib, libpng/libpng/png.h +3569 -0
  238. data/windows/zlib, libpng/libpng/pngbar.jpg +0 -0
  239. data/windows/zlib, libpng/libpng/pngbar.png +0 -0
  240. data/windows/zlib, libpng/libpng/pngconf.h +1481 -0
  241. data/windows/zlib, libpng/libpng/pngerror.c +343 -0
  242. data/windows/zlib, libpng/libpng/pnggccrd.c +103 -0
  243. data/windows/zlib, libpng/libpng/pngget.c +901 -0
  244. data/windows/zlib, libpng/libpng/pngmem.c +608 -0
  245. data/windows/zlib, libpng/libpng/pngnow.png +0 -0
  246. data/windows/zlib, libpng/libpng/pngpread.c +1598 -0
  247. data/windows/zlib, libpng/libpng/pngread.c +1479 -0
  248. data/windows/zlib, libpng/libpng/pngrio.c +167 -0
  249. data/windows/zlib, libpng/libpng/pngrtran.c +4292 -0
  250. data/windows/zlib, libpng/libpng/pngrutil.c +3183 -0
  251. data/windows/zlib, libpng/libpng/pngset.c +1268 -0
  252. data/windows/zlib, libpng/libpng/pngtest.c +1563 -0
  253. data/windows/zlib, libpng/libpng/pngtest.png +0 -0
  254. data/windows/zlib, libpng/libpng/pngtrans.c +662 -0
  255. data/windows/zlib, libpng/libpng/pngvcrd.c +1 -0
  256. data/windows/zlib, libpng/libpng/pngwio.c +234 -0
  257. data/windows/zlib, libpng/libpng/pngwrite.c +1532 -0
  258. data/windows/zlib, libpng/libpng/pngwtran.c +572 -0
  259. data/windows/zlib, libpng/libpng/pngwutil.c +2802 -0
  260. data/windows/zlib, libpng/libpng/projects/beos/x86-shared.proj +0 -0
  261. data/windows/zlib, libpng/libpng/projects/beos/x86-shared.txt +22 -0
  262. data/windows/zlib, libpng/libpng/projects/beos/x86-static.proj +0 -0
  263. data/windows/zlib, libpng/libpng/projects/beos/x86-static.txt +22 -0
  264. data/windows/zlib, libpng/libpng/projects/cbuilder5/libpng.bpf +22 -0
  265. data/windows/zlib, libpng/libpng/projects/cbuilder5/libpng.bpg +25 -0
  266. data/windows/zlib, libpng/libpng/projects/cbuilder5/libpng.bpr +157 -0
  267. data/windows/zlib, libpng/libpng/projects/cbuilder5/libpng.cpp +29 -0
  268. data/windows/zlib, libpng/libpng/projects/cbuilder5/libpng.readme.txt +25 -0
  269. data/windows/zlib, libpng/libpng/projects/cbuilder5/libpngstat.bpf +22 -0
  270. data/windows/zlib, libpng/libpng/projects/cbuilder5/libpngstat.bpr +109 -0
  271. data/windows/zlib, libpng/libpng/projects/cbuilder5/zlib.readme.txt +14 -0
  272. data/windows/zlib, libpng/libpng/projects/netware.txt +6 -0
  273. data/windows/zlib, libpng/libpng/projects/visualc6/README.txt +57 -0
  274. data/windows/zlib, libpng/libpng/projects/visualc6/libpng.dsp +472 -0
  275. data/windows/zlib, libpng/libpng/projects/visualc6/libpng.dsw +59 -0
  276. data/windows/zlib, libpng/libpng/projects/visualc6/pngtest.dsp +314 -0
  277. data/windows/zlib, libpng/libpng/projects/visualc71/PRJ0041.mak +21 -0
  278. data/windows/zlib, libpng/libpng/projects/visualc71/README.txt +57 -0
  279. data/windows/zlib, libpng/libpng/projects/visualc71/README_zlib.txt +44 -0
  280. data/windows/zlib, libpng/libpng/projects/visualc71/libpng.sln +88 -0
  281. data/windows/zlib, libpng/libpng/projects/visualc71/libpng.vcproj +702 -0
  282. data/windows/zlib, libpng/libpng/projects/visualc71/pngtest.vcproj +459 -0
  283. data/windows/zlib, libpng/libpng/projects/visualc71/zlib.vcproj +670 -0
  284. data/windows/zlib, libpng/libpng/projects/wince.txt +6 -0
  285. data/windows/zlib, libpng/libpng/scripts/CMakeLists.txt +210 -0
  286. data/windows/zlib, libpng/libpng/scripts/SCOPTIONS.ppc +7 -0
  287. data/windows/zlib, libpng/libpng/scripts/descrip.mms +52 -0
  288. data/windows/zlib, libpng/libpng/scripts/libpng-config-body.in +96 -0
  289. data/windows/zlib, libpng/libpng/scripts/libpng-config-head.in +21 -0
  290. data/windows/zlib, libpng/libpng/scripts/libpng-config.in +124 -0
  291. data/windows/zlib, libpng/libpng/scripts/libpng.icc +44 -0
  292. data/windows/zlib, libpng/libpng/scripts/libpng.pc-configure.in +10 -0
  293. data/windows/zlib, libpng/libpng/scripts/libpng.pc.in +10 -0
  294. data/windows/zlib, libpng/libpng/scripts/makefile.32sunu +254 -0
  295. data/windows/zlib, libpng/libpng/scripts/makefile.64sunu +254 -0
  296. data/windows/zlib, libpng/libpng/scripts/makefile.acorn +51 -0
  297. data/windows/zlib, libpng/libpng/scripts/makefile.aix +113 -0
  298. data/windows/zlib, libpng/libpng/scripts/makefile.amiga +48 -0
  299. data/windows/zlib, libpng/libpng/scripts/makefile.atari +51 -0
  300. data/windows/zlib, libpng/libpng/scripts/makefile.bc32 +152 -0
  301. data/windows/zlib, libpng/libpng/scripts/makefile.beos +226 -0
  302. data/windows/zlib, libpng/libpng/scripts/makefile.bor +162 -0
  303. data/windows/zlib, libpng/libpng/scripts/makefile.cygwin +299 -0
  304. data/windows/zlib, libpng/libpng/scripts/makefile.darwin +234 -0
  305. data/windows/zlib, libpng/libpng/scripts/makefile.dec +214 -0
  306. data/windows/zlib, libpng/libpng/scripts/makefile.dj2 +55 -0
  307. data/windows/zlib, libpng/libpng/scripts/makefile.elf +275 -0
  308. data/windows/zlib, libpng/libpng/scripts/makefile.freebsd +48 -0
  309. data/windows/zlib, libpng/libpng/scripts/makefile.gcc +79 -0
  310. data/windows/zlib, libpng/libpng/scripts/makefile.gcmmx +271 -0
  311. data/windows/zlib, libpng/libpng/scripts/makefile.hp64 +235 -0
  312. data/windows/zlib, libpng/libpng/scripts/makefile.hpgcc +245 -0
  313. data/windows/zlib, libpng/libpng/scripts/makefile.hpux +232 -0
  314. data/windows/zlib, libpng/libpng/scripts/makefile.ibmc +71 -0
  315. data/windows/zlib, libpng/libpng/scripts/makefile.intel +102 -0
  316. data/windows/zlib, libpng/libpng/scripts/makefile.knr +99 -0
  317. data/windows/zlib, libpng/libpng/scripts/makefile.linux +249 -0
  318. data/windows/zlib, libpng/libpng/scripts/makefile.mingw +289 -0
  319. data/windows/zlib, libpng/libpng/scripts/makefile.mips +83 -0
  320. data/windows/zlib, libpng/libpng/scripts/makefile.msc +86 -0
  321. data/windows/zlib, libpng/libpng/scripts/makefile.ne12bsd +45 -0
  322. data/windows/zlib, libpng/libpng/scripts/makefile.netbsd +45 -0
  323. data/windows/zlib, libpng/libpng/scripts/makefile.nommx +252 -0
  324. data/windows/zlib, libpng/libpng/scripts/makefile.openbsd +73 -0
  325. data/windows/zlib, libpng/libpng/scripts/makefile.os2 +69 -0
  326. data/windows/zlib, libpng/libpng/scripts/makefile.sco +229 -0
  327. data/windows/zlib, libpng/libpng/scripts/makefile.sggcc +242 -0
  328. data/windows/zlib, libpng/libpng/scripts/makefile.sgi +245 -0
  329. data/windows/zlib, libpng/libpng/scripts/makefile.so9 +251 -0
  330. data/windows/zlib, libpng/libpng/scripts/makefile.solaris +249 -0
  331. data/windows/zlib, libpng/libpng/scripts/makefile.solaris-x86 +248 -0
  332. data/windows/zlib, libpng/libpng/scripts/makefile.std +92 -0
  333. data/windows/zlib, libpng/libpng/scripts/makefile.sunos +97 -0
  334. data/windows/zlib, libpng/libpng/scripts/makefile.tc3 +89 -0
  335. data/windows/zlib, libpng/libpng/scripts/makefile.vcawin32 +99 -0
  336. data/windows/zlib, libpng/libpng/scripts/makefile.vcwin32 +99 -0
  337. data/windows/zlib, libpng/libpng/scripts/makefile.watcom +109 -0
  338. data/windows/zlib, libpng/libpng/scripts/makevms.com +144 -0
  339. data/windows/zlib, libpng/libpng/scripts/pngos2.def +257 -0
  340. data/windows/zlib, libpng/libpng/scripts/pngw32.def +238 -0
  341. data/windows/zlib, libpng/libpng/scripts/pngw32.rc +112 -0
  342. data/windows/zlib, libpng/libpng/scripts/smakefile.ppc +30 -0
  343. data/windows/zlib, libpng/zlib/ChangeLog +855 -0
  344. data/windows/zlib, libpng/zlib/FAQ +339 -0
  345. data/windows/zlib, libpng/zlib/INDEX +51 -0
  346. data/windows/zlib, libpng/zlib/Makefile +154 -0
  347. data/windows/zlib, libpng/zlib/Makefile.in +154 -0
  348. data/windows/zlib, libpng/zlib/README +125 -0
  349. data/windows/zlib, libpng/zlib/adler32.c +149 -0
  350. data/windows/zlib, libpng/zlib/algorithm.txt +209 -0
  351. data/windows/zlib, libpng/zlib/amiga/Makefile.pup +66 -0
  352. data/windows/zlib, libpng/zlib/amiga/Makefile.sas +65 -0
  353. data/windows/zlib, libpng/zlib/as400/bndsrc +132 -0
  354. data/windows/zlib, libpng/zlib/as400/compile.clp +123 -0
  355. data/windows/zlib, libpng/zlib/as400/readme.txt +111 -0
  356. data/windows/zlib, libpng/zlib/as400/zlib.inc +331 -0
  357. data/windows/zlib, libpng/zlib/compress.c +79 -0
  358. data/windows/zlib, libpng/zlib/configure +459 -0
  359. data/windows/zlib, libpng/zlib/contrib/README.contrib +71 -0
  360. data/windows/zlib, libpng/zlib/contrib/ada/buffer_demo.adb +106 -0
  361. data/windows/zlib, libpng/zlib/contrib/ada/mtest.adb +156 -0
  362. data/windows/zlib, libpng/zlib/contrib/ada/read.adb +156 -0
  363. data/windows/zlib, libpng/zlib/contrib/ada/readme.txt +65 -0
  364. data/windows/zlib, libpng/zlib/contrib/ada/test.adb +463 -0
  365. data/windows/zlib, libpng/zlib/contrib/ada/zlib-streams.adb +225 -0
  366. data/windows/zlib, libpng/zlib/contrib/ada/zlib-streams.ads +114 -0
  367. data/windows/zlib, libpng/zlib/contrib/ada/zlib-thin.adb +141 -0
  368. data/windows/zlib, libpng/zlib/contrib/ada/zlib-thin.ads +450 -0
  369. data/windows/zlib, libpng/zlib/contrib/ada/zlib.adb +701 -0
  370. data/windows/zlib, libpng/zlib/contrib/ada/zlib.ads +328 -0
  371. data/windows/zlib, libpng/zlib/contrib/ada/zlib.gpr +20 -0
  372. data/windows/zlib, libpng/zlib/contrib/asm586/README.586 +43 -0
  373. data/windows/zlib, libpng/zlib/contrib/asm586/match.S +364 -0
  374. data/windows/zlib, libpng/zlib/contrib/asm686/README.686 +34 -0
  375. data/windows/zlib, libpng/zlib/contrib/asm686/match.S +329 -0
  376. data/windows/zlib, libpng/zlib/contrib/blast/Makefile +8 -0
  377. data/windows/zlib, libpng/zlib/contrib/blast/README +4 -0
  378. data/windows/zlib, libpng/zlib/contrib/blast/blast.c +444 -0
  379. data/windows/zlib, libpng/zlib/contrib/blast/blast.h +71 -0
  380. data/windows/zlib, libpng/zlib/contrib/blast/test.pk +0 -0
  381. data/windows/zlib, libpng/zlib/contrib/blast/test.txt +1 -0
  382. data/windows/zlib, libpng/zlib/contrib/delphi/ZLib.pas +557 -0
  383. data/windows/zlib, libpng/zlib/contrib/delphi/ZLibConst.pas +11 -0
  384. data/windows/zlib, libpng/zlib/contrib/delphi/readme.txt +76 -0
  385. data/windows/zlib, libpng/zlib/contrib/delphi/zlibd32.mak +93 -0
  386. data/windows/zlib, libpng/zlib/contrib/dotzlib/DotZLib.build +33 -0
  387. data/windows/zlib, libpng/zlib/contrib/dotzlib/DotZLib.chm +0 -0
  388. data/windows/zlib, libpng/zlib/contrib/dotzlib/DotZLib.sln +21 -0
  389. data/windows/zlib, libpng/zlib/contrib/dotzlib/DotZLib/AssemblyInfo.cs +58 -0
  390. data/windows/zlib, libpng/zlib/contrib/dotzlib/DotZLib/ChecksumImpl.cs +202 -0
  391. data/windows/zlib, libpng/zlib/contrib/dotzlib/DotZLib/CircularBuffer.cs +83 -0
  392. data/windows/zlib, libpng/zlib/contrib/dotzlib/DotZLib/CodecBase.cs +198 -0
  393. data/windows/zlib, libpng/zlib/contrib/dotzlib/DotZLib/Deflater.cs +106 -0
  394. data/windows/zlib, libpng/zlib/contrib/dotzlib/DotZLib/DotZLib.cs +288 -0
  395. data/windows/zlib, libpng/zlib/contrib/dotzlib/DotZLib/DotZLib.csproj +141 -0
  396. data/windows/zlib, libpng/zlib/contrib/dotzlib/DotZLib/GZipStream.cs +301 -0
  397. data/windows/zlib, libpng/zlib/contrib/dotzlib/DotZLib/Inflater.cs +105 -0
  398. data/windows/zlib, libpng/zlib/contrib/dotzlib/DotZLib/UnitTests.cs +274 -0
  399. data/windows/zlib, libpng/zlib/contrib/dotzlib/LICENSE_1_0.txt +23 -0
  400. data/windows/zlib, libpng/zlib/contrib/dotzlib/readme.txt +58 -0
  401. data/windows/zlib, libpng/zlib/contrib/infback9/README +1 -0
  402. data/windows/zlib, libpng/zlib/contrib/infback9/infback9.c +608 -0
  403. data/windows/zlib, libpng/zlib/contrib/infback9/infback9.h +37 -0
  404. data/windows/zlib, libpng/zlib/contrib/infback9/inffix9.h +107 -0
  405. data/windows/zlib, libpng/zlib/contrib/infback9/inflate9.h +47 -0
  406. data/windows/zlib, libpng/zlib/contrib/infback9/inftree9.c +323 -0
  407. data/windows/zlib, libpng/zlib/contrib/infback9/inftree9.h +55 -0
  408. data/windows/zlib, libpng/zlib/contrib/inflate86/inffas86.c +1157 -0
  409. data/windows/zlib, libpng/zlib/contrib/inflate86/inffast.S +1368 -0
  410. data/windows/zlib, libpng/zlib/contrib/iostream/test.cpp +24 -0
  411. data/windows/zlib, libpng/zlib/contrib/iostream/zfstream.cpp +329 -0
  412. data/windows/zlib, libpng/zlib/contrib/iostream/zfstream.h +128 -0
  413. data/windows/zlib, libpng/zlib/contrib/iostream2/zstream.h +307 -0
  414. data/windows/zlib, libpng/zlib/contrib/iostream2/zstream_test.cpp +25 -0
  415. data/windows/zlib, libpng/zlib/contrib/iostream3/README +35 -0
  416. data/windows/zlib, libpng/zlib/contrib/iostream3/TODO +17 -0
  417. data/windows/zlib, libpng/zlib/contrib/iostream3/test.cc +50 -0
  418. data/windows/zlib, libpng/zlib/contrib/iostream3/zfstream.cc +479 -0
  419. data/windows/zlib, libpng/zlib/contrib/iostream3/zfstream.h +466 -0
  420. data/windows/zlib, libpng/zlib/contrib/masm686/match.asm +413 -0
  421. data/windows/zlib, libpng/zlib/contrib/masmx64/bld_ml64.bat +2 -0
  422. data/windows/zlib, libpng/zlib/contrib/masmx64/gvmat64.asm +513 -0
  423. data/windows/zlib, libpng/zlib/contrib/masmx64/gvmat64.obj +0 -0
  424. data/windows/zlib, libpng/zlib/contrib/masmx64/inffas8664.c +186 -0
  425. data/windows/zlib, libpng/zlib/contrib/masmx64/inffasx64.asm +392 -0
  426. data/windows/zlib, libpng/zlib/contrib/masmx64/inffasx64.obj +0 -0
  427. data/windows/zlib, libpng/zlib/contrib/masmx64/readme.txt +28 -0
  428. data/windows/zlib, libpng/zlib/contrib/masmx86/bld_ml32.bat +2 -0
  429. data/windows/zlib, libpng/zlib/contrib/masmx86/gvmat32.asm +972 -0
  430. data/windows/zlib, libpng/zlib/contrib/masmx86/gvmat32.obj +0 -0
  431. data/windows/zlib, libpng/zlib/contrib/masmx86/gvmat32c.c +62 -0
  432. data/windows/zlib, libpng/zlib/contrib/masmx86/inffas32.asm +1083 -0
  433. data/windows/zlib, libpng/zlib/contrib/masmx86/inffas32.obj +0 -0
  434. data/windows/zlib, libpng/zlib/contrib/masmx86/mkasm.bat +3 -0
  435. data/windows/zlib, libpng/zlib/contrib/masmx86/readme.txt +21 -0
  436. data/windows/zlib, libpng/zlib/contrib/minizip/ChangeLogUnzip +67 -0
  437. data/windows/zlib, libpng/zlib/contrib/minizip/Makefile +25 -0
  438. data/windows/zlib, libpng/zlib/contrib/minizip/crypt.h +132 -0
  439. data/windows/zlib, libpng/zlib/contrib/minizip/ioapi.c +177 -0
  440. data/windows/zlib, libpng/zlib/contrib/minizip/ioapi.h +75 -0
  441. data/windows/zlib, libpng/zlib/contrib/minizip/iowin32.c +270 -0
  442. data/windows/zlib, libpng/zlib/contrib/minizip/iowin32.h +21 -0
  443. data/windows/zlib, libpng/zlib/contrib/minizip/miniunz.c +585 -0
  444. data/windows/zlib, libpng/zlib/contrib/minizip/minizip.c +420 -0
  445. data/windows/zlib, libpng/zlib/contrib/minizip/mztools.c +281 -0
  446. data/windows/zlib, libpng/zlib/contrib/minizip/mztools.h +31 -0
  447. data/windows/zlib, libpng/zlib/contrib/minizip/unzip.c +1598 -0
  448. data/windows/zlib, libpng/zlib/contrib/minizip/unzip.h +354 -0
  449. data/windows/zlib, libpng/zlib/contrib/minizip/zip.c +1219 -0
  450. data/windows/zlib, libpng/zlib/contrib/minizip/zip.h +235 -0
  451. data/windows/zlib, libpng/zlib/contrib/pascal/example.pas +599 -0
  452. data/windows/zlib, libpng/zlib/contrib/pascal/readme.txt +76 -0
  453. data/windows/zlib, libpng/zlib/contrib/pascal/zlibd32.mak +93 -0
  454. data/windows/zlib, libpng/zlib/contrib/pascal/zlibpas.pas +236 -0
  455. data/windows/zlib, libpng/zlib/contrib/puff/Makefile +8 -0
  456. data/windows/zlib, libpng/zlib/contrib/puff/README +63 -0
  457. data/windows/zlib, libpng/zlib/contrib/puff/puff.c +837 -0
  458. data/windows/zlib, libpng/zlib/contrib/puff/puff.h +31 -0
  459. data/windows/zlib, libpng/zlib/contrib/puff/zeros.raw +0 -0
  460. data/windows/zlib, libpng/zlib/contrib/testzlib/testzlib.c +275 -0
  461. data/windows/zlib, libpng/zlib/contrib/testzlib/testzlib.txt +10 -0
  462. data/windows/zlib, libpng/zlib/contrib/untgz/Makefile +14 -0
  463. data/windows/zlib, libpng/zlib/contrib/untgz/Makefile.msc +17 -0
  464. data/windows/zlib, libpng/zlib/contrib/untgz/untgz.c +674 -0
  465. data/windows/zlib, libpng/zlib/contrib/vstudio/readme.txt +73 -0
  466. data/windows/zlib, libpng/zlib/contrib/vstudio/vc7/miniunz.vcproj +126 -0
  467. data/windows/zlib, libpng/zlib/contrib/vstudio/vc7/minizip.vcproj +126 -0
  468. data/windows/zlib, libpng/zlib/contrib/vstudio/vc7/testzlib.vcproj +126 -0
  469. data/windows/zlib, libpng/zlib/contrib/vstudio/vc7/zlib.rc +32 -0
  470. data/windows/zlib, libpng/zlib/contrib/vstudio/vc7/zlibstat.vcproj +246 -0
  471. data/windows/zlib, libpng/zlib/contrib/vstudio/vc7/zlibvc.def +92 -0
  472. data/windows/zlib, libpng/zlib/contrib/vstudio/vc7/zlibvc.sln +78 -0
  473. data/windows/zlib, libpng/zlib/contrib/vstudio/vc7/zlibvc.vcproj +445 -0
  474. data/windows/zlib, libpng/zlib/contrib/vstudio/vc8/miniunz.vcproj +566 -0
  475. data/windows/zlib, libpng/zlib/contrib/vstudio/vc8/minizip.vcproj +563 -0
  476. data/windows/zlib, libpng/zlib/contrib/vstudio/vc8/testzlib.vcproj +948 -0
  477. data/windows/zlib, libpng/zlib/contrib/vstudio/vc8/testzlibdll.vcproj +567 -0
  478. data/windows/zlib, libpng/zlib/contrib/vstudio/vc8/zlib.rc +32 -0
  479. data/windows/zlib, libpng/zlib/contrib/vstudio/vc8/zlibstat.vcproj +870 -0
  480. data/windows/zlib, libpng/zlib/contrib/vstudio/vc8/zlibvc.def +92 -0
  481. data/windows/zlib, libpng/zlib/contrib/vstudio/vc8/zlibvc.sln +144 -0
  482. data/windows/zlib, libpng/zlib/contrib/vstudio/vc8/zlibvc.vcproj +1219 -0
  483. data/windows/zlib, libpng/zlib/crc32.c +423 -0
  484. data/windows/zlib, libpng/zlib/crc32.h +441 -0
  485. data/windows/zlib, libpng/zlib/deflate.c +1736 -0
  486. data/windows/zlib, libpng/zlib/deflate.h +331 -0
  487. data/windows/zlib, libpng/zlib/example.c +565 -0
  488. data/windows/zlib, libpng/zlib/examples/README.examples +42 -0
  489. data/windows/zlib, libpng/zlib/examples/fitblk.c +233 -0
  490. data/windows/zlib, libpng/zlib/examples/gun.c +693 -0
  491. data/windows/zlib, libpng/zlib/examples/gzappend.c +500 -0
  492. data/windows/zlib, libpng/zlib/examples/gzjoin.c +448 -0
  493. data/windows/zlib, libpng/zlib/examples/gzlog.c +413 -0
  494. data/windows/zlib, libpng/zlib/examples/gzlog.h +58 -0
  495. data/windows/zlib, libpng/zlib/examples/zlib_how.html +523 -0
  496. data/windows/zlib, libpng/zlib/examples/zpipe.c +191 -0
  497. data/windows/zlib, libpng/zlib/examples/zran.c +404 -0
  498. data/windows/zlib, libpng/zlib/gzio.c +1026 -0
  499. data/windows/zlib, libpng/zlib/infback.c +623 -0
  500. data/windows/zlib, libpng/zlib/inffast.c +318 -0
  501. data/windows/zlib, libpng/zlib/inffast.h +11 -0
  502. data/windows/zlib, libpng/zlib/inffixed.h +94 -0
  503. data/windows/zlib, libpng/zlib/inflate.c +1368 -0
  504. data/windows/zlib, libpng/zlib/inflate.h +115 -0
  505. data/windows/zlib, libpng/zlib/inftrees.c +329 -0
  506. data/windows/zlib, libpng/zlib/inftrees.h +55 -0
  507. data/windows/zlib, libpng/zlib/make_vms.com +461 -0
  508. data/windows/zlib, libpng/zlib/minigzip.c +322 -0
  509. data/windows/zlib, libpng/zlib/msdos/Makefile.bor +109 -0
  510. data/windows/zlib, libpng/zlib/msdos/Makefile.dj2 +104 -0
  511. data/windows/zlib, libpng/zlib/msdos/Makefile.emx +69 -0
  512. data/windows/zlib, libpng/zlib/msdos/Makefile.msc +106 -0
  513. data/windows/zlib, libpng/zlib/msdos/Makefile.tc +94 -0
  514. data/windows/zlib, libpng/zlib/old/Makefile.riscos +151 -0
  515. data/windows/zlib, libpng/zlib/old/README +3 -0
  516. data/windows/zlib, libpng/zlib/old/descrip.mms +48 -0
  517. data/windows/zlib, libpng/zlib/old/os2/Makefile.os2 +136 -0
  518. data/windows/zlib, libpng/zlib/old/os2/zlib.def +51 -0
  519. data/windows/zlib, libpng/zlib/old/visual-basic.txt +160 -0
  520. data/windows/zlib, libpng/zlib/old/zlib.html +971 -0
  521. data/windows/zlib, libpng/zlib/projects/README.projects +41 -0
  522. data/windows/zlib, libpng/zlib/projects/visualc6/README.txt +73 -0
  523. data/windows/zlib, libpng/zlib/projects/visualc6/example.dsp +278 -0
  524. data/windows/zlib, libpng/zlib/projects/visualc6/minigzip.dsp +278 -0
  525. data/windows/zlib, libpng/zlib/projects/visualc6/zlib.dsp +609 -0
  526. data/windows/zlib, libpng/zlib/projects/visualc6/zlib.dsw +59 -0
  527. data/windows/zlib, libpng/zlib/qnx/package.qpg +141 -0
  528. data/windows/zlib, libpng/zlib/trees.c +1219 -0
  529. data/windows/zlib, libpng/zlib/trees.h +128 -0
  530. data/windows/zlib, libpng/zlib/uncompr.c +61 -0
  531. data/windows/zlib, libpng/zlib/win32/DLL_FAQ.txt +397 -0
  532. data/windows/zlib, libpng/zlib/win32/Makefile.bor +107 -0
  533. data/windows/zlib, libpng/zlib/win32/Makefile.emx +69 -0
  534. data/windows/zlib, libpng/zlib/win32/Makefile.gcc +141 -0
  535. data/windows/zlib, libpng/zlib/win32/Makefile.msc +126 -0
  536. data/windows/zlib, libpng/zlib/win32/VisualC.txt +3 -0
  537. data/windows/zlib, libpng/zlib/win32/zlib.def +60 -0
  538. data/windows/zlib, libpng/zlib/win32/zlib1.rc +39 -0
  539. data/windows/zlib, libpng/zlib/zconf.h +332 -0
  540. data/windows/zlib, libpng/zlib/zconf.in.h +332 -0
  541. data/windows/zlib, libpng/zlib/zlib.3 +159 -0
  542. data/windows/zlib, libpng/zlib/zlib.h +1357 -0
  543. data/windows/zlib, libpng/zlib/zutil.c +318 -0
  544. data/windows/zlib, libpng/zlib/zutil.h +269 -0
  545. metadata +669 -216
@@ -0,0 +1,62 @@
1
+ /* gvmat32.c -- C portion of the optimized longest_match for 32 bits x86
2
+ * Copyright (C) 1995-1996 Jean-loup Gailly and Gilles Vollant.
3
+ * File written by Gilles Vollant, by modifiying the longest_match
4
+ * from Jean-loup Gailly in deflate.c
5
+ * it prepare all parameters and call the assembly longest_match_gvasm
6
+ * longest_match execute standard C code is wmask != 0x7fff
7
+ * (assembly code is faster with a fixed wmask)
8
+ *
9
+ * Read comment at beginning of gvmat32.asm for more information
10
+ */
11
+
12
+ #if defined(ASMV) && (!defined(NOOLDPENTIUMCODE))
13
+ #include "deflate.h"
14
+
15
+ /* if your C compiler don't add underline before function name,
16
+ define ADD_UNDERLINE_ASMFUNC */
17
+ #ifdef ADD_UNDERLINE_ASMFUNC
18
+ #define longest_match_7fff _longest_match_7fff
19
+ #define longest_match_686 _longest_match_686
20
+ #define cpudetect32 _cpudetect32
21
+ #endif
22
+
23
+
24
+ unsigned long cpudetect32();
25
+
26
+ uInt longest_match_c(
27
+ deflate_state *s,
28
+ IPos cur_match); /* current match */
29
+
30
+
31
+ uInt longest_match_7fff(
32
+ deflate_state *s,
33
+ IPos cur_match); /* current match */
34
+
35
+ uInt longest_match_686(
36
+ deflate_state *s,
37
+ IPos cur_match); /* current match */
38
+
39
+
40
+ static uInt iIsPPro=2;
41
+
42
+ void match_init ()
43
+ {
44
+ iIsPPro = (((cpudetect32()/0x100)&0xf)>=6) ? 1 : 0;
45
+ }
46
+
47
+ uInt longest_match(
48
+ deflate_state *s,
49
+ IPos cur_match) /* current match */
50
+ {
51
+ if (iIsPPro!=0)
52
+ return longest_match_686(s,cur_match);
53
+
54
+ if (s->w_mask != 0x7fff)
55
+ return longest_match_686(s,cur_match);
56
+
57
+ /* now ((s->w_mask == 0x7fff) && (iIsPPro==0)) */
58
+ return longest_match_7fff(s,cur_match);
59
+ }
60
+
61
+
62
+ #endif /* defined(ASMV) && (!defined(NOOLDPENTIUMCODE)) */
@@ -0,0 +1,1083 @@
1
+ ;/* inffas32.asm is a hand tuned assembler version of inffast.c -- fast decoding
2
+ ; *
3
+ ; * inffas32.asm is derivated from inffas86.c, with translation of assembly code
4
+ ; *
5
+ ; * Copyright (C) 1995-2003 Mark Adler
6
+ ; * For conditions of distribution and use, see copyright notice in zlib.h
7
+ ; *
8
+ ; * Copyright (C) 2003 Chris Anderson <christop@charm.net>
9
+ ; * Please use the copyright conditions above.
10
+ ; *
11
+ ; * Mar-13-2003 -- Most of this is derived from inffast.S which is derived from
12
+ ; * the gcc -S output of zlib-1.2.0/inffast.c. Zlib-1.2.0 is in beta release at
13
+ ; * the moment. I have successfully compiled and tested this code with gcc2.96,
14
+ ; * gcc3.2, icc5.0, msvc6.0. It is very close to the speed of inffast.S
15
+ ; * compiled with gcc -DNO_MMX, but inffast.S is still faster on the P3 with MMX
16
+ ; * enabled. I will attempt to merge the MMX code into this version. Newer
17
+ ; * versions of this and inffast.S can be found at
18
+ ; * http://www.eetbeetee.com/zlib/ and http://www.charm.net/~christop/zlib/
19
+ ; *
20
+ ; * 2005 : modification by Gilles Vollant
21
+ ; */
22
+ ; For Visual C++ 4.x and higher and ML 6.x and higher
23
+ ; ml.exe is in directory \MASM611C of Win95 DDK
24
+ ; ml.exe is also distributed in http://www.masm32.com/masmdl.htm
25
+ ; and in VC++2003 toolkit at http://msdn.microsoft.com/visualc/vctoolkit2003/
26
+ ;
27
+ ;
28
+ ; compile with command line option
29
+ ; ml /coff /Zi /c /Flinffas32.lst inffas32.asm
30
+
31
+ ; if you define NO_GZIP (see inflate.h), compile with
32
+ ; ml /coff /Zi /c /Flinffas32.lst /DNO_GUNZIP inffas32.asm
33
+
34
+
35
+ ; zlib122sup is 0 fort zlib 1.2.2.1 and lower
36
+ ; zlib122sup is 8 fort zlib 1.2.2.2 and more (with addition of dmax and head
37
+ ; in inflate_state in inflate.h)
38
+ zlib1222sup equ 8
39
+
40
+
41
+ IFDEF GUNZIP
42
+ INFLATE_MODE_TYPE equ 11
43
+ INFLATE_MODE_BAD equ 26
44
+ ELSE
45
+ IFNDEF NO_GUNZIP
46
+ INFLATE_MODE_TYPE equ 11
47
+ INFLATE_MODE_BAD equ 26
48
+ ELSE
49
+ INFLATE_MODE_TYPE equ 3
50
+ INFLATE_MODE_BAD equ 17
51
+ ENDIF
52
+ ENDIF
53
+
54
+
55
+ ; 75 "inffast.S"
56
+ ;FILE "inffast.S"
57
+
58
+ ;;;GLOBAL _inflate_fast
59
+
60
+ ;;;SECTION .text
61
+
62
+
63
+
64
+ .586p
65
+ .mmx
66
+
67
+ name inflate_fast_x86
68
+ .MODEL FLAT
69
+
70
+ _DATA segment
71
+ inflate_fast_use_mmx:
72
+ dd 1
73
+
74
+
75
+ _TEXT segment
76
+ PUBLIC _inflate_fast
77
+
78
+ ALIGN 4
79
+ _inflate_fast:
80
+ jmp inflate_fast_entry
81
+
82
+
83
+
84
+ ALIGN 4
85
+ db 'Fast decoding Code from Chris Anderson'
86
+ db 0
87
+
88
+ ALIGN 4
89
+ invalid_literal_length_code_msg:
90
+ db 'invalid literal/length code'
91
+ db 0
92
+
93
+ ALIGN 4
94
+ invalid_distance_code_msg:
95
+ db 'invalid distance code'
96
+ db 0
97
+
98
+ ALIGN 4
99
+ invalid_distance_too_far_msg:
100
+ db 'invalid distance too far back'
101
+ db 0
102
+
103
+
104
+ ALIGN 4
105
+ inflate_fast_mask:
106
+ dd 0
107
+ dd 1
108
+ dd 3
109
+ dd 7
110
+ dd 15
111
+ dd 31
112
+ dd 63
113
+ dd 127
114
+ dd 255
115
+ dd 511
116
+ dd 1023
117
+ dd 2047
118
+ dd 4095
119
+ dd 8191
120
+ dd 16383
121
+ dd 32767
122
+ dd 65535
123
+ dd 131071
124
+ dd 262143
125
+ dd 524287
126
+ dd 1048575
127
+ dd 2097151
128
+ dd 4194303
129
+ dd 8388607
130
+ dd 16777215
131
+ dd 33554431
132
+ dd 67108863
133
+ dd 134217727
134
+ dd 268435455
135
+ dd 536870911
136
+ dd 1073741823
137
+ dd 2147483647
138
+ dd 4294967295
139
+
140
+
141
+ mode_state equ 0 ;/* state->mode */
142
+ wsize_state equ (32+zlib1222sup) ;/* state->wsize */
143
+ write_state equ (36+4+zlib1222sup) ;/* state->write */
144
+ window_state equ (40+4+zlib1222sup) ;/* state->window */
145
+ hold_state equ (44+4+zlib1222sup) ;/* state->hold */
146
+ bits_state equ (48+4+zlib1222sup) ;/* state->bits */
147
+ lencode_state equ (64+4+zlib1222sup) ;/* state->lencode */
148
+ distcode_state equ (68+4+zlib1222sup) ;/* state->distcode */
149
+ lenbits_state equ (72+4+zlib1222sup) ;/* state->lenbits */
150
+ distbits_state equ (76+4+zlib1222sup) ;/* state->distbits */
151
+
152
+
153
+ ;;SECTION .text
154
+ ; 205 "inffast.S"
155
+ ;GLOBAL inflate_fast_use_mmx
156
+
157
+ ;SECTION .data
158
+
159
+
160
+ ; GLOBAL inflate_fast_use_mmx:object
161
+ ;.size inflate_fast_use_mmx, 4
162
+ ; 226 "inffast.S"
163
+ ;SECTION .text
164
+
165
+ ALIGN 4
166
+ inflate_fast_entry:
167
+ push edi
168
+ push esi
169
+ push ebp
170
+ push ebx
171
+ pushfd
172
+ sub esp,64
173
+ cld
174
+
175
+
176
+
177
+
178
+ mov esi, [esp+88]
179
+ mov edi, [esi+28]
180
+
181
+
182
+
183
+
184
+
185
+
186
+
187
+ mov edx, [esi+4]
188
+ mov eax, [esi+0]
189
+
190
+ add edx,eax
191
+ sub edx,11
192
+
193
+ mov [esp+44],eax
194
+ mov [esp+20],edx
195
+
196
+ mov ebp, [esp+92]
197
+ mov ecx, [esi+16]
198
+ mov ebx, [esi+12]
199
+
200
+ sub ebp,ecx
201
+ neg ebp
202
+ add ebp,ebx
203
+
204
+ sub ecx,257
205
+ add ecx,ebx
206
+
207
+ mov [esp+60],ebx
208
+ mov [esp+40],ebp
209
+ mov [esp+16],ecx
210
+ ; 285 "inffast.S"
211
+ mov eax, [edi+lencode_state]
212
+ mov ecx, [edi+distcode_state]
213
+
214
+ mov [esp+8],eax
215
+ mov [esp+12],ecx
216
+
217
+ mov eax,1
218
+ mov ecx, [edi+lenbits_state]
219
+ shl eax,cl
220
+ dec eax
221
+ mov [esp+0],eax
222
+
223
+ mov eax,1
224
+ mov ecx, [edi+distbits_state]
225
+ shl eax,cl
226
+ dec eax
227
+ mov [esp+4],eax
228
+
229
+ mov eax, [edi+wsize_state]
230
+ mov ecx, [edi+write_state]
231
+ mov edx, [edi+window_state]
232
+
233
+ mov [esp+52],eax
234
+ mov [esp+48],ecx
235
+ mov [esp+56],edx
236
+
237
+ mov ebp, [edi+hold_state]
238
+ mov ebx, [edi+bits_state]
239
+ ; 321 "inffast.S"
240
+ mov esi, [esp+44]
241
+ mov ecx, [esp+20]
242
+ cmp ecx,esi
243
+ ja L_align_long
244
+
245
+ add ecx,11
246
+ sub ecx,esi
247
+ mov eax,12
248
+ sub eax,ecx
249
+ lea edi, [esp+28]
250
+ rep movsb
251
+ mov ecx,eax
252
+ xor eax,eax
253
+ rep stosb
254
+ lea esi, [esp+28]
255
+ mov [esp+20],esi
256
+ jmp L_is_aligned
257
+
258
+
259
+ L_align_long:
260
+ test esi,3
261
+ jz L_is_aligned
262
+ xor eax,eax
263
+ mov al, [esi]
264
+ inc esi
265
+ mov ecx,ebx
266
+ add ebx,8
267
+ shl eax,cl
268
+ or ebp,eax
269
+ jmp L_align_long
270
+
271
+ L_is_aligned:
272
+ mov edi, [esp+60]
273
+ ; 366 "inffast.S"
274
+ L_check_mmx:
275
+ cmp dword ptr [inflate_fast_use_mmx],2
276
+ je L_init_mmx
277
+ ja L_do_loop
278
+
279
+ push eax
280
+ push ebx
281
+ push ecx
282
+ push edx
283
+ pushfd
284
+ mov eax, [esp]
285
+ xor dword ptr [esp],0200000h
286
+
287
+
288
+
289
+
290
+ popfd
291
+ pushfd
292
+ pop edx
293
+ xor edx,eax
294
+ jz L_dont_use_mmx
295
+ xor eax,eax
296
+ cpuid
297
+ cmp ebx,0756e6547h
298
+ jne L_dont_use_mmx
299
+ cmp ecx,06c65746eh
300
+ jne L_dont_use_mmx
301
+ cmp edx,049656e69h
302
+ jne L_dont_use_mmx
303
+ mov eax,1
304
+ cpuid
305
+ shr eax,8
306
+ and eax,15
307
+ cmp eax,6
308
+ jne L_dont_use_mmx
309
+ test edx,0800000h
310
+ jnz L_use_mmx
311
+ jmp L_dont_use_mmx
312
+ L_use_mmx:
313
+ mov dword ptr [inflate_fast_use_mmx],2
314
+ jmp L_check_mmx_pop
315
+ L_dont_use_mmx:
316
+ mov dword ptr [inflate_fast_use_mmx],3
317
+ L_check_mmx_pop:
318
+ pop edx
319
+ pop ecx
320
+ pop ebx
321
+ pop eax
322
+ jmp L_check_mmx
323
+ ; 426 "inffast.S"
324
+ ALIGN 4
325
+ L_do_loop:
326
+ ; 437 "inffast.S"
327
+ cmp bl,15
328
+ ja L_get_length_code
329
+
330
+ xor eax,eax
331
+ lodsw
332
+ mov cl,bl
333
+ add bl,16
334
+ shl eax,cl
335
+ or ebp,eax
336
+
337
+ L_get_length_code:
338
+ mov edx, [esp+0]
339
+ mov ecx, [esp+8]
340
+ and edx,ebp
341
+ mov eax, [ecx+edx*4]
342
+
343
+ L_dolen:
344
+
345
+
346
+
347
+
348
+
349
+
350
+ mov cl,ah
351
+ sub bl,ah
352
+ shr ebp,cl
353
+
354
+
355
+
356
+
357
+
358
+
359
+ test al,al
360
+ jnz L_test_for_length_base
361
+
362
+ shr eax,16
363
+ stosb
364
+
365
+ L_while_test:
366
+
367
+
368
+ cmp [esp+16],edi
369
+ jbe L_break_loop
370
+
371
+ cmp [esp+20],esi
372
+ ja L_do_loop
373
+ jmp L_break_loop
374
+
375
+ L_test_for_length_base:
376
+ ; 502 "inffast.S"
377
+ mov edx,eax
378
+ shr edx,16
379
+ mov cl,al
380
+
381
+ test al,16
382
+ jz L_test_for_second_level_length
383
+ and cl,15
384
+ jz L_save_len
385
+ cmp bl,cl
386
+ jae L_add_bits_to_len
387
+
388
+ mov ch,cl
389
+ xor eax,eax
390
+ lodsw
391
+ mov cl,bl
392
+ add bl,16
393
+ shl eax,cl
394
+ or ebp,eax
395
+ mov cl,ch
396
+
397
+ L_add_bits_to_len:
398
+ mov eax,1
399
+ shl eax,cl
400
+ dec eax
401
+ sub bl,cl
402
+ and eax,ebp
403
+ shr ebp,cl
404
+ add edx,eax
405
+
406
+ L_save_len:
407
+ mov [esp+24],edx
408
+
409
+
410
+ L_decode_distance:
411
+ ; 549 "inffast.S"
412
+ cmp bl,15
413
+ ja L_get_distance_code
414
+
415
+ xor eax,eax
416
+ lodsw
417
+ mov cl,bl
418
+ add bl,16
419
+ shl eax,cl
420
+ or ebp,eax
421
+
422
+ L_get_distance_code:
423
+ mov edx, [esp+4]
424
+ mov ecx, [esp+12]
425
+ and edx,ebp
426
+ mov eax, [ecx+edx*4]
427
+
428
+
429
+ L_dodist:
430
+ mov edx,eax
431
+ shr edx,16
432
+ mov cl,ah
433
+ sub bl,ah
434
+ shr ebp,cl
435
+ ; 584 "inffast.S"
436
+ mov cl,al
437
+
438
+ test al,16
439
+ jz L_test_for_second_level_dist
440
+ and cl,15
441
+ jz L_check_dist_one
442
+ cmp bl,cl
443
+ jae L_add_bits_to_dist
444
+
445
+ mov ch,cl
446
+ xor eax,eax
447
+ lodsw
448
+ mov cl,bl
449
+ add bl,16
450
+ shl eax,cl
451
+ or ebp,eax
452
+ mov cl,ch
453
+
454
+ L_add_bits_to_dist:
455
+ mov eax,1
456
+ shl eax,cl
457
+ dec eax
458
+ sub bl,cl
459
+ and eax,ebp
460
+ shr ebp,cl
461
+ add edx,eax
462
+ jmp L_check_window
463
+
464
+ L_check_window:
465
+ ; 625 "inffast.S"
466
+ mov [esp+44],esi
467
+ mov eax,edi
468
+ sub eax, [esp+40]
469
+
470
+ cmp eax,edx
471
+ jb L_clip_window
472
+
473
+ mov ecx, [esp+24]
474
+ mov esi,edi
475
+ sub esi,edx
476
+
477
+ sub ecx,3
478
+ mov al, [esi]
479
+ mov [edi],al
480
+ mov al, [esi+1]
481
+ mov dl, [esi+2]
482
+ add esi,3
483
+ mov [edi+1],al
484
+ mov [edi+2],dl
485
+ add edi,3
486
+ rep movsb
487
+
488
+ mov esi, [esp+44]
489
+ jmp L_while_test
490
+
491
+ ALIGN 4
492
+ L_check_dist_one:
493
+ cmp edx,1
494
+ jne L_check_window
495
+ cmp [esp+40],edi
496
+ je L_check_window
497
+
498
+ dec edi
499
+ mov ecx, [esp+24]
500
+ mov al, [edi]
501
+ sub ecx,3
502
+
503
+ mov [edi+1],al
504
+ mov [edi+2],al
505
+ mov [edi+3],al
506
+ add edi,4
507
+ rep stosb
508
+
509
+ jmp L_while_test
510
+
511
+ ALIGN 4
512
+ L_test_for_second_level_length:
513
+
514
+
515
+
516
+
517
+ test al,64
518
+ jnz L_test_for_end_of_block
519
+
520
+ mov eax,1
521
+ shl eax,cl
522
+ dec eax
523
+ and eax,ebp
524
+ add eax,edx
525
+ mov edx, [esp+8]
526
+ mov eax, [edx+eax*4]
527
+ jmp L_dolen
528
+
529
+ ALIGN 4
530
+ L_test_for_second_level_dist:
531
+
532
+
533
+
534
+
535
+ test al,64
536
+ jnz L_invalid_distance_code
537
+
538
+ mov eax,1
539
+ shl eax,cl
540
+ dec eax
541
+ and eax,ebp
542
+ add eax,edx
543
+ mov edx, [esp+12]
544
+ mov eax, [edx+eax*4]
545
+ jmp L_dodist
546
+
547
+ ALIGN 4
548
+ L_clip_window:
549
+ ; 721 "inffast.S"
550
+ mov ecx,eax
551
+ mov eax, [esp+52]
552
+ neg ecx
553
+ mov esi, [esp+56]
554
+
555
+ cmp eax,edx
556
+ jb L_invalid_distance_too_far
557
+
558
+ add ecx,edx
559
+ cmp dword ptr [esp+48],0
560
+ jne L_wrap_around_window
561
+
562
+ sub eax,ecx
563
+ add esi,eax
564
+ ; 749 "inffast.S"
565
+ mov eax, [esp+24]
566
+ cmp eax,ecx
567
+ jbe L_do_copy1
568
+
569
+ sub eax,ecx
570
+ rep movsb
571
+ mov esi,edi
572
+ sub esi,edx
573
+ jmp L_do_copy1
574
+
575
+ cmp eax,ecx
576
+ jbe L_do_copy1
577
+
578
+ sub eax,ecx
579
+ rep movsb
580
+ mov esi,edi
581
+ sub esi,edx
582
+ jmp L_do_copy1
583
+
584
+ L_wrap_around_window:
585
+ ; 793 "inffast.S"
586
+ mov eax, [esp+48]
587
+ cmp ecx,eax
588
+ jbe L_contiguous_in_window
589
+
590
+ add esi, [esp+52]
591
+ add esi,eax
592
+ sub esi,ecx
593
+ sub ecx,eax
594
+
595
+
596
+ mov eax, [esp+24]
597
+ cmp eax,ecx
598
+ jbe L_do_copy1
599
+
600
+ sub eax,ecx
601
+ rep movsb
602
+ mov esi, [esp+56]
603
+ mov ecx, [esp+48]
604
+ cmp eax,ecx
605
+ jbe L_do_copy1
606
+
607
+ sub eax,ecx
608
+ rep movsb
609
+ mov esi,edi
610
+ sub esi,edx
611
+ jmp L_do_copy1
612
+
613
+ L_contiguous_in_window:
614
+ ; 836 "inffast.S"
615
+ add esi,eax
616
+ sub esi,ecx
617
+
618
+
619
+ mov eax, [esp+24]
620
+ cmp eax,ecx
621
+ jbe L_do_copy1
622
+
623
+ sub eax,ecx
624
+ rep movsb
625
+ mov esi,edi
626
+ sub esi,edx
627
+
628
+ L_do_copy1:
629
+ ; 862 "inffast.S"
630
+ mov ecx,eax
631
+ rep movsb
632
+
633
+ mov esi, [esp+44]
634
+ jmp L_while_test
635
+ ; 878 "inffast.S"
636
+ ALIGN 4
637
+ L_init_mmx:
638
+ emms
639
+
640
+
641
+
642
+
643
+
644
+ movd mm0,ebp
645
+ mov ebp,ebx
646
+ ; 896 "inffast.S"
647
+ movd mm4,[esp+0]
648
+ movq mm3,mm4
649
+ movd mm5,[esp+4]
650
+ movq mm2,mm5
651
+ pxor mm1,mm1
652
+ mov ebx, [esp+8]
653
+ jmp L_do_loop_mmx
654
+
655
+ ALIGN 4
656
+ L_do_loop_mmx:
657
+ psrlq mm0,mm1
658
+
659
+ cmp ebp,32
660
+ ja L_get_length_code_mmx
661
+
662
+ movd mm6,ebp
663
+ movd mm7,[esi]
664
+ add esi,4
665
+ psllq mm7,mm6
666
+ add ebp,32
667
+ por mm0,mm7
668
+
669
+ L_get_length_code_mmx:
670
+ pand mm4,mm0
671
+ movd eax,mm4
672
+ movq mm4,mm3
673
+ mov eax, [ebx+eax*4]
674
+
675
+ L_dolen_mmx:
676
+ movzx ecx,ah
677
+ movd mm1,ecx
678
+ sub ebp,ecx
679
+
680
+ test al,al
681
+ jnz L_test_for_length_base_mmx
682
+
683
+ shr eax,16
684
+ stosb
685
+
686
+ L_while_test_mmx:
687
+
688
+
689
+ cmp [esp+16],edi
690
+ jbe L_break_loop
691
+
692
+ cmp [esp+20],esi
693
+ ja L_do_loop_mmx
694
+ jmp L_break_loop
695
+
696
+ L_test_for_length_base_mmx:
697
+
698
+ mov edx,eax
699
+ shr edx,16
700
+
701
+ test al,16
702
+ jz L_test_for_second_level_length_mmx
703
+ and eax,15
704
+ jz L_decode_distance_mmx
705
+
706
+ psrlq mm0,mm1
707
+ movd mm1,eax
708
+ movd ecx,mm0
709
+ sub ebp,eax
710
+ and ecx, [inflate_fast_mask+eax*4]
711
+ add edx,ecx
712
+
713
+ L_decode_distance_mmx:
714
+ psrlq mm0,mm1
715
+
716
+ cmp ebp,32
717
+ ja L_get_dist_code_mmx
718
+
719
+ movd mm6,ebp
720
+ movd mm7,[esi]
721
+ add esi,4
722
+ psllq mm7,mm6
723
+ add ebp,32
724
+ por mm0,mm7
725
+
726
+ L_get_dist_code_mmx:
727
+ mov ebx, [esp+12]
728
+ pand mm5,mm0
729
+ movd eax,mm5
730
+ movq mm5,mm2
731
+ mov eax, [ebx+eax*4]
732
+
733
+ L_dodist_mmx:
734
+
735
+ movzx ecx,ah
736
+ mov ebx,eax
737
+ shr ebx,16
738
+ sub ebp,ecx
739
+ movd mm1,ecx
740
+
741
+ test al,16
742
+ jz L_test_for_second_level_dist_mmx
743
+ and eax,15
744
+ jz L_check_dist_one_mmx
745
+
746
+ L_add_bits_to_dist_mmx:
747
+ psrlq mm0,mm1
748
+ movd mm1,eax
749
+ movd ecx,mm0
750
+ sub ebp,eax
751
+ and ecx, [inflate_fast_mask+eax*4]
752
+ add ebx,ecx
753
+
754
+ L_check_window_mmx:
755
+ mov [esp+44],esi
756
+ mov eax,edi
757
+ sub eax, [esp+40]
758
+
759
+ cmp eax,ebx
760
+ jb L_clip_window_mmx
761
+
762
+ mov ecx,edx
763
+ mov esi,edi
764
+ sub esi,ebx
765
+
766
+ sub ecx,3
767
+ mov al, [esi]
768
+ mov [edi],al
769
+ mov al, [esi+1]
770
+ mov dl, [esi+2]
771
+ add esi,3
772
+ mov [edi+1],al
773
+ mov [edi+2],dl
774
+ add edi,3
775
+ rep movsb
776
+
777
+ mov esi, [esp+44]
778
+ mov ebx, [esp+8]
779
+ jmp L_while_test_mmx
780
+
781
+ ALIGN 4
782
+ L_check_dist_one_mmx:
783
+ cmp ebx,1
784
+ jne L_check_window_mmx
785
+ cmp [esp+40],edi
786
+ je L_check_window_mmx
787
+
788
+ dec edi
789
+ mov ecx,edx
790
+ mov al, [edi]
791
+ sub ecx,3
792
+
793
+ mov [edi+1],al
794
+ mov [edi+2],al
795
+ mov [edi+3],al
796
+ add edi,4
797
+ rep stosb
798
+
799
+ mov ebx, [esp+8]
800
+ jmp L_while_test_mmx
801
+
802
+ ALIGN 4
803
+ L_test_for_second_level_length_mmx:
804
+ test al,64
805
+ jnz L_test_for_end_of_block
806
+
807
+ and eax,15
808
+ psrlq mm0,mm1
809
+ movd ecx,mm0
810
+ and ecx, [inflate_fast_mask+eax*4]
811
+ add ecx,edx
812
+ mov eax, [ebx+ecx*4]
813
+ jmp L_dolen_mmx
814
+
815
+ ALIGN 4
816
+ L_test_for_second_level_dist_mmx:
817
+ test al,64
818
+ jnz L_invalid_distance_code
819
+
820
+ and eax,15
821
+ psrlq mm0,mm1
822
+ movd ecx,mm0
823
+ and ecx, [inflate_fast_mask+eax*4]
824
+ mov eax, [esp+12]
825
+ add ecx,ebx
826
+ mov eax, [eax+ecx*4]
827
+ jmp L_dodist_mmx
828
+
829
+ ALIGN 4
830
+ L_clip_window_mmx:
831
+
832
+ mov ecx,eax
833
+ mov eax, [esp+52]
834
+ neg ecx
835
+ mov esi, [esp+56]
836
+
837
+ cmp eax,ebx
838
+ jb L_invalid_distance_too_far
839
+
840
+ add ecx,ebx
841
+ cmp dword ptr [esp+48],0
842
+ jne L_wrap_around_window_mmx
843
+
844
+ sub eax,ecx
845
+ add esi,eax
846
+
847
+ cmp edx,ecx
848
+ jbe L_do_copy1_mmx
849
+
850
+ sub edx,ecx
851
+ rep movsb
852
+ mov esi,edi
853
+ sub esi,ebx
854
+ jmp L_do_copy1_mmx
855
+
856
+ cmp edx,ecx
857
+ jbe L_do_copy1_mmx
858
+
859
+ sub edx,ecx
860
+ rep movsb
861
+ mov esi,edi
862
+ sub esi,ebx
863
+ jmp L_do_copy1_mmx
864
+
865
+ L_wrap_around_window_mmx:
866
+
867
+ mov eax, [esp+48]
868
+ cmp ecx,eax
869
+ jbe L_contiguous_in_window_mmx
870
+
871
+ add esi, [esp+52]
872
+ add esi,eax
873
+ sub esi,ecx
874
+ sub ecx,eax
875
+
876
+
877
+ cmp edx,ecx
878
+ jbe L_do_copy1_mmx
879
+
880
+ sub edx,ecx
881
+ rep movsb
882
+ mov esi, [esp+56]
883
+ mov ecx, [esp+48]
884
+ cmp edx,ecx
885
+ jbe L_do_copy1_mmx
886
+
887
+ sub edx,ecx
888
+ rep movsb
889
+ mov esi,edi
890
+ sub esi,ebx
891
+ jmp L_do_copy1_mmx
892
+
893
+ L_contiguous_in_window_mmx:
894
+
895
+ add esi,eax
896
+ sub esi,ecx
897
+
898
+
899
+ cmp edx,ecx
900
+ jbe L_do_copy1_mmx
901
+
902
+ sub edx,ecx
903
+ rep movsb
904
+ mov esi,edi
905
+ sub esi,ebx
906
+
907
+ L_do_copy1_mmx:
908
+
909
+
910
+ mov ecx,edx
911
+ rep movsb
912
+
913
+ mov esi, [esp+44]
914
+ mov ebx, [esp+8]
915
+ jmp L_while_test_mmx
916
+ ; 1174 "inffast.S"
917
+ L_invalid_distance_code:
918
+
919
+
920
+
921
+
922
+
923
+ mov ecx, invalid_distance_code_msg
924
+ mov edx,INFLATE_MODE_BAD
925
+ jmp L_update_stream_state
926
+
927
+ L_test_for_end_of_block:
928
+
929
+
930
+
931
+
932
+
933
+ test al,32
934
+ jz L_invalid_literal_length_code
935
+
936
+ mov ecx,0
937
+ mov edx,INFLATE_MODE_TYPE
938
+ jmp L_update_stream_state
939
+
940
+ L_invalid_literal_length_code:
941
+
942
+
943
+
944
+
945
+
946
+ mov ecx, invalid_literal_length_code_msg
947
+ mov edx,INFLATE_MODE_BAD
948
+ jmp L_update_stream_state
949
+
950
+ L_invalid_distance_too_far:
951
+
952
+
953
+
954
+ mov esi, [esp+44]
955
+ mov ecx, invalid_distance_too_far_msg
956
+ mov edx,INFLATE_MODE_BAD
957
+ jmp L_update_stream_state
958
+
959
+ L_update_stream_state:
960
+
961
+ mov eax, [esp+88]
962
+ test ecx,ecx
963
+ jz L_skip_msg
964
+ mov [eax+24],ecx
965
+ L_skip_msg:
966
+ mov eax, [eax+28]
967
+ mov [eax+mode_state],edx
968
+ jmp L_break_loop
969
+
970
+ ALIGN 4
971
+ L_break_loop:
972
+ ; 1243 "inffast.S"
973
+ cmp dword ptr [inflate_fast_use_mmx],2
974
+ jne L_update_next_in
975
+
976
+
977
+
978
+ mov ebx,ebp
979
+
980
+ L_update_next_in:
981
+ ; 1266 "inffast.S"
982
+ mov eax, [esp+88]
983
+ mov ecx,ebx
984
+ mov edx, [eax+28]
985
+ shr ecx,3
986
+ sub esi,ecx
987
+ shl ecx,3
988
+ sub ebx,ecx
989
+ mov [eax+12],edi
990
+ mov [edx+bits_state],ebx
991
+ mov ecx,ebx
992
+
993
+ lea ebx, [esp+28]
994
+ cmp [esp+20],ebx
995
+ jne L_buf_not_used
996
+
997
+ sub esi,ebx
998
+ mov ebx, [eax+0]
999
+ mov [esp+20],ebx
1000
+ add esi,ebx
1001
+ mov ebx, [eax+4]
1002
+ sub ebx,11
1003
+ add [esp+20],ebx
1004
+
1005
+ L_buf_not_used:
1006
+ mov [eax+0],esi
1007
+
1008
+ mov ebx,1
1009
+ shl ebx,cl
1010
+ dec ebx
1011
+
1012
+
1013
+
1014
+
1015
+
1016
+ cmp dword ptr [inflate_fast_use_mmx],2
1017
+ jne L_update_hold
1018
+
1019
+
1020
+
1021
+ psrlq mm0,mm1
1022
+ movd ebp,mm0
1023
+
1024
+ emms
1025
+
1026
+ L_update_hold:
1027
+
1028
+
1029
+
1030
+ and ebp,ebx
1031
+ mov [edx+hold_state],ebp
1032
+
1033
+
1034
+
1035
+
1036
+ mov ebx, [esp+20]
1037
+ cmp ebx,esi
1038
+ jbe L_last_is_smaller
1039
+
1040
+ sub ebx,esi
1041
+ add ebx,11
1042
+ mov [eax+4],ebx
1043
+ jmp L_fixup_out
1044
+ L_last_is_smaller:
1045
+ sub esi,ebx
1046
+ neg esi
1047
+ add esi,11
1048
+ mov [eax+4],esi
1049
+
1050
+
1051
+
1052
+
1053
+ L_fixup_out:
1054
+
1055
+ mov ebx, [esp+16]
1056
+ cmp ebx,edi
1057
+ jbe L_end_is_smaller
1058
+
1059
+ sub ebx,edi
1060
+ add ebx,257
1061
+ mov [eax+16],ebx
1062
+ jmp L_done
1063
+ L_end_is_smaller:
1064
+ sub edi,ebx
1065
+ neg edi
1066
+ add edi,257
1067
+ mov [eax+16],edi
1068
+
1069
+
1070
+
1071
+
1072
+
1073
+ L_done:
1074
+ add esp,64
1075
+ popfd
1076
+ pop ebx
1077
+ pop ebp
1078
+ pop esi
1079
+ pop edi
1080
+ ret
1081
+
1082
+ _TEXT ends
1083
+ end