racket/c
dybvig 48db0a9405 various library-manager improvements including the ability to verify
loadability without actually loading; also, support for unregistering
guarded objects.
- improved error reporting for library compilation-instance errors:
  now including the name of the object file from which the "wrong"
  compilation instance was loaded, if it was loaded from (or compiled
  to) an object file and the original importing library, if it was
  previously loaded from an object file due to a library import.
    syntax.ss, 7.ss, interpret.ss,
    8.ms, root-experr*
- removed situation and for-input? arguments from $make-load-binary,
  since the only consumer always passes 'load and #f.
    7.ss,
    scheme.c
- $separate-eval now prints the stderr and stdout of the subprocess
  to help in diagnosing separate-eval and separate-compile issues.
    mat.ss
- added unregister-guardian, which can be used to unregister
  the unressurected objects registered with any guardian.  guardian?
  can be used to distinguish guardian procedures from other objects.
    cp0.ss, cmacros.ss, cpnanopass.ss, ftype.ss, primdata.ss,
    prims.ss,
    gcwrapper.c, prim.c, externs.h,
    4.ms, primvars.ms
    release_notes.stex
    smgmt.stex, threads.stex
- added verify-loadability.  given a situation (visit, revisit,
  or load) and zero or more pathnames (each of which may be optionally
  paired with a library search path), verity-loadability checks
  whether the set of object files named by those pathnames and any
  additional object files required by library requirements in the
  given situation can be loaded together.  it raises an exception
  in each case where actually attempting to load the files would
  raise an exception and additionally in cases where loading files
  would result in the compilation or loading of source files in
  place of the object files.  if the check is successful,
  verity-loadability returns an unspecified value.  in either case,
  although portions of the object files are read, none of the
  information read from the object files is retained, and none of
  the object code is read, so there are no side effects other than
  the file operations and possibly the raising of an exception.
  library and program info records are now moved to the top of each
  object file produced by one of the file compilation routines,
  just after recompile info, with a marker to allow verity-loadability
  to stop reading once it reads all such records.  this change is
  not entirely backward compatible; the repositioning of the records
  can be detected by a call to list-library made from a loaded file
  before the definition of one or more libraries.  it is fully
  backward compatible for typical library files that contain a
  single library definition and nothing else.  adding this feature
  required changes to the object-file format and corresponding
  changes in the compiler and library manager.  it also required
  moving cross-library optimization information from library/ct-info
  records (which verity-loadability must read) to the invoke-code
  for each library (which verity-loadability  does not read) to
  avoid reading and permanently associating record-type descriptors
  in the code with their uids.
    compile.ss, syntax.ss, expand-lang.ss, primdata.ss, 7.ss,
    7.ms, misc.ms, root-experr*, patch*,
    system.stex, release_notes.stex
- fixed a bug that bit only with the compiler compiled at
  optimize-level 2: add-library/rt-records was building a library/ct-info
  wrapper rather than a library/rt-info wrapper.
    compile.ss
- fixed a bug in visit-library that could result in an indefinite
  recursion: it was not checking to make sure the call to $visit
  actually added compile-time info to the libdesc record.  it's not
  clear, however, whether the libdesc record can be missing
  compile-time information on entry to visit-library, so the code
  that calls $visit (and now checks for compile-time information
  having been added) might not be reachable.  ditto for
  revisit-library.
    syntax.ss
    syntax.ss, primdata.ss,
    7.ms, root-experr*, patch*,
    system.stex, release_notes.stex
- added some argument-error checks for library-directories and
  library-extensions, and fixed up the error messages a bit.
    syntax.ss,
    7.ms, root-experr*
- compile-whole-program now inserts the program record into the
  object file for the benefit of verify-loadability.
    syntax.ss,
    7.ms, root-experr*
- changed 'loading' import-notify messages to the more precise
  'visiting' or 'revisiting' in a couple of places.
    syntax.ss,
    7.ms, 8.ms

original commit: b911ed47190727b0e1d6a88c0e473d1757accdcd
2020-01-23 10:43:17 -08:00
..
alloc.c Various enhancements and fixes highlighted by profiling performance 2019-09-21 15:37:29 -07:00
arm32le.c changed copyright year to 2017 2017-04-06 11:41:33 -04:00
build.bat adjust build for BSDs, MinGW cross-compile, and more configuration 2019-07-06 13:16:57 -06:00
compress-io.c Various enhancements and fixes highlighted by profiling performance 2019-09-21 15:37:29 -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 fix ee_read_char to handle ^@ properly 2019-07-25 14:48:38 -04:00
externs.h various library-manager improvements including the ability to verify 2020-01-23 10:43:17 -08:00
fasl.c fix warning in fasl.c 2019-11-05 14:21:14 -05: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 fix typo 2019-10-26 17:30:53 -04:00
gcwrapper.c various library-manager improvements including the ability to verify 2020-01-23 10:43:17 -08:00
globals.h Various enhancements and fixes highlighted by profiling performance 2019-09-21 15:37:29 -07: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 adjust build for BSDs, MinGW cross-compile, and more configuration 2019-07-06 13:16:57 -06: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 adjust build for BSDs, MinGW cross-compile, and more configuration 2019-07-06 13:16:57 -06:00
Mf-a6le adjust build for BSDs, MinGW cross-compile, and more configuration 2019-07-06 13:16:57 -06:00
Mf-a6nb adjust build for BSDs, MinGW cross-compile, and more configuration 2019-07-06 13:16:57 -06:00
Mf-a6nt fixed tab character in makefiles 2019-08-15 10:19:58 -04:00
Mf-a6ob adjust build for BSDs, MinGW cross-compile, and more configuration 2019-07-06 13:16:57 -06:00
Mf-a6osx adjust build for BSDs, MinGW cross-compile, and more configuration 2019-07-06 13:16:57 -06:00
Mf-a6s2 adjust build for BSDs, MinGW cross-compile, and more configuration 2019-07-06 13:16:57 -06:00
Mf-arm32le adjust build for BSDs, MinGW cross-compile, and more configuration 2019-07-06 13:16:57 -06:00
Mf-base adjust build for BSDs, MinGW cross-compile, and more configuration 2019-07-06 13:16:57 -06:00
Mf-i3fb adjust build for BSDs, MinGW cross-compile, and more configuration 2019-07-06 13:16:57 -06:00
Mf-i3le adjust build for BSDs, MinGW cross-compile, and more configuration 2019-07-06 13:16:57 -06:00
Mf-i3nb adjust build for BSDs, MinGW cross-compile, and more configuration 2019-07-06 13:16:57 -06:00
Mf-i3nt fixed tab character in makefiles 2019-08-15 10:19:58 -04:00
Mf-i3ob adjust build for BSDs, MinGW cross-compile, and more configuration 2019-07-06 13:16:57 -06:00
Mf-i3osx adjust build for BSDs, MinGW cross-compile, and more configuration 2019-07-06 13:16:57 -06:00
Mf-i3qnx adjust build for BSDs, MinGW cross-compile, and more configuration 2019-07-06 13:16:57 -06:00
Mf-i3s2 adjust build for BSDs, MinGW cross-compile, and more configuration 2019-07-06 13:16:57 -06:00
Mf-ppc32le adjust build for BSDs, MinGW cross-compile, and more configuration 2019-07-06 13:16:57 -06:00
Mf-ta6fb adjust build for BSDs, MinGW cross-compile, and more configuration 2019-07-06 13:16:57 -06:00
Mf-ta6le adjust build for BSDs, MinGW cross-compile, and more configuration 2019-07-06 13:16:57 -06:00
Mf-ta6nb adjust build for BSDs, MinGW cross-compile, and more configuration 2019-07-06 13:16:57 -06:00
Mf-ta6nt fixed tab character in makefiles 2019-08-15 10:19:58 -04:00
Mf-ta6ob adjust build for BSDs, MinGW cross-compile, and more configuration 2019-07-06 13:16:57 -06:00
Mf-ta6osx adjust build for BSDs, MinGW cross-compile, and more configuration 2019-07-06 13:16:57 -06:00
Mf-ta6s2 adjust build for BSDs, MinGW cross-compile, and more configuration 2019-07-06 13:16:57 -06:00
Mf-ti3fb adjust build for BSDs, MinGW cross-compile, and more configuration 2019-07-06 13:16:57 -06:00
Mf-ti3le adjust build for BSDs, MinGW cross-compile, and more configuration 2019-07-06 13:16:57 -06:00
Mf-ti3nb adjust build for BSDs, MinGW cross-compile, and more configuration 2019-07-06 13:16:57 -06:00
Mf-ti3nt fixed tab character in makefiles 2019-08-15 10:19:58 -04:00
Mf-ti3ob adjust build for BSDs, MinGW cross-compile, and more configuration 2019-07-06 13:16:57 -06:00
Mf-ti3osx adjust build for BSDs, MinGW cross-compile, and more configuration 2019-07-06 13:16:57 -06:00
Mf-ti3s2 adjust build for BSDs, MinGW cross-compile, and more configuration 2019-07-06 13:16:57 -06:00
Mf-tppc32le adjust build for BSDs, MinGW cross-compile, and more configuration 2019-07-06 13:16:57 -06:00
new-io.c Try to eliminate dead stores (#444) 2019-07-25 15:05:48 -04:00
nocurses.h adjust build for BSDs, MinGW cross-compile, and more configuration 2019-07-06 13:16:57 -06:00
number.c fix multiply of -2^30 to itself on 64-bit platforms 2019-05-02 15:19:58 -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 various library-manager improvements including the ability to verify 2020-01-23 10:43:17 -08:00
prim5.c Various enhancements and fixes highlighted by profiling performance 2019-09-21 15:37:29 -07:00
print.c changed copyright year to 2017 2017-04-06 11:41:33 -04:00
scheme.c various library-manager improvements including the ability to verify 2020-01-23 10:43:17 -08: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 adjust build for BSDs, MinGW cross-compile, and more configuration 2019-07-06 13:16:57 -06:00
segment.c Minor tweak 2018-12-05 15:30:40 -08:00
segment.h adjust build for BSDs, MinGW cross-compile, and more configuration 2019-07-06 13:16:57 -06:00
sort.h changed copyright year to 2017 2017-04-06 11:41:33 -04:00
statics.c adjust build for BSDs, MinGW cross-compile, and more configuration 2019-07-06 13:16:57 -06:00
stats.c adjust build for BSDs, MinGW cross-compile, and more configuration 2019-07-06 13:16:57 -06:00
symbol.c changed copyright year to 2017 2017-04-06 11:41:33 -04:00
system.h adjust build for BSDs, MinGW cross-compile, and more configuration 2019-07-06 13:16:57 -06:00
thread.c adjust build for BSDs, MinGW cross-compile, and more configuration 2019-07-06 13:16:57 -06:00
thread.h changed copyright year to 2017 2017-04-06 11:41:33 -04:00
types.h adjust build for BSDs, MinGW cross-compile, and more configuration 2019-07-06 13:16:57 -06:00
version.h adjust build for BSDs, MinGW cross-compile, and more configuration 2019-07-06 13:16:57 -06:00
vs.bat Added support for building chez with VS2019. (#435) 2019-06-04 16:37:57 -04:00
windows.c update Windows spin-loop count for deleting files and directories 2019-03-26 14:16:54 -04:00