wingo pushed a change to branch wip-whippet in repository guile. from c79d5bd0f Change to be less sloppy as regards functions without prototypes new fecd6c00e Pin bytevector parents new 9eb4d960c Pin struct unboxed_fields new 8b2b0d52d Remove "result" member from struct scm_thread new 8726b8789 Replace alloca hack in vm.c:invoke_hook with alignas new 985c1d16f Make dynstack interface completely internal new 2b3b843f8 Dynstack uses inline functions instead of macros new 1eedd208f Move "struct scm_ephemeron_table" to internal header new c18e93ef0 Add scm_integer_size_z to internal integers.h new 974550e33 Move "struct scm_syntax" definition to internal header new 4f25a845c Dispatch gc_trace_object to scm_trace_object new 38c22e77a Add new typed struct helpers to get size and unboxed fields new 8e6a06ca2 Name the field for string backing store new 62b23a8dc Add smob-internal.h new 30ad63113 Add bitvectors-internal.h new db1304845 Add i18n-internal.h new cce7a04e5 Add macros-internal.h new c66668a87 Move struct scm_regexp definition to internal header new 7c13e983b Add srfi-14-internal.h new 823df42d0 Move scm_cond, scm_mutex definitions to internal header new 65a265ade Add filesys-internal.h new 6a32628e1 frames, values: BUILDING_LIBGUILE-guarded defs to internal headers new a7801c750 vm: BUILDING_LIBGUILE-guarded defs to internal headers new 9de24bd42 Implement scm_trace_object new 4fe4177d7 Split inline function definitions out to separate headers new 36043468e Mark always-inline functions as maybe-unused new 86baf260c Move inline function decls to their impl headers new bb65e18d6 Merge remote-tracking branch 'whippet/main' into wip-whippet new 77a6914c3 Include new Whippet header files
The 28 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: libguile/Makefile.am | 11 +- libguile/array-handle.c | 6 +- libguile/backtrace.c | 4 +- libguile/bitvectors-internal.h | 99 ++++ libguile/bitvectors.c | 263 ++++------ libguile/bitvectors.h | 13 +- libguile/bytevectors.c | 7 +- libguile/continuations.c | 3 +- libguile/control.c | 4 +- libguile/debug.c | 2 +- libguile/dynstack.c | 110 ++-- libguile/dynstack.h | 137 +++-- libguile/dynwind.c | 25 +- libguile/dynwind.h | 8 +- libguile/ephemerons.c | 7 - libguile/ephemerons.h | 8 +- libguile/eq.c | 4 +- libguile/eval.c | 4 +- libguile/expand.c | 2 +- libguile/filesys-internal.h | 68 +++ libguile/filesys.c | 31 +- libguile/filesys.h | 6 - libguile/finalizers.c | 4 +- libguile/fports.c | 2 +- libguile/frames-internal.h | 111 ++++ libguile/frames.c | 4 +- libguile/frames.h | 89 ---- libguile/gc-internal.h | 3 + libguile/gsubr.c | 2 +- libguile/i18n-internal.h | 65 +++ libguile/i18n.c | 33 +- libguile/i18n.h | 7 - libguile/init.c | 16 +- libguile/integers.c | 6 + libguile/integers.h | 3 +- libguile/intrinsics.c | 2 +- libguile/{macros.h => macros-internal.h} | 48 +- libguile/macros.c | 35 +- libguile/macros.h | 10 - libguile/numbers.c | 2 +- libguile/print.c | 14 +- libguile/programs.c | 2 +- libguile/regex-posix.c | 30 -- libguile/regex-posix.h | 32 ++ libguile/script.c | 4 +- libguile/smob-internal.h | 98 ++++ libguile/smob.c | 43 +- libguile/smob.h | 1 + libguile/srfi-14-internal.h | 78 +++ libguile/srfi-14.c | 50 +- libguile/srfi-14.h | 5 - libguile/stacks.c | 4 +- libguile/stacks.h | 4 - libguile/strings.c | 14 +- libguile/strings.h | 2 +- libguile/struct.c | 2 + libguile/struct.h | 16 +- libguile/syntax.c | 29 -- libguile/syntax.h | 29 ++ libguile/threads-internal.h | 80 ++- libguile/threads.c | 88 +--- libguile/threads.h | 3 - libguile/throw.c | 2 +- libguile/trace.h | 688 ++++++++++++++++++++++++- libguile/{values.h => values-internal.h} | 25 +- libguile/values.c | 2 +- libguile/values.h | 37 -- libguile/{vm.h => vm-internal.h} | 27 +- libguile/vm.c | 42 +- libguile/vm.h | 124 ----- libguile/whippet-embedder.h | 15 +- libguile/whippet/api/gc-allocate.h | 142 +++++ libguile/whippet/api/gc-api.h | 250 --------- libguile/whippet/api/gc-barrier.h | 98 ++++ libguile/whippet/api/gc-safepoint.h | 46 ++ libguile/whippet/benchmarks/ephemerons.c | 1 + libguile/whippet/benchmarks/finalizers.c | 1 + libguile/whippet/benchmarks/mt-gcbench.c | 1 + libguile/whippet/benchmarks/quads.c | 1 + libguile/whippet/benchmarks/simple-allocator.h | 1 + libguile/whippet/embed.am | 3 + libguile/whippet/src/gc-internal.h | 3 + 82 files changed, 2117 insertions(+), 1284 deletions(-) create mode 100644 libguile/bitvectors-internal.h create mode 100644 libguile/filesys-internal.h create mode 100644 libguile/frames-internal.h create mode 100644 libguile/i18n-internal.h copy libguile/{macros.h => macros-internal.h} (60%) create mode 100644 libguile/smob-internal.h create mode 100644 libguile/srfi-14-internal.h copy libguile/{values.h => values-internal.h} (72%) copy libguile/{vm.h => vm-internal.h} (87%) create mode 100644 libguile/whippet/api/gc-allocate.h create mode 100644 libguile/whippet/api/gc-barrier.h create mode 100644 libguile/whippet/api/gc-safepoint.h