racket/csug
Matthew Flatt f78dc5724e add pb (portable bytecode) backend
This commit does four things:

 * Adds "pb.ss" and "pb.c", which implement a portable bytecode
   backend and interpreter that is intended for bootstrapping. A
   single set of pb bootfiles can support bootstrapping on all
   platforms --- as long as the C compiler supports a 64-bit integer
   type. The pb machine supports foreign calls for only a small set of
   recognized prototypes, and it does not support foriegn callables.
   Use `./configure --pb` to build the pb variant.

 * Changes the kernel's casts between `ptr` and `void*` types. In a pb
   build, the `ptr` type can be a 64-bit integer type while `void*` is
   a 32-bit pointer type, so casts must go through an intermediate
   integer type.

 * Adjusts the compiler to accomodate run-time-determined endianness.
   Making the compiler agnostic to word size is not practical, but
   only a few pieces depend on the target machine's endianness, and
   those can generally be deferred to a run-time choice of byte-based
   operations. The one exception is that ftype bit fields are not
   allowed unless accompanied by an explicit endianness declaration.

 * Start reducing duplication among platform-specific makefiles. For
   example, `Mf-ta6osx` chains to `Mf-a6osx` to avoid repeating most
   of it. A lot more can be done here.

original commit: 97533fa9d8b8400b0dc1a890768c7d30c91257e0
2020-07-24 13:13:46 -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 pb (portable bytecode) backend 2020-07-24 13:13:46 -06:00
intro.stex support for internal fasl compression to allow seeking past compile-time info at run time and run-time info at compile time 2020-03-04 16:53:35 -05:00
io.stex add option to omit RTD descriptions in fasl output 2020-07-14 20:22:59 -06: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 add list-assuming-immutable? 2020-04-25 15:33:56 -06: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 GC marking (non-copying) mode 2020-04-22 07:10:02 -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 add "externals" fasl support, allow non-strings in sfd 2020-07-14 20:22:59 -06:00
system.stex add option to omit RTD descriptions in fasl output 2020-07-14 20:22:59 -06:00
threads.stex add memory-order-acquire and memory-order-release 2020-07-11 10:02:32 -06: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 support for internal fasl compression to allow seeking past compile-time info at run time and run-time info at compile time 2020-03-04 16:53:35 -05:00