summarylogtreecommitdiffstats
AgeCommit message (Collapse)Author
2016-02-02Updated version (2.1.1.93.gee85113 -> 2.1.1.104.ga653271).AUR Update Bot
Changelog ========= Document new VM instructions (a653271) Update NEWS. (5fceaed) Update statprof documentation; deprecate `with-statprof' (8998f15) Better call-counting profiles in statprof (4066ee3) Frame <binding> objects capture frame, can ref value directly (cd0b61a) Remove frame-local-ref, frame-local-set! (67e8aa8) Dist the prebuilt .go files (ffc9bc9) Fix uniform vector compilation to foreign byte orders. (9eb841c) Distribute prebuilt bootstraps for common hosts (eccdeb6) Fix cross-compilation of immediates to targets with different word sizes (e4be4ae) Fix type inference of integer division (f618709) statprof: Better tree-format profiles (ee85113) statprof: Add tree #:display-style. (cf2fadf) web: Be less strict when parsing entity tags. (6d7c09c) Remove unused function in simplify.scm (4137c22) Inline some helpers in intset.scm. (f56f580) Include missing #:simplify? option in (language cps optimize). (9091454) Don't serialize build through psyntax-pp.scm (204336c) Better CPS conversion for tests in tests (fb2f7b4) Better partial evaluation of tests in tests (166703c) Better folding of branches on $values (52965e0) Eta-reduce branches (39002f2) Fix module for reification of srfi-4 primitives (5d171d9) Type inference copes better with unsorted graphs (a9c2606) Fix bug in intmap-map (620b640) Assembler O(n) in instruction encodings, not instruction count (8a39162) Fix emit-receive* for many locals (3629078) Assembler works on byte offsets, not u32 offsets (9e1c07b) Fix build when threads are disabled (3c27145) Add another simplification pass to make rotate-loops work better (a1471e0) Add support for comparing u64 values with SCM values (1d4b4ec) Small VM cleanups (97755a1) Refactor range checking in assembler instruction packers (7a43a3a) Add ursh/immediate and ulsh/immediate ops (9514dc7) Assembler has a single growable vector (2468871) More efficient assembler instructions (dbd9265) Specialize u64 bit operations (73065c7) Add untagged bitwise operations (3d6dd2f) Disable warnings on bootstrap build (eb86afc) Add logsub op. (8208525) Add current-thread VM op (8c75a5e) Unbox indexes of vectors, strings, and structs (c3240d0) Untag values and indexes for all bytevector instructions (a08b3d4) Add support for unboxed s64 values (8bf77f7) New instructions load-f64, load-u64 (f34688a) Add tagged and untagged arithmetic ops with immediate operands (bdfa1c1) Remove add1 and sub1 (8f18b71) Specialize u64 arithmetic (e003466) Better range inference for indexes of vector-ref, string-ref et al (d2808b1) Slower range saturation in type inference (6728536) Add unsigned 64-bit arithmetic operators: uadd, usub, umul (d294d5d) Unbox u64 phi values (2906d96) Beginning of u64 phi unboxing (4305b39) Specialize u64 comparisons (163fcf5) Add instructions to branch on u64 comparisons (07607f6) bv-f{32,64}-{ref,set!} take unboxed u64 index (87cc8b0) Add bv-length instruction (8464cc5) Range inference over the full U64+S64 range (870ac91) Remove frame->module (a7e1c39) Add low-level support for unboxed 64-bit unsigned ints (dfbe869) Remove frame-procedure (58153e3) VM traps don't match on value of slot 0 (3582787) Remove `procedure' repl command (adb2329) ,registers doesn't use frame-procedure (2d0214a) Better frame-call-representation printing of GC clobbers (c960c76) More robust low-level frame printer (9a8c299) frame-call-representation avoids frame-procedure. (029af6f) Add frame-procedure-name (39090e6) Remove primitive?, add primitive-code? (8af3423) Apply of non-programs has IP that is not from prev frame (3b3405e) All arities serialize a "closure" binding (e5d7c0f) Identify boot continuations by code, not closure (02fc5a7) Remove br-if-equal opcode (d729a0d) Don't compile equal? to br-if-equal (3e5d413) Fix miscompilation of closures allocated as vectors (92ed7f6) load-path will skip over stale .go files and keep going (13edcf5) Eval speedup for lexical-ref (25738ec) Bump bytecode version (ac5a05d) Remove debug printout in specialize-numbers (7dc3e4b) Better f64 unboxing for loop vars that might flow to $ktail (80f2726) The compiler can unbox float64 loop variables (5b9835e) Fix slot representation computation for fadd, fmul, etc (f0594be) Add new pass to specialize "add" into "fadd" where possible (12e9e21) Add fadd, fsub, fmul, fdiv instructions (3b4941f) Scalar replacement for f64->scm (c438998) bv-{f32,f64}-{ref,set!} operate on raw f64 values (b1ac8d6) Type inference distinguishes between untagged and tagged flonums (6087539) Add VM ops to pack and unpack raw f64 values. (5bbc47b) Stack slots can hold a double (fc87033) Reflection support for unboxed f64 slots (e3cc0ee) VM support for raw slots (e7660a6) Treat tail $values as generating lazy allocations (dd77a81) Remove return opcode (9585508) Remove use of return in disassembler.scm (c984432) rtl.test uses return-values (8db54c8) Always emit return-values (696339a) Replace return primcalls with $values (2f08838) Don't emit redundant reset-frame before return (7c9e477) return-values opcode resets the frame (7aee3c7) Fix slot-allocation to make 'return' not need to alloc-frame (34f3fb7) Run CSE to clean up after closure conversion (3f345f5) CSE can run on first-order CPS (04356da) Revert "Bootstrap build doesn't have to expand CPS optimizations" (8d79dfd) Bootstrap build doesn't have to expand CPS optimizations (ce36fb1)
2016-01-13updateStefan Husmann
2016-01-08Updated version (2.1.1.90.g4137c22 -> 2.1.1.91.g6d7c09c).AUR Update Bot
Changelog ========= web: Be less strict when parsing entity tags. (6d7c09c) Remove unused function in simplify.scm (4137c22) Inline some helpers in intset.scm. (f56f580) Include missing #:simplify? option in (language cps optimize). (9091454) Don't serialize build through psyntax-pp.scm (204336c) Better CPS conversion for tests in tests (fb2f7b4) Better partial evaluation of tests in tests (166703c) Better folding of branches on $values (52965e0) Eta-reduce branches (39002f2) Fix module for reification of srfi-4 primitives (5d171d9) Type inference copes better with unsorted graphs (a9c2606) Fix bug in intmap-map (620b640) Assembler O(n) in instruction encodings, not instruction count (8a39162) Fix emit-receive* for many locals (3629078) Assembler works on byte offsets, not u32 offsets (9e1c07b) Fix build when threads are disabled (3c27145) Add another simplification pass to make rotate-loops work better (a1471e0) Add support for comparing u64 values with SCM values (1d4b4ec) Small VM cleanups (97755a1) Refactor range checking in assembler instruction packers (7a43a3a) Add ursh/immediate and ulsh/immediate ops (9514dc7) Assembler has a single growable vector (2468871) More efficient assembler instructions (dbd9265) Specialize u64 bit operations (73065c7) Add untagged bitwise operations (3d6dd2f) Disable warnings on bootstrap build (eb86afc) Add logsub op. (8208525) Add current-thread VM op (8c75a5e) Unbox indexes of vectors, strings, and structs (c3240d0) Untag values and indexes for all bytevector instructions (a08b3d4) Add support for unboxed s64 values (8bf77f7) New instructions load-f64, load-u64 (f34688a) Add tagged and untagged arithmetic ops with immediate operands (bdfa1c1) Remove add1 and sub1 (8f18b71) Specialize u64 arithmetic (e003466) Better range inference for indexes of vector-ref, string-ref et al (d2808b1) Slower range saturation in type inference (6728536) Add unsigned 64-bit arithmetic operators: uadd, usub, umul (d294d5d) Unbox u64 phi values (2906d96) Beginning of u64 phi unboxing (4305b39) Specialize u64 comparisons (163fcf5) Add instructions to branch on u64 comparisons (07607f6) bv-f{32,64}-{ref,set!} take unboxed u64 index (87cc8b0) Add bv-length instruction (8464cc5) Range inference over the full U64+S64 range (870ac91) Remove frame->module (a7e1c39) Add low-level support for unboxed 64-bit unsigned ints (dfbe869) Remove frame-procedure (58153e3) VM traps don't match on value of slot 0 (3582787) Remove `procedure' repl command (adb2329) ,registers doesn't use frame-procedure (2d0214a) Better frame-call-representation printing of GC clobbers (c960c76) More robust low-level frame printer (9a8c299) frame-call-representation avoids frame-procedure. (029af6f) Add frame-procedure-name (39090e6) Remove primitive?, add primitive-code? (8af3423) Apply of non-programs has IP that is not from prev frame (3b3405e) All arities serialize a "closure" binding (e5d7c0f) Identify boot continuations by code, not closure (02fc5a7) Remove br-if-equal opcode (d729a0d) Don't compile equal? to br-if-equal (3e5d413) Fix miscompilation of closures allocated as vectors (92ed7f6) load-path will skip over stale .go files and keep going (13edcf5) Eval speedup for lexical-ref (25738ec) Bump bytecode version (ac5a05d) Remove debug printout in specialize-numbers (7dc3e4b) Better f64 unboxing for loop vars that might flow to $ktail (80f2726) The compiler can unbox float64 loop variables (5b9835e) Fix slot representation computation for fadd, fmul, etc (f0594be) Add new pass to specialize "add" into "fadd" where possible (12e9e21) Add fadd, fsub, fmul, fdiv instructions (3b4941f) Scalar replacement for f64->scm (c438998) bv-{f32,f64}-{ref,set!} operate on raw f64 values (b1ac8d6) Type inference distinguishes between untagged and tagged flonums (6087539) Add VM ops to pack and unpack raw f64 values. (5bbc47b) Stack slots can hold a double (fc87033) Reflection support for unboxed f64 slots (e3cc0ee) VM support for raw slots (e7660a6) Treat tail $values as generating lazy allocations (dd77a81) Remove return opcode (9585508) Remove use of return in disassembler.scm (c984432) rtl.test uses return-values (8db54c8) Always emit return-values (696339a) Replace return primcalls with $values (2f08838) Don't emit redundant reset-frame before return (7c9e477) return-values opcode resets the frame (7aee3c7) Fix slot-allocation to make 'return' not need to alloc-frame (34f3fb7) Run CSE to clean up after closure conversion (3f345f5) CSE can run on first-order CPS (04356da) Revert "Bootstrap build doesn't have to expand CPS optimizations" (8d79dfd) Bootstrap build doesn't have to expand CPS optimizations (ce36fb1)
2016-01-06Updated version (2.1.1.87.g204336c -> 2.1.1.90.g4137c22).AUR Update Bot
Changelog ========= Remove unused function in simplify.scm (4137c22) Inline some helpers in intset.scm. (f56f580) Include missing #:simplify? option in (language cps optimize). (9091454) Don't serialize build through psyntax-pp.scm (204336c) Better CPS conversion for tests in tests (fb2f7b4) Better partial evaluation of tests in tests (166703c) Better folding of branches on $values (52965e0) Eta-reduce branches (39002f2) Fix module for reification of srfi-4 primitives (5d171d9) Type inference copes better with unsorted graphs (a9c2606) Fix bug in intmap-map (620b640) Assembler O(n) in instruction encodings, not instruction count (8a39162) Fix emit-receive* for many locals (3629078) Assembler works on byte offsets, not u32 offsets (9e1c07b) Fix build when threads are disabled (3c27145) Add another simplification pass to make rotate-loops work better (a1471e0) Add support for comparing u64 values with SCM values (1d4b4ec) Small VM cleanups (97755a1) Refactor range checking in assembler instruction packers (7a43a3a) Add ursh/immediate and ulsh/immediate ops (9514dc7) Assembler has a single growable vector (2468871) More efficient assembler instructions (dbd9265) Specialize u64 bit operations (73065c7) Add untagged bitwise operations (3d6dd2f) Disable warnings on bootstrap build (eb86afc) Add logsub op. (8208525) Add current-thread VM op (8c75a5e) Unbox indexes of vectors, strings, and structs (c3240d0) Untag values and indexes for all bytevector instructions (a08b3d4) Add support for unboxed s64 values (8bf77f7) New instructions load-f64, load-u64 (f34688a) Add tagged and untagged arithmetic ops with immediate operands (bdfa1c1) Remove add1 and sub1 (8f18b71) Specialize u64 arithmetic (e003466) Better range inference for indexes of vector-ref, string-ref et al (d2808b1) Slower range saturation in type inference (6728536) Add unsigned 64-bit arithmetic operators: uadd, usub, umul (d294d5d) Unbox u64 phi values (2906d96) Beginning of u64 phi unboxing (4305b39) Specialize u64 comparisons (163fcf5) Add instructions to branch on u64 comparisons (07607f6) bv-f{32,64}-{ref,set!} take unboxed u64 index (87cc8b0) Add bv-length instruction (8464cc5) Range inference over the full U64+S64 range (870ac91) Remove frame->module (a7e1c39) Add low-level support for unboxed 64-bit unsigned ints (dfbe869) Remove frame-procedure (58153e3) VM traps don't match on value of slot 0 (3582787) Remove `procedure' repl command (adb2329) ,registers doesn't use frame-procedure (2d0214a) Better frame-call-representation printing of GC clobbers (c960c76) More robust low-level frame printer (9a8c299) frame-call-representation avoids frame-procedure. (029af6f) Add frame-procedure-name (39090e6) Remove primitive?, add primitive-code? (8af3423) Apply of non-programs has IP that is not from prev frame (3b3405e) All arities serialize a "closure" binding (e5d7c0f) Identify boot continuations by code, not closure (02fc5a7) Remove br-if-equal opcode (d729a0d) Don't compile equal? to br-if-equal (3e5d413) Fix miscompilation of closures allocated as vectors (92ed7f6) load-path will skip over stale .go files and keep going (13edcf5) Eval speedup for lexical-ref (25738ec) Bump bytecode version (ac5a05d) Remove debug printout in specialize-numbers (7dc3e4b) Better f64 unboxing for loop vars that might flow to $ktail (80f2726) The compiler can unbox float64 loop variables (5b9835e) Fix slot representation computation for fadd, fmul, etc (f0594be) Add new pass to specialize "add" into "fadd" where possible (12e9e21) Add fadd, fsub, fmul, fdiv instructions (3b4941f) Scalar replacement for f64->scm (c438998) bv-{f32,f64}-{ref,set!} operate on raw f64 values (b1ac8d6) Type inference distinguishes between untagged and tagged flonums (6087539) Add VM ops to pack and unpack raw f64 values. (5bbc47b) Stack slots can hold a double (fc87033) Reflection support for unboxed f64 slots (e3cc0ee) VM support for raw slots (e7660a6) Treat tail $values as generating lazy allocations (dd77a81) Remove return opcode (9585508) Remove use of return in disassembler.scm (c984432) rtl.test uses return-values (8db54c8) Always emit return-values (696339a) Replace return primcalls with $values (2f08838) Don't emit redundant reset-frame before return (7c9e477) return-values opcode resets the frame (7aee3c7) Fix slot-allocation to make 'return' not need to alloc-frame (34f3fb7) Run CSE to clean up after closure conversion (3f345f5) CSE can run on first-order CPS (04356da) Revert "Bootstrap build doesn't have to expand CPS optimizations" (8d79dfd) Bootstrap build doesn't have to expand CPS optimizations (ce36fb1)
2016-01-05UpdateStefan Husmann
2016-01-05Updated version (2.1.1.82.g5d171d9 -> 2.1.1.87.g204336c).AUR Update Bot
Changelog ========= Don't serialize build through psyntax-pp.scm (204336c) Better CPS conversion for tests in tests (fb2f7b4) Better partial evaluation of tests in tests (166703c) Better folding of branches on $values (52965e0) Eta-reduce branches (39002f2) Fix module for reification of srfi-4 primitives (5d171d9) Type inference copes better with unsorted graphs (a9c2606) Fix bug in intmap-map (620b640) Assembler O(n) in instruction encodings, not instruction count (8a39162) Fix emit-receive* for many locals (3629078) Assembler works on byte offsets, not u32 offsets (9e1c07b) Fix build when threads are disabled (3c27145) Add another simplification pass to make rotate-loops work better (a1471e0) Add support for comparing u64 values with SCM values (1d4b4ec) Small VM cleanups (97755a1) Refactor range checking in assembler instruction packers (7a43a3a) Add ursh/immediate and ulsh/immediate ops (9514dc7) Assembler has a single growable vector (2468871) More efficient assembler instructions (dbd9265) Specialize u64 bit operations (73065c7) Add untagged bitwise operations (3d6dd2f) Disable warnings on bootstrap build (eb86afc) Add logsub op. (8208525) Add current-thread VM op (8c75a5e) Unbox indexes of vectors, strings, and structs (c3240d0) Untag values and indexes for all bytevector instructions (a08b3d4) Add support for unboxed s64 values (8bf77f7) New instructions load-f64, load-u64 (f34688a) Add tagged and untagged arithmetic ops with immediate operands (bdfa1c1) Remove add1 and sub1 (8f18b71) Specialize u64 arithmetic (e003466) Better range inference for indexes of vector-ref, string-ref et al (d2808b1) Slower range saturation in type inference (6728536) Add unsigned 64-bit arithmetic operators: uadd, usub, umul (d294d5d) Unbox u64 phi values (2906d96) Beginning of u64 phi unboxing (4305b39) Specialize u64 comparisons (163fcf5) Add instructions to branch on u64 comparisons (07607f6) bv-f{32,64}-{ref,set!} take unboxed u64 index (87cc8b0) Add bv-length instruction (8464cc5) Range inference over the full U64+S64 range (870ac91) Remove frame->module (a7e1c39) Add low-level support for unboxed 64-bit unsigned ints (dfbe869) Remove frame-procedure (58153e3) VM traps don't match on value of slot 0 (3582787) Remove `procedure' repl command (adb2329) ,registers doesn't use frame-procedure (2d0214a) Better frame-call-representation printing of GC clobbers (c960c76) More robust low-level frame printer (9a8c299) frame-call-representation avoids frame-procedure. (029af6f) Add frame-procedure-name (39090e6) Remove primitive?, add primitive-code? (8af3423) Apply of non-programs has IP that is not from prev frame (3b3405e) All arities serialize a "closure" binding (e5d7c0f) Identify boot continuations by code, not closure (02fc5a7) Remove br-if-equal opcode (d729a0d) Don't compile equal? to br-if-equal (3e5d413) Fix miscompilation of closures allocated as vectors (92ed7f6) load-path will skip over stale .go files and keep going (13edcf5) Eval speedup for lexical-ref (25738ec) Bump bytecode version (ac5a05d) Remove debug printout in specialize-numbers (7dc3e4b) Better f64 unboxing for loop vars that might flow to $ktail (80f2726) The compiler can unbox float64 loop variables (5b9835e) Fix slot representation computation for fadd, fmul, etc (f0594be) Add new pass to specialize "add" into "fadd" where possible (12e9e21) Add fadd, fsub, fmul, fdiv instructions (3b4941f) Scalar replacement for f64->scm (c438998) bv-{f32,f64}-{ref,set!} operate on raw f64 values (b1ac8d6) Type inference distinguishes between untagged and tagged flonums (6087539) Add VM ops to pack and unpack raw f64 values. (5bbc47b) Stack slots can hold a double (fc87033) Reflection support for unboxed f64 slots (e3cc0ee) VM support for raw slots (e7660a6) Treat tail $values as generating lazy allocations (dd77a81) Remove return opcode (9585508) Remove use of return in disassembler.scm (c984432) rtl.test uses return-values (8db54c8) Always emit return-values (696339a) Replace return primcalls with $values (2f08838) Don't emit redundant reset-frame before return (7c9e477) return-values opcode resets the frame (7aee3c7) Fix slot-allocation to make 'return' not need to alloc-frame (34f3fb7) Run CSE to clean up after closure conversion (3f345f5) CSE can run on first-order CPS (04356da) Revert "Bootstrap build doesn't have to expand CPS optimizations" (8d79dfd) Bootstrap build doesn't have to expand CPS optimizations (ce36fb1)
2016-01-01allow parallel installationStefan Husmann
2016-01-01update to allow parallel installs with guileStefan Husmann
2016-01-01update#Stefan Husmann
2016-01-01remove-line as in guile PKGBUILDStefan Husmann
2015-12-31updateStefan Husmann
2015-12-31UpdateStefan Husmann
2015-12-31parallel install with guile from [core] possibleStefan Husmann
2015-12-31Updated version (2.1.1.81.ga9c2606 -> 2.1.1.82.g5d171d9).AUR Update Bot
Changelog ========= Fix module for reification of srfi-4 primitives (5d171d9) Type inference copes better with unsorted graphs (a9c2606) Fix bug in intmap-map (620b640) Assembler O(n) in instruction encodings, not instruction count (8a39162) Fix emit-receive* for many locals (3629078) Assembler works on byte offsets, not u32 offsets (9e1c07b) Fix build when threads are disabled (3c27145) Add another simplification pass to make rotate-loops work better (a1471e0) Add support for comparing u64 values with SCM values (1d4b4ec) Small VM cleanups (97755a1) Refactor range checking in assembler instruction packers (7a43a3a) Add ursh/immediate and ulsh/immediate ops (9514dc7) Assembler has a single growable vector (2468871) More efficient assembler instructions (dbd9265) Specialize u64 bit operations (73065c7) Add untagged bitwise operations (3d6dd2f) Disable warnings on bootstrap build (eb86afc) Add logsub op. (8208525) Add current-thread VM op (8c75a5e) Unbox indexes of vectors, strings, and structs (c3240d0) Untag values and indexes for all bytevector instructions (a08b3d4) Add support for unboxed s64 values (8bf77f7) New instructions load-f64, load-u64 (f34688a) Add tagged and untagged arithmetic ops with immediate operands (bdfa1c1) Remove add1 and sub1 (8f18b71) Specialize u64 arithmetic (e003466) Better range inference for indexes of vector-ref, string-ref et al (d2808b1) Slower range saturation in type inference (6728536) Add unsigned 64-bit arithmetic operators: uadd, usub, umul (d294d5d) Unbox u64 phi values (2906d96) Beginning of u64 phi unboxing (4305b39) Specialize u64 comparisons (163fcf5) Add instructions to branch on u64 comparisons (07607f6) bv-f{32,64}-{ref,set!} take unboxed u64 index (87cc8b0) Add bv-length instruction (8464cc5) Range inference over the full U64+S64 range (870ac91) Remove frame->module (a7e1c39) Add low-level support for unboxed 64-bit unsigned ints (dfbe869) Remove frame-procedure (58153e3) VM traps don't match on value of slot 0 (3582787) Remove `procedure' repl command (adb2329) ,registers doesn't use frame-procedure (2d0214a) Better frame-call-representation printing of GC clobbers (c960c76) More robust low-level frame printer (9a8c299) frame-call-representation avoids frame-procedure. (029af6f) Add frame-procedure-name (39090e6) Remove primitive?, add primitive-code? (8af3423) Apply of non-programs has IP that is not from prev frame (3b3405e) All arities serialize a "closure" binding (e5d7c0f) Identify boot continuations by code, not closure (02fc5a7) Remove br-if-equal opcode (d729a0d) Don't compile equal? to br-if-equal (3e5d413) Fix miscompilation of closures allocated as vectors (92ed7f6) load-path will skip over stale .go files and keep going (13edcf5) Eval speedup for lexical-ref (25738ec) Bump bytecode version (ac5a05d) Remove debug printout in specialize-numbers (7dc3e4b) Better f64 unboxing for loop vars that might flow to $ktail (80f2726) The compiler can unbox float64 loop variables (5b9835e) Fix slot representation computation for fadd, fmul, etc (f0594be) Add new pass to specialize "add" into "fadd" where possible (12e9e21) Add fadd, fsub, fmul, fdiv instructions (3b4941f) Scalar replacement for f64->scm (c438998) bv-{f32,f64}-{ref,set!} operate on raw f64 values (b1ac8d6) Type inference distinguishes between untagged and tagged flonums (6087539) Add VM ops to pack and unpack raw f64 values. (5bbc47b) Stack slots can hold a double (fc87033) Reflection support for unboxed f64 slots (e3cc0ee) VM support for raw slots (e7660a6) Treat tail $values as generating lazy allocations (dd77a81) Remove return opcode (9585508) Remove use of return in disassembler.scm (c984432) rtl.test uses return-values (8db54c8) Always emit return-values (696339a) Replace return primcalls with $values (2f08838) Don't emit redundant reset-frame before return (7c9e477) return-values opcode resets the frame (7aee3c7) Fix slot-allocation to make 'return' not need to alloc-frame (34f3fb7) Run CSE to clean up after closure conversion (3f345f5) CSE can run on first-order CPS (04356da) Revert "Bootstrap build doesn't have to expand CPS optimizations" (8d79dfd) Bootstrap build doesn't have to expand CPS optimizations (ce36fb1)
2015-12-27Updated version (2.1.1.76.g3c27145 -> 2.1.1.81.ga9c2606).AUR Update Bot
Changelog ========= Type inference copes better with unsorted graphs (a9c2606) Fix bug in intmap-map (620b640) Assembler O(n) in instruction encodings, not instruction count (8a39162) Fix emit-receive* for many locals (3629078) Assembler works on byte offsets, not u32 offsets (9e1c07b) Fix build when threads are disabled (3c27145) Add another simplification pass to make rotate-loops work better (a1471e0) Add support for comparing u64 values with SCM values (1d4b4ec) Small VM cleanups (97755a1) Refactor range checking in assembler instruction packers (7a43a3a) Add ursh/immediate and ulsh/immediate ops (9514dc7) Assembler has a single growable vector (2468871) More efficient assembler instructions (dbd9265) Specialize u64 bit operations (73065c7) Add untagged bitwise operations (3d6dd2f) Disable warnings on bootstrap build (eb86afc) Add logsub op. (8208525) Add current-thread VM op (8c75a5e) Unbox indexes of vectors, strings, and structs (c3240d0) Untag values and indexes for all bytevector instructions (a08b3d4) Add support for unboxed s64 values (8bf77f7) New instructions load-f64, load-u64 (f34688a) Add tagged and untagged arithmetic ops with immediate operands (bdfa1c1) Remove add1 and sub1 (8f18b71) Specialize u64 arithmetic (e003466) Better range inference for indexes of vector-ref, string-ref et al (d2808b1) Slower range saturation in type inference (6728536) Add unsigned 64-bit arithmetic operators: uadd, usub, umul (d294d5d) Unbox u64 phi values (2906d96) Beginning of u64 phi unboxing (4305b39) Specialize u64 comparisons (163fcf5) Add instructions to branch on u64 comparisons (07607f6) bv-f{32,64}-{ref,set!} take unboxed u64 index (87cc8b0) Add bv-length instruction (8464cc5) Range inference over the full U64+S64 range (870ac91) Remove frame->module (a7e1c39) Add low-level support for unboxed 64-bit unsigned ints (dfbe869) Remove frame-procedure (58153e3) VM traps don't match on value of slot 0 (3582787) Remove `procedure' repl command (adb2329) ,registers doesn't use frame-procedure (2d0214a) Better frame-call-representation printing of GC clobbers (c960c76) More robust low-level frame printer (9a8c299) frame-call-representation avoids frame-procedure. (029af6f) Add frame-procedure-name (39090e6) Remove primitive?, add primitive-code? (8af3423) Apply of non-programs has IP that is not from prev frame (3b3405e) All arities serialize a "closure" binding (e5d7c0f) Identify boot continuations by code, not closure (02fc5a7) Remove br-if-equal opcode (d729a0d) Don't compile equal? to br-if-equal (3e5d413) Fix miscompilation of closures allocated as vectors (92ed7f6) load-path will skip over stale .go files and keep going (13edcf5) Eval speedup for lexical-ref (25738ec) Bump bytecode version (ac5a05d) Remove debug printout in specialize-numbers (7dc3e4b) Better f64 unboxing for loop vars that might flow to $ktail (80f2726) The compiler can unbox float64 loop variables (5b9835e) Fix slot representation computation for fadd, fmul, etc (f0594be) Add new pass to specialize "add" into "fadd" where possible (12e9e21) Add fadd, fsub, fmul, fdiv instructions (3b4941f) Scalar replacement for f64->scm (c438998) bv-{f32,f64}-{ref,set!} operate on raw f64 values (b1ac8d6) Type inference distinguishes between untagged and tagged flonums (6087539) Add VM ops to pack and unpack raw f64 values. (5bbc47b) Stack slots can hold a double (fc87033) Reflection support for unboxed f64 slots (e3cc0ee) VM support for raw slots (e7660a6) Treat tail $values as generating lazy allocations (dd77a81) Remove return opcode (9585508) Remove use of return in disassembler.scm (c984432) rtl.test uses return-values (8db54c8) Always emit return-values (696339a) Replace return primcalls with $values (2f08838) Don't emit redundant reset-frame before return (7c9e477) return-values opcode resets the frame (7aee3c7) Fix slot-allocation to make 'return' not need to alloc-frame (34f3fb7) Run CSE to clean up after closure conversion (3f345f5) CSE can run on first-order CPS (04356da) Revert "Bootstrap build doesn't have to expand CPS optimizations" (8d79dfd) Bootstrap build doesn't have to expand CPS optimizations (ce36fb1)
2015-12-17Updated version (2.1.1.75.ga1471e0 -> 2.1.1.76.g3c27145).AUR Update Bot
Changelog ========= Fix build when threads are disabled (3c27145) Add another simplification pass to make rotate-loops work better (a1471e0) Add support for comparing u64 values with SCM values (1d4b4ec) Small VM cleanups (97755a1) Refactor range checking in assembler instruction packers (7a43a3a) Add ursh/immediate and ulsh/immediate ops (9514dc7) Assembler has a single growable vector (2468871) More efficient assembler instructions (dbd9265) Specialize u64 bit operations (73065c7) Add untagged bitwise operations (3d6dd2f) Disable warnings on bootstrap build (eb86afc) Add logsub op. (8208525) Add current-thread VM op (8c75a5e) Unbox indexes of vectors, strings, and structs (c3240d0) Untag values and indexes for all bytevector instructions (a08b3d4) Add support for unboxed s64 values (8bf77f7) New instructions load-f64, load-u64 (f34688a) Add tagged and untagged arithmetic ops with immediate operands (bdfa1c1) Remove add1 and sub1 (8f18b71) Specialize u64 arithmetic (e003466) Better range inference for indexes of vector-ref, string-ref et al (d2808b1) Slower range saturation in type inference (6728536) Add unsigned 64-bit arithmetic operators: uadd, usub, umul (d294d5d) Unbox u64 phi values (2906d96) Beginning of u64 phi unboxing (4305b39) Specialize u64 comparisons (163fcf5) Add instructions to branch on u64 comparisons (07607f6) bv-f{32,64}-{ref,set!} take unboxed u64 index (87cc8b0) Add bv-length instruction (8464cc5) Range inference over the full U64+S64 range (870ac91) Remove frame->module (a7e1c39) Add low-level support for unboxed 64-bit unsigned ints (dfbe869) Remove frame-procedure (58153e3) VM traps don't match on value of slot 0 (3582787) Remove `procedure' repl command (adb2329) ,registers doesn't use frame-procedure (2d0214a) Better frame-call-representation printing of GC clobbers (c960c76) More robust low-level frame printer (9a8c299) frame-call-representation avoids frame-procedure. (029af6f) Add frame-procedure-name (39090e6) Remove primitive?, add primitive-code? (8af3423) Apply of non-programs has IP that is not from prev frame (3b3405e) All arities serialize a "closure" binding (e5d7c0f) Identify boot continuations by code, not closure (02fc5a7) Remove br-if-equal opcode (d729a0d) Don't compile equal? to br-if-equal (3e5d413) Fix miscompilation of closures allocated as vectors (92ed7f6) load-path will skip over stale .go files and keep going (13edcf5) Eval speedup for lexical-ref (25738ec) Bump bytecode version (ac5a05d) Remove debug printout in specialize-numbers (7dc3e4b) Better f64 unboxing for loop vars that might flow to $ktail (80f2726) The compiler can unbox float64 loop variables (5b9835e) Fix slot representation computation for fadd, fmul, etc (f0594be) Add new pass to specialize "add" into "fadd" where possible (12e9e21) Add fadd, fsub, fmul, fdiv instructions (3b4941f) Scalar replacement for f64->scm (c438998) bv-{f32,f64}-{ref,set!} operate on raw f64 values (b1ac8d6) Type inference distinguishes between untagged and tagged flonums (6087539) Add VM ops to pack and unpack raw f64 values. (5bbc47b) Stack slots can hold a double (fc87033) Reflection support for unboxed f64 slots (e3cc0ee) VM support for raw slots (e7660a6) Treat tail $values as generating lazy allocations (dd77a81) Remove return opcode (9585508) Remove use of return in disassembler.scm (c984432) rtl.test uses return-values (8db54c8) Always emit return-values (696339a) Replace return primcalls with $values (2f08838) Don't emit redundant reset-frame before return (7c9e477) return-values opcode resets the frame (7aee3c7) Fix slot-allocation to make 'return' not need to alloc-frame (34f3fb7) Run CSE to clean up after closure conversion (3f345f5) CSE can run on first-order CPS (04356da) Revert "Bootstrap build doesn't have to expand CPS optimizations" (8d79dfd) Bootstrap build doesn't have to expand CPS optimizations (ce36fb1)
2015-12-04Updated version (2.1.1.70.g2468871 -> 2.1.1.75.ga1471e0).AUR Update Bot
Changelog ========= Add another simplification pass to make rotate-loops work better (a1471e0) Add support for comparing u64 values with SCM values (1d4b4ec) Small VM cleanups (97755a1) Refactor range checking in assembler instruction packers (7a43a3a) Add ursh/immediate and ulsh/immediate ops (9514dc7) Assembler has a single growable vector (2468871) More efficient assembler instructions (dbd9265) Specialize u64 bit operations (73065c7) Add untagged bitwise operations (3d6dd2f) Disable warnings on bootstrap build (eb86afc) Add logsub op. (8208525) Add current-thread VM op (8c75a5e) Unbox indexes of vectors, strings, and structs (c3240d0) Untag values and indexes for all bytevector instructions (a08b3d4) Add support for unboxed s64 values (8bf77f7) New instructions load-f64, load-u64 (f34688a) Add tagged and untagged arithmetic ops with immediate operands (bdfa1c1) Remove add1 and sub1 (8f18b71) Specialize u64 arithmetic (e003466) Better range inference for indexes of vector-ref, string-ref et al (d2808b1) Slower range saturation in type inference (6728536) Add unsigned 64-bit arithmetic operators: uadd, usub, umul (d294d5d) Unbox u64 phi values (2906d96) Beginning of u64 phi unboxing (4305b39) Specialize u64 comparisons (163fcf5) Add instructions to branch on u64 comparisons (07607f6) bv-f{32,64}-{ref,set!} take unboxed u64 index (87cc8b0) Add bv-length instruction (8464cc5) Range inference over the full U64+S64 range (870ac91) Remove frame->module (a7e1c39) Add low-level support for unboxed 64-bit unsigned ints (dfbe869) Remove frame-procedure (58153e3) VM traps don't match on value of slot 0 (3582787) Remove `procedure' repl command (adb2329) ,registers doesn't use frame-procedure (2d0214a) Better frame-call-representation printing of GC clobbers (c960c76) More robust low-level frame printer (9a8c299) frame-call-representation avoids frame-procedure. (029af6f) Add frame-procedure-name (39090e6) Remove primitive?, add primitive-code? (8af3423) Apply of non-programs has IP that is not from prev frame (3b3405e) All arities serialize a "closure" binding (e5d7c0f) Identify boot continuations by code, not closure (02fc5a7) Remove br-if-equal opcode (d729a0d) Don't compile equal? to br-if-equal (3e5d413) Fix miscompilation of closures allocated as vectors (92ed7f6) load-path will skip over stale .go files and keep going (13edcf5) Eval speedup for lexical-ref (25738ec) Bump bytecode version (ac5a05d) Remove debug printout in specialize-numbers (7dc3e4b) Better f64 unboxing for loop vars that might flow to $ktail (80f2726) The compiler can unbox float64 loop variables (5b9835e) Fix slot representation computation for fadd, fmul, etc (f0594be) Add new pass to specialize "add" into "fadd" where possible (12e9e21) Add fadd, fsub, fmul, fdiv instructions (3b4941f) Scalar replacement for f64->scm (c438998) bv-{f32,f64}-{ref,set!} operate on raw f64 values (b1ac8d6) Type inference distinguishes between untagged and tagged flonums (6087539) Add VM ops to pack and unpack raw f64 values. (5bbc47b) Stack slots can hold a double (fc87033) Reflection support for unboxed f64 slots (e3cc0ee) VM support for raw slots (e7660a6) Treat tail $values as generating lazy allocations (dd77a81) Remove return opcode (9585508) Remove use of return in disassembler.scm (c984432) rtl.test uses return-values (8db54c8) Always emit return-values (696339a) Replace return primcalls with $values (2f08838) Don't emit redundant reset-frame before return (7c9e477) return-values opcode resets the frame (7aee3c7) Fix slot-allocation to make 'return' not need to alloc-frame (34f3fb7) Run CSE to clean up after closure conversion (3f345f5) CSE can run on first-order CPS (04356da) Revert "Bootstrap build doesn't have to expand CPS optimizations" (8d79dfd) Bootstrap build doesn't have to expand CPS optimizations (ce36fb1)
2015-12-03Updated version (2.1.1.29.g13edcf5 -> 2.1.1.70.g2468871).AUR Update Bot
Changelog ========= Assembler has a single growable vector (2468871) More efficient assembler instructions (dbd9265) Specialize u64 bit operations (73065c7) Add untagged bitwise operations (3d6dd2f) Disable warnings on bootstrap build (eb86afc) Add logsub op. (8208525) Add current-thread VM op (8c75a5e) Unbox indexes of vectors, strings, and structs (c3240d0) Untag values and indexes for all bytevector instructions (a08b3d4) Add support for unboxed s64 values (8bf77f7) New instructions load-f64, load-u64 (f34688a) Add tagged and untagged arithmetic ops with immediate operands (bdfa1c1) Remove add1 and sub1 (8f18b71) Specialize u64 arithmetic (e003466) Better range inference for indexes of vector-ref, string-ref et al (d2808b1) Slower range saturation in type inference (6728536) Add unsigned 64-bit arithmetic operators: uadd, usub, umul (d294d5d) Unbox u64 phi values (2906d96) Beginning of u64 phi unboxing (4305b39) Specialize u64 comparisons (163fcf5) Add instructions to branch on u64 comparisons (07607f6) bv-f{32,64}-{ref,set!} take unboxed u64 index (87cc8b0) Add bv-length instruction (8464cc5) Range inference over the full U64+S64 range (870ac91) Remove frame->module (a7e1c39) Add low-level support for unboxed 64-bit unsigned ints (dfbe869) Remove frame-procedure (58153e3) VM traps don't match on value of slot 0 (3582787) Remove `procedure' repl command (adb2329) ,registers doesn't use frame-procedure (2d0214a) Better frame-call-representation printing of GC clobbers (c960c76) More robust low-level frame printer (9a8c299) frame-call-representation avoids frame-procedure. (029af6f) Add frame-procedure-name (39090e6) Remove primitive?, add primitive-code? (8af3423) Apply of non-programs has IP that is not from prev frame (3b3405e) All arities serialize a "closure" binding (e5d7c0f) Identify boot continuations by code, not closure (02fc5a7) Remove br-if-equal opcode (d729a0d) Don't compile equal? to br-if-equal (3e5d413) Fix miscompilation of closures allocated as vectors (92ed7f6) load-path will skip over stale .go files and keep going (13edcf5) Eval speedup for lexical-ref (25738ec) Bump bytecode version (ac5a05d) Remove debug printout in specialize-numbers (7dc3e4b) Better f64 unboxing for loop vars that might flow to $ktail (80f2726) The compiler can unbox float64 loop variables (5b9835e) Fix slot representation computation for fadd, fmul, etc (f0594be) Add new pass to specialize "add" into "fadd" where possible (12e9e21) Add fadd, fsub, fmul, fdiv instructions (3b4941f) Scalar replacement for f64->scm (c438998) bv-{f32,f64}-{ref,set!} operate on raw f64 values (b1ac8d6) Type inference distinguishes between untagged and tagged flonums (6087539) Add VM ops to pack and unpack raw f64 values. (5bbc47b) Stack slots can hold a double (fc87033) Reflection support for unboxed f64 slots (e3cc0ee) VM support for raw slots (e7660a6) Treat tail $values as generating lazy allocations (dd77a81) Remove return opcode (9585508) Remove use of return in disassembler.scm (c984432) rtl.test uses return-values (8db54c8) Always emit return-values (696339a) Replace return primcalls with $values (2f08838) Don't emit redundant reset-frame before return (7c9e477) return-values opcode resets the frame (7aee3c7) Fix slot-allocation to make 'return' not need to alloc-frame (34f3fb7) Run CSE to clean up after closure conversion (3f345f5) CSE can run on first-order CPS (04356da) Revert "Bootstrap build doesn't have to expand CPS optimizations" (8d79dfd) Bootstrap build doesn't have to expand CPS optimizations (ce36fb1)
2015-11-11Updated version (2.1.1 -> 2.1.1.29.g13edcf5).AUR Update Bot
Changelog ========= load-path will skip over stale .go files and keep going (13edcf5) Eval speedup for lexical-ref (25738ec) Bump bytecode version (ac5a05d) Remove debug printout in specialize-numbers (7dc3e4b) Better f64 unboxing for loop vars that might flow to $ktail (80f2726) The compiler can unbox float64 loop variables (5b9835e) Fix slot representation computation for fadd, fmul, etc (f0594be) Add new pass to specialize "add" into "fadd" where possible (12e9e21) Add fadd, fsub, fmul, fdiv instructions (3b4941f) Scalar replacement for f64->scm (c438998) bv-{f32,f64}-{ref,set!} operate on raw f64 values (b1ac8d6) Type inference distinguishes between untagged and tagged flonums (6087539) Add VM ops to pack and unpack raw f64 values. (5bbc47b) Stack slots can hold a double (fc87033) Reflection support for unboxed f64 slots (e3cc0ee) VM support for raw slots (e7660a6) Treat tail $values as generating lazy allocations (dd77a81) Remove return opcode (9585508) Remove use of return in disassembler.scm (c984432) rtl.test uses return-values (8db54c8) Always emit return-values (696339a) Replace return primcalls with $values (2f08838) Don't emit redundant reset-frame before return (7c9e477) return-values opcode resets the frame (7aee3c7) Fix slot-allocation to make 'return' not need to alloc-frame (34f3fb7) Run CSE to clean up after closure conversion (3f345f5) CSE can run on first-order CPS (04356da) Revert "Bootstrap build doesn't have to expand CPS optimizations" (8d79dfd) Bootstrap build doesn't have to expand CPS optimizations (ce36fb1)
2015-11-05Updated version (2.1.0.479.ge5bccb6 -> 2.1.1).AUR Update Bot
Changelog =========
2015-10-26Updated version (2.1.0.478.g4339cb9 -> 2.1.0.479.ge5bccb6).AUR Update Bot
Changelog ========= Fix distcheck issues (e5bccb6) Fix uninstalled-env bug that preferred bootstrap/ to module/ (4339cb9) Revert "Update Gnulib to v0.1-603-g1d16a7b" (95ac220) Bootstrap makefile tweaks (1c9e23c) Use a bootstrapped -O0 compiler to compile the -O2 Guile (5f4ac52) Wire up `guild compile -O0 foo.scm' (f169be9) Update Gnulib to v0.1-603-g1d16a7b (2d4da30) Minor NEWS update. (139ef2d) Small subr-call refactor (8832e8b) subr-call implementation simplification (9144f50) Update VM documentation for new stack layout (467e587) Add stack size computation to disassembler (f039604) Minor assembler cleanups (4afb46f) SP-relative local addressing (70c317a) Fix boot closure wrong-num-args error (9b1ac02) Prepare for SP-addressed locals (0da0308) Replace dynamic link on stack with previous frame size (72353de) Rename union scm_vm_stack_element members (8f02738) Remove sp from scm_vm_cont (30c06bf) VM caches address of local 0 instead of FP (aa9f6b0) VM stack grows downward (0007507) Fix prompt miscompilation (d7199da) Minor VM documentation updates (a0a8741) Fix typo in CPS conversion. (315adb6) Minor CPS documentation cleanups (73f6146) Update CPS language documentation (d701e8a) Remove unused (language tree-il inline) module. (78fdc3e) Allow decoding of UTF-8 containing U+FFFD, the replacement character. (00884bb) Add closure effects (4841239) Better codegen for $values terms that don't shuffle (90c1148) Loop peeling (3b60e79) solve-flow-equations tweak (4792577) Simplify rotate-loops.scm (ce28887) Loop inversion with multiple exits (e54fbff) Rotate comparisons down to loop back-edges (ee85e29) Eliminate trampoline gotos when possible in compile-bytecode (bf6930b) Small expression-effects tweak (bcfa9fe) Loop-invariant code motion (ec9554d) Move solve-flow-equations to utils (bebc70c) Factor out compute-effects/elide-type-checks from dce.scm (b40fac1) Add missing files (4aabc20) Rename CPS2 to CPS (aa7f0e2) Remove CPS1 language (0d4c937) Compile CPS2 directly to bytecode (39777b1) Slot allocation and bytecode compilation from CPS2. (910054b) Fix CPS2 compute-successors (16d92c5) intset-intersect bugfix (2df454b) Fix bad return shuffles for multiply-used $kreceive conts (ff2beb1) Fix error printing some wrong-num-args backtraces (08cf30f) More slot-allocation simplification (f63b2e4) CPS1 slot-allocation simplification (365296a) Utils refactors (19024bd) Add intset-prev and intset-fold-right (3b1d316) Reify primitives in CPS2 (1a819ea) Fix type/range inference for mul (90aabcc) Remove CPS optimization passes and closure conversion (420423f) Optimize first-order CPS (6f6a6ae) Beta reduction over first-order CPS (099784c) DCE works on first-order CPS (e419e9e) compute-reachable-functions refactor (1b95487) Prepare DCE pass for first-order CPS2 (263b409) Enable CPS2 closure conversion (030e9b7) CPS2 closure conversion bugfixes (6cfb7af) closure-conversion docstring tweak (e9e6da1) Wire up new closure conversion pass (981802c) Add CPS2 closure conversion module (285f62a) Verify pass works on first-order CPS (bf5c795) Beginnings of first-order CPS optimization (e0ef087) Tweak intset printing (363d649) CPS2 renumber works with first-order CPS (a15a142) Fix intset-subtract to reliably produce empty-intset (dc27708) intset-union fast paths (47a4727) Reorganizing of intset/intmap helper functions (1bb7a7f) Add split-rec pass (dbe6247) Renumber before contifying to eliminate stale conts (f418235) Disable CPS optimization passes (6f4487f) Enable all CPS2 optimization passes (b926d85) Tweaks to bootstrap build order (c028a0a) Add CPS2 verification pass (1071e77) Refactor renumber.scm (b012248) Port self-references pass to CPS2 (ff1a02b) Fix eta reduction on CPS2 (b0148e1) Fix intmap-ref bug (1850497) Fix slot allocation hinting for intervening terms that define dead values (8eea1fb) Fix write beyond stack boundary in vm-engine.c (bb051f2) Port type-fold to CPS2 (f541ee1) Add setk clause to with-cps (e8fa85f) Port CSE to CPS2 (c3bc1f8) Fix some cps2 utils bugs (ea5187a) Move some graph utilities from contification.scm to utils.scm (fef50ea) Port prune-bailouts pass to CPS2 (ba44619) Port elide-values pass to CPS2 (726558f) prune-top-level-scopes elides with $values (467736c) Port specialize-primcalls pass to CPS2 (0e33ee9) Port inline-constructors pass to CPS2 (42f9bda) Factor with-cps out to separate module (bac96c1) Port contification pass to CPS2. (6e725df) Add "intset" syntax to construct intsets. (d78e5a2) Add intmap-fold-right (8b4a523) Port prune-top-level-scopes pass to CPS2 (dd2e0f5) Fix compute-defining-expressions (and thereby compute-constant-values) (2838c6e) Add intmap-replace!. (2337946) DCE uses type analysis to find dead code (ad29059) Port type inference module to CPS2 (8481bdb) intset-next starting point is optional (6a42ac7) Add intmap-replace. (8f578af) Fix type-fold on multiplying exact numbers (10d11e6) Fix regression in compute-idoms (75ab52e) Port dead code elimination (DCE) pass to CPS2 (48b2f19) Port effects analysis to CPS2 (80c162b) Fix bug in CPS2 simplify's "transform-conts" (7d4ede0) intmaps and intsets print with abbreviated key ranges (102e677) Add arity to worklist-fold (1403df4) Variadic intset-fold, intmap-fold (5f7c8e5) Intmaps do not treat #f specially as a value (2b06e90) Add two-argument fixpoint arity (cb7aa0b) Fix bug compiling fixpoint combinator (4632f3d) Fix fixpoint (e0e47cb) Fix sub/- primcall bug (fa7df5e) Add optimization pass over CPS2 (ef5f2fc) Consolidate CPS2 above CPS in the compiler (b31af02) Adapt return arities in Tree-IL -> CPS2 conversion (9833c54) Build CPS2 with transient intmaps (3ab3cde) Tree-IL -> CPS2 -> CPS (5928d16) compute-dom-edges returns a persistent intmap (219b6f8) Fix another intset transient bug (7fedd7b) Fix intset-add! transient bug (f95a794) Fix convert-cps2 for "not" primcalls (d99fedc) Fix intmap-add! transient bug (0f082bd) Register up cps2 compiler with language tower (09869e7) cps2: Fix parse-cps for `prompt' (7cd61e2) Add compiler from tree-il to cps2 (773595f) Beginnings of CPS2 language. (6485e89) Add printers for <intmap> and <transient-intmap> (6ffb6e6) Add "cps2" experiment (eb9d442) Transient intsets (49cc76a) Add "transient" intmap interface (95db570) 32-way branching in intmap.scm, not 16-way (cf512e3) Intset-next micro-optimizations (048d5d3) Add intset-fold, intset-fold2 (9c8d2b8) Add intmap-fold. (b7668bd) Add intmap-prev (2a24395) Default "meet" operator is meet-error for intmap (33ab283) Remove "free" field of $fun (50fcdfe) Replace $letrec with $rec (34ff3af) Precise range inference on <, <=, >=, > branches (4ce1857) Fix intmap bug for maps with only one element (ef7a71b) elf: Add missing argument in 'elf-segment'. (dfa11aa) Only lazily compile where profitable (fe7ecee) Optimize branches in the evaluator (7fee63b) Primcall inlining in eval.scm, lazy function body compilation (d76d80d) Remove unused "nargs" field of memoized call expressions (eb03765) Marginal bootstrap memory improvements (af082f9) Remove $void CPS expression type (a9ec16f) Adapt GDB integration to newest patches (1f3baba) Re-implement (ice-9 streams) in terms of (srfi srfi-41) (aead655) build: Use pipe symbol instead of comma for substitutions. (9331f40) Non-vector 1D arrays print as #1() (eb3d623) Struct and array GDB pretty printers hint as arrays (c4c21de) GDB support: add frame annotators and filters (47612fd) De-bitrot libguile-2.2-gdb.scm (ef52b39) (system base types) knows about variables (577eab8) Fix infinite loop in expander (37ae02f) Add `scm_smob_type_class()'. (1bbf7f7) NEWS and doc updates (22c9e76) Document support for URI references. (d64146f) Reify bytevector? in the correct module (e87f059) Add #:static-slot-allocation? (26350ed) Fix foreign objects for getter method change (05d0cdf) Merge remote-tracking branch 'origin/stable-2.0' (7b0a8df) Accessor methods only apply to subclasses with their slot (649ec8d) Fix verify-cps (15e4746) Fix accessor struct field inlining (583a23b) Fix accessor struct inlining in GOOPS (e709738) Simplify and optimize slot access (4bde3f0) Export <slot> from GOOPS (193e2c5) Simplify GOOPS effective method cache format (d21ef26) Fast generic function dispatch without calling `compile' at runtime (0d96aca) GOOPS cosmetics (3f4829e) Update (oop goops save) for <slot> objects (0b4c068) Fix foreign objects for removal of getters-n-setters (7c49985) Minor GOOPS cleanups (c6fb41f) Optimize %initialize-object (79c2ca2) Inline internal slot accessors (2a3ef7c) Inline helpers into slot-ref, slot-set!, etc (c4974c5) Use a vtable bit to mark <slot> instances (e437c50) Introduce <slot> objects in GOOPS (568174d) Beginnings of <slot> slot definition class (26a6aae) The GOOPS "unbound" value is a unique pair (567a6d1) GOOPS: Deprecate "using-class" procs like slot-ref-using-class (2bcb278) change-object-class refactor (9539b20) slot-ref, slot-set! et al bypass "using-class" variants (f15c0f5) Manipulate GOOPS vtable flags from Scheme, for speed (761338f) GOOPS class slot indices defined as inline values (c2b61cf) `match' refactor in goops.scm (76d531c) Convert emit-linear-dispatch to use match (d273b9c) More GOOPS cleanups (f5c3476) when and unless for one-armed ifs in goops.scm (bacc882) More GOOPS comments (b89432f) Commenting in goops.scm (9ae0070) Narrative reordering in goops.scm (9647d3d) scm_make cleanup (cb3ea03) Add compute-cpl tests (9c49d47) Fold (oop goops util) into (oop goops) (ac5185c) GOOPS utils module cleanups (06d54b3) append-map rather than mapappend (91ff8e9) GOOPS cleanup to use SRFI-1 better (0ca4929) Cosmetic goops refactors. (c2aa5d9) Incorporate %inherit-magic! into %init-layout! (60061fe) goops.c no longer knows about <class> slot allocation (2025a02) Reimplement inherit-applicable! in Scheme (f37bece) Reimplement %allocate-instance in Scheme (07452c8) Re-use the vtable "size" field for GOOPS nfields (92928b8) Move <class> initialization to Scheme (4702cbe) Deprecate scm_get_keyword (2b5812c) Rewrite %initialize-object in Scheme (4a28ef1) Minor goops.c tidying (f608881) Remove scm_c_extend_primitive_generic (5a6165d) No more concept of "pure generics" (2b7692b) Remove TEST_CHANGE_CLASS (623a259) Remove pure-generic? (3292354) Goops slot-unbound / slot-missing cleanups (0cd9a69) Move slot-ref et al to Scheme (ade4cf4) Port method and generic accessors to Scheme (48c981c) <class> accessors implemented in Scheme (70dd600) goops: use computed class slot offsets; untabify and fix whitepace (8dfc0ba) Statically compute offsets for slots of <class> in Scheme (ebca094) Refactor to <class> slot computation (affe170) Remove GOOPS random state (945652a) More goops.c cleanups, and fix a security issue (2e0b693) Remove unused union scm_t_debug_info (06ea79b) More unused code removal in GOOPS (4db73f1) Remove private var_no_applicable_method capture (cf0a678) Remove scm_assert_bound (984d43b) Remove scm_at_assert_bound_ref (6a201bc) Remove hashset slots from GOOPS classes (e03e310) Deprecate C exports of GOOPS classes. (5789859) Generics with setters have <applicable-struct-with-setter> layout (6c7dd9e) Remove unused CPP defines naming <method> slots (9e2cd55) Remove unused `default-slot-definition-class' <class> slot (79f2aaa) Remove useless scm_s_slot_set_x export (005c078) Remove unreachable code in scm_setter (036c508) Deprecate scm_no_applicable_method C export (623559f) Remove unused scm_t_method and SCM_METHOD (07f6200) Fold GOOPS compile and dispatch modules into main GOOPS module (e0590e7) Remove unused *goops-module* definition. (6098d96) define-generic, define-extended-generic are hygienic syntax (7cb88cb) `class' is a hygienic macro (f840ed2) Deprecate scm_basic_make_class (28b818d) Move GOOPS boot to Scheme (51fd1cd) Remove declarations without definitions (a91ea6a) Remove unused %fast-slot-ref / %fast-slot-set! from GOOPS (8906f23) Preparation for more GOOPS refactorings (82ab509) %init-goops-builtins is an extension, not a global (6ab1939) compute-cpl implementation only in Scheme (9167e0b) More useless goops.c code removal (d1500d3) Remove unused macros in goops.c (08c5d88) Rewrite %method-more-specific? to be in Scheme (3a0d141) Deprecate C interfaces scm_compute_applicable_methods, scm_find_method (e4aa440) %compute-applicable-methods in Scheme (c0a56ec) Mark two coverage tests as XFAIL (6679375) Fix the assembler for unexpected source properties (e00c0a4) Merge commit '5b7632331e7551ac202bbaba37c572b96a791c6e' (4247d8e) Merge commit 'ed72201a795ac1c8d6c0288b6bb710f2bd0ebd9c' (0a5b437) Merge commit '01a301d1b606b84d986b735049e7155d2f4cd6aa' (e19235e) Merge commit '894d0b894daae001495c748b3352cd79918d3789' (baf9010) Merge commit '5943a62042432b86d757200ef595d7aebb5c9bac' (1cd7791) Merge commit '37b1453032488de582175270d1b3a1653ea81457' (baa74d3) Merge commit 'cdcba5b2f6270de808e51b3b933374170611b91d' (6f248df) Really disable stack underflow checks when VM_CHECK_UNDERFLOW == 0. (1abe6ba) Merge commit '5d971db802eaa8038db17e1aa5b4c69452739744' (2f5c5d0) Merge commit '47ca15c7dffd14a82e75c1a0aeeaf2e77f3fa5b4' (1fc3fc1) Merge commit '7c433cbbce83bc9f2f9967afba00bbb68e312657' (7c6ce75) Merge commit '5fac1a7ada362d78f13143acbc0ceca7f2f101de' (12dfe65) Merge commit '8cf2a7ba7432d68b9a055d29f18117be70375af9' (a5b5cb4) Merge commit '81d2c84674f03f9028f26474ab19d3d3f353881a' (a51111d) Merge commit 'fdd319e9bd4121d844662d3d8ccc69b462b60840' (086bbcc) Merge commit 'a7bbba05838cabe2294f498e7008e1c51db6d664' (d5dffec) Keywords have a tc7 (e2fafeb) Add allocate-struct, struct-ref, struct-set! instructions (27b3b5b) Merge commit '5af307de43e4b65eec7f235b48a8908f2a00f134' (678995f) Merge commit 'b1451ad859183ae48c624d19ec144306bd2d3e3a' (24d4f02) Fix #:init-value on class-allocated slots (5b76323) Fix buffer overrun with unbuffered custom binary input ports. (ed72201) Improve output of command-line errors. (e1d29ee) Optimize 'string-hash'. (01a301d) Add 'string-hash' benchmarks. (87a8b56) Deprecate 'scm_string_hash'. (894d0b8) Optimize 'write' for strings. (5943a62) Avoid converting the 'mode' argument of 'open-file'. (37b1453) statprof: 'statprof' and 'with-statprof' return the code's return values. (cdcba5b) Improve deprecation message of 'scm_add_to_port_table'. (5d971db) Assembler: Cope with non-string port filenames. (015c3c0) Convert primitive-eval to "compile" its expressions to linked closures (95de4f5) Fix syntax.test (dc33a94) Minor evaluator tweaks (5bfc065) Simplify variable resolution in the evaluator (e6a42e6) Closure conversion in evaluator (a3cae84) Add capture-env to evaluator (99fb07e) build: Better handle substitutions in 'guile-2.0.pc' & co. (47ca15c) Simplify the interpreter for trivial inits and no letrec (cfdc841) Assignment conversion in the interpreter (7974c57) build: Add missing substitutions for 'guile-2.0.pc'. (7c433cb) doc: Clarify the unit of the 'offset' argument of 'seek'. (680135b) Add the 'guild' and 'guile' variables to 'guile-2.0.pc'. (5fac1a7) Update (system base lalr) from upstream. (8cf2a7b) doc: Tell when 'GUILE_INSTALL_LOCALE' first appeared. (7e466e0) Implement SRFI 28: Basic Format Strings. (cffa9bd) doc: Clarify behavior of 'select' in the presence of signal interruptions. (d1447c7) Recognize m68k, s390x, and sh4 as compilation targets (136c3a4) Fix bytevector-fill! to accept fill arguments greater than 127. (ae6f77d) Avoid signed overflow and use size_t in bytevectors.c. (81d2c84) Add SCM_VALIDATE_SIZE_COPY and SCM_NUM2SIZE. (fdd319e) Fix bytevector-copy when applied to SRFI-4 homogeneous numeric vectors. (10679f4) Avoid bash-specific '==' comparison operator in guile.m4. (03242f3) Fix strerror error handling when given a non-integer argument. (fda17c2) texinfo: fix @url{@@} parsing (3f826e3) web: Location header is URI-reference; better URI-reference support (18c44b2) Use on-stack or GC-managed memory in 'search-path'. (a7bbba0) Reduce C heap allocations in 'search-path'. (9c5d6aa) Merge branch 'lloda-array-support' (7f2c824) i18n: Add HAVE_USELOCALE as a requirement for USE_GNU_LOCALE_API. (30c5982) scm_boot_guile: Gracefully handle the case where argc == 0. (b9ace68) Thank Per Bothner. (6b47249) build: Adjust autogen.sh to 'libtoolize' name on Darwin. (449be2a) read: Accept "\(" in string literals. (5af307d) docs: Fix documented return type of 'scm_c_export'. (b1451ad) Intern general arrays (0f25904) Pack array dimensions in array object (65704b9) Run some of arrays.test under both compiler & interpreter (ea342aa) Merge branch 'stable-2.0' (856d318) Add (ice-9 unicode) module (3157d45) peval: Handle optional argument inits that refer to previous arguments. (7a71a45) doc: Improve description of vector-unfold and vector-unfold-right. (ff4af3d) Fix ungetc for characters 0x80 <= c < 0xf0 in UTF-8. (f7582f9) Add 'EXIT_SUCCESS' and 'EXIT_FAILURE'. (447af51) guile-readline: Use the current directory if HOME is unset. (3a3316e) build: Use 'libtoolize' in autogen.sh. (76a8db2) Fix SCM_SMOB_OBJECT{_,_0_,_1_,_2_,_3_}LOC. (8442211) guild disassemble: Use #:prefix instead of #:renamer. (f2742bd) Document #:prefix option in use-module clauses. (0fce815) SRFI-43: vector-concatenate: Fix error message. (8f230e3) VM: Use register "a3" for IP_REG on m68k. (97c520f) VM: Allow the C compiler to choose FP_REG on ARM. (bed025b) Do not assume that 64-bit integers will be 64-bit aligned. (156119b) VM: ASM_MUL for ARM: Add earlyclobber constraint to the SMULL outputs. (a85c78e) tests: Link test against Gnulib. (b38c19a) Add (ice-9 unicode) module (c5ea755) Thank Franck. (9233c05) Handle ~p in 'format' warnings. (8ac39b3) Separate &boolean type into &true and &false (7f5887e) On MS-Windows, don't return file names with backslashes from search-path. (c6a7930) Copy the result from 'nl_langinfo' before it can be overwritten. (cfefef6) Make temporary file in coding.test work on MS-Windows. (7c848fe) doc: "!#" does not need to appear on a line of its own. (1e9249e) Clarify that object-properties cannot be reliably applied to numbers. (da6ecd4) Provide curried version of define*-public. (b072b8e) Prevent add-to-load-path from adding duplicate entries (8857e27) Better simplification of literal constants that continue to branches (b9a5bac) CPS will not see "not" primcalls (ae67b15) Simplify pass rewrite scope tree to reflect dominator tree (4495419) Remove dead case in CSE (7700e67) CSE allocate-struct fix (6fc634f) Fix typo in arities.scm (30411ab) Stabilize renumber.scm:sort-conts. (cf7a884) maybe_annotate_source does not annotate negative positions (3ddd438) Soft port fill-input doesn't alter line or column (3c01acb) scm_ungetc_unlocked should not result in negative columns (681f2b8) Fix allocate-slots for $kreceive with multiple predecessors (ebca3af) Block sorting to keep loop bodies together (6d7b6a1) Recognize more ARM targets. (ffd3e55) Fix bit-count* bug (d407525) build: Support pthread builds without 'pthread_cancel' support (Android). (f184e88) build: Use 'LT_LIB_M' to determine whether -lm is needed. (8c75d3a) Recognize arm-* target triplets. (df8c52e) logbit? strength reduction (9243902) Fix logand range analysis. (74fe7fa) Fix range analysis for mul and div (42b544e) Type-driven strength reduction (384d1ec) Small type-fold cleanup (c7b71b1) Remove trailing whitespace from ports.test. (c53b5d8) Untabify some test files. (8c6b62e) Fix problems with Windows file names that use backslashes. (9235f80) Fix calculation of CPU set size for getaffinity. (9dc3fc4) Provide a more reasonable default value for stack limit on MS-Windows. (5102fc3) Unconditionally build and test the ice-9/popen module. (317f6a2) Compiler emits br-if-logtest (d613cca) Add br-if-logtest opcode (8c6206f) Optimizer support for logtest and logbit? (8006d2d) Convert slot allocation to use intsets (5ded849) Add bitvector->intset. (7f6aafa) Restrict intsets and maps to non-negative integers (4296c36) Adapt visit-prompt-control-flow to use intsets. (e9808c1) CSE comments (c1a41f9) Add intset-subtract. (4129676) More fixes for deleting files whose ports are not closed. (bc945fa) Make 'system*' available on MS-Windows. (4698a11) Fix deletion of ports.test test file on MS-Windows. (0d77e06) Fix intset on 32-bit machines (93e8384) Remove size limit in elide-type-checks (0ad455c) Fix intmap-intersect corner case (e21dae4) CSE truth inference pass uses intsets (072b5a2) Result of intsect-intersect will share structure with A if it can (793ca4c) Fix an intset-intersect corner case (257db78) Fix intset pruning for empty intsets (b5cb1c7) Remove namesets. (2c02a21) Rewrite type inference to use intmaps (3a12f2c) New module (language cps intmap) (b352309) Rewrite CSE to use intsets. (6fe36f2) New module: (language cps intset) (b1103eb) Fix bit-count* bug (d40b053) Fix compilation of scm_nl_langinfo when some nl_langinfo items are missing. (c7161ee) Rewrite type inference pass to use namesets (ec412d7) New module: (language cps nameset) (97ed2e7) Refactor dominator computation (38c7bd0) Constant folding for (list) and (vector) in peval (803a1ee) tests: Improve lack-of-/dev/null detection. (f089330) i18n: Adjust tests for Windows. (700f6cd) i18n: Ignore LC_MESSAGES on MinGW. (c84f25b) tests: Use NUL instead of /dev/null on MinGW. (82b8cfa) Use the right GC version macros. (fab18c0) R6RS library documentation fix (43191a3) Fix typo in `transform-string' doc. (d86a063) Optimize scm_ilength and 'length+'. (fc8a900) test-guild-compile: Increase sleep time before sending SIGINT. (4afca1a) Avoid quadratic expansion time in 'and' and 'or' macros. (1ea8954) 'guild compile' doesn't leave temporary files behind it. (2da97f1) SRFI-1 'length+' raises an error unless passed a proper or circular list. (a5186f5) Mark system async functions as SCM_API. (12c6a47) Remove $kif (59258f7) CPS conversion produces $branch nodes, not $kif (fd61004) Add $branch expression type (92805e2) Fix source-line-for-user for unknown line (c90e2c6) Fix off-by-one in dump-dfg (51177f3) Fix compute-predecessors bug in frame.scm (5062a56) Slightly simplify 'scm_open_process'. (a43fa1b) rdelim: Speed up 'read-string' (aka. 'get-string-all'.) (a41b07a) tests: Add test for <http://bugs.gnu.org/17466>. (eb6ac6e) Fix shrinking of contiguous bytevectors, as from 'get-bytevector-n'. (1baa215) web: Keep the default size for the client's in-kernel receive buffer. (0bb3f94) tests: Add test for _IOLBF. (c497bfb) Update effects-analysis docstring. (146c8e7) Redefine memory kind part of effects to be enumeration, not flags (e7f2fe1) Silence GCC warning. (5e793ad) DCE uses type analysis to elide type checks (3be43fb) Limit impact of O(n^2) type analysis by imposing limit (a7ee377) Compile language/cps/types.scm early (a77e3a7) Enable type folding (6129faa) Type and range inference for CPS (8bc65d2) Add syntax-parameterize indentation to .dir-locals.el. (7ed92f0) Rewrite effects analysis to be precise for fields. (5d25fda) CSE effects analysis cleanup (466bdf7) Add dump-dfg pretty-printer (fb512ca) Synthetic definitions take advantage of CSE'd vars (c8d87b4) Fix thinko in synthesize-definition-effects! (aa980ce) Fix frame-call-representation for frames from apply-hook (7af8115) Program printing tweaks (423164e) Refactorings to apply-hook and push-continuation-hook (f5cb70e) frame-address, frame-stack-pointer return offsets (7c08018) frame-call-representation has #:top-frame? as keyword argument (18f8fd0) Set-car! on a dead pair does not force the pair to be live (40b36bb) Add auxiliary definitions for boxes (41812da) CSE does scalar replacement of aggregates (6119a90) More inlinable effects-analysis procedures (cfb42b4) Update NEWS (e15f3e3) Rewrite boot-9 map to be recursive and pure (9de674e) Fix inner and outer stack cuts to match on procedure code (de0233a) Merge remote-tracking branch 'origin/stable-2.0' (d7a67c3) Prefer foreign objects over smobs in manual (4338f2f) Add new standalone tests to gitignore (b1812a6) Remove doc/example-smob/ (9720934) Remove SMOB tutorial; update manual. (d9a4a1c) Add foreign object documentation (6e4630e) Add more foreign object interfaces (4b8ce7c) Avoid non-constant struct initializers (682a55d) Add scm_make_foreign_object_0; optimize scm_make_foreign_object_n. (ea4c246) New foreign object facility, to replace SMOBs (a7ee7f7) Fix foreign slot initialization and access (48ad85f) Add interface to disable automatic finalization (fa1a307)
2015-10-25Updated version (2.1.0.476.g1c9e23c -> 2.1.0.478.g4339cb9).AUR Update Bot
Changelog ========= Fix uninstalled-env bug that preferred bootstrap/ to module/ (4339cb9) Revert "Update Gnulib to v0.1-603-g1d16a7b" (95ac220) Bootstrap makefile tweaks (1c9e23c) Use a bootstrapped -O0 compiler to compile the -O2 Guile (5f4ac52) Wire up `guild compile -O0 foo.scm' (f169be9) Update Gnulib to v0.1-603-g1d16a7b (2d4da30) Minor NEWS update. (139ef2d) Small subr-call refactor (8832e8b) subr-call implementation simplification (9144f50) Update VM documentation for new stack layout (467e587) Add stack size computation to disassembler (f039604) Minor assembler cleanups (4afb46f) SP-relative local addressing (70c317a) Fix boot closure wrong-num-args error (9b1ac02) Prepare for SP-addressed locals (0da0308) Replace dynamic link on stack with previous frame size (72353de) Rename union scm_vm_stack_element members (8f02738) Remove sp from scm_vm_cont (30c06bf) VM caches address of local 0 instead of FP (aa9f6b0) VM stack grows downward (0007507) Fix prompt miscompilation (d7199da) Minor VM documentation updates (a0a8741) Fix typo in CPS conversion. (315adb6) Minor CPS documentation cleanups (73f6146) Update CPS language documentation (d701e8a) Remove unused (language tree-il inline) module. (78fdc3e) Allow decoding of UTF-8 containing U+FFFD, the replacement character. (00884bb) Add closure effects (4841239) Better codegen for $values terms that don't shuffle (90c1148) Loop peeling (3b60e79) solve-flow-equations tweak (4792577) Simplify rotate-loops.scm (ce28887) Loop inversion with multiple exits (e54fbff) Rotate comparisons down to loop back-edges (ee85e29) Eliminate trampoline gotos when possible in compile-bytecode (bf6930b) Small expression-effects tweak (bcfa9fe) Loop-invariant code motion (ec9554d) Move solve-flow-equations to utils (bebc70c) Factor out compute-effects/elide-type-checks from dce.scm (b40fac1) Add missing files (4aabc20) Rename CPS2 to CPS (aa7f0e2) Remove CPS1 language (0d4c937) Compile CPS2 directly to bytecode (39777b1) Slot allocation and bytecode compilation from CPS2. (910054b) Fix CPS2 compute-successors (16d92c5) intset-intersect bugfix (2df454b) Fix bad return shuffles for multiply-used $kreceive conts (ff2beb1) Fix error printing some wrong-num-args backtraces (08cf30f) More slot-allocation simplification (f63b2e4) CPS1 slot-allocation simplification (365296a) Utils refactors (19024bd) Add intset-prev and intset-fold-right (3b1d316) Reify primitives in CPS2 (1a819ea) Fix type/range inference for mul (90aabcc) Remove CPS optimization passes and closure conversion (420423f) Optimize first-order CPS (6f6a6ae) Beta reduction over first-order CPS (099784c) DCE works on first-order CPS (e419e9e) compute-reachable-functions refactor (1b95487) Prepare DCE pass for first-order CPS2 (263b409) Enable CPS2 closure conversion (030e9b7) CPS2 closure conversion bugfixes (6cfb7af) closure-conversion docstring tweak (e9e6da1) Wire up new closure conversion pass (981802c) Add CPS2 closure conversion module (285f62a) Verify pass works on first-order CPS (bf5c795) Beginnings of first-order CPS optimization (e0ef087) Tweak intset printing (363d649) CPS2 renumber works with first-order CPS (a15a142) Fix intset-subtract to reliably produce empty-intset (dc27708) intset-union fast paths (47a4727) Reorganizing of intset/intmap helper functions (1bb7a7f) Add split-rec pass (dbe6247) Renumber before contifying to eliminate stale conts (f418235) Disable CPS optimization passes (6f4487f) Enable all CPS2 optimization passes (b926d85) Tweaks to bootstrap build order (c028a0a) Add CPS2 verification pass (1071e77) Refactor renumber.scm (b012248) Port self-references pass to CPS2 (ff1a02b) Fix eta reduction on CPS2 (b0148e1) Fix intmap-ref bug (1850497) Fix slot allocation hinting for intervening terms that define dead values (8eea1fb) Fix write beyond stack boundary in vm-engine.c (bb051f2) Port type-fold to CPS2 (f541ee1) Add setk clause to with-cps (e8fa85f) Port CSE to CPS2 (c3bc1f8) Fix some cps2 utils bugs (ea5187a) Move some graph utilities from contification.scm to utils.scm (fef50ea) Port prune-bailouts pass to CPS2 (ba44619) Port elide-values pass to CPS2 (726558f) prune-top-level-scopes elides with $values (467736c) Port specialize-primcalls pass to CPS2 (0e33ee9) Port inline-constructors pass to CPS2 (42f9bda) Factor with-cps out to separate module (bac96c1) Port contification pass to CPS2. (6e725df) Add "intset" syntax to construct intsets. (d78e5a2) Add intmap-fold-right (8b4a523) Port prune-top-level-scopes pass to CPS2 (dd2e0f5) Fix compute-defining-expressions (and thereby compute-constant-values) (2838c6e) Add intmap-replace!. (2337946) DCE uses type analysis to find dead code (ad29059) Port type inference module to CPS2 (8481bdb) intset-next starting point is optional (6a42ac7) Add intmap-replace. (8f578af) Fix type-fold on multiplying exact numbers (10d11e6) Fix regression in compute-idoms (75ab52e) Port dead code elimination (DCE) pass to CPS2 (48b2f19) Port effects analysis to CPS2 (80c162b) Fix bug in CPS2 simplify's "transform-conts" (7d4ede0) intmaps and intsets print with abbreviated key ranges (102e677) Add arity to worklist-fold (1403df4) Variadic intset-fold, intmap-fold (5f7c8e5) Intmaps do not treat #f specially as a value (2b06e90) Add two-argument fixpoint arity (cb7aa0b) Fix bug compiling fixpoint combinator (4632f3d) Fix fixpoint (e0e47cb) Fix sub/- primcall bug (fa7df5e) Add optimization pass over CPS2 (ef5f2fc) Consolidate CPS2 above CPS in the compiler (b31af02) Adapt return arities in Tree-IL -> CPS2 conversion (9833c54) Build CPS2 with transient intmaps (3ab3cde) Tree-IL -> CPS2 -> CPS (5928d16) compute-dom-edges returns a persistent intmap (219b6f8) Fix another intset transient bug (7fedd7b) Fix intset-add! transient bug (f95a794) Fix convert-cps2 for "not" primcalls (d99fedc) Fix intmap-add! transient bug (0f082bd) Register up cps2 compiler with language tower (09869e7) cps2: Fix parse-cps for `prompt' (7cd61e2) Add compiler from tree-il to cps2 (773595f) Beginnings of CPS2 language. (6485e89) Add printers for <intmap> and <transient-intmap> (6ffb6e6) Add "cps2" experiment (eb9d442) Transient intsets (49cc76a) Add "transient" intmap interface (95db570) 32-way branching in intmap.scm, not 16-way (cf512e3) Intset-next micro-optimizations (048d5d3) Add intset-fold, intset-fold2 (9c8d2b8) Add intmap-fold. (b7668bd) Add intmap-prev (2a24395) Default "meet" operator is meet-error for intmap (33ab283) Remove "free" field of $fun (50fcdfe) Replace $letrec with $rec (34ff3af) Precise range inference on <, <=, >=, > branches (4ce1857) Fix intmap bug for maps with only one element (ef7a71b) elf: Add missing argument in 'elf-segment'. (dfa11aa) Only lazily compile where profitable (fe7ecee) Optimize branches in the evaluator (7fee63b) Primcall inlining in eval.scm, lazy function body compilation (d76d80d) Remove unused "nargs" field of memoized call expressions (eb03765) Marginal bootstrap memory improvements (af082f9) Remove $void CPS expression type (a9ec16f) Adapt GDB integration to newest patches (1f3baba) Re-implement (ice-9 streams) in terms of (srfi srfi-41) (aead655) build: Use pipe symbol instead of comma for substitutions. (9331f40) Non-vector 1D arrays print as #1() (eb3d623) Struct and array GDB pretty printers hint as arrays (c4c21de) GDB support: add frame annotators and filters (47612fd) De-bitrot libguile-2.2-gdb.scm (ef52b39) (system base types) knows about variables (577eab8) Fix infinite loop in expander (37ae02f) Add `scm_smob_type_class()'. (1bbf7f7) NEWS and doc updates (22c9e76) Document support for URI references. (d64146f) Reify bytevector? in the correct module (e87f059) Add #:static-slot-allocation? (26350ed) Fix foreign objects for getter method change (05d0cdf) Merge remote-tracking branch 'origin/stable-2.0' (7b0a8df) Accessor methods only apply to subclasses with their slot (649ec8d) Fix verify-cps (15e4746) Fix accessor struct field inlining (583a23b) Fix accessor struct inlining in GOOPS (e709738) Simplify and optimize slot access (4bde3f0) Export <slot> from GOOPS (193e2c5) Simplify GOOPS effective method cache format (d21ef26) Fast generic function dispatch without calling `compile' at runtime (0d96aca) GOOPS cosmetics (3f4829e) Update (oop goops save) for <slot> objects (0b4c068) Fix foreign objects for removal of getters-n-setters (7c49985) Minor GOOPS cleanups (c6fb41f) Optimize %initialize-object (79c2ca2) Inline internal slot accessors (2a3ef7c) Inline helpers into slot-ref, slot-set!, etc (c4974c5) Use a vtable bit to mark <slot> instances (e437c50) Introduce <slot> objects in GOOPS (568174d) Beginnings of <slot> slot definition class (26a6aae) The GOOPS "unbound" value is a unique pair (567a6d1) GOOPS: Deprecate "using-class" procs like slot-ref-using-class (2bcb278) change-object-class refactor (9539b20) slot-ref, slot-set! et al bypass "using-class" variants (f15c0f5) Manipulate GOOPS vtable flags from Scheme, for speed (761338f) GOOPS class slot indices defined as inline values (c2b61cf) `match' refactor in goops.scm (76d531c) Convert emit-linear-dispatch to use match (d273b9c) More GOOPS cleanups (f5c3476) when and unless for one-armed ifs in goops.scm (bacc882) More GOOPS comments (b89432f) Commenting in goops.scm (9ae0070) Narrative reordering in goops.scm (9647d3d) scm_make cleanup (cb3ea03) Add compute-cpl tests (9c49d47) Fold (oop goops util) into (oop goops) (ac5185c) GOOPS utils module cleanups (06d54b3) append-map rather than mapappend (91ff8e9) GOOPS cleanup to use SRFI-1 better (0ca4929) Cosmetic goops refactors. (c2aa5d9) Incorporate %inherit-magic! into %init-layout! (60061fe) goops.c no longer knows about <class> slot allocation (2025a02) Reimplement inherit-applicable! in Scheme (f37bece) Reimplement %allocate-instance in Scheme (07452c8) Re-use the vtable "size" field for GOOPS nfields (92928b8) Move <class> initialization to Scheme (4702cbe) Deprecate scm_get_keyword (2b5812c) Rewrite %initialize-object in Scheme (4a28ef1) Minor goops.c tidying (f608881) Remove scm_c_extend_primitive_generic (5a6165d) No more concept of "pure generics" (2b7692b) Remove TEST_CHANGE_CLASS (623a259) Remove pure-generic? (3292354) Goops slot-unbound / slot-missing cleanups (0cd9a69) Move slot-ref et al to Scheme (ade4cf4) Port method and generic accessors to Scheme (48c981c) <class> accessors implemented in Scheme (70dd600) goops: use computed class slot offsets; untabify and fix whitepace (8dfc0ba) Statically compute offsets for slots of <class> in Scheme (ebca094) Refactor to <class> slot computation (affe170) Remove GOOPS random state (945652a) More goops.c cleanups, and fix a security issue (2e0b693) Remove unused union scm_t_debug_info (06ea79b) More unused code removal in GOOPS (4db73f1) Remove private var_no_applicable_method capture (cf0a678) Remove scm_assert_bound (984d43b) Remove scm_at_assert_bound_ref (6a201bc) Remove hashset slots from GOOPS classes (e03e310) Deprecate C exports of GOOPS classes. (5789859) Generics with setters have <applicable-struct-with-setter> layout (6c7dd9e) Remove unused CPP defines naming <method> slots (9e2cd55) Remove unused `default-slot-definition-class' <class> slot (79f2aaa) Remove useless scm_s_slot_set_x export (005c078) Remove unreachable code in scm_setter (036c508) Deprecate scm_no_applicable_method C export (623559f) Remove unused scm_t_method and SCM_METHOD (07f6200) Fold GOOPS compile and dispatch modules into main GOOPS module (e0590e7) Remove unused *goops-module* definition. (6098d96) define-generic, define-extended-generic are hygienic syntax (7cb88cb) `class' is a hygienic macro (f840ed2) Deprecate scm_basic_make_class (28b818d) Move GOOPS boot to Scheme (51fd1cd) Remove declarations without definitions (a91ea6a) Remove unused %fast-slot-ref / %fast-slot-set! from GOOPS (8906f23) Preparation for more GOOPS refactorings (82ab509) %init-goops-builtins is an extension, not a global (6ab1939) compute-cpl implementation only in Scheme (9167e0b) More useless goops.c code removal (d1500d3) Remove unused macros in goops.c (08c5d88) Rewrite %method-more-specific? to be in Scheme (3a0d141) Deprecate C interfaces scm_compute_applicable_methods, scm_find_method (e4aa440) %compute-applicable-methods in Scheme (c0a56ec) Mark two coverage tests as XFAIL (6679375) Fix the assembler for unexpected source properties (e00c0a4) Merge commit '5b7632331e7551ac202bbaba37c572b96a791c6e' (4247d8e) Merge commit 'ed72201a795ac1c8d6c0288b6bb710f2bd0ebd9c' (0a5b437) Merge commit '01a301d1b606b84d986b735049e7155d2f4cd6aa' (e19235e) Merge commit '894d0b894daae001495c748b3352cd79918d3789' (baf9010) Merge commit '5943a62042432b86d757200ef595d7aebb5c9bac' (1cd7791) Merge commit '37b1453032488de582175270d1b3a1653ea81457' (baa74d3) Merge commit 'cdcba5b2f6270de808e51b3b933374170611b91d' (6f248df) Really disable stack underflow checks when VM_CHECK_UNDERFLOW == 0. (1abe6ba) Merge commit '5d971db802eaa8038db17e1aa5b4c69452739744' (2f5c5d0) Merge commit '47ca15c7dffd14a82e75c1a0aeeaf2e77f3fa5b4' (1fc3fc1) Merge commit '7c433cbbce83bc9f2f9967afba00bbb68e312657' (7c6ce75) Merge commit '5fac1a7ada362d78f13143acbc0ceca7f2f101de' (12dfe65) Merge commit '8cf2a7ba7432d68b9a055d29f18117be70375af9' (a5b5cb4) Merge commit '81d2c84674f03f9028f26474ab19d3d3f353881a' (a51111d) Merge commit 'fdd319e9bd4121d844662d3d8ccc69b462b60840' (086bbcc) Merge commit 'a7bbba05838cabe2294f498e7008e1c51db6d664' (d5dffec) Keywords have a tc7 (e2fafeb) Add allocate-struct, struct-ref, struct-set! instructions (27b3b5b) Merge commit '5af307de43e4b65eec7f235b48a8908f2a00f134' (678995f) Merge commit 'b1451ad859183ae48c624d19ec144306bd2d3e3a' (24d4f02) Fix #:init-value on class-allocated slots (5b76323) Fix buffer overrun with unbuffered custom binary input ports. (ed72201) Improve output of command-line errors. (e1d29ee) Optimize 'string-hash'. (01a301d) Add 'string-hash' benchmarks. (87a8b56) Deprecate 'scm_string_hash'. (894d0b8) Optimize 'write' for strings. (5943a62) Avoid converting the 'mode' argument of 'open-file'. (37b1453) statprof: 'statprof' and 'with-statprof' return the code's return values. (cdcba5b) Improve deprecation message of 'scm_add_to_port_table'. (5d971db) Assembler: Cope with non-string port filenames. (015c3c0) Convert primitive-eval to "compile" its expressions to linked closures (95de4f5) Fix syntax.test (dc33a94) Minor evaluator tweaks (5bfc065) Simplify variable resolution in the evaluator (e6a42e6) Closure conversion in evaluator (a3cae84) Add capture-env to evaluator (99fb07e) build: Better handle substitutions in 'guile-2.0.pc' & co. (47ca15c) Simplify the interpreter for trivial inits and no letrec (cfdc841) Assignment conversion in the interpreter (7974c57) build: Add missing substitutions for 'guile-2.0.pc'. (7c433cb) doc: Clarify the unit of the 'offset' argument of 'seek'. (680135b) Add the 'guild' and 'guile' variables to 'guile-2.0.pc'. (5fac1a7) Update (system base lalr) from upstream. (8cf2a7b) doc: Tell when 'GUILE_INSTALL_LOCALE' first appeared. (7e466e0) Implement SRFI 28: Basic Format Strings. (cffa9bd) doc: Clarify behavior of 'select' in the presence of signal interruptions. (d1447c7) Recognize m68k, s390x, and sh4 as compilation targets (136c3a4) Fix bytevector-fill! to accept fill arguments greater than 127. (ae6f77d) Avoid signed overflow and use size_t in bytevectors.c. (81d2c84) Add SCM_VALIDATE_SIZE_COPY and SCM_NUM2SIZE. (fdd319e) Fix bytevector-copy when applied to SRFI-4 homogeneous numeric vectors. (10679f4) Avoid bash-specific '==' comparison operator in guile.m4. (03242f3) Fix strerror error handling when given a non-integer argument. (fda17c2) texinfo: fix @url{@@} parsing (3f826e3) web: Location header is URI-reference; better URI-reference support (18c44b2) Use on-stack or GC-managed memory in 'search-path'. (a7bbba0) Reduce C heap allocations in 'search-path'. (9c5d6aa) Merge branch 'lloda-array-support' (7f2c824) i18n: Add HAVE_USELOCALE as a requirement for USE_GNU_LOCALE_API. (30c5982) scm_boot_guile: Gracefully handle the case where argc == 0. (b9ace68) Thank Per Bothner. (6b47249) build: Adjust autogen.sh to 'libtoolize' name on Darwin. (449be2a) read: Accept "\(" in string literals. (5af307d) docs: Fix documented return type of 'scm_c_export'. (b1451ad) Intern general arrays (0f25904) Pack array dimensions in array object (65704b9) Run some of arrays.test under both compiler & interpreter (ea342aa) Merge branch 'stable-2.0' (856d318) Add (ice-9 unicode) module (3157d45) peval: Handle optional argument inits that refer to previous arguments. (7a71a45) doc: Improve description of vector-unfold and vector-unfold-right. (ff4af3d) Fix ungetc for characters 0x80 <= c < 0xf0 in UTF-8. (f7582f9) Add 'EXIT_SUCCESS' and 'EXIT_FAILURE'. (447af51) guile-readline: Use the current directory if HOME is unset. (3a3316e) build: Use 'libtoolize' in autogen.sh. (76a8db2) Fix SCM_SMOB_OBJECT{_,_0_,_1_,_2_,_3_}LOC. (8442211) guild disassemble: Use #:prefix instead of #:renamer. (f2742bd) Document #:prefix option in use-module clauses. (0fce815) SRFI-43: vector-concatenate: Fix error message. (8f230e3) VM: Use register "a3" for IP_REG on m68k. (97c520f) VM: Allow the C compiler to choose FP_REG on ARM. (bed025b) Do not assume that 64-bit integers will be 64-bit aligned. (156119b) VM: ASM_MUL for ARM: Add earlyclobber constraint to the SMULL outputs. (a85c78e) tests: Link test against Gnulib. (b38c19a) Add (ice-9 unicode) module (c5ea755) Thank Franck. (9233c05) Handle ~p in 'format' warnings. (8ac39b3) Separate &boolean type into &true and &false (7f5887e) On MS-Windows, don't return file names with backslashes from search-path. (c6a7930) Copy the result from 'nl_langinfo' before it can be overwritten. (cfefef6) Make temporary file in coding.test work on MS-Windows. (7c848fe) doc: "!#" does not need to appear on a line of its own. (1e9249e) Clarify that object-properties cannot be reliably applied to numbers. (da6ecd4) Provide curried version of define*-public. (b072b8e) Prevent add-to-load-path from adding duplicate entries (8857e27) Better simplification of literal constants that continue to branches (b9a5bac) CPS will not see "not" primcalls (ae67b15) Simplify pass rewrite scope tree to reflect dominator tree (4495419) Remove dead case in CSE (7700e67) CSE allocate-struct fix (6fc634f) Fix typo in arities.scm (30411ab) Stabilize renumber.scm:sort-conts. (cf7a884) maybe_annotate_source does not annotate negative positions (3ddd438) Soft port fill-input doesn't alter line or column (3c01acb) scm_ungetc_unlocked should not result in negative columns (681f2b8) Fix allocate-slots for $kreceive with multiple predecessors (ebca3af) Block sorting to keep loop bodies together (6d7b6a1) Recognize more ARM targets. (ffd3e55) Fix bit-count* bug (d407525) build: Support pthread builds without 'pthread_cancel' support (Android). (f184e88) build: Use 'LT_LIB_M' to determine whether -lm is needed. (8c75d3a) Recognize arm-* target triplets. (df8c52e) logbit? strength reduction (9243902) Fix logand range analysis. (74fe7fa) Fix range analysis for mul and div (42b544e) Type-driven strength reduction (384d1ec) Small type-fold cleanup (c7b71b1) Remove trailing whitespace from ports.test. (c53b5d8) Untabify some test files. (8c6b62e) Fix problems with Windows file names that use backslashes. (9235f80) Fix calculation of CPU set size for getaffinity. (9dc3fc4) Provide a more reasonable default value for stack limit on MS-Windows. (5102fc3) Unconditionally build and test the ice-9/popen module. (317f6a2) Compiler emits br-if-logtest (d613cca) Add br-if-logtest opcode (8c6206f) Optimizer support for logtest and logbit? (8006d2d) Convert slot allocation to use intsets (5ded849) Add bitvector->intset. (7f6aafa) Restrict intsets and maps to non-negative integers (4296c36) Adapt visit-prompt-control-flow to use intsets. (e9808c1) CSE comments (c1a41f9) Add intset-subtract. (4129676) More fixes for deleting files whose ports are not closed. (bc945fa) Make 'system*' available on MS-Windows. (4698a11) Fix deletion of ports.test test file on MS-Windows. (0d77e06) Fix intset on 32-bit machines (93e8384) Remove size limit in elide-type-checks (0ad455c) Fix intmap-intersect corner case (e21dae4) CSE truth inference pass uses intsets (072b5a2) Result of intsect-intersect will share structure with A if it can (793ca4c) Fix an intset-intersect corner case (257db78) Fix intset pruning for empty intsets (b5cb1c7) Remove namesets. (2c02a21) Rewrite type inference to use intmaps (3a12f2c) New module (language cps intmap) (b352309) Rewrite CSE to use intsets. (6fe36f2) New module: (language cps intset) (b1103eb) Fix bit-count* bug (d40b053) Fix compilation of scm_nl_langinfo when some nl_langinfo items are missing. (c7161ee) Rewrite type inference pass to use namesets (ec412d7) New module: (language cps nameset) (97ed2e7) Refactor dominator computation (38c7bd0) Constant folding for (list) and (vector) in peval (803a1ee) tests: Improve lack-of-/dev/null detection. (f089330) i18n: Adjust tests for Windows. (700f6cd) i18n: Ignore LC_MESSAGES on MinGW. (c84f25b) tests: Use NUL instead of /dev/null on MinGW. (82b8cfa) Use the right GC version macros. (fab18c0) R6RS library documentation fix (43191a3) Fix typo in `transform-string' doc. (d86a063) Optimize scm_ilength and 'length+'. (fc8a900) test-guild-compile: Increase sleep time before sending SIGINT. (4afca1a) Avoid quadratic expansion time in 'and' and 'or' macros. (1ea8954) 'guild compile' doesn't leave temporary files behind it. (2da97f1) SRFI-1 'length+' raises an error unless passed a proper or circular list. (a5186f5) Mark system async functions as SCM_API. (12c6a47) Remove $kif (59258f7) CPS conversion produces $branch nodes, not $kif (fd61004) Add $branch expression type (92805e2) Fix source-line-for-user for unknown line (c90e2c6) Fix off-by-one in dump-dfg (51177f3) Fix compute-predecessors bug in frame.scm (5062a56) Slightly simplify 'scm_open_process'. (a43fa1b) rdelim: Speed up 'read-string' (aka. 'get-string-all'.) (a41b07a) tests: Add test for <http://bugs.gnu.org/17466>. (eb6ac6e) Fix shrinking of contiguous bytevectors, as from 'get-bytevector-n'. (1baa215) web: Keep the default size for the client's in-kernel receive buffer. (0bb3f94) tests: Add test for _IOLBF. (c497bfb) Update effects-analysis docstring. (146c8e7) Redefine memory kind part of effects to be enumeration, not flags (e7f2fe1) Silence GCC warning. (5e793ad) DCE uses type analysis to elide type checks (3be43fb) Limit impact of O(n^2) type analysis by imposing limit (a7ee377) Compile language/cps/types.scm early (a77e3a7) Enable type folding (6129faa) Type and range inference for CPS (8bc65d2) Add syntax-parameterize indentation to .dir-locals.el. (7ed92f0) Rewrite effects analysis to be precise for fields. (5d25fda) CSE effects analysis cleanup (466bdf7) Add dump-dfg pretty-printer (fb512ca) Synthetic definitions take advantage of CSE'd vars (c8d87b4) Fix thinko in synthesize-definition-effects! (aa980ce) Fix frame-call-representation for frames from apply-hook (7af8115) Program printing tweaks (423164e) Refactorings to apply-hook and push-continuation-hook (f5cb70e) frame-address, frame-stack-pointer return offsets (7c08018) frame-call-representation has #:top-frame? as keyword argument (18f8fd0) Set-car! on a dead pair does not force the pair to be live (40b36bb) Add auxiliary definitions for boxes (41812da) CSE does scalar replacement of aggregates (6119a90) More inlinable effects-analysis procedures (cfb42b4) Update NEWS (e15f3e3) Rewrite boot-9 map to be recursive and pure (9de674e) Fix inner and outer stack cuts to match on procedure code (de0233a) Merge remote-tracking branch 'origin/stable-2.0' (d7a67c3) Prefer foreign objects over smobs in manual (4338f2f) Add new standalone tests to gitignore (b1812a6) Remove doc/example-smob/ (9720934) Remove SMOB tutorial; update manual. (d9a4a1c) Add foreign object documentation (6e4630e) Add more foreign object interfaces (4b8ce7c) Avoid non-constant struct initializers (682a55d) Add scm_make_foreign_object_0; optimize scm_make_foreign_object_n. (ea4c246) New foreign object facility, to replace SMOBs (a7ee7f7) Fix foreign slot initialization and access (48ad85f) Add interface to disable automatic finalization (fa1a307)
2015-10-23Updated version (2.1.0.468.gf039604 -> 2.1.0.476.g1c9e23c).AUR Update Bot
Changelog ========= Bootstrap makefile tweaks (1c9e23c) Use a bootstrapped -O0 compiler to compile the -O2 Guile (5f4ac52) Wire up `guild compile -O0 foo.scm' (f169be9) Update Gnulib to v0.1-603-g1d16a7b (2d4da30) Minor NEWS update. (139ef2d) Small subr-call refactor (8832e8b) subr-call implementation simplification (9144f50) Update VM documentation for new stack layout (467e587) Add stack size computation to disassembler (f039604) Minor assembler cleanups (4afb46f) SP-relative local addressing (70c317a) Fix boot closure wrong-num-args error (9b1ac02) Prepare for SP-addressed locals (0da0308) Replace dynamic link on stack with previous frame size (72353de) Rename union scm_vm_stack_element members (8f02738) Remove sp from scm_vm_cont (30c06bf) VM caches address of local 0 instead of FP (aa9f6b0) VM stack grows downward (0007507) Fix prompt miscompilation (d7199da) Minor VM documentation updates (a0a8741) Fix typo in CPS conversion. (315adb6) Minor CPS documentation cleanups (73f6146) Update CPS language documentation (d701e8a) Remove unused (language tree-il inline) module. (78fdc3e) Allow decoding of UTF-8 containing U+FFFD, the replacement character. (00884bb) Add closure effects (4841239) Better codegen for $values terms that don't shuffle (90c1148) Loop peeling (3b60e79) solve-flow-equations tweak (4792577) Simplify rotate-loops.scm (ce28887) Loop inversion with multiple exits (e54fbff) Rotate comparisons down to loop back-edges (ee85e29) Eliminate trampoline gotos when possible in compile-bytecode (bf6930b) Small expression-effects tweak (bcfa9fe) Loop-invariant code motion (ec9554d) Move solve-flow-equations to utils (bebc70c) Factor out compute-effects/elide-type-checks from dce.scm (b40fac1) Add missing files (4aabc20) Rename CPS2 to CPS (aa7f0e2) Remove CPS1 language (0d4c937) Compile CPS2 directly to bytecode (39777b1) Slot allocation and bytecode compilation from CPS2. (910054b) Fix CPS2 compute-successors (16d92c5) intset-intersect bugfix (2df454b) Fix bad return shuffles for multiply-used $kreceive conts (ff2beb1) Fix error printing some wrong-num-args backtraces (08cf30f) More slot-allocation simplification (f63b2e4) CPS1 slot-allocation simplification (365296a) Utils refactors (19024bd) Add intset-prev and intset-fold-right (3b1d316) Reify primitives in CPS2 (1a819ea) Fix type/range inference for mul (90aabcc) Remove CPS optimization passes and closure conversion (420423f) Optimize first-order CPS (6f6a6ae) Beta reduction over first-order CPS (099784c) DCE works on first-order CPS (e419e9e) compute-reachable-functions refactor (1b95487) Prepare DCE pass for first-order CPS2 (263b409) Enable CPS2 closure conversion (030e9b7) CPS2 closure conversion bugfixes (6cfb7af) closure-conversion docstring tweak (e9e6da1) Wire up new closure conversion pass (981802c) Add CPS2 closure conversion module (285f62a) Verify pass works on first-order CPS (bf5c795) Beginnings of first-order CPS optimization (e0ef087) Tweak intset printing (363d649) CPS2 renumber works with first-order CPS (a15a142) Fix intset-subtract to reliably produce empty-intset (dc27708) intset-union fast paths (47a4727) Reorganizing of intset/intmap helper functions (1bb7a7f) Add split-rec pass (dbe6247) Renumber before contifying to eliminate stale conts (f418235) Disable CPS optimization passes (6f4487f) Enable all CPS2 optimization passes (b926d85) Tweaks to bootstrap build order (c028a0a) Add CPS2 verification pass (1071e77) Refactor renumber.scm (b012248) Port self-references pass to CPS2 (ff1a02b) Fix eta reduction on CPS2 (b0148e1) Fix intmap-ref bug (1850497) Fix slot allocation hinting for intervening terms that define dead values (8eea1fb) Fix write beyond stack boundary in vm-engine.c (bb051f2) Port type-fold to CPS2 (f541ee1) Add setk clause to with-cps (e8fa85f) Port CSE to CPS2 (c3bc1f8) Fix some cps2 utils bugs (ea5187a) Move some graph utilities from contification.scm to utils.scm (fef50ea) Port prune-bailouts pass to CPS2 (ba44619) Port elide-values pass to CPS2 (726558f) prune-top-level-scopes elides with $values (467736c) Port specialize-primcalls pass to CPS2 (0e33ee9) Port inline-constructors pass to CPS2 (42f9bda) Factor with-cps out to separate module (bac96c1) Port contification pass to CPS2. (6e725df) Add "intset" syntax to construct intsets. (d78e5a2) Add intmap-fold-right (8b4a523) Port prune-top-level-scopes pass to CPS2 (dd2e0f5) Fix compute-defining-expressions (and thereby compute-constant-values) (2838c6e) Add intmap-replace!. (2337946) DCE uses type analysis to find dead code (ad29059) Port type inference module to CPS2 (8481bdb) intset-next starting point is optional (6a42ac7) Add intmap-replace. (8f578af) Fix type-fold on multiplying exact numbers (10d11e6) Fix regression in compute-idoms (75ab52e) Port dead code elimination (DCE) pass to CPS2 (48b2f19) Port effects analysis to CPS2 (80c162b) Fix bug in CPS2 simplify's "transform-conts" (7d4ede0) intmaps and intsets print with abbreviated key ranges (102e677) Add arity to worklist-fold (1403df4) Variadic intset-fold, intmap-fold (5f7c8e5) Intmaps do not treat #f specially as a value (2b06e90) Add two-argument fixpoint arity (cb7aa0b) Fix bug compiling fixpoint combinator (4632f3d) Fix fixpoint (e0e47cb) Fix sub/- primcall bug (fa7df5e) Add optimization pass over CPS2 (ef5f2fc) Consolidate CPS2 above CPS in the compiler (b31af02) Adapt return arities in Tree-IL -> CPS2 conversion (9833c54) Build CPS2 with transient intmaps (3ab3cde) Tree-IL -> CPS2 -> CPS (5928d16) compute-dom-edges returns a persistent intmap (219b6f8) Fix another intset transient bug (7fedd7b) Fix intset-add! transient bug (f95a794) Fix convert-cps2 for "not" primcalls (d99fedc) Fix intmap-add! transient bug (0f082bd) Register up cps2 compiler with language tower (09869e7) cps2: Fix parse-cps for `prompt' (7cd61e2) Add compiler from tree-il to cps2 (773595f) Beginnings of CPS2 language. (6485e89) Add printers for <intmap> and <transient-intmap> (6ffb6e6) Add "cps2" experiment (eb9d442) Transient intsets (49cc76a) Add "transient" intmap interface (95db570) 32-way branching in intmap.scm, not 16-way (cf512e3) Intset-next micro-optimizations (048d5d3) Add intset-fold, intset-fold2 (9c8d2b8) Add intmap-fold. (b7668bd) Add intmap-prev (2a24395) Default "meet" operator is meet-error for intmap (33ab283) Remove "free" field of $fun (50fcdfe) Replace $letrec with $rec (34ff3af) Precise range inference on <, <=, >=, > branches (4ce1857) Fix intmap bug for maps with only one element (ef7a71b) elf: Add missing argument in 'elf-segment'. (dfa11aa) Only lazily compile where profitable (fe7ecee) Optimize branches in the evaluator (7fee63b) Primcall inlining in eval.scm, lazy function body compilation (d76d80d) Remove unused "nargs" field of memoized call expressions (eb03765) Marginal bootstrap memory improvements (af082f9) Remove $void CPS expression type (a9ec16f) Adapt GDB integration to newest patches (1f3baba) Re-implement (ice-9 streams) in terms of (srfi srfi-41) (aead655) build: Use pipe symbol instead of comma for substitutions. (9331f40) Non-vector 1D arrays print as #1() (eb3d623) Struct and array GDB pretty printers hint as arrays (c4c21de) GDB support: add frame annotators and filters (47612fd) De-bitrot libguile-2.2-gdb.scm (ef52b39) (system base types) knows about variables (577eab8) Fix infinite loop in expander (37ae02f) Add `scm_smob_type_class()'. (1bbf7f7) NEWS and doc updates (22c9e76) Document support for URI references. (d64146f) Reify bytevector? in the correct module (e87f059) Add #:static-slot-allocation? (26350ed) Fix foreign objects for getter method change (05d0cdf) Merge remote-tracking branch 'origin/stable-2.0' (7b0a8df) Accessor methods only apply to subclasses with their slot (649ec8d) Fix verify-cps (15e4746) Fix accessor struct field inlining (583a23b) Fix accessor struct inlining in GOOPS (e709738) Simplify and optimize slot access (4bde3f0) Export <slot> from GOOPS (193e2c5) Simplify GOOPS effective method cache format (d21ef26) Fast generic function dispatch without calling `compile' at runtime (0d96aca) GOOPS cosmetics (3f4829e) Update (oop goops save) for <slot> objects (0b4c068) Fix foreign objects for removal of getters-n-setters (7c49985) Minor GOOPS cleanups (c6fb41f) Optimize %initialize-object (79c2ca2) Inline internal slot accessors (2a3ef7c) Inline helpers into slot-ref, slot-set!, etc (c4974c5) Use a vtable bit to mark <slot> instances (e437c50) Introduce <slot> objects in GOOPS (568174d) Beginnings of <slot> slot definition class (26a6aae) The GOOPS "unbound" value is a unique pair (567a6d1) GOOPS: Deprecate "using-class" procs like slot-ref-using-class (2bcb278) change-object-class refactor (9539b20) slot-ref, slot-set! et al bypass "using-class" variants (f15c0f5) Manipulate GOOPS vtable flags from Scheme, for speed (761338f) GOOPS class slot indices defined as inline values (c2b61cf) `match' refactor in goops.scm (76d531c) Convert emit-linear-dispatch to use match (d273b9c) More GOOPS cleanups (f5c3476) when and unless for one-armed ifs in goops.scm (bacc882) More GOOPS comments (b89432f) Commenting in goops.scm (9ae0070) Narrative reordering in goops.scm (9647d3d) scm_make cleanup (cb3ea03) Add compute-cpl tests (9c49d47) Fold (oop goops util) into (oop goops) (ac5185c) GOOPS utils module cleanups (06d54b3) append-map rather than mapappend (91ff8e9) GOOPS cleanup to use SRFI-1 better (0ca4929) Cosmetic goops refactors. (c2aa5d9) Incorporate %inherit-magic! into %init-layout! (60061fe) goops.c no longer knows about <class> slot allocation (2025a02) Reimplement inherit-applicable! in Scheme (f37bece) Reimplement %allocate-instance in Scheme (07452c8) Re-use the vtable "size" field for GOOPS nfields (92928b8) Move <class> initialization to Scheme (4702cbe) Deprecate scm_get_keyword (2b5812c) Rewrite %initialize-object in Scheme (4a28ef1) Minor goops.c tidying (f608881) Remove scm_c_extend_primitive_generic (5a6165d) No more concept of "pure generics" (2b7692b) Remove TEST_CHANGE_CLASS (623a259) Remove pure-generic? (3292354) Goops slot-unbound / slot-missing cleanups (0cd9a69) Move slot-ref et al to Scheme (ade4cf4) Port method and generic accessors to Scheme (48c981c) <class> accessors implemented in Scheme (70dd600) goops: use computed class slot offsets; untabify and fix whitepace (8dfc0ba) Statically compute offsets for slots of <class> in Scheme (ebca094) Refactor to <class> slot computation (affe170) Remove GOOPS random state (945652a) More goops.c cleanups, and fix a security issue (2e0b693) Remove unused union scm_t_debug_info (06ea79b) More unused code removal in GOOPS (4db73f1) Remove private var_no_applicable_method capture (cf0a678) Remove scm_assert_bound (984d43b) Remove scm_at_assert_bound_ref (6a201bc) Remove hashset slots from GOOPS classes (e03e310) Deprecate C exports of GOOPS classes. (5789859) Generics with setters have <applicable-struct-with-setter> layout (6c7dd9e) Remove unused CPP defines naming <method> slots (9e2cd55) Remove unused `default-slot-definition-class' <class> slot (79f2aaa) Remove useless scm_s_slot_set_x export (005c078) Remove unreachable code in scm_setter (036c508) Deprecate scm_no_applicable_method C export (623559f) Remove unused scm_t_method and SCM_METHOD (07f6200) Fold GOOPS compile and dispatch modules into main GOOPS module (e0590e7) Remove unused *goops-module* definition. (6098d96) define-generic, define-extended-generic are hygienic syntax (7cb88cb) `class' is a hygienic macro (f840ed2) Deprecate scm_basic_make_class (28b818d) Move GOOPS boot to Scheme (51fd1cd) Remove declarations without definitions (a91ea6a) Remove unused %fast-slot-ref / %fast-slot-set! from GOOPS (8906f23) Preparation for more GOOPS refactorings (82ab509) %init-goops-builtins is an extension, not a global (6ab1939) compute-cpl implementation only in Scheme (9167e0b) More useless goops.c code removal (d1500d3) Remove unused macros in goops.c (08c5d88) Rewrite %method-more-specific? to be in Scheme (3a0d141) Deprecate C interfaces scm_compute_applicable_methods, scm_find_method (e4aa440) %compute-applicable-methods in Scheme (c0a56ec) Mark two coverage tests as XFAIL (6679375) Fix the assembler for unexpected source properties (e00c0a4) Merge commit '5b7632331e7551ac202bbaba37c572b96a791c6e' (4247d8e) Merge commit 'ed72201a795ac1c8d6c0288b6bb710f2bd0ebd9c' (0a5b437) Merge commit '01a301d1b606b84d986b735049e7155d2f4cd6aa' (e19235e) Merge commit '894d0b894daae001495c748b3352cd79918d3789' (baf9010) Merge commit '5943a62042432b86d757200ef595d7aebb5c9bac' (1cd7791) Merge commit '37b1453032488de582175270d1b3a1653ea81457' (baa74d3) Merge commit 'cdcba5b2f6270de808e51b3b933374170611b91d' (6f248df) Really disable stack underflow checks when VM_CHECK_UNDERFLOW == 0. (1abe6ba) Merge commit '5d971db802eaa8038db17e1aa5b4c69452739744' (2f5c5d0) Merge commit '47ca15c7dffd14a82e75c1a0aeeaf2e77f3fa5b4' (1fc3fc1) Merge commit '7c433cbbce83bc9f2f9967afba00bbb68e312657' (7c6ce75) Merge commit '5fac1a7ada362d78f13143acbc0ceca7f2f101de' (12dfe65) Merge commit '8cf2a7ba7432d68b9a055d29f18117be70375af9' (a5b5cb4) Merge commit '81d2c84674f03f9028f26474ab19d3d3f353881a' (a51111d) Merge commit 'fdd319e9bd4121d844662d3d8ccc69b462b60840' (086bbcc) Merge commit 'a7bbba05838cabe2294f498e7008e1c51db6d664' (d5dffec) Keywords have a tc7 (e2fafeb) Add allocate-struct, struct-ref, struct-set! instructions (27b3b5b) Merge commit '5af307de43e4b65eec7f235b48a8908f2a00f134' (678995f) Merge commit 'b1451ad859183ae48c624d19ec144306bd2d3e3a' (24d4f02) Fix #:init-value on class-allocated slots (5b76323) Fix buffer overrun with unbuffered custom binary input ports. (ed72201) Improve output of command-line errors. (e1d29ee) Optimize 'string-hash'. (01a301d) Add 'string-hash' benchmarks. (87a8b56) Deprecate 'scm_string_hash'. (894d0b8) Optimize 'write' for strings. (5943a62) Avoid converting the 'mode' argument of 'open-file'. (37b1453) statprof: 'statprof' and 'with-statprof' return the code's return values. (cdcba5b) Improve deprecation message of 'scm_add_to_port_table'. (5d971db) Assembler: Cope with non-string port filenames. (015c3c0) Convert primitive-eval to "compile" its expressions to linked closures (95de4f5) Fix syntax.test (dc33a94) Minor evaluator tweaks (5bfc065) Simplify variable resolution in the evaluator (e6a42e6) Closure conversion in evaluator (a3cae84) Add capture-env to evaluator (99fb07e) build: Better handle substitutions in 'guile-2.0.pc' & co. (47ca15c) Simplify the interpreter for trivial inits and no letrec (cfdc841) Assignment conversion in the interpreter (7974c57) build: Add missing substitutions for 'guile-2.0.pc'. (7c433cb) doc: Clarify the unit of the 'offset' argument of 'seek'. (680135b) Add the 'guild' and 'guile' variables to 'guile-2.0.pc'. (5fac1a7) Update (system base lalr) from upstream. (8cf2a7b) doc: Tell when 'GUILE_INSTALL_LOCALE' first appeared. (7e466e0) Implement SRFI 28: Basic Format Strings. (cffa9bd) doc: Clarify behavior of 'select' in the presence of signal interruptions. (d1447c7) Recognize m68k, s390x, and sh4 as compilation targets (136c3a4) Fix bytevector-fill! to accept fill arguments greater than 127. (ae6f77d) Avoid signed overflow and use size_t in bytevectors.c. (81d2c84) Add SCM_VALIDATE_SIZE_COPY and SCM_NUM2SIZE. (fdd319e) Fix bytevector-copy when applied to SRFI-4 homogeneous numeric vectors. (10679f4) Avoid bash-specific '==' comparison operator in guile.m4. (03242f3) Fix strerror error handling when given a non-integer argument. (fda17c2) texinfo: fix @url{@@} parsing (3f826e3) web: Location header is URI-reference; better URI-reference support (18c44b2) Use on-stack or GC-managed memory in 'search-path'. (a7bbba0) Reduce C heap allocations in 'search-path'. (9c5d6aa) Merge branch 'lloda-array-support' (7f2c824) i18n: Add HAVE_USELOCALE as a requirement for USE_GNU_LOCALE_API. (30c5982) scm_boot_guile: Gracefully handle the case where argc == 0. (b9ace68) Thank Per Bothner. (6b47249) build: Adjust autogen.sh to 'libtoolize' name on Darwin. (449be2a) read: Accept "\(" in string literals. (5af307d) docs: Fix documented return type of 'scm_c_export'. (b1451ad) Intern general arrays (0f25904) Pack array dimensions in array object (65704b9) Run some of arrays.test under both compiler & interpreter (ea342aa) Merge branch 'stable-2.0' (856d318) Add (ice-9 unicode) module (3157d45) peval: Handle optional argument inits that refer to previous arguments. (7a71a45) doc: Improve description of vector-unfold and vector-unfold-right. (ff4af3d) Fix ungetc for characters 0x80 <= c < 0xf0 in UTF-8. (f7582f9) Add 'EXIT_SUCCESS' and 'EXIT_FAILURE'. (447af51) guile-readline: Use the current directory if HOME is unset. (3a3316e) build: Use 'libtoolize' in autogen.sh. (76a8db2) Fix SCM_SMOB_OBJECT{_,_0_,_1_,_2_,_3_}LOC. (8442211) guild disassemble: Use #:prefix instead of #:renamer. (f2742bd) Document #:prefix option in use-module clauses. (0fce815) SRFI-43: vector-concatenate: Fix error message. (8f230e3) VM: Use register "a3" for IP_REG on m68k. (97c520f) VM: Allow the C compiler to choose FP_REG on ARM. (bed025b) Do not assume that 64-bit integers will be 64-bit aligned. (156119b) VM: ASM_MUL for ARM: Add earlyclobber constraint to the SMULL outputs. (a85c78e) tests: Link test against Gnulib. (b38c19a) Add (ice-9 unicode) module (c5ea755) Thank Franck. (9233c05) Handle ~p in 'format' warnings. (8ac39b3) Separate &boolean type into &true and &false (7f5887e) On MS-Windows, don't return file names with backslashes from search-path. (c6a7930) Copy the result from 'nl_langinfo' before it can be overwritten. (cfefef6) Make temporary file in coding.test work on MS-Windows. (7c848fe) doc: "!#" does not need to appear on a line of its own. (1e9249e) Clarify that object-properties cannot be reliably applied to numbers. (da6ecd4) Provide curried version of define*-public. (b072b8e) Prevent add-to-load-path from adding duplicate entries (8857e27) Better simplification of literal constants that continue to branches (b9a5bac) CPS will not see "not" primcalls (ae67b15) Simplify pass rewrite scope tree to reflect dominator tree (4495419) Remove dead case in CSE (7700e67) CSE allocate-struct fix (6fc634f) Fix typo in arities.scm (30411ab) Stabilize renumber.scm:sort-conts. (cf7a884) maybe_annotate_source does not annotate negative positions (3ddd438) Soft port fill-input doesn't alter line or column (3c01acb) scm_ungetc_unlocked should not result in negative columns (681f2b8) Fix allocate-slots for $kreceive with multiple predecessors (ebca3af) Block sorting to keep loop bodies together (6d7b6a1) Recognize more ARM targets. (ffd3e55) Fix bit-count* bug (d407525) build: Support pthread builds without 'pthread_cancel' support (Android). (f184e88) build: Use 'LT_LIB_M' to determine whether -lm is needed. (8c75d3a) Recognize arm-* target triplets. (df8c52e) logbit? strength reduction (9243902) Fix logand range analysis. (74fe7fa) Fix range analysis for mul and div (42b544e) Type-driven strength reduction (384d1ec) Small type-fold cleanup (c7b71b1) Remove trailing whitespace from ports.test. (c53b5d8) Untabify some test files. (8c6b62e) Fix problems with Windows file names that use backslashes. (9235f80) Fix calculation of CPU set size for getaffinity. (9dc3fc4) Provide a more reasonable default value for stack limit on MS-Windows. (5102fc3) Unconditionally build and test the ice-9/popen module. (317f6a2) Compiler emits br-if-logtest (d613cca) Add br-if-logtest opcode (8c6206f) Optimizer support for logtest and logbit? (8006d2d) Convert slot allocation to use intsets (5ded849) Add bitvector->intset. (7f6aafa) Restrict intsets and maps to non-negative integers (4296c36) Adapt visit-prompt-control-flow to use intsets. (e9808c1) CSE comments (c1a41f9) Add intset-subtract. (4129676) More fixes for deleting files whose ports are not closed. (bc945fa) Make 'system*' available on MS-Windows. (4698a11) Fix deletion of ports.test test file on MS-Windows. (0d77e06) Fix intset on 32-bit machines (93e8384) Remove size limit in elide-type-checks (0ad455c) Fix intmap-intersect corner case (e21dae4) CSE truth inference pass uses intsets (072b5a2) Result of intsect-intersect will share structure with A if it can (793ca4c) Fix an intset-intersect corner case (257db78) Fix intset pruning for empty intsets (b5cb1c7) Remove namesets. (2c02a21) Rewrite type inference to use intmaps (3a12f2c) New module (language cps intmap) (b352309) Rewrite CSE to use intsets. (6fe36f2) New module: (language cps intset) (b1103eb) Fix bit-count* bug (d40b053) Fix compilation of scm_nl_langinfo when some nl_langinfo items are missing. (c7161ee) Rewrite type inference pass to use namesets (ec412d7) New module: (language cps nameset) (97ed2e7) Refactor dominator computation (38c7bd0) Constant folding for (list) and (vector) in peval (803a1ee) tests: Improve lack-of-/dev/null detection. (f089330) i18n: Adjust tests for Windows. (700f6cd) i18n: Ignore LC_MESSAGES on MinGW. (c84f25b) tests: Use NUL instead of /dev/null on MinGW. (82b8cfa) Use the right GC version macros. (fab18c0) R6RS library documentation fix (43191a3) Fix typo in `transform-string' doc. (d86a063) Optimize scm_ilength and 'length+'. (fc8a900) test-guild-compile: Increase sleep time before sending SIGINT. (4afca1a) Avoid quadratic expansion time in 'and' and 'or' macros. (1ea8954) 'guild compile' doesn't leave temporary files behind it. (2da97f1) SRFI-1 'length+' raises an error unless passed a proper or circular list. (a5186f5) Mark system async functions as SCM_API. (12c6a47) Remove $kif (59258f7) CPS conversion produces $branch nodes, not $kif (fd61004) Add $branch expression type (92805e2) Fix source-line-for-user for unknown line (c90e2c6) Fix off-by-one in dump-dfg (51177f3) Fix compute-predecessors bug in frame.scm (5062a56) Slightly simplify 'scm_open_process'. (a43fa1b) rdelim: Speed up 'read-string' (aka. 'get-string-all'.) (a41b07a) tests: Add test for <http://bugs.gnu.org/17466>. (eb6ac6e) Fix shrinking of contiguous bytevectors, as from 'get-bytevector-n'. (1baa215) web: Keep the default size for the client's in-kernel receive buffer. (0bb3f94) tests: Add test for _IOLBF. (c497bfb) Update effects-analysis docstring. (146c8e7) Redefine memory kind part of effects to be enumeration, not flags (e7f2fe1) Silence GCC warning. (5e793ad) DCE uses type analysis to elide type checks (3be43fb) Limit impact of O(n^2) type analysis by imposing limit (a7ee377) Compile language/cps/types.scm early (a77e3a7) Enable type folding (6129faa) Type and range inference for CPS (8bc65d2) Add syntax-parameterize indentation to .dir-locals.el. (7ed92f0) Rewrite effects analysis to be precise for fields. (5d25fda) CSE effects analysis cleanup (466bdf7) Add dump-dfg pretty-printer (fb512ca) Synthetic definitions take advantage of CSE'd vars (c8d87b4) Fix thinko in synthesize-definition-effects! (aa980ce) Fix frame-call-representation for frames from apply-hook (7af8115) Program printing tweaks (423164e) Refactorings to apply-hook and push-continuation-hook (f5cb70e) frame-address, frame-stack-pointer return offsets (7c08018) frame-call-representation has #:top-frame? as keyword argument (18f8fd0) Set-car! on a dead pair does not force the pair to be live (40b36bb) Add auxiliary definitions for boxes (41812da) CSE does scalar replacement of aggregates (6119a90) More inlinable effects-analysis procedures (cfb42b4) Update NEWS (e15f3e3) Rewrite boot-9 map to be recursive and pure (9de674e) Fix inner and outer stack cuts to match on procedure code (de0233a) Merge remote-tracking branch 'origin/stable-2.0' (d7a67c3) Prefer foreign objects over smobs in manual (4338f2f) Add new standalone tests to gitignore (b1812a6) Remove doc/example-smob/ (9720934) Remove SMOB tutorial; update manual. (d9a4a1c) Add foreign object documentation (6e4630e) Add more foreign object interfaces (4b8ce7c) Avoid non-constant struct initializers (682a55d) Add scm_make_foreign_object_0; optimize scm_make_foreign_object_n. (ea4c246) New foreign object facility, to replace SMOBs (a7ee7f7) Fix foreign slot initialization and access (48ad85f) Add interface to disable automatic finalization (fa1a307)
2015-10-22Updated version (2.1.0.456.g315adb6 -> 2.1.0.468.gf039604).AUR Update Bot
Changelog ========= Add stack size computation to disassembler (f039604) Minor assembler cleanups (4afb46f) SP-relative local addressing (70c317a) Fix boot closure wrong-num-args error (9b1ac02) Prepare for SP-addressed locals (0da0308) Replace dynamic link on stack with previous frame size (72353de) Rename union scm_vm_stack_element members (8f02738) Remove sp from scm_vm_cont (30c06bf) VM caches address of local 0 instead of FP (aa9f6b0) VM stack grows downward (0007507) Fix prompt miscompilation (d7199da) Minor VM documentation updates (a0a8741) Fix typo in CPS conversion. (315adb6) Minor CPS documentation cleanups (73f6146) Update CPS language documentation (d701e8a) Remove unused (language tree-il inline) module. (78fdc3e) Allow decoding of UTF-8 containing U+FFFD, the replacement character. (00884bb) Add closure effects (4841239) Better codegen for $values terms that don't shuffle (90c1148) Loop peeling (3b60e79) solve-flow-equations tweak (4792577) Simplify rotate-loops.scm (ce28887) Loop inversion with multiple exits (e54fbff) Rotate comparisons down to loop back-edges (ee85e29) Eliminate trampoline gotos when possible in compile-bytecode (bf6930b) Small expression-effects tweak (bcfa9fe) Loop-invariant code motion (ec9554d) Move solve-flow-equations to utils (bebc70c) Factor out compute-effects/elide-type-checks from dce.scm (b40fac1) Add missing files (4aabc20) Rename CPS2 to CPS (aa7f0e2) Remove CPS1 language (0d4c937) Compile CPS2 directly to bytecode (39777b1) Slot allocation and bytecode compilation from CPS2. (910054b) Fix CPS2 compute-successors (16d92c5) intset-intersect bugfix (2df454b) Fix bad return shuffles for multiply-used $kreceive conts (ff2beb1) Fix error printing some wrong-num-args backtraces (08cf30f) More slot-allocation simplification (f63b2e4) CPS1 slot-allocation simplification (365296a) Utils refactors (19024bd) Add intset-prev and intset-fold-right (3b1d316) Reify primitives in CPS2 (1a819ea) Fix type/range inference for mul (90aabcc) Remove CPS optimization passes and closure conversion (420423f) Optimize first-order CPS (6f6a6ae) Beta reduction over first-order CPS (099784c) DCE works on first-order CPS (e419e9e) compute-reachable-functions refactor (1b95487) Prepare DCE pass for first-order CPS2 (263b409) Enable CPS2 closure conversion (030e9b7) CPS2 closure conversion bugfixes (6cfb7af) closure-conversion docstring tweak (e9e6da1) Wire up new closure conversion pass (981802c) Add CPS2 closure conversion module (285f62a) Verify pass works on first-order CPS (bf5c795) Beginnings of first-order CPS optimization (e0ef087) Tweak intset printing (363d649) CPS2 renumber works with first-order CPS (a15a142) Fix intset-subtract to reliably produce empty-intset (dc27708) intset-union fast paths (47a4727) Reorganizing of intset/intmap helper functions (1bb7a7f) Add split-rec pass (dbe6247) Renumber before contifying to eliminate stale conts (f418235) Disable CPS optimization passes (6f4487f) Enable all CPS2 optimization passes (b926d85) Tweaks to bootstrap build order (c028a0a) Add CPS2 verification pass (1071e77) Refactor renumber.scm (b012248) Port self-references pass to CPS2 (ff1a02b) Fix eta reduction on CPS2 (b0148e1) Fix intmap-ref bug (1850497) Fix slot allocation hinting for intervening terms that define dead values (8eea1fb) Fix write beyond stack boundary in vm-engine.c (bb051f2) Port type-fold to CPS2 (f541ee1) Add setk clause to with-cps (e8fa85f) Port CSE to CPS2 (c3bc1f8) Fix some cps2 utils bugs (ea5187a) Move some graph utilities from contification.scm to utils.scm (fef50ea) Port prune-bailouts pass to CPS2 (ba44619) Port elide-values pass to CPS2 (726558f) prune-top-level-scopes elides with $values (467736c) Port specialize-primcalls pass to CPS2 (0e33ee9) Port inline-constructors pass to CPS2 (42f9bda) Factor with-cps out to separate module (bac96c1) Port contification pass to CPS2. (6e725df) Add "intset" syntax to construct intsets. (d78e5a2) Add intmap-fold-right (8b4a523) Port prune-top-level-scopes pass to CPS2 (dd2e0f5) Fix compute-defining-expressions (and thereby compute-constant-values) (2838c6e) Add intmap-replace!. (2337946) DCE uses type analysis to find dead code (ad29059) Port type inference module to CPS2 (8481bdb) intset-next starting point is optional (6a42ac7) Add intmap-replace. (8f578af) Fix type-fold on multiplying exact numbers (10d11e6) Fix regression in compute-idoms (75ab52e) Port dead code elimination (DCE) pass to CPS2 (48b2f19) Port effects analysis to CPS2 (80c162b) Fix bug in CPS2 simplify's "transform-conts" (7d4ede0) intmaps and intsets print with abbreviated key ranges (102e677) Add arity to worklist-fold (1403df4) Variadic intset-fold, intmap-fold (5f7c8e5) Intmaps do not treat #f specially as a value (2b06e90) Add two-argument fixpoint arity (cb7aa0b) Fix bug compiling fixpoint combinator (4632f3d) Fix fixpoint (e0e47cb) Fix sub/- primcall bug (fa7df5e) Add optimization pass over CPS2 (ef5f2fc) Consolidate CPS2 above CPS in the compiler (b31af02) Adapt return arities in Tree-IL -> CPS2 conversion (9833c54) Build CPS2 with transient intmaps (3ab3cde) Tree-IL -> CPS2 -> CPS (5928d16) compute-dom-edges returns a persistent intmap (219b6f8) Fix another intset transient bug (7fedd7b) Fix intset-add! transient bug (f95a794) Fix convert-cps2 for "not" primcalls (d99fedc) Fix intmap-add! transient bug (0f082bd) Register up cps2 compiler with language tower (09869e7) cps2: Fix parse-cps for `prompt' (7cd61e2) Add compiler from tree-il to cps2 (773595f) Beginnings of CPS2 language. (6485e89) Add printers for <intmap> and <transient-intmap> (6ffb6e6) Add "cps2" experiment (eb9d442) Transient intsets (49cc76a) Add "transient" intmap interface (95db570) 32-way branching in intmap.scm, not 16-way (cf512e3) Intset-next micro-optimizations (048d5d3) Add intset-fold, intset-fold2 (9c8d2b8) Add intmap-fold. (b7668bd) Add intmap-prev (2a24395) Default "meet" operator is meet-error for intmap (33ab283) Remove "free" field of $fun (50fcdfe) Replace $letrec with $rec (34ff3af) Precise range inference on <, <=, >=, > branches (4ce1857) Fix intmap bug for maps with only one element (ef7a71b) elf: Add missing argument in 'elf-segment'. (dfa11aa) Only lazily compile where profitable (fe7ecee) Optimize branches in the evaluator (7fee63b) Primcall inlining in eval.scm, lazy function body compilation (d76d80d) Remove unused "nargs" field of memoized call expressions (eb03765) Marginal bootstrap memory improvements (af082f9) Remove $void CPS expression type (a9ec16f) Adapt GDB integration to newest patches (1f3baba) Re-implement (ice-9 streams) in terms of (srfi srfi-41) (aead655) build: Use pipe symbol instead of comma for substitutions. (9331f40) Non-vector 1D arrays print as #1() (eb3d623) Struct and array GDB pretty printers hint as arrays (c4c21de) GDB support: add frame annotators and filters (47612fd) De-bitrot libguile-2.2-gdb.scm (ef52b39) (system base types) knows about variables (577eab8) Fix infinite loop in expander (37ae02f) Add `scm_smob_type_class()'. (1bbf7f7) NEWS and doc updates (22c9e76) Document support for URI references. (d64146f) Reify bytevector? in the correct module (e87f059) Add #:static-slot-allocation? (26350ed) Fix foreign objects for getter method change (05d0cdf) Merge remote-tracking branch 'origin/stable-2.0' (7b0a8df) Accessor methods only apply to subclasses with their slot (649ec8d) Fix verify-cps (15e4746) Fix accessor struct field inlining (583a23b) Fix accessor struct inlining in GOOPS (e709738) Simplify and optimize slot access (4bde3f0) Export <slot> from GOOPS (193e2c5) Simplify GOOPS effective method cache format (d21ef26) Fast generic function dispatch without calling `compile' at runtime (0d96aca) GOOPS cosmetics (3f4829e) Update (oop goops save) for <slot> objects (0b4c068) Fix foreign objects for removal of getters-n-setters (7c49985) Minor GOOPS cleanups (c6fb41f) Optimize %initialize-object (79c2ca2) Inline internal slot accessors (2a3ef7c) Inline helpers into slot-ref, slot-set!, etc (c4974c5) Use a vtable bit to mark <slot> instances (e437c50) Introduce <slot> objects in GOOPS (568174d) Beginnings of <slot> slot definition class (26a6aae) The GOOPS "unbound" value is a unique pair (567a6d1) GOOPS: Deprecate "using-class" procs like slot-ref-using-class (2bcb278) change-object-class refactor (9539b20) slot-ref, slot-set! et al bypass "using-class" variants (f15c0f5) Manipulate GOOPS vtable flags from Scheme, for speed (761338f) GOOPS class slot indices defined as inline values (c2b61cf) `match' refactor in goops.scm (76d531c) Convert emit-linear-dispatch to use match (d273b9c) More GOOPS cleanups (f5c3476) when and unless for one-armed ifs in goops.scm (bacc882) More GOOPS comments (b89432f) Commenting in goops.scm (9ae0070) Narrative reordering in goops.scm (9647d3d) scm_make cleanup (cb3ea03) Add compute-cpl tests (9c49d47) Fold (oop goops util) into (oop goops) (ac5185c) GOOPS utils module cleanups (06d54b3) append-map rather than mapappend (91ff8e9) GOOPS cleanup to use SRFI-1 better (0ca4929) Cosmetic goops refactors. (c2aa5d9) Incorporate %inherit-magic! into %init-layout! (60061fe) goops.c no longer knows about <class> slot allocation (2025a02) Reimplement inherit-applicable! in Scheme (f37bece) Reimplement %allocate-instance in Scheme (07452c8) Re-use the vtable "size" field for GOOPS nfields (92928b8) Move <class> initialization to Scheme (4702cbe) Deprecate scm_get_keyword (2b5812c) Rewrite %initialize-object in Scheme (4a28ef1) Minor goops.c tidying (f608881) Remove scm_c_extend_primitive_generic (5a6165d) No more concept of "pure generics" (2b7692b) Remove TEST_CHANGE_CLASS (623a259) Remove pure-generic? (3292354) Goops slot-unbound / slot-missing cleanups (0cd9a69) Move slot-ref et al to Scheme (ade4cf4) Port method and generic accessors to Scheme (48c981c) <class> accessors implemented in Scheme (70dd600) goops: use computed class slot offsets; untabify and fix whitepace (8dfc0ba) Statically compute offsets for slots of <class> in Scheme (ebca094) Refactor to <class> slot computation (affe170) Remove GOOPS random state (945652a) More goops.c cleanups, and fix a security issue (2e0b693) Remove unused union scm_t_debug_info (06ea79b) More unused code removal in GOOPS (4db73f1) Remove private var_no_applicable_method capture (cf0a678) Remove scm_assert_bound (984d43b) Remove scm_at_assert_bound_ref (6a201bc) Remove hashset slots from GOOPS classes (e03e310) Deprecate C exports of GOOPS classes. (5789859) Generics with setters have <applicable-struct-with-setter> layout (6c7dd9e) Remove unused CPP defines naming <method> slots (9e2cd55) Remove unused `default-slot-definition-class' <class> slot (79f2aaa) Remove useless scm_s_slot_set_x export (005c078) Remove unreachable code in scm_setter (036c508) Deprecate scm_no_applicable_method C export (623559f) Remove unused scm_t_method and SCM_METHOD (07f6200) Fold GOOPS compile and dispatch modules into main GOOPS module (e0590e7) Remove unused *goops-module* definition. (6098d96) define-generic, define-extended-generic are hygienic syntax (7cb88cb) `class' is a hygienic macro (f840ed2) Deprecate scm_basic_make_class (28b818d) Move GOOPS boot to Scheme (51fd1cd) Remove declarations without definitions (a91ea6a) Remove unused %fast-slot-ref / %fast-slot-set! from GOOPS (8906f23) Preparation for more GOOPS refactorings (82ab509) %init-goops-builtins is an extension, not a global (6ab1939) compute-cpl implementation only in Scheme (9167e0b) More useless goops.c code removal (d1500d3) Remove unused macros in goops.c (08c5d88) Rewrite %method-more-specific? to be in Scheme (3a0d141) Deprecate C interfaces scm_compute_applicable_methods, scm_find_method (e4aa440) %compute-applicable-methods in Scheme (c0a56ec) Mark two coverage tests as XFAIL (6679375) Fix the assembler for unexpected source properties (e00c0a4) Merge commit '5b7632331e7551ac202bbaba37c572b96a791c6e' (4247d8e) Merge commit 'ed72201a795ac1c8d6c0288b6bb710f2bd0ebd9c' (0a5b437) Merge commit '01a301d1b606b84d986b735049e7155d2f4cd6aa' (e19235e) Merge commit '894d0b894daae001495c748b3352cd79918d3789' (baf9010) Merge commit '5943a62042432b86d757200ef595d7aebb5c9bac' (1cd7791) Merge commit '37b1453032488de582175270d1b3a1653ea81457' (baa74d3) Merge commit 'cdcba5b2f6270de808e51b3b933374170611b91d' (6f248df) Really disable stack underflow checks when VM_CHECK_UNDERFLOW == 0. (1abe6ba) Merge commit '5d971db802eaa8038db17e1aa5b4c69452739744' (2f5c5d0) Merge commit '47ca15c7dffd14a82e75c1a0aeeaf2e77f3fa5b4' (1fc3fc1) Merge commit '7c433cbbce83bc9f2f9967afba00bbb68e312657' (7c6ce75) Merge commit '5fac1a7ada362d78f13143acbc0ceca7f2f101de' (12dfe65) Merge commit '8cf2a7ba7432d68b9a055d29f18117be70375af9' (a5b5cb4) Merge commit '81d2c84674f03f9028f26474ab19d3d3f353881a' (a51111d) Merge commit 'fdd319e9bd4121d844662d3d8ccc69b462b60840' (086bbcc) Merge commit 'a7bbba05838cabe2294f498e7008e1c51db6d664' (d5dffec) Keywords have a tc7 (e2fafeb) Add allocate-struct, struct-ref, struct-set! instructions (27b3b5b) Merge commit '5af307de43e4b65eec7f235b48a8908f2a00f134' (678995f) Merge commit 'b1451ad859183ae48c624d19ec144306bd2d3e3a' (24d4f02) Fix #:init-value on class-allocated slots (5b76323) Fix buffer overrun with unbuffered custom binary input ports. (ed72201) Improve output of command-line errors. (e1d29ee) Optimize 'string-hash'. (01a301d) Add 'string-hash' benchmarks. (87a8b56) Deprecate 'scm_string_hash'. (894d0b8) Optimize 'write' for strings. (5943a62) Avoid converting the 'mode' argument of 'open-file'. (37b1453) statprof: 'statprof' and 'with-statprof' return the code's return values. (cdcba5b) Improve deprecation message of 'scm_add_to_port_table'. (5d971db) Assembler: Cope with non-string port filenames. (015c3c0) Convert primitive-eval to "compile" its expressions to linked closures (95de4f5) Fix syntax.test (dc33a94) Minor evaluator tweaks (5bfc065) Simplify variable resolution in the evaluator (e6a42e6) Closure conversion in evaluator (a3cae84) Add capture-env to evaluator (99fb07e) build: Better handle substitutions in 'guile-2.0.pc' & co. (47ca15c) Simplify the interpreter for trivial inits and no letrec (cfdc841) Assignment conversion in the interpreter (7974c57) build: Add missing substitutions for 'guile-2.0.pc'. (7c433cb) doc: Clarify the unit of the 'offset' argument of 'seek'. (680135b) Add the 'guild' and 'guile' variables to 'guile-2.0.pc'. (5fac1a7) Update (system base lalr) from upstream. (8cf2a7b) doc: Tell when 'GUILE_INSTALL_LOCALE' first appeared. (7e466e0) Implement SRFI 28: Basic Format Strings. (cffa9bd) doc: Clarify behavior of 'select' in the presence of signal interruptions. (d1447c7) Recognize m68k, s390x, and sh4 as compilation targets (136c3a4) Fix bytevector-fill! to accept fill arguments greater than 127. (ae6f77d) Avoid signed overflow and use size_t in bytevectors.c. (81d2c84) Add SCM_VALIDATE_SIZE_COPY and SCM_NUM2SIZE. (fdd319e) Fix bytevector-copy when applied to SRFI-4 homogeneous numeric vectors. (10679f4) Avoid bash-specific '==' comparison operator in guile.m4. (03242f3) Fix strerror error handling when given a non-integer argument. (fda17c2) texinfo: fix @url{@@} parsing (3f826e3) web: Location header is URI-reference; better URI-reference support (18c44b2) Use on-stack or GC-managed memory in 'search-path'. (a7bbba0) Reduce C heap allocations in 'search-path'. (9c5d6aa) Merge branch 'lloda-array-support' (7f2c824) i18n: Add HAVE_USELOCALE as a requirement for USE_GNU_LOCALE_API. (30c5982) scm_boot_guile: Gracefully handle the case where argc == 0. (b9ace68) Thank Per Bothner. (6b47249) build: Adjust autogen.sh to 'libtoolize' name on Darwin. (449be2a) read: Accept "\(" in string literals. (5af307d) docs: Fix documented return type of 'scm_c_export'. (b1451ad) Intern general arrays (0f25904) Pack array dimensions in array object (65704b9) Run some of arrays.test under both compiler & interpreter (ea342aa) Merge branch 'stable-2.0' (856d318) Add (ice-9 unicode) module (3157d45) peval: Handle optional argument inits that refer to previous arguments. (7a71a45) doc: Improve description of vector-unfold and vector-unfold-right. (ff4af3d) Fix ungetc for characters 0x80 <= c < 0xf0 in UTF-8. (f7582f9) Add 'EXIT_SUCCESS' and 'EXIT_FAILURE'. (447af51) guile-readline: Use the current directory if HOME is unset. (3a3316e) build: Use 'libtoolize' in autogen.sh. (76a8db2) Fix SCM_SMOB_OBJECT{_,_0_,_1_,_2_,_3_}LOC. (8442211) guild disassemble: Use #:prefix instead of #:renamer. (f2742bd) Document #:prefix option in use-module clauses. (0fce815) SRFI-43: vector-concatenate: Fix error message. (8f230e3) VM: Use register "a3" for IP_REG on m68k. (97c520f) VM: Allow the C compiler to choose FP_REG on ARM. (bed025b) Do not assume that 64-bit integers will be 64-bit aligned. (156119b) VM: ASM_MUL for ARM: Add earlyclobber constraint to the SMULL outputs. (a85c78e) tests: Link test against Gnulib. (b38c19a) Add (ice-9 unicode) module (c5ea755) Thank Franck. (9233c05) Handle ~p in 'format' warnings. (8ac39b3) Separate &boolean type into &true and &false (7f5887e) On MS-Windows, don't return file names with backslashes from search-path. (c6a7930) Copy the result from 'nl_langinfo' before it can be overwritten. (cfefef6) Make temporary file in coding.test work on MS-Windows. (7c848fe) doc: "!#" does not need to appear on a line of its own. (1e9249e) Clarify that object-properties cannot be reliably applied to numbers. (da6ecd4) Provide curried version of define*-public. (b072b8e) Prevent add-to-load-path from adding duplicate entries (8857e27) Better simplification of literal constants that continue to branches (b9a5bac) CPS will not see "not" primcalls (ae67b15) Simplify pass rewrite scope tree to reflect dominator tree (4495419) Remove dead case in CSE (7700e67) CSE allocate-struct fix (6fc634f) Fix typo in arities.scm (30411ab) Stabilize renumber.scm:sort-conts. (cf7a884) maybe_annotate_source does not annotate negative positions (3ddd438) Soft port fill-input doesn't alter line or column (3c01acb) scm_ungetc_unlocked should not result in negative columns (681f2b8) Fix allocate-slots for $kreceive with multiple predecessors (ebca3af) Block sorting to keep loop bodies together (6d7b6a1) Recognize more ARM targets. (ffd3e55) Fix bit-count* bug (d407525) build: Support pthread builds without 'pthread_cancel' support (Android). (f184e88) build: Use 'LT_LIB_M' to determine whether -lm is needed. (8c75d3a) Recognize arm-* target triplets. (df8c52e) logbit? strength reduction (9243902) Fix logand range analysis. (74fe7fa) Fix range analysis for mul and div (42b544e) Type-driven strength reduction (384d1ec) Small type-fold cleanup (c7b71b1) Remove trailing whitespace from ports.test. (c53b5d8) Untabify some test files. (8c6b62e) Fix problems with Windows file names that use backslashes. (9235f80) Fix calculation of CPU set size for getaffinity. (9dc3fc4) Provide a more reasonable default value for stack limit on MS-Windows. (5102fc3) Unconditionally build and test the ice-9/popen module. (317f6a2) Compiler emits br-if-logtest (d613cca) Add br-if-logtest opcode (8c6206f) Optimizer support for logtest and logbit? (8006d2d) Convert slot allocation to use intsets (5ded849) Add bitvector->intset. (7f6aafa) Restrict intsets and maps to non-negative integers (4296c36) Adapt visit-prompt-control-flow to use intsets. (e9808c1) CSE comments (c1a41f9) Add intset-subtract. (4129676) More fixes for deleting files whose ports are not closed. (bc945fa) Make 'system*' available on MS-Windows. (4698a11) Fix deletion of ports.test test file on MS-Windows. (0d77e06) Fix intset on 32-bit machines (93e8384) Remove size limit in elide-type-checks (0ad455c) Fix intmap-intersect corner case (e21dae4) CSE truth inference pass uses intsets (072b5a2) Result of intsect-intersect will share structure with A if it can (793ca4c) Fix an intset-intersect corner case (257db78) Fix intset pruning for empty intsets (b5cb1c7) Remove namesets. (2c02a21) Rewrite type inference to use intmaps (3a12f2c) New module (language cps intmap) (b352309) Rewrite CSE to use intsets. (6fe36f2) New module: (language cps intset) (b1103eb) Fix bit-count* bug (d40b053) Fix compilation of scm_nl_langinfo when some nl_langinfo items are missing. (c7161ee) Rewrite type inference pass to use namesets (ec412d7) New module: (language cps nameset) (97ed2e7) Refactor dominator computation (38c7bd0) Constant folding for (list) and (vector) in peval (803a1ee) tests: Improve lack-of-/dev/null detection. (f089330) i18n: Adjust tests for Windows. (700f6cd) i18n: Ignore LC_MESSAGES on MinGW. (c84f25b) tests: Use NUL instead of /dev/null on MinGW. (82b8cfa) Use the right GC version macros. (fab18c0) R6RS library documentation fix (43191a3) Fix typo in `transform-string' doc. (d86a063) Optimize scm_ilength and 'length+'. (fc8a900) test-guild-compile: Increase sleep time before sending SIGINT. (4afca1a) Avoid quadratic expansion time in 'and' and 'or' macros. (1ea8954) 'guild compile' doesn't leave temporary files behind it. (2da97f1) SRFI-1 'length+' raises an error unless passed a proper or circular list. (a5186f5) Mark system async functions as SCM_API. (12c6a47) Remove $kif (59258f7) CPS conversion produces $branch nodes, not $kif (fd61004) Add $branch expression type (92805e2) Fix source-line-for-user for unknown line (c90e2c6) Fix off-by-one in dump-dfg (51177f3) Fix compute-predecessors bug in frame.scm (5062a56) Slightly simplify 'scm_open_process'. (a43fa1b) rdelim: Speed up 'read-string' (aka. 'get-string-all'.) (a41b07a) tests: Add test for <http://bugs.gnu.org/17466>. (eb6ac6e) Fix shrinking of contiguous bytevectors, as from 'get-bytevector-n'. (1baa215) web: Keep the default size for the client's in-kernel receive buffer. (0bb3f94) tests: Add test for _IOLBF. (c497bfb) Update effects-analysis docstring. (146c8e7) Redefine memory kind part of effects to be enumeration, not flags (e7f2fe1) Silence GCC warning. (5e793ad) DCE uses type analysis to elide type checks (3be43fb) Limit impact of O(n^2) type analysis by imposing limit (a7ee377) Compile language/cps/types.scm early (a77e3a7) Enable type folding (6129faa) Type and range inference for CPS (8bc65d2) Add syntax-parameterize indentation to .dir-locals.el. (7ed92f0) Rewrite effects analysis to be precise for fields. (5d25fda) CSE effects analysis cleanup (466bdf7) Add dump-dfg pretty-printer (fb512ca) Synthetic definitions take advantage of CSE'd vars (c8d87b4) Fix thinko in synthesize-definition-effects! (aa980ce) Fix frame-call-representation for frames from apply-hook (7af8115) Program printing tweaks (423164e) Refactorings to apply-hook and push-continuation-hook (f5cb70e) frame-address, frame-stack-pointer return offsets (7c08018) frame-call-representation has #:top-frame? as keyword argument (18f8fd0) Set-car! on a dead pair does not force the pair to be live (40b36bb) Add auxiliary definitions for boxes (41812da) CSE does scalar replacement of aggregates (6119a90) More inlinable effects-analysis procedures (cfb42b4) Update NEWS (e15f3e3) Rewrite boot-9 map to be recursive and pure (9de674e) Fix inner and outer stack cuts to match on procedure code (de0233a) Merge remote-tracking branch 'origin/stable-2.0' (d7a67c3) Prefer foreign objects over smobs in manual (4338f2f) Add new standalone tests to gitignore (b1812a6) Remove doc/example-smob/ (9720934) Remove SMOB tutorial; update manual. (d9a4a1c) Add foreign object documentation (6e4630e) Add more foreign object interfaces (4b8ce7c) Avoid non-constant struct initializers (682a55d) Add scm_make_foreign_object_0; optimize scm_make_foreign_object_n. (ea4c246) New foreign object facility, to replace SMOBs (a7ee7f7) Fix foreign slot initialization and access (48ad85f) Add interface to disable automatic finalization (fa1a307)
2015-10-06Updated version (2.1.0.455.g73f6146 -> 2.1.0.456.g315adb6).AUR Update Bot
Changelog ========= Fix typo in CPS conversion. (315adb6) Minor CPS documentation cleanups (73f6146) Update CPS language documentation (d701e8a) Remove unused (language tree-il inline) module. (78fdc3e) Allow decoding of UTF-8 containing U+FFFD, the replacement character. (00884bb) Add closure effects (4841239) Better codegen for $values terms that don't shuffle (90c1148) Loop peeling (3b60e79) solve-flow-equations tweak (4792577) Simplify rotate-loops.scm (ce28887) Loop inversion with multiple exits (e54fbff) Rotate comparisons down to loop back-edges (ee85e29) Eliminate trampoline gotos when possible in compile-bytecode (bf6930b) Small expression-effects tweak (bcfa9fe) Loop-invariant code motion (ec9554d) Move solve-flow-equations to utils (bebc70c) Factor out compute-effects/elide-type-checks from dce.scm (b40fac1) Add missing files (4aabc20) Rename CPS2 to CPS (aa7f0e2) Remove CPS1 language (0d4c937) Compile CPS2 directly to bytecode (39777b1) Slot allocation and bytecode compilation from CPS2. (910054b) Fix CPS2 compute-successors (16d92c5) intset-intersect bugfix (2df454b) Fix bad return shuffles for multiply-used $kreceive conts (ff2beb1) Fix error printing some wrong-num-args backtraces (08cf30f) More slot-allocation simplification (f63b2e4) CPS1 slot-allocation simplification (365296a) Utils refactors (19024bd) Add intset-prev and intset-fold-right (3b1d316) Reify primitives in CPS2 (1a819ea) Fix type/range inference for mul (90aabcc) Remove CPS optimization passes and closure conversion (420423f) Optimize first-order CPS (6f6a6ae) Beta reduction over first-order CPS (099784c) DCE works on first-order CPS (e419e9e) compute-reachable-functions refactor (1b95487) Prepare DCE pass for first-order CPS2 (263b409) Enable CPS2 closure conversion (030e9b7) CPS2 closure conversion bugfixes (6cfb7af) closure-conversion docstring tweak (e9e6da1) Wire up new closure conversion pass (981802c) Add CPS2 closure conversion module (285f62a) Verify pass works on first-order CPS (bf5c795) Beginnings of first-order CPS optimization (e0ef087) Tweak intset printing (363d649) CPS2 renumber works with first-order CPS (a15a142) Fix intset-subtract to reliably produce empty-intset (dc27708) intset-union fast paths (47a4727) Reorganizing of intset/intmap helper functions (1bb7a7f) Add split-rec pass (dbe6247) Renumber before contifying to eliminate stale conts (f418235) Disable CPS optimization passes (6f4487f) Enable all CPS2 optimization passes (b926d85) Tweaks to bootstrap build order (c028a0a) Add CPS2 verification pass (1071e77) Refactor renumber.scm (b012248) Port self-references pass to CPS2 (ff1a02b) Fix eta reduction on CPS2 (b0148e1) Fix intmap-ref bug (1850497) Fix slot allocation hinting for intervening terms that define dead values (8eea1fb) Fix write beyond stack boundary in vm-engine.c (bb051f2) Port type-fold to CPS2 (f541ee1) Add setk clause to with-cps (e8fa85f) Port CSE to CPS2 (c3bc1f8) Fix some cps2 utils bugs (ea5187a) Move some graph utilities from contification.scm to utils.scm (fef50ea) Port prune-bailouts pass to CPS2 (ba44619) Port elide-values pass to CPS2 (726558f) prune-top-level-scopes elides with $values (467736c) Port specialize-primcalls pass to CPS2 (0e33ee9) Port inline-constructors pass to CPS2 (42f9bda) Factor with-cps out to separate module (bac96c1) Port contification pass to CPS2. (6e725df) Add "intset" syntax to construct intsets. (d78e5a2) Add intmap-fold-right (8b4a523) Port prune-top-level-scopes pass to CPS2 (dd2e0f5) Fix compute-defining-expressions (and thereby compute-constant-values) (2838c6e) Add intmap-replace!. (2337946) DCE uses type analysis to find dead code (ad29059) Port type inference module to CPS2 (8481bdb) intset-next starting point is optional (6a42ac7) Add intmap-replace. (8f578af) Fix type-fold on multiplying exact numbers (10d11e6) Fix regression in compute-idoms (75ab52e) Port dead code elimination (DCE) pass to CPS2 (48b2f19) Port effects analysis to CPS2 (80c162b) Fix bug in CPS2 simplify's "transform-conts" (7d4ede0) intmaps and intsets print with abbreviated key ranges (102e677) Add arity to worklist-fold (1403df4) Variadic intset-fold, intmap-fold (5f7c8e5) Intmaps do not treat #f specially as a value (2b06e90) Add two-argument fixpoint arity (cb7aa0b) Fix bug compiling fixpoint combinator (4632f3d) Fix fixpoint (e0e47cb) Fix sub/- primcall bug (fa7df5e) Add optimization pass over CPS2 (ef5f2fc) Consolidate CPS2 above CPS in the compiler (b31af02) Adapt return arities in Tree-IL -> CPS2 conversion (9833c54) Build CPS2 with transient intmaps (3ab3cde) Tree-IL -> CPS2 -> CPS (5928d16) compute-dom-edges returns a persistent intmap (219b6f8) Fix another intset transient bug (7fedd7b) Fix intset-add! transient bug (f95a794) Fix convert-cps2 for "not" primcalls (d99fedc) Fix intmap-add! transient bug (0f082bd) Register up cps2 compiler with language tower (09869e7) cps2: Fix parse-cps for `prompt' (7cd61e2) Add compiler from tree-il to cps2 (773595f) Beginnings of CPS2 language. (6485e89) Add printers for <intmap> and <transient-intmap> (6ffb6e6) Add "cps2" experiment (eb9d442) Transient intsets (49cc76a) Add "transient" intmap interface (95db570) 32-way branching in intmap.scm, not 16-way (cf512e3) Intset-next micro-optimizations (048d5d3) Add intset-fold, intset-fold2 (9c8d2b8) Add intmap-fold. (b7668bd) Add intmap-prev (2a24395) Default "meet" operator is meet-error for intmap (33ab283) Remove "free" field of $fun (50fcdfe) Replace $letrec with $rec (34ff3af) Precise range inference on <, <=, >=, > branches (4ce1857) Fix intmap bug for maps with only one element (ef7a71b) elf: Add missing argument in 'elf-segment'. (dfa11aa) Only lazily compile where profitable (fe7ecee) Optimize branches in the evaluator (7fee63b) Primcall inlining in eval.scm, lazy function body compilation (d76d80d) Remove unused "nargs" field of memoized call expressions (eb03765) Marginal bootstrap memory improvements (af082f9) Remove $void CPS expression type (a9ec16f) Adapt GDB integration to newest patches (1f3baba) Re-implement (ice-9 streams) in terms of (srfi srfi-41) (aead655) build: Use pipe symbol instead of comma for substitutions. (9331f40) Non-vector 1D arrays print as #1() (eb3d623) Struct and array GDB pretty printers hint as arrays (c4c21de) GDB support: add frame annotators and filters (47612fd) De-bitrot libguile-2.2-gdb.scm (ef52b39) (system base types) knows about variables (577eab8) Fix infinite loop in expander (37ae02f) Add `scm_smob_type_class()'. (1bbf7f7) NEWS and doc updates (22c9e76) Document support for URI references. (d64146f) Reify bytevector? in the correct module (e87f059) Add #:static-slot-allocation? (26350ed) Fix foreign objects for getter method change (05d0cdf) Merge remote-tracking branch 'origin/stable-2.0' (7b0a8df) Accessor methods only apply to subclasses with their slot (649ec8d) Fix verify-cps (15e4746) Fix accessor struct field inlining (583a23b) Fix accessor struct inlining in GOOPS (e709738) Simplify and optimize slot access (4bde3f0) Export <slot> from GOOPS (193e2c5) Simplify GOOPS effective method cache format (d21ef26) Fast generic function dispatch without calling `compile' at runtime (0d96aca) GOOPS cosmetics (3f4829e) Update (oop goops save) for <slot> objects (0b4c068) Fix foreign objects for removal of getters-n-setters (7c49985) Minor GOOPS cleanups (c6fb41f) Optimize 0nitialize-object (79c2ca2) Inline internal slot accessors (2a3ef7c) Inline helpers into slot-ref, slot-set!, etc (c4974c5) Use a vtable bit to mark <slot> instances (e437c50) Introduce <slot> objects in GOOPS (568174d) Beginnings of <slot> slot definition class (26a6aae) The GOOPS "unbound" value is a unique pair (567a6d1) GOOPS: Deprecate "using-class" procs like slot-ref-using-class (2bcb278) change-object-class refactor (9539b20) slot-ref, slot-set! et al bypass "using-class" variants (f15c0f5) Manipulate GOOPS vtable flags from Scheme, for speed (761338f) GOOPS class slot indices defined as inline values (c2b61cf) `match' refactor in goops.scm (76d531c) Convert emit-linear-dispatch to use match (d273b9c) More GOOPS cleanups (f5c3476) when and unless for one-armed ifs in goops.scm (bacc882) More GOOPS comments (b89432f) Commenting in goops.scm (9ae0070) Narrative reordering in goops.scm (9647d3d) scm_make cleanup (cb3ea03) Add compute-cpl tests (9c49d47) Fold (oop goops util) into (oop goops) (ac5185c) GOOPS utils module cleanups (06d54b3) append-map rather than mapappend (91ff8e9) GOOPS cleanup to use SRFI-1 better (0ca4929) Cosmetic goops refactors. (c2aa5d9) Incorporate 0nherit-magic! into 0nit-layout! (60061fe) goops.c no longer knows about <class> slot allocation (2025a02) Reimplement inherit-applicable! in Scheme (f37bece) Reimplement 0x0p+0llocate-instance in Scheme (07452c8) Re-use the vtable "size" field for GOOPS nfields (92928b8) Move <class> initialization to Scheme (4702cbe) Deprecate scm_get_keyword (2b5812c) Rewrite 0nitialize-object in Scheme (4a28ef1) Minor goops.c tidying (f608881) Remove scm_c_extend_primitive_generic (5a6165d) No more concept of "pure generics" (2b7692b) Remove TEST_CHANGE_CLASS (623a259) Remove pure-generic? (3292354) Goops slot-unbound / slot-missing cleanups (0cd9a69) Move slot-ref et al to Scheme (ade4cf4) Port method and generic accessors to Scheme (48c981c) <class> accessors implemented in Scheme (70dd600) goops: use computed class slot offsets; untabify and fix whitepace (8dfc0ba) Statically compute offsets for slots of <class> in Scheme (ebca094) Refactor to <class> slot computation (affe170) Remove GOOPS random state (945652a) More goops.c cleanups, and fix a security issue (2e0b693) Remove unused union scm_t_debug_info (06ea79b) More unused code removal in GOOPS (4db73f1) Remove private var_no_applicable_method capture (cf0a678) Remove scm_assert_bound (984d43b) Remove scm_at_assert_bound_ref (6a201bc) Remove hashset slots from GOOPS classes (e03e310) Deprecate C exports of GOOPS classes. (5789859) Generics with setters have <applicable-struct-with-setter> layout (6c7dd9e) Remove unused CPP defines naming <method> slots (9e2cd55) Remove unused `default-slot-definition-class' <class> slot (79f2aaa) Remove useless scm_s_slot_set_x export (005c078) Remove unreachable code in scm_setter (036c508) Deprecate scm_no_applicable_method C export (623559f) Remove unused scm_t_method and SCM_METHOD (07f6200) Fold GOOPS compile and dispatch modules into main GOOPS module (e0590e7) Remove unused *goops-module* definition. (6098d96) define-generic, define-extended-generic are hygienic syntax (7cb88cb) `class' is a hygienic macro (f840ed2) Deprecate scm_basic_make_class (28b818d) Move GOOPS boot to Scheme (51fd1cd) Remove declarations without definitions (a91ea6a) Remove unused 0,000000ast-slot-ref / 0,000000ast-slot-set! from GOOPS (8906f23) Preparation for more GOOPS refactorings (82ab509) 0nit-goops-builtins is an extension, not a global (6ab1939) compute-cpl implementation only in Scheme (9167e0b) More useless goops.c code removal (d1500d3) Remove unused macros in goops.c (08c5d88) Rewrite
2015-09-19Updated version (2.1.0.454.gd701e8a -> 2.1.0.455.g73f6146).AUR Update Bot
Changelog ========= Minor CPS documentation cleanups (73f6146) Update CPS language documentation (d701e8a) Remove unused (language tree-il inline) module. (78fdc3e) Allow decoding of UTF-8 containing U+FFFD, the replacement character. (00884bb) Add closure effects (4841239) Better codegen for $values terms that don't shuffle (90c1148) Loop peeling (3b60e79) solve-flow-equations tweak (4792577) Simplify rotate-loops.scm (ce28887) Loop inversion with multiple exits (e54fbff) Rotate comparisons down to loop back-edges (ee85e29) Eliminate trampoline gotos when possible in compile-bytecode (bf6930b) Small expression-effects tweak (bcfa9fe) Loop-invariant code motion (ec9554d) Move solve-flow-equations to utils (bebc70c) Factor out compute-effects/elide-type-checks from dce.scm (b40fac1) Add missing files (4aabc20) Rename CPS2 to CPS (aa7f0e2) Remove CPS1 language (0d4c937) Compile CPS2 directly to bytecode (39777b1) Slot allocation and bytecode compilation from CPS2. (910054b) Fix CPS2 compute-successors (16d92c5) intset-intersect bugfix (2df454b) Fix bad return shuffles for multiply-used $kreceive conts (ff2beb1) Fix error printing some wrong-num-args backtraces (08cf30f) More slot-allocation simplification (f63b2e4) CPS1 slot-allocation simplification (365296a) Utils refactors (19024bd) Add intset-prev and intset-fold-right (3b1d316) Reify primitives in CPS2 (1a819ea) Fix type/range inference for mul (90aabcc) Remove CPS optimization passes and closure conversion (420423f) Optimize first-order CPS (6f6a6ae) Beta reduction over first-order CPS (099784c) DCE works on first-order CPS (e419e9e) compute-reachable-functions refactor (1b95487) Prepare DCE pass for first-order CPS2 (263b409) Enable CPS2 closure conversion (030e9b7) CPS2 closure conversion bugfixes (6cfb7af) closure-conversion docstring tweak (e9e6da1) Wire up new closure conversion pass (981802c) Add CPS2 closure conversion module (285f62a) Verify pass works on first-order CPS (bf5c795) Beginnings of first-order CPS optimization (e0ef087) Tweak intset printing (363d649) CPS2 renumber works with first-order CPS (a15a142) Fix intset-subtract to reliably produce empty-intset (dc27708) intset-union fast paths (47a4727) Reorganizing of intset/intmap helper functions (1bb7a7f) Add split-rec pass (dbe6247) Renumber before contifying to eliminate stale conts (f418235) Disable CPS optimization passes (6f4487f) Enable all CPS2 optimization passes (b926d85) Tweaks to bootstrap build order (c028a0a) Add CPS2 verification pass (1071e77) Refactor renumber.scm (b012248) Port self-references pass to CPS2 (ff1a02b) Fix eta reduction on CPS2 (b0148e1) Fix intmap-ref bug (1850497) Fix slot allocation hinting for intervening terms that define dead values (8eea1fb) Fix write beyond stack boundary in vm-engine.c (bb051f2) Port type-fold to CPS2 (f541ee1) Add setk clause to with-cps (e8fa85f) Port CSE to CPS2 (c3bc1f8) Fix some cps2 utils bugs (ea5187a) Move some graph utilities from contification.scm to utils.scm (fef50ea) Port prune-bailouts pass to CPS2 (ba44619) Port elide-values pass to CPS2 (726558f) prune-top-level-scopes elides with $values (467736c) Port specialize-primcalls pass to CPS2 (0e33ee9) Port inline-constructors pass to CPS2 (42f9bda) Factor with-cps out to separate module (bac96c1) Port contification pass to CPS2. (6e725df) Add "intset" syntax to construct intsets. (d78e5a2) Add intmap-fold-right (8b4a523) Port prune-top-level-scopes pass to CPS2 (dd2e0f5) Fix compute-defining-expressions (and thereby compute-constant-values) (2838c6e) Add intmap-replace!. (2337946) DCE uses type analysis to find dead code (ad29059) Port type inference module to CPS2 (8481bdb) intset-next starting point is optional (6a42ac7) Add intmap-replace. (8f578af) Fix type-fold on multiplying exact numbers (10d11e6) Fix regression in compute-idoms (75ab52e) Port dead code elimination (DCE) pass to CPS2 (48b2f19) Port effects analysis to CPS2 (80c162b) Fix bug in CPS2 simplify's "transform-conts" (7d4ede0) intmaps and intsets print with abbreviated key ranges (102e677) Add arity to worklist-fold (1403df4) Variadic intset-fold, intmap-fold (5f7c8e5) Intmaps do not treat #f specially as a value (2b06e90) Add two-argument fixpoint arity (cb7aa0b) Fix bug compiling fixpoint combinator (4632f3d) Fix fixpoint (e0e47cb) Fix sub/- primcall bug (fa7df5e) Add optimization pass over CPS2 (ef5f2fc) Consolidate CPS2 above CPS in the compiler (b31af02) Adapt return arities in Tree-IL -> CPS2 conversion (9833c54) Build CPS2 with transient intmaps (3ab3cde) Tree-IL -> CPS2 -> CPS (5928d16) compute-dom-edges returns a persistent intmap (219b6f8) Fix another intset transient bug (7fedd7b) Fix intset-add! transient bug (f95a794) Fix convert-cps2 for "not" primcalls (d99fedc) Fix intmap-add! transient bug (0f082bd) Register up cps2 compiler with language tower (09869e7) cps2: Fix parse-cps for `prompt' (7cd61e2) Add compiler from tree-il to cps2 (773595f) Beginnings of CPS2 language. (6485e89) Add printers for <intmap> and <transient-intmap> (6ffb6e6) Add "cps2" experiment (eb9d442) Transient intsets (49cc76a) Add "transient" intmap interface (95db570) 32-way branching in intmap.scm, not 16-way (cf512e3) Intset-next micro-optimizations (048d5d3) Add intset-fold, intset-fold2 (9c8d2b8) Add intmap-fold. (b7668bd) Add intmap-prev (2a24395) Default "meet" operator is meet-error for intmap (33ab283) Remove "free" field of $fun (50fcdfe) Replace $letrec with $rec (34ff3af) Precise range inference on <, <=, >=, > branches (4ce1857) Fix intmap bug for maps with only one element (ef7a71b) elf: Add missing argument in 'elf-segment'. (dfa11aa) Only lazily compile where profitable (fe7ecee) Optimize branches in the evaluator (7fee63b) Primcall inlining in eval.scm, lazy function body compilation (d76d80d) Remove unused "nargs" field of memoized call expressions (eb03765) Marginal bootstrap memory improvements (af082f9) Remove $void CPS expression type (a9ec16f) Adapt GDB integration to newest patches (1f3baba) Re-implement (ice-9 streams) in terms of (srfi srfi-41) (aead655) build: Use pipe symbol instead of comma for substitutions. (9331f40) Non-vector 1D arrays print as #1() (eb3d623) Struct and array GDB pretty printers hint as arrays (c4c21de) GDB support: add frame annotators and filters (47612fd) De-bitrot libguile-2.2-gdb.scm (ef52b39) (system base types) knows about variables (577eab8) Fix infinite loop in expander (37ae02f) Add `scm_smob_type_class()'. (1bbf7f7) NEWS and doc updates (22c9e76) Document support for URI references. (d64146f) Reify bytevector? in the correct module (e87f059) Add #:static-slot-allocation? (26350ed) Fix foreign objects for getter method change (05d0cdf) Merge remote-tracking branch 'origin/stable-2.0' (7b0a8df) Accessor methods only apply to subclasses with their slot (649ec8d) Fix verify-cps (15e4746) Fix accessor struct field inlining (583a23b) Fix accessor struct inlining in GOOPS (e709738) Simplify and optimize slot access (4bde3f0) Export <slot> from GOOPS (193e2c5) Simplify GOOPS effective method cache format (d21ef26) Fast generic function dispatch without calling `compile' at runtime (0d96aca) GOOPS cosmetics (3f4829e) Update (oop goops save) for <slot> objects (0b4c068) Fix foreign objects for removal of getters-n-setters (7c49985) Minor GOOPS cleanups (c6fb41f) Optimize %initialize-object (79c2ca2) Inline internal slot accessors (2a3ef7c) Inline helpers into slot-ref, slot-set!, etc (c4974c5) Use a vtable bit to mark <slot> instances (e437c50) Introduce <slot> objects in GOOPS (568174d) Beginnings of <slot> slot definition class (26a6aae) The GOOPS "unbound" value is a unique pair (567a6d1) GOOPS: Deprecate "using-class" procs like slot-ref-using-class (2bcb278) change-object-class refactor (9539b20) slot-ref, slot-set! et al bypass "using-class" variants (f15c0f5) Manipulate GOOPS vtable flags from Scheme, for speed (761338f) GOOPS class slot indices defined as inline values (c2b61cf) `match' refactor in goops.scm (76d531c) Convert emit-linear-dispatch to use match (d273b9c) More GOOPS cleanups (f5c3476) when and unless for one-armed ifs in goops.scm (bacc882) More GOOPS comments (b89432f) Commenting in goops.scm (9ae0070) Narrative reordering in goops.scm (9647d3d) scm_make cleanup (cb3ea03) Add compute-cpl tests (9c49d47) Fold (oop goops util) into (oop goops) (ac5185c) GOOPS utils module cleanups (06d54b3) append-map rather than mapappend (91ff8e9) GOOPS cleanup to use SRFI-1 better (0ca4929) Cosmetic goops refactors. (c2aa5d9) Incorporate %inherit-magic! into %init-layout! (60061fe) goops.c no longer knows about <class> slot allocation (2025a02) Reimplement inherit-applicable! in Scheme (f37bece) Reimplement %allocate-instance in Scheme (07452c8) Re-use the vtable "size" field for GOOPS nfields (92928b8) Move <class> initialization to Scheme (4702cbe) Deprecate scm_get_keyword (2b5812c) Rewrite %initialize-object in Scheme (4a28ef1) Minor goops.c tidying (f608881) Remove scm_c_extend_primitive_generic (5a6165d) No more concept of "pure generics" (2b7692b) Remove TEST_CHANGE_CLASS (623a259) Remove pure-generic? (3292354) Goops slot-unbound / slot-missing cleanups (0cd9a69) Move slot-ref et al to Scheme (ade4cf4) Port method and generic accessors to Scheme (48c981c) <class> accessors implemented in Scheme (70dd600) goops: use computed class slot offsets; untabify and fix whitepace (8dfc0ba) Statically compute offsets for slots of <class> in Scheme (ebca094) Refactor to <class> slot computation (affe170) Remove GOOPS random state (945652a) More goops.c cleanups, and fix a security issue (2e0b693) Remove unused union scm_t_debug_info (06ea79b) More unused code removal in GOOPS (4db73f1) Remove private var_no_applicable_method capture (cf0a678) Remove scm_assert_bound (984d43b) Remove scm_at_assert_bound_ref (6a201bc) Remove hashset slots from GOOPS classes (e03e310) Deprecate C exports of GOOPS classes. (5789859) Generics with setters have <applicable-struct-with-setter> layout (6c7dd9e) Remove unused CPP defines naming <method> slots (9e2cd55) Remove unused `default-slot-definition-class' <class> slot (79f2aaa) Remove useless scm_s_slot_set_x export (005c078) Remove unreachable code in scm_setter (036c508) Deprecate scm_no_applicable_method C export (623559f) Remove unused scm_t_method and SCM_METHOD (07f6200) Fold GOOPS compile and dispatch modules into main GOOPS module (e0590e7) Remove unused *goops-module* definition. (6098d96) define-generic, define-extended-generic are hygienic syntax (7cb88cb) `class' is a hygienic macro (f840ed2) Deprecate scm_basic_make_class (28b818d) Move GOOPS boot to Scheme (51fd1cd) Remove declarations without definitions (a91ea6a) Remove unused %fast-slot-ref / %fast-slot-set! from GOOPS (8906f23) Preparation for more GOOPS refactorings (82ab509) %init-goops-builtins is an extension, not a global (6ab1939) compute-cpl implementation only in Scheme (9167e0b) More useless goops.c code removal (d1500d3) Remove unused macros in goops.c (08c5d88) Rewrite %method-more-specific? to be in Scheme (3a0d141) Deprecate C interfaces scm_compute_applicable_methods, scm_find_method (e4aa440) %compute-applicable-methods in Scheme (c0a56ec) Mark two coverage tests as XFAIL (6679375) Fix the assembler for unexpected source properties (e00c0a4) Merge commit '5b7632331e7551ac202bbaba37c572b96a791c6e' (4247d8e) Merge commit 'ed72201a795ac1c8d6c0288b6bb710f2bd0ebd9c' (0a5b437) Merge commit '01a301d1b606b84d986b735049e7155d2f4cd6aa' (e19235e) Merge commit '894d0b894daae001495c748b3352cd79918d3789' (baf9010) Merge commit '5943a62042432b86d757200ef595d7aebb5c9bac' (1cd7791) Merge commit '37b1453032488de582175270d1b3a1653ea81457' (baa74d3) Merge commit 'cdcba5b2f6270de808e51b3b933374170611b91d' (6f248df) Really disable stack underflow checks when VM_CHECK_UNDERFLOW == 0. (1abe6ba) Merge commit '5d971db802eaa8038db17e1aa5b4c69452739744' (2f5c5d0) Merge commit '47ca15c7dffd14a82e75c1a0aeeaf2e77f3fa5b4' (1fc3fc1) Merge commit '7c433cbbce83bc9f2f9967afba00bbb68e312657' (7c6ce75) Merge commit '5fac1a7ada362d78f13143acbc0ceca7f2f101de' (12dfe65) Merge commit '8cf2a7ba7432d68b9a055d29f18117be70375af9' (a5b5cb4) Merge commit '81d2c84674f03f9028f26474ab19d3d3f353881a' (a51111d) Merge commit 'fdd319e9bd4121d844662d3d8ccc69b462b60840' (086bbcc) Merge commit 'a7bbba05838cabe2294f498e7008e1c51db6d664' (d5dffec) Keywords have a tc7 (e2fafeb) Add allocate-struct, struct-ref, struct-set! instructions (27b3b5b) Merge commit '5af307de43e4b65eec7f235b48a8908f2a00f134' (678995f) Merge commit 'b1451ad859183ae48c624d19ec144306bd2d3e3a' (24d4f02) Fix #:init-value on class-allocated slots (5b76323) Fix buffer overrun with unbuffered custom binary input ports. (ed72201) Improve output of command-line errors. (e1d29ee) Optimize 'string-hash'. (01a301d) Add 'string-hash' benchmarks. (87a8b56) Deprecate 'scm_string_hash'. (894d0b8) Optimize 'write' for strings. (5943a62) Avoid converting the 'mode' argument of 'open-file'. (37b1453) statprof: 'statprof' and 'with-statprof' return the code's return values. (cdcba5b) Improve deprecation message of 'scm_add_to_port_table'. (5d971db) Assembler: Cope with non-string port filenames. (015c3c0) Convert primitive-eval to "compile" its expressions to linked closures (95de4f5) Fix syntax.test (dc33a94) Minor evaluator tweaks (5bfc065) Simplify variable resolution in the evaluator (e6a42e6) Closure conversion in evaluator (a3cae84) Add capture-env to evaluator (99fb07e) build: Better handle substitutions in 'guile-2.0.pc' & co. (47ca15c) Simplify the interpreter for trivial inits and no letrec (cfdc841) Assignment conversion in the interpreter (7974c57) build: Add missing substitutions for 'guile-2.0.pc'. (7c433cb) doc: Clarify the unit of the 'offset' argument of 'seek'. (680135b) Add the 'guild' and 'guile' variables to 'guile-2.0.pc'. (5fac1a7) Update (system base lalr) from upstream. (8cf2a7b) doc: Tell when 'GUILE_INSTALL_LOCALE' first appeared. (7e466e0) Implement SRFI 28: Basic Format Strings. (cffa9bd) doc: Clarify behavior of 'select' in the presence of signal interruptions. (d1447c7) Recognize m68k, s390x, and sh4 as compilation targets (136c3a4) Fix bytevector-fill! to accept fill arguments greater than 127. (ae6f77d) Avoid signed overflow and use size_t in bytevectors.c. (81d2c84) Add SCM_VALIDATE_SIZE_COPY and SCM_NUM2SIZE. (fdd319e) Fix bytevector-copy when applied to SRFI-4 homogeneous numeric vectors. (10679f4) Avoid bash-specific '==' comparison operator in guile.m4. (03242f3) Fix strerror error handling when given a non-integer argument. (fda17c2) texinfo: fix @url{@@} parsing (3f826e3) web: Location header is URI-reference; better URI-reference support (18c44b2) Use on-stack or GC-managed memory in 'search-path'. (a7bbba0) Reduce C heap allocations in 'search-path'. (9c5d6aa) Merge branch 'lloda-array-support' (7f2c824) i18n: Add HAVE_USELOCALE as a requirement for USE_GNU_LOCALE_API. (30c5982) scm_boot_guile: Gracefully handle the case where argc == 0. (b9ace68) Thank Per Bothner. (6b47249) build: Adjust autogen.sh to 'libtoolize' name on Darwin. (449be2a) read: Accept "\(" in string literals. (5af307d) docs: Fix documented return type of 'scm_c_export'. (b1451ad) Intern general arrays (0f25904) Pack array dimensions in array object (65704b9) Run some of arrays.test under both compiler & interpreter (ea342aa) Merge branch 'stable-2.0' (856d318) Add (ice-9 unicode) module (3157d45) peval: Handle optional argument inits that refer to previous arguments. (7a71a45) doc: Improve description of vector-unfold and vector-unfold-right. (ff4af3d) Fix ungetc for characters 0x80 <= c < 0xf0 in UTF-8. (f7582f9) Add 'EXIT_SUCCESS' and 'EXIT_FAILURE'. (447af51) guile-readline: Use the current directory if HOME is unset. (3a3316e) build: Use 'libtoolize' in autogen.sh. (76a8db2) Fix SCM_SMOB_OBJECT{_,_0_,_1_,_2_,_3_}LOC. (8442211) guild disassemble: Use #:prefix instead of #:renamer. (f2742bd) Document #:prefix option in use-module clauses. (0fce815) SRFI-43: vector-concatenate: Fix error message. (8f230e3) VM: Use register "a3" for IP_REG on m68k. (97c520f) VM: Allow the C compiler to choose FP_REG on ARM. (bed025b) Do not assume that 64-bit integers will be 64-bit aligned. (156119b) VM: ASM_MUL for ARM: Add earlyclobber constraint to the SMULL outputs. (a85c78e) tests: Link test against Gnulib. (b38c19a) Add (ice-9 unicode) module (c5ea755) Thank Franck. (9233c05) Handle ~p in 'format' warnings. (8ac39b3) Separate &boolean type into &true and &false (7f5887e) On MS-Windows, don't return file names with backslashes from search-path. (c6a7930) Copy the result from 'nl_langinfo' before it can be overwritten. (cfefef6) Make temporary file in coding.test work on MS-Windows. (7c848fe) doc: "!#" does not need to appear on a line of its own. (1e9249e) Clarify that object-properties cannot be reliably applied to numbers. (da6ecd4) Provide curried version of define*-public. (b072b8e) Prevent add-to-load-path from adding duplicate entries (8857e27) Better simplification of literal constants that continue to branches (b9a5bac) CPS will not see "not" primcalls (ae67b15) Simplify pass rewrite scope tree to reflect dominator tree (4495419) Remove dead case in CSE (7700e67) CSE allocate-struct fix (6fc634f) Fix typo in arities.scm (30411ab) Stabilize renumber.scm:sort-conts. (cf7a884) maybe_annotate_source does not annotate negative positions (3ddd438) Soft port fill-input doesn't alter line or column (3c01acb) scm_ungetc_unlocked should not result in negative columns (681f2b8) Fix allocate-slots for $kreceive with multiple predecessors (ebca3af) Block sorting to keep loop bodies together (6d7b6a1) Recognize more ARM targets. (ffd3e55) Fix bit-count* bug (d407525) build: Support pthread builds without 'pthread_cancel' support (Android). (f184e88) build: Use 'LT_LIB_M' to determine whether -lm is needed. (8c75d3a) Recognize arm-* target triplets. (df8c52e) logbit? strength reduction (9243902) Fix logand range analysis. (74fe7fa) Fix range analysis for mul and div (42b544e) Type-driven strength reduction (384d1ec) Small type-fold cleanup (c7b71b1) Remove trailing whitespace from ports.test. (c53b5d8) Untabify some test files. (8c6b62e) Fix problems with Windows file names that use backslashes. (9235f80) Fix calculation of CPU set size for getaffinity. (9dc3fc4) Provide a more reasonable default value for stack limit on MS-Windows. (5102fc3) Unconditionally build and test the ice-9/popen module. (317f6a2) Compiler emits br-if-logtest (d613cca) Add br-if-logtest opcode (8c6206f) Optimizer support for logtest and logbit? (8006d2d) Convert slot allocation to use intsets (5ded849) Add bitvector->intset. (7f6aafa) Restrict intsets and maps to non-negative integers (4296c36) Adapt visit-prompt-control-flow to use intsets. (e9808c1) CSE comments (c1a41f9) Add intset-subtract. (4129676) More fixes for deleting files whose ports are not closed. (bc945fa) Make 'system*' available on MS-Windows. (4698a11) Fix deletion of ports.test test file on MS-Windows. (0d77e06) Fix intset on 32-bit machines (93e8384) Remove size limit in elide-type-checks (0ad455c) Fix intmap-intersect corner case (e21dae4) CSE truth inference pass uses intsets (072b5a2) Result of intsect-intersect will share structure with A if it can (793ca4c) Fix an intset-intersect corner case (257db78) Fix intset pruning for empty intsets (b5cb1c7) Remove namesets. (2c02a21) Rewrite type inference to use intmaps (3a12f2c) New module (language cps intmap) (b352309) Rewrite CSE to use intsets. (6fe36f2) New module: (language cps intset) (b1103eb) Fix bit-count* bug (d40b053) Fix compilation of scm_nl_langinfo when some nl_langinfo items are missing. (c7161ee) Rewrite type inference pass to use namesets (ec412d7) New module: (language cps nameset) (97ed2e7) Refactor dominator computation (38c7bd0) Constant folding for (list) and (vector) in peval (803a1ee) tests: Improve lack-of-/dev/null detection. (f089330) i18n: Adjust tests for Windows. (700f6cd) i18n: Ignore LC_MESSAGES on MinGW. (c84f25b) tests: Use NUL instead of /dev/null on MinGW. (82b8cfa) Use the right GC version macros. (fab18c0) R6RS library documentation fix (43191a3) Fix typo in `transform-string' doc. (d86a063) Optimize scm_ilength and 'length+'. (fc8a900) test-guild-compile: Increase sleep time before sending SIGINT. (4afca1a) Avoid quadratic expansion time in 'and' and 'or' macros. (1ea8954) 'guild compile' doesn't leave temporary files behind it. (2da97f1) SRFI-1 'length+' raises an error unless passed a proper or circular list. (a5186f5) Mark system async functions as SCM_API. (12c6a47) Remove $kif (59258f7) CPS conversion produces $branch nodes, not $kif (fd61004) Add $branch expression type (92805e2) Fix source-line-for-user for unknown line (c90e2c6) Fix off-by-one in dump-dfg (51177f3) Fix compute-predecessors bug in frame.scm (5062a56) Slightly simplify 'scm_open_process'. (a43fa1b) rdelim: Speed up 'read-string' (aka. 'get-string-all'.) (a41b07a) tests: Add test for <http://bugs.gnu.org/17466>. (eb6ac6e) Fix shrinking of contiguous bytevectors, as from 'get-bytevector-n'. (1baa215) web: Keep the default size for the client's in-kernel receive buffer. (0bb3f94) tests: Add test for _IOLBF. (c497bfb) Update effects-analysis docstring. (146c8e7) Redefine memory kind part of effects to be enumeration, not flags (e7f2fe1) Silence GCC warning. (5e793ad) DCE uses type analysis to elide type checks (3be43fb) Limit impact of O(n^2) type analysis by imposing limit (a7ee377) Compile language/cps/types.scm early (a77e3a7) Enable type folding (6129faa) Type and range inference for CPS (8bc65d2) Add syntax-parameterize indentation to .dir-locals.el. (7ed92f0) Rewrite effects analysis to be precise for fields. (5d25fda) CSE effects analysis cleanup (466bdf7) Add dump-dfg pretty-printer (fb512ca) Synthetic definitions take advantage of CSE'd vars (c8d87b4) Fix thinko in synthesize-definition-effects! (aa980ce) Fix frame-call-representation for frames from apply-hook (7af8115) Program printing tweaks (423164e) Refactorings to apply-hook and push-continuation-hook (f5cb70e) frame-address, frame-stack-pointer return offsets (7c08018) frame-call-representation has #:top-frame? as keyword argument (18f8fd0) Set-car! on a dead pair does not force the pair to be live (40b36bb) Add auxiliary definitions for boxes (41812da) CSE does scalar replacement of aggregates (6119a90) More inlinable effects-analysis procedures (cfb42b4) Update NEWS (e15f3e3) Rewrite boot-9 map to be recursive and pure (9de674e) Fix inner and outer stack cuts to match on procedure code (de0233a) Merge remote-tracking branch 'origin/stable-2.0' (d7a67c3) Prefer foreign objects over smobs in manual (4338f2f) Add new standalone tests to gitignore (b1812a6) Remove doc/example-smob/ (9720934) Remove SMOB tutorial; update manual. (d9a4a1c) Add foreign object documentation (6e4630e) Add more foreign object interfaces (4b8ce7c) Avoid non-constant struct initializers (682a55d) Add scm_make_foreign_object_0; optimize scm_make_foreign_object_n. (ea4c246) New foreign object facility, to replace SMOBs (a7ee7f7) Fix foreign slot initialization and access (48ad85f) Add interface to disable automatic finalization (fa1a307)
2015-09-18UpdateStefan Husmann
2015-09-17AddedStefan Husmann
2015-08-14Updated version (v2.1.0.451.g4841239 -> v2.1.0.452.g00884bb).AUR Update Bot
2015-07-27Updated version (v2.1.0.445.gee85e29 -> v2.1.0.451.g4841239).AUR Update Bot
2015-07-24Updated version (v2.1.0.439.g4aabc20 -> v2.1.0.445.gee85e29).AUR Update Bot
2015-07-22optdependsStefan Husmann
2015-07-22correct install file, fixed depsStefan Husmann
2015-06-14UpdateStefan Husmann
2015-06-09initial versionStefan Husmann