wingo pushed a change to branch wip-tailify in repository guile. discard d58e279 Allow primcalls with multiple defs discard 525a69a More tailify bugsquashing discard 9b3424a Fix tailify bugs discard d4bec05 Add ,optimize-cps REPL meta-command discard 022e42d Hotfix to unify (x ...) patterns in match discard 8177f2e Add CPS pretty-printer discard 51b36c6 Add tailify pass discard 26ccc61 Add new $calli expression type. discard a07dba9 Add indirect-tail-call VM instruction discard 54c52e8 Allow unchecked functions to have unboxed arguments discard 90f18e4 Move live variable computation routines to utils and graphs. discard 7bd630f Add frame-local-ref / frame-local-set! support for type 'ptr add d79a226 Fix crash on #nil in syntaxes add c78c130 ice-9/read: Parse #{}}# properly. add bc7bd22 Merge libguile/generalized-arrays.* into libguile/arrays.* add 81f12bf Deprecate using vector->list, vector-copy on arrays add bfda8d3 Deprecate use of vector-move-left! and vector-move-right! on non-vector arrays add a34c762 Extend core vector-copy to r7rs vector-copy add 091f506 Reuse core vector-fill! in (scheme base) add 5df5555 Add function vector-copy! to core add b4a80f4 Update gnulib to 8f4538a53d64054ae2fc8b86c0f87c418c6176e6 add c2cf685 Remove the 'simple vector' concept add c606013 Deprecate scm_from_contiguous_typed_array add 3df3ba1 Remove array contp flag add 926f70f Refactor srfi-4 declarations add 9a62f7c Extend bytevector-fill! to handle a partial fill add 1f100a4 foreign-library: fix darwin detection add af741e5 Fix typo in srfi-69 doc add 96e3686 Revert shift of ndim in array tag from 3df3ba1a2c956bba122328e1fc4be614171a4f42 add 5a389ca (system repl command) autoloads the compiler, disassembler, and profiler. add e304773 srfi-1: 'find-tail' passes 'check-arg' the right procedure name. add 1364179 doc: Fix wrong @uref argument order. add 330c6ea Fix 'ash' primcall match clause in baseline compiler. add 74abae0 Baseline compiler no longer swaps rsh/lsh when transforming ash calls. add d4d4336 Hotfix to unify (x ...) patterns in match add 745b67c Add frame-local-ref / frame-local-set! support for type 'ptr add 8fab68f Move live variable computation routines to utils and graphs. add c8c35c6 Allow unchecked functions to have unboxed arguments add 426867a Add CPS pretty-printer add c803566 Add ,optimize-cps REPL meta-command add c9c16db Allow primcalls with multiple defs new b74f992 Add indirect-tail-call VM instruction new 2d6ad9d Add new $calli expression type. new fa532a6 Add tailify pass
This update added new revisions after undoing existing revisions. That is to say, some revisions that were in the old version of the branch are not in the new version. This situation occurs when a user --force pushes a change and generates a repository containing something like this: * -- * -- B -- O -- O -- O (d58e279) \ N -- N -- N refs/heads/wip-tailify (fa532a6) You should already have received notification emails for all of the O revisions, and so the following emails describe only the N revisions from the common base, B. Any revisions marked "omit" are not gone; other references still refer to them. Any revisions marked "discard" are gone forever. The 3 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: build-aux/announce-gen | 49 +- build-aux/gendocs.sh | 6 +- build-aux/git-version-gen | 8 +- build-aux/gnupload | 17 +- build-aux/useless-if-before-free | 18 +- doc/ref/api-data.texi | 136 ++-- doc/ref/srfi-modules.texi | 8 +- doc/ref/sxml.texi | 4 +- lib/Makefile.am | 986 ++++++++++++++------------- lib/_Noreturn.h | 2 +- lib/accept.c | 10 +- lib/accept4.c | 14 +- lib/alignof.h | 12 +- lib/alloca.c | 4 +- lib/alloca.in.h | 20 +- lib/arpa_inet.in.h | 12 +- lib/asnprintf.c | 14 +- lib/assure.h | 10 +- lib/attribute.h | 16 +- lib/basename-lgpl.c | 10 +- lib/basename-lgpl.h | 26 +- lib/binary-io.c | 10 +- lib/binary-io.h | 10 +- lib/bind.c | 10 +- lib/btowc.c | 10 +- lib/byteswap.in.h | 10 +- lib/c-ctype.c | 18 + lib/c-ctype.h | 24 +- lib/c-strcase.h | 12 +- lib/c-strcasecmp.c | 12 +- lib/c-strcaseeq.h | 14 +- lib/c-strncasecmp.c | 12 +- lib/canonicalize-lgpl.c | 3 +- lib/cdefs.h | 43 +- lib/ceil.c | 10 +- lib/cloexec.c | 14 +- lib/cloexec.h | 14 +- lib/close.c | 10 +- lib/connect.c | 10 +- lib/copysign.c | 10 +- lib/dirent.in.h | 111 +-- lib/dirfd.c | 10 +- lib/dirname-lgpl.c | 10 +- lib/dirname.h | 39 +- lib/dup2.c | 10 +- lib/duplocale.c | 10 +- lib/dynarray.h | 20 +- lib/errno.in.h | 12 +- lib/fcntl.c | 10 +- lib/fcntl.in.h | 10 +- lib/fd-hook.c | 14 +- lib/fd-hook.h | 14 +- lib/float+.h | 12 +- lib/float.c | 10 +- lib/float.in.h | 10 +- lib/floor.c | 10 +- lib/free.c | 10 +- lib/frexp.c | 10 +- lib/fstat.c | 10 +- lib/fsync.c | 14 +- lib/full-read.c | 10 +- lib/full-read.h | 10 +- lib/full-write.c | 10 +- lib/full-write.h | 10 +- lib/gai_strerror.c | 12 +- lib/getaddrinfo.c | 12 +- lib/getdtablesize.c | 10 +- lib/getlogin.c | 10 +- lib/getpeername.c | 10 +- lib/getrandom.c | 16 +- lib/getsockname.c | 10 +- lib/getsockopt.c | 10 +- lib/gettext.h | 14 +- lib/hard-locale.c | 10 +- lib/hard-locale.h | 10 +- lib/iconv.c | 14 +- lib/iconv.in.h | 12 +- lib/iconv_close.c | 14 +- lib/iconv_open-aix.gperf | 14 +- lib/iconv_open-hpux.gperf | 14 +- lib/iconv_open-irix.gperf | 14 +- lib/iconv_open-osf.gperf | 14 +- lib/iconv_open-solaris.gperf | 14 +- lib/iconv_open-zos.gperf | 14 +- lib/iconv_open.c | 14 +- lib/iconveh.h | 10 +- lib/inet_ntop.c | 12 +- lib/inet_pton.c | 10 +- lib/inttypes.in.h | 10 +- lib/isfinite.c | 14 +- lib/isinf.c | 14 +- lib/isnan.c | 10 +- lib/isnand-nolibm.h | 10 +- lib/isnand.c | 10 +- lib/isnanf-nolibm.h | 10 +- lib/isnanf.c | 10 +- lib/isnanl-nolibm.h | 10 +- lib/isnanl.c | 10 +- lib/itold.c | 10 +- lib/langinfo.in.h | 12 +- lib/lc-charset-dispatch.c | 10 +- lib/lc-charset-dispatch.h | 10 +- lib/libc-config.h | 20 +- lib/libunistring.valgrind | 22 +- lib/limits.in.h | 28 +- lib/link.c | 12 +- lib/listen.c | 10 +- lib/localcharset.c | 14 +- lib/localcharset.h | 14 +- lib/locale.in.h | 10 +- lib/localeconv.c | 10 +- lib/log.c | 10 +- lib/log1p.c | 10 +- lib/lstat.c | 10 +- lib/malloc.c | 47 +- lib/malloc/dynarray_at_failure.c | 3 +- lib/malloca.c | 36 +- lib/malloca.h | 36 +- lib/math.c | 18 + lib/math.in.h | 10 +- lib/mbrtowc-impl-utf8.h | 10 +- lib/mbrtowc-impl.h | 10 +- lib/mbrtowc.c | 10 +- lib/mbsinit.c | 10 +- lib/mbtowc-impl.h | 10 +- lib/mbtowc-lock.c | 10 +- lib/mbtowc-lock.h | 10 +- lib/mbtowc.c | 10 +- lib/memchr.c | 24 +- lib/memchr.valgrind | 10 +- lib/mempcpy.c | 12 +- lib/minmax.h | 12 +- lib/mkdir.c | 10 +- lib/mkostemp.c | 10 +- lib/msvc-inval.c | 14 +- lib/msvc-inval.h | 14 +- lib/msvc-nothrow.c | 14 +- lib/msvc-nothrow.h | 14 +- lib/netdb.in.h | 12 +- lib/netinet_in.in.h | 12 +- lib/nl_langinfo-lock.c | 10 +- lib/nl_langinfo.c | 10 +- lib/nproc.c | 12 +- lib/nproc.h | 12 +- lib/nstrftime.c | 19 +- lib/open.c | 10 +- lib/pathmax.h | 12 +- lib/pipe.c | 14 +- lib/pipe2.c | 14 +- lib/poll.c | 14 +- lib/poll.in.h | 14 +- lib/printf-args.c | 14 +- lib/printf-args.h | 14 +- lib/printf-parse.c | 25 +- lib/printf-parse.h | 14 +- lib/putenv.c | 10 +- lib/raise.c | 10 +- lib/rawmemchr.c | 10 +- lib/rawmemchr.valgrind | 10 +- lib/read.c | 10 +- lib/readlink.c | 10 +- lib/realloc.c | 68 +- lib/recv.c | 10 +- lib/recvfrom.c | 10 +- lib/regex_internal.c | 9 +- lib/regexec.c | 12 +- lib/rename.c | 10 +- lib/rmdir.c | 10 +- lib/round.c | 14 +- lib/safe-read.c | 10 +- lib/safe-read.h | 10 +- lib/safe-write.c | 10 +- lib/safe-write.h | 10 +- lib/same-inode.h | 10 +- lib/scratch_buffer.h | 20 +- lib/select.c | 23 +- lib/send.c | 10 +- lib/sendto.c | 10 +- lib/setenv.c | 10 +- lib/setlocale-lock.c | 10 +- lib/setlocale_null.c | 10 +- lib/setlocale_null.h | 10 +- lib/setsockopt.c | 10 +- lib/shutdown.c | 10 +- lib/signal.in.h | 10 +- lib/signbitd.c | 10 +- lib/signbitf.c | 10 +- lib/signbitl.c | 10 +- lib/size_max.h | 12 +- lib/snprintf.c | 14 +- lib/socket.c | 10 +- lib/sockets.c | 10 +- lib/sockets.h | 10 +- lib/stat-time.c | 18 + lib/stat-time.h | 10 +- lib/stat-w32.c | 10 +- lib/stat-w32.h | 10 +- lib/stat.c | 10 +- lib/stdalign.in.h | 12 +- lib/stdbool.in.h | 12 +- lib/stddef.in.h | 12 +- lib/stdint.in.h | 16 +- lib/stdio.in.h | 126 +++- lib/stdlib.in.h | 185 +++-- lib/strdup.c | 14 +- lib/streq.h | 14 +- lib/strftime.h | 10 +- lib/striconveh.c | 10 +- lib/striconveh.h | 18 +- lib/string.in.h | 68 +- lib/stripslash.c | 10 +- lib/sys-limits.h | 12 +- lib/sys_file.in.h | 12 +- lib/sys_random.in.h | 12 +- lib/sys_select.in.h | 12 +- lib/sys_socket.c | 18 + lib/sys_socket.in.h | 12 +- lib/sys_stat.in.h | 12 +- lib/sys_time.in.h | 12 +- lib/sys_times.in.h | 12 +- lib/sys_types.in.h | 12 +- lib/sys_uio.in.h | 12 +- lib/tempname.h | 10 +- lib/time-internal.h | 14 +- lib/time.in.h | 12 +- lib/time_r.c | 14 +- lib/time_rz.c | 14 +- lib/times.c | 12 +- lib/trunc.c | 10 +- lib/tzset.c | 12 +- lib/unistd.c | 18 + lib/unistd.in.h | 25 +- lib/unsetenv.c | 10 +- lib/vasnprintf.c | 50 +- lib/vasnprintf.h | 14 +- lib/verify.h | 14 +- lib/vsnprintf.c | 14 +- lib/w32sock.h | 10 +- lib/wchar.in.h | 63 +- lib/wcrtomb.c | 10 +- lib/wctype-h.c | 19 + lib/wctype.in.h | 22 +- lib/windows-initguard.h | 12 +- lib/write.c | 10 +- lib/xalloc-oversized.h | 47 +- lib/xsize.c | 18 + lib/xsize.h | 12 +- libguile.h | 1 - libguile/Makefile.am | 4 - libguile/array-handle.h | 10 +- libguile/array-map.c | 3 +- libguile/arrays.c | 872 +++++++++++++++-------- libguile/arrays.h | 60 +- libguile/bytevectors.c | 42 +- libguile/deprecated.c | 76 +++ libguile/deprecated.h | 4 + libguile/eq.c | 2 +- libguile/generalized-arrays.c | 410 ----------- libguile/generalized-arrays.h | 73 -- libguile/init.c | 2 - libguile/print.h | 2 +- libguile/random.c | 1 - libguile/sort.c | 1 - libguile/srfi-4.h | 277 +------- libguile/vectors.c | 356 +++++++--- libguile/vectors.h | 13 +- m4/arpa_inet_h.m4 | 31 +- m4/dirent_h.m4 | 45 +- m4/environ.m4 | 5 +- m4/fcntl_h.m4 | 39 +- m4/flock.m4 | 4 +- m4/fstat.m4 | 4 +- m4/getaddrinfo.m4 | 10 +- m4/gnulib-common.m4 | 140 +++- m4/gnulib-comp.m4 | 140 ++-- m4/hostent.m4 | 4 +- m4/iconv_h.m4 | 27 +- m4/inttypes.m4 | 31 +- m4/langinfo_h.m4 | 25 +- m4/largefile.m4 | 28 +- m4/limits-h.m4 | 3 +- m4/locale_h.m4 | 37 +- m4/malloc.m4 | 152 +++-- m4/math_h.m4 | 227 +++--- m4/memchr.m4 | 4 +- m4/mempcpy.m4 | 4 +- m4/mktime.m4 | 4 +- m4/netdb_h.m4 | 25 +- m4/poll_h.m4 | 29 +- m4/printf.m4 | 5 +- m4/rawmemchr.m4 | 4 +- m4/realloc.m4 | 47 +- m4/regex.m4 | 44 +- m4/select.m4 | 4 +- m4/servent.m4 | 4 +- m4/signal_h.m4 | 33 +- m4/sockpfaf.m4 | 6 +- m4/stat.m4 | 4 +- m4/stddef_h.m4 | 23 +- m4/stdint.m4 | 6 +- m4/stdio_h.m4 | 168 +++-- m4/stdlib_h.m4 | 116 ++-- m4/strdup.m4 | 6 +- m4/string_h.m4 | 124 ++-- m4/sys_file_h.m4 | 29 +- m4/sys_random_h.m4 | 25 +- m4/sys_select_h.m4 | 29 +- m4/sys_socket_h.m4 | 53 +- m4/sys_stat_h.m4 | 65 +- m4/sys_time_h.m4 | 34 +- m4/sys_times_h.m4 | 25 +- m4/sys_types_h.m4 | 16 +- m4/sys_uio_h.m4 | 23 +- m4/threadlib.m4 | 64 +- m4/time_h.m4 | 62 +- m4/time_r.m4 | 2 +- m4/time_rz.m4 | 2 +- m4/timegm.m4 | 4 +- m4/tzset.m4 | 4 +- m4/unistd_h.m4 | 194 +++--- m4/visibility.m4 | 6 +- m4/wchar_h.m4 | 109 +-- m4/wctype_h.m4 | 39 +- m4/wint_t.m4 | 10 +- m4/year2038.m4 | 124 ++++ maint.mk | 3 +- module/ice-9/match.upstream.scm | 63 +- module/ice-9/psyntax.scm | 1 + module/ice-9/read.scm | 7 +- module/language/tree-il/compile-bytecode.scm | 6 +- module/scheme/base.scm | 49 +- module/srfi/srfi-1.scm | 4 +- module/srfi/srfi-43.scm | 43 +- module/system/foreign-library.scm | 2 +- module/system/repl/command.scm | 8 +- module/system/vm/assembler.scm | 5 +- test-suite/tests/arrays.test | 2 +- test-suite/tests/bytevectors.test | 14 + test-suite/tests/match.test.upstream | 16 + test-suite/tests/numbers.test | 13 +- test-suite/tests/reader.test | 5 + test-suite/tests/syntax.test | 10 + test-suite/tests/vectors.test | 11 +- 343 files changed, 5526 insertions(+), 4361 deletions(-) delete mode 100644 libguile/generalized-arrays.c delete mode 100644 libguile/generalized-arrays.h create mode 100644 m4/year2038.m4