racket/c
dyb 82b2cda639 compress-level parameter, improvement in lz4 compression, and various other related improvements
- added compress-level parameter to select a compression level for
  file writing and changed the default for lz4 compression to do a
  better job compressing.  finished splitting glz input routines
  apart from glz output routines and did a bit of other restructuring.
  removed gzxfile struct-as-bytevector wrapper and moved its fd
  into glzFile.  moved DEACTIVATE to before glzdopen_input calls
  in S_new_open_input_fd and S_compress_input_fd, since glzdopen_input
  reads from the file and could block.  the compress format and now
  level are now recorded directly the thread context.  replaced
  as-gz? flag bit in compressed bytevector header word with a small
  number of bits recording the compression format at the bottom of
  the header word.  flushed a couple of bytevector compression mats
  that depended on the old representation.  (these last few changes
  should make adding new compression formats easier.)  added
  s-directory build options to choose whether to compress and, if
  so, the format and level.
    compress-io.h, compress-io.c, new-io.c, equates.h, system.h,
    scheme.c, gc.c,
    io.ss, cmacros.ss, back.ss, bytevector.ss, primdata.ss, s/Mf-base,
    io.ms, mat.ss, bytevector.ms, root-experr*,
    release_notes.stex, io.stex, system.stex, objects.stex
- improved the effectiveness of LZ4 boot-file compression to within
  15% of gzip by increasing the lz4 output-port in_buffer size to
  1<<18.  With the previous size (1<<14) LZ4-compressed boot files
  were about 50% larger.  set the lz4 input-port in_buffer and
  out_buffer sizes to 1<<12 and 1<<14.  there's no clear win at
  present for larger input-port buffer sizes.
    compress-io.c
- To reduce the memory hit for the increased output-port in_buffer
  size and the corresponding increase in computed out_buffer size,
  one output-side out_buffer is now allocated (lazily) per thread
  and stored in the thread context.  The other buffers are now
  directly a part of the lz4File_out and lz4File_in structures
  rather than allocated separately.
    compress-io.c, scheme.c, gc.c,
    cmacros.ss
- split out the buffer emit code from glzwrite_lz4 into a
  separate glzemit_lz4 helper that is now also used by gzclose
  so we can avoid dealing with a NULL buffer in glzwrite_lz4.
  glzwrite_lz4 also uses it to writing large buffers directly and
  avoid the memcpy.
    compress-io.c
- replaced lz4File_out and lz4File_in mode enumeration with the
  compress format and inputp boolean.  using switch to check and
  raising exceptions for unexpected values to further simplify
  adding new compression formats in the future.
    compress-io.c
- replaced the never-defined struct lz4File pointer in glzFile
  union with the more specific struct lz4File_in_r and Lz4File_out_r
  pointers.
    compress-io.h, compress-io.c
- added free of lz4 structures to gzclose.  also changed file-close
  logic generally so that (1) port is marked closed before anything is
  freed to avoid dangling pointers in the case of an interrupt or
  error, and (2) structures are freed even in the case of a write
  or close error, before the error is reported.  also now mallocing
  glz and lz4 structures after possibility of errors have passed where
  possible and freeing them when not.
    compress-io.c,
    io.ss
- added return-value checks to malloc calls and to a couple of other
  C-library calls.
    compress-io.c
- corrected EINTR checks to look at errno rather than return codes.
    compress-io.c
- added S_ prefixes to the glz* exports
    externs.h, compress-io.c, new-io.c, scheme.c, fasl.c
- added entries for mutex-name and mutex-thread
    threads.stex

original commit: 722ffabef4c938bc92c0fe07f789a9ba350dc6c6
2019-04-18 05:47:19 -07:00
..
alloc.c profile counts are now maintained even for code that has been 2019-01-17 09:43:18 -08:00
arm32le.c changed copyright year to 2017 2017-04-06 11:41:33 -04:00
compress-io.c compress-level parameter, improvement in lz4 compression, and various other related improvements 2019-04-18 05:47:19 -07:00
compress-io.h compress-level parameter, improvement in lz4 compression, and various other related improvements 2019-04-18 05:47:19 -07:00
cs.ico initial upload of open-source release 2016-04-26 10:04:54 -04:00
expeditor.c Add LZ4 support and use it by default for compressing files 2019-04-06 07:32:37 +02:00
externs.h compress-level parameter, improvement in lz4 compression, and various other related improvements 2019-04-18 05:47:19 -07:00
fasl.c compress-level parameter, improvement in lz4 compression, and various other related improvements 2019-04-18 05:47:19 -07:00
flushcache.c changed copyright year to 2017 2017-04-06 11:41:33 -04:00
foreign.c Improved Unicode support for command-line arguments, environment variables, the C interface and error messages, and the Windows registry, DLL loading, and process creation 2018-06-14 14:24:15 -04:00
gc-ocd.c changed copyright year to 2017 2017-04-06 11:41:33 -04:00
gc-oce.c changed copyright year to 2017 2017-04-06 11:41:33 -04:00
gc.c compress-level parameter, improvement in lz4 compression, and various other related improvements 2019-04-18 05:47:19 -07:00
gcwrapper.c check_dirty_ephemeron now puts ephemerons whose keys haven't yet 2017-05-29 20:21:01 -04:00
globals.h profile counts are now maintained even for code that has been 2019-01-17 09:43:18 -08:00
i3le.c changed copyright year to 2017 2017-04-06 11:41:33 -04:00
intern.c changed copyright year to 2017 2017-04-06 11:41:33 -04:00
io.c Improved Unicode support for command-line arguments, environment variables, the C interface and error messages, and the Windows registry, DLL loading, and process creation 2018-06-14 14:24:15 -04:00
itest.c changed copyright year to 2017 2017-04-06 11:41:33 -04:00
main.c Improved Unicode support for command-line arguments, environment variables, the C interface and error messages, and the Windows registry, DLL loading, and process creation 2018-06-14 14:24:15 -04:00
Makefile.a6nt Add LZ4 support and use it by default for compressing files 2019-04-06 07:32:37 +02:00
Makefile.i3nt Add LZ4 support and use it by default for compressing files 2019-04-06 07:32:37 +02:00
Makefile.ta6nt Add LZ4 support and use it by default for compressing files 2019-04-06 07:32:37 +02:00
Makefile.ti3nt Add LZ4 support and use it by default for compressing files 2019-04-06 07:32:37 +02:00
Mf-a6fb Add LZ4 support and use it by default for compressing files 2019-04-06 07:32:37 +02:00
Mf-a6le Add LZ4 support and use it by default for compressing files 2019-04-06 07:32:37 +02:00
Mf-a6nb Add LZ4 support and use it by default for compressing files 2019-04-06 07:32:37 +02:00
Mf-a6nt add PDB files for Windows 2018-09-07 16:56:33 -04:00
Mf-a6ob Add LZ4 support and use it by default for compressing files 2019-04-06 07:32:37 +02:00
Mf-a6osx Add LZ4 support and use it by default for compressing files 2019-04-06 07:32:37 +02:00
Mf-a6s2 Add LZ4 support and use it by default for compressing files 2019-04-06 07:32:37 +02:00
Mf-arm32le Add LZ4 support and use it by default for compressing files 2019-04-06 07:32:37 +02:00
Mf-base Add LZ4 support and use it by default for compressing files 2019-04-06 07:32:37 +02:00
Mf-i3fb Add LZ4 support and use it by default for compressing files 2019-04-06 07:32:37 +02:00
Mf-i3le Add LZ4 support and use it by default for compressing files 2019-04-06 07:32:37 +02:00
Mf-i3nb Add LZ4 support and use it by default for compressing files 2019-04-06 07:32:37 +02:00
Mf-i3nt add PDB files for Windows 2018-09-07 16:56:33 -04:00
Mf-i3ob Add LZ4 support and use it by default for compressing files 2019-04-06 07:32:37 +02:00
Mf-i3osx Add LZ4 support and use it by default for compressing files 2019-04-06 07:32:37 +02:00
Mf-i3qnx Add LZ4 support and use it by default for compressing files 2019-04-06 07:32:37 +02:00
Mf-i3s2 Add LZ4 support and use it by default for compressing files 2019-04-06 07:32:37 +02:00
Mf-ppc32le Add LZ4 support and use it by default for compressing files 2019-04-06 07:32:37 +02:00
Mf-ta6fb Add LZ4 support and use it by default for compressing files 2019-04-06 07:32:37 +02:00
Mf-ta6le Add LZ4 support and use it by default for compressing files 2019-04-06 07:32:37 +02:00
Mf-ta6nb Add LZ4 support and use it by default for compressing files 2019-04-06 07:32:37 +02:00
Mf-ta6nt add PDB files for Windows 2018-09-07 16:56:33 -04:00
Mf-ta6ob Add LZ4 support and use it by default for compressing files 2019-04-06 07:32:37 +02:00
Mf-ta6osx Add LZ4 support and use it by default for compressing files 2019-04-06 07:32:37 +02:00
Mf-ta6s2 Add LZ4 support and use it by default for compressing files 2019-04-06 07:32:37 +02:00
Mf-ti3fb Add LZ4 support and use it by default for compressing files 2019-04-06 07:32:37 +02:00
Mf-ti3le Add LZ4 support and use it by default for compressing files 2019-04-06 07:32:37 +02:00
Mf-ti3nb Add LZ4 support and use it by default for compressing files 2019-04-06 07:32:37 +02:00
Mf-ti3nt add PDB files for Windows 2018-09-07 16:56:33 -04:00
Mf-ti3ob Add LZ4 support and use it by default for compressing files 2019-04-06 07:32:37 +02:00
Mf-ti3osx Add LZ4 support and use it by default for compressing files 2019-04-06 07:32:37 +02:00
Mf-ti3s2 Add LZ4 support and use it by default for compressing files 2019-04-06 07:32:37 +02:00
Mf-tppc32le Add LZ4 support and use it by default for compressing files 2019-04-06 07:32:37 +02:00
new-io.c compress-level parameter, improvement in lz4 compression, and various other related improvements 2019-04-18 05:47:19 -07:00
number.c changed copyright year to 2017 2017-04-06 11:41:33 -04:00
ppc32.c changed copyright year to 2017 2017-04-06 11:41:33 -04:00
ppc32le.c changed copyright year to 2017 2017-04-06 11:41:33 -04:00
prim.c profile counts are now maintained even for code that has been 2019-01-17 09:43:18 -08:00
prim5.c profile counts are now maintained even for code that has been 2019-01-17 09:43:18 -08:00
print.c changed copyright year to 2017 2017-04-06 11:41:33 -04:00
scheme.c compress-level parameter, improvement in lz4 compression, and various other related improvements 2019-04-18 05:47:19 -07:00
scheme.exe.manifest - Cygwin is now used on Windows, updated mats, eliminated unused killme 2016-06-10 10:07:07 -04:00
scheme.rc Now opening 9.5.3 release. Intent is to formally release 9.5.2 2019-03-21 15:07:39 -07:00
schlib.c Avoid an occasional invalid memory violation on Windows in S_call_help 2018-06-15 16:42:09 -04:00
schsig.c Improved Unicode support for command-line arguments, environment variables, the C interface and error messages, and the Windows registry, DLL loading, and process creation 2018-06-14 14:24:15 -04:00
segment.c Minor tweak 2018-12-05 15:30:40 -08:00
segment.h changed copyright year to 2017 2017-04-06 11:41:33 -04:00
sort.h changed copyright year to 2017 2017-04-06 11:41:33 -04:00
statics.c changed copyright year to 2017 2017-04-06 11:41:33 -04:00
stats.c use uuid_generate on unix-like systems for S_unique_id 2018-09-19 10:19:03 -04:00
symbol.c changed copyright year to 2017 2017-04-06 11:41:33 -04:00
system.h compress-level parameter, improvement in lz4 compression, and various other related improvements 2019-04-18 05:47:19 -07:00
thread.c compress-level parameter, improvement in lz4 compression, and various other related improvements 2019-04-18 05:47:19 -07:00
thread.h changed copyright year to 2017 2017-04-06 11:41:33 -04:00
types.h attempted partial fix for github issue 352 2018-10-05 09:03:30 -07:00
version.h add an option --disable-x11 2018-07-01 20:13:18 +08:00
vs.bat fix c/vs.bat to work on 32-bit Windows 2018-01-03 10:06:17 -05:00
windows.c update Windows spin-loop count for deleting files and directories 2019-03-26 14:16:54 -04:00