Age | Commit message (Collapse) | Author | Files | Lines |
|
* NEWS: Update.
|
|
* GUILE-VERSION (GUILE_MICRO_VERSION): Increment.
(LIBGUILE_INTERFACE_CURRENT): Increment.
(LIBGUILE_INTERFACE_REVISION): Reset.
(LIBGUILE_INTERFACE_AGE): Increment. This accounts for commit, which
adds a new symbol to the ABI.
|
|
This change suggested an ABI incompatibility that's not there for normal
builds:
https://lists.gnu.org/archive/html/guile-user/2020-06/msg00059.html
Reported by Chris Vine.
This reverts commit 5d052c87bd8f0fd894e67f0bebd4fa6f6160d83c.
|
|
* GUILE-VERSION (GUILE_MICRO_VERSION): Increment.
(LIBGUILE_INTERFACE_CURRENT): Increment.
(LIBGUILE_INTERFACE_REVISION, LIBGUILE_INTERFACE_AGE): Reset.
This accounts for commit b517a91ba4aaccf920a81eb8bf71ca090a9b457c and
similar, which remove C functions in '--disable-deprecated' builds.
|
|
* NEWS: Update.
|
|
* NEWS: Update.
|
|
* libguile/lightening: Merge from https://gitlab.com/wingo/lightening,
commit 24ef197b1269f8371b1f4a412caa6d2b99d66839.
|
|
This is a followup to 1bb909a44d2303f88bb05125fc6742e97f80cd1d. It
reproduces the bug that 1bb909a44d2303f88bb05125fc6742e97f80cd1d fixes
on ARMv7.
* tests/movi.c: New file.
Co-authored-by: Ludovic Courtès <ludo@gnu.org>
|
|
* tests/Makefile (CC_IA32, CC_AARCH64, CC_ARMv7): Remove 'glibc' from
the 'guix environment' command line since it's redundant with
'gcc-toolchain'.
|
|
This allows users to run "make TARGETS=armv7", for instance.
* tests/Makefile (TARGETS): Make it overridable.
|
|
* lightening/arm-cpu.c (encode_thumb_immediate): Fix return value in
third case.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
|
|
* module/ice-9/popen.scm (pipeline): Change docstring for correct
Texinfo syntax and to use commas instead of em dashes, as in the manual.
|
|
* module/ice-9/popen.scm (open-process)[unbuffered, fdes-pair]: New
procedures.
Use them. Return unbuffered ports.
* test-suite/tests/popen.test ("open-pipe*"): New test prefix.
|
|
* libguile/lightening: Merge from https://gitlab.com/wingo/lightening.
|
|
* lightening/lightening.c (jit_patch_there): Conditionally define
flags.
|
|
* libguile/lightening: Merge from https://gitlab.com/wingo/lightening.
|
|
Fix zeroing of literal pool entries
See merge request wingo/lightening!5
|
|
* lightening/lightening.c (reset_literal_pool): Zero before setting size
to 0. Thanks to Dale Smith for pointing this out!
|
|
Fix undefined behavior in ARMv7 assembler
See merge request wingo/lightening!4
|
|
* lightening/arm-cpu.c (rotate_left): Fix the case of rotating by zero,
which produced undefined behavior. Many thanks to Andrew
Gierth (andrew at tao11 riddles org uk) for the debugging and the
fix.
|
|
Fixes a bug whereby, for example, "guild compile --target=i686-linux-gnu"
running on x86_64 would generate invalid code for 'bytevector-u32-native-set!'
because 'target-most-positive-fixnum' was called from the top-level
when (language tree-il compile-cps) was loaded.
Consequently, the .go files under prebuilt/ would be invalid, leading to
build failures on 32-bit platforms.
This issue became apparent with cb8cabe85f535542ac4fcb165d89722500e42653.
* module/language/tree-il/compile-cps.scm (bytevector-ref-converter)[tag]:
Turn into a lambda so that 'target-most-positive-fixnum' is called in
the right context.
(bytevector-set-converter)[integer-unboxer]: Likewise.
|
|
Fixes <https://bugs.gnu.org/40582>.
Reported by Julien Lepiller <julien@lepiller.eu>.
Previously, a host part consisting of hex digits would be mistaken as an
IPv6 address and rejected by 'valid-host?'.
* module/web/uri.scm (ipv6-regexp): Add colon.
* test-suite/tests/web-uri.test ("string->uri")["xyz://abc/x/y/z"]: New
test.
* NEWS: Update.
|
|
* doc/ref/scheme-using.texi (Profile Commands): Mention (ice-9 time)
module path.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
|
|
* doc/ref/api-data.texi (String Constructors): Document default
delimiter of the string-join function.
* libguile/srfi-13.c (scm_string_join): Adjust docstring accordingly.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
|
|
* doc/ref/web.texi (HTTP Headers): Improve punctuation in content-range
HTTP header documentation.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
|
|
* doc/ref/web.texi (HTTP Headers): Fix minor typo.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
|
|
* module/texinfo.scm (texi-command-specs): Add 'w'.
(space-significant?): Add it.
* module/texinfo/html.scm (tag-replacements): Add 'w'.
* test-suite/tests/texinfo.test ("test-texinfo->stexinfo"): Add test.
|
|
The documentation is copied over from libguile/filesys.c. I just added
"(absolute)" to the text to help users finding it, since this term is
more common in other languages.
* doc/ref/posix.texi (File System): Document it.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
|
|
* libguile/read.c (scm_read_string_like_syntax): All characters are
permitted by law; some aren't valid in certain contexts.
* test-suite/tests/reader.test: Replace occurrences of "illegal" by
"invalid".
* test-suite/tests/strings.test: Likewise.
Co-authored-by: Ludovic Courtès <ludo@gnu.org>
|
|
* libguile/srfi-1.c (scm_srfi1_assoc): Remove.
* libguile/srfi-1.h (scm_srfi1_assoc): Likewise.
* module/srfi/srfi-1.scm (assoc): New procedure.
|
|
* libguile/srfi-1.c (scm_srfi1_find_tail): Remove.
* libguile/srfi-1.h (scm_srfi1_find_tail): Likewise.
* module/srfi/srfi-1.scm (find-tail): New procedure.
|
|
This halves the wall-clock time of:
guile -c '(use-modules (srfi srfi-1)) (define lst (make-list 100000000 1)) (find zero? lst)'
and yields an 18% speedup on:
guile -c '(use-modules (srfi srfi-1)) (define lst (make-list 100000000 1)) (find (lambda (x) (= 2 x)) lst)'
* libguile/srfi-1.c (scm_srfi1_find): Remove.
* libguile/srfi-1.h (scm_srfi1_find): Likewise.
* module/srfi/srfi-1.scm (find): New procedure.
* doc/ref/srfi-modules.texi (SRFI-1 Searching): Adjust docstring.
|
|
* NEWS: Update.
|
|
* doc/ref/api-io.texi (I/O Extensions): Remove sentence pasted from
'read' when explaining 'write' method.
|
|
* libguile/lightening: Merge gitlab.com/wingo/lightening/ from
3260f7deebf4148f7c268e9a56cdab7a221e3da5.
|
|
* module/language/cps/cse.scm (eliminate-common-subexpressions-in-fun):
I think it's possible to get an orphan loop, with predecessors
after successors in the original RPO. Handle that here.
|
|
Fix armv7 with the ARM instruction set
Closes #12
See merge request wingo/lightening!3
|
|
* test-suite/tests/popen.test ("open-process", "pipeline"): Use 'tr'
instead of 'rev' to avoid an extra dependency on util-linux.
|
|
* module/statprof.scm (program-debug-info-printable): Remove unused
function.
(addr->printable): If the addr is a primitive, extract its name.
|
|
* bootstrap/Makefile.am (GUILE_OPTIMIZATIONS): Change to just -O1.
* module/language/tree-il/spec.scm (choose-compiler): Use CPS for -O2
and higher.
* module/system/base/optimize.scm (available-optimizations): CPS for -O2
and higher, but -Oresolve-primitives now at -O1 also.
|
|
* module/language/tree-il/optimize.scm (make-optimizer): Fix plumbing of
-Oseal-private-bindings / -O3.
|
|
* module/language/cps/cse.scm (eliminate-common-subexpressions-in-fun):
Amazingly this typo causes Guile to be 10% slower or so. Fixed!
|
|
* module/language/cps/cse.scm (propagate-analysis): New helper.
(eliminate-common-subexpressions-in-fun): Recompute avail and bool set
in response to simplifications in predecessor CFG. Allows much better
compilation of pattern-matching idioms!
|
|
* module/language/cps/cse.scm (forward-cont, forward-branch)
(compute-avail-and-bool-edge): New helpers.
(add-equivalent-expression!): Allow idempotent adds; can happen now
when revisiting a cont after changes to its predecessors.
(fold-branch): New helper.
(eliminate-common-subexpressions-in-fun): Allow for reductions to
branch predecessors. In that case, revisit the branch, as the CFG
will have changed.
|
|
* module/language/cps/cse.scm (eliminate-common-subexpressions-in-fun):
Separate the paths for handling expressions and branches.
|
|
* module/language/cps/cse.scm (make-equivalent-expression-table)
(intmap-select, add-equivalent-expression!)
(lookup-equivalent-expressions): New helpers.
(eliminate-common-subexpressions-in-fun): Adapt.
|
|
* module/language/cps/cse.scm (elide-predecessor, prune-branch)
(prune-successors, term-successors): New helpers.
(eliminate-common-subexpressions-in-fun): When we modify the CFG,
update the analysis. Also, thread the substs map through CSE so that
closures in high-level CPS can take advantage of eliminated variables.
(fold-renumbered-functions): Take multiple seeds.
(eliminate-common-subexpressions): Thread var substs map through CSE.
|
|
* .dir-locals.el: Add rule.
|
|
* module/language/cps.scm (build-term): Match on $branch and $throw as
literals.
|
|
* module/language/cps/cse.scm (<analysis>): New data type, grouping
available expression analysis, predecessor map, etc.
(eliminate-common-subexpressions-in-fun): Instead of having a static
analysis, thread it through the CSE pass so that we can update the CFG
as we go.
|