racket/csug
Matthew Flatt afebbdd6a9 convert GC to "mkgc.ss" implementation
Replace repetitive C code in "gc.c" and "vfasl.c" with an
implementation using a little "Parenthe-C" language, which is a
somewhat declarative description of object tracing. From that
descrition, we generate different kinds of tracing functions, such as
the copy function or the sweep function.

The little language is still bascially C, just with parentheses and
parameterization that is much better than trying to use the C
preprocessor. (The "mkgc.ss" file includes the compiler from
Parenthe-C to C.)

Besides replacing existing code, we also generate a new traversal to
implement `compute-object-sizes`. Finally, the GC can now perform a
fused `collect` and `compute-object-sizes` in a single traversal.

Also improve the way that locked objects are detected during GC. This
can make a significant difference (on the order of 10-20% for a full
collection) when locked objects are long-lived.

original commit: de1f5c41d729ac75822a1f1e633ec6d042c883dc
2020-04-04 10:21:16 -06:00
..
canned avoid symbolic link in repo checkout 2020-01-23 17:58:15 -07:00
gifs initial upload of open-source release 2016-04-26 10:04:54 -04:00
math initial upload of open-source release 2016-04-26 10:04:54 -04:00
tspl4 enable hyperlinks in CSUG 2019-11-26 07:09:52 -07:00
bibliography.stex changed copyright year to 2017 2017-04-06 11:41:33 -04:00
binding.stex Fixes typos pointed out in #353 2018-10-05 15:01:36 -05:00
compat.stex fix duplicate words 2018-05-22 16:09:14 -04:00
contents.stex changed copyright year to 2017 2017-04-06 11:41:33 -04:00
control.stex add call-in-continuation 2020-03-12 04:48:39 -06:00
copyright.stex Now opening 9.5.3 release. Intent is to formally release 9.5.2 2019-03-21 15:07:39 -07:00
csug.bib fix duplicate words 2018-05-22 16:09:14 -04:00
csug.css initial upload of open-source release 2016-04-26 10:04:54 -04:00
csug.stex enable hyperlinks in CSUG 2019-11-26 07:09:52 -07:00
csug8.cls initial upload of open-source release 2016-04-26 10:04:54 -04:00
csug8.hcls initial upload of open-source release 2016-04-26 10:04:54 -04:00
csug810.clo initial upload of open-source release 2016-04-26 10:04:54 -04:00
debug.stex add compute-size-increments 2019-01-05 09:49:12 -07:00
docond.ss initial upload of open-source release 2016-04-26 10:04:54 -04:00
expeditor.stex fix duplicate words 2018-05-22 16:09:14 -04:00
foreign.stex add load-compiled-from-port and Sregister_boot_file_fd 2018-07-15 20:44:34 -06:00
intro.stex fix duplicate words 2018-05-22 16:09:14 -04:00
io.stex library-manager, numeric, and bytevector-compres improvements 2020-02-21 13:48:47 -08:00
libraries.stex library-manager, numeric, and bytevector-compres improvements 2020-02-21 13:48:47 -08:00
myfile.ss initial upload of open-source release 2016-04-26 10:04:54 -04:00
numeric.stex implement fxbit-count using fxpopcount 2020-01-11 11:21:42 -07:00
objects.stex Merge github.com:cisco/ChezScheme 2020-02-22 15:18:47 -07:00
oop.stex changed copyright year to 2017 2017-04-06 11:41:33 -04:00
preface.stex Added some adapted charter and contributing text to the user's giude 2018-02-01 00:13:58 -05:00
priminfo.ss changed copyright year to 2017 2017-04-06 11:41:33 -04:00
scheme.hsty initial upload of open-source release 2016-04-26 10:04:54 -04:00
scheme.sty no longer using replacements for \tt underscore, tilde, at-sign, dots, 2017-10-12 23:48:32 -04:00
setup.ss initial upload of open-source release 2016-04-26 10:04:54 -04:00
smgmt.stex convert GC to "mkgc.ss" implementation 2020-04-04 10:21:16 -06:00
summary.ss initial upload of open-source release 2016-04-26 10:04:54 -04:00
summary.stex changed copyright year to 2017 2017-04-06 11:41:33 -04:00
syntax.stex Various enhancements and fixes highlighted by profiling performance 2019-09-21 15:37:29 -07:00
system.stex Merge github.com:cisco/ChezScheme 2020-02-22 15:18:47 -07:00
threads.stex Merge github.com:cisco/ChezScheme 2020-02-22 15:18:47 -07:00
title.stex enable hyperlinks in CSUG 2019-11-26 07:09:52 -07:00
tspl.bst initial upload of open-source release 2016-04-26 10:04:54 -04:00
tspl4-prep.stex initial upload of open-source release 2016-04-26 10:04:54 -04:00
use.stex Add concatenate-object-files procedure. 2020-02-18 14:51:38 -05:00