1. 10 4月, 2023 6 次提交
  2. 09 4月, 2023 1 次提交
  3. 02 4月, 2023 1 次提交
  4. 29 3月, 2023 1 次提交
  5. 28 3月, 2023 2 次提交
  6. 27 3月, 2023 3 次提交
  7. 20 3月, 2023 1 次提交
  8. 19 3月, 2023 5 次提交
  9. 14 3月, 2023 1 次提交
    • J
      Support bootstrapping via Chez Scheme from top-level makefile · e12337bd
      J. Ryan Stinnett 提交于
      It has been possible to supply a Chez Scheme for bootstrapping via configure
      args (`--enable-scheme`) for some time, but it was not clear how to do so if
      using the top-level makefile. This wires up that support in a similar way to the
      existing `RACKET`-related makefile options.
      e12337bd
  10. 11 3月, 2023 11 次提交
  11. 10 3月, 2023 1 次提交
  12. 09 3月, 2023 1 次提交
    • M
      Chez Scheme: constant top-link offset for rp header compact and not · 31b33c6e
      Matthew Flatt 提交于
      Put the `top-link` field the same distance from the end of a compact
      rp header and a non-compact rp header. That way, the GC can avoid an
      indirection finding code as it traverses a continuation. This can save
      collection time on some x86_64 (such as an Intel MacBook) for a
      program that captures and saves many continuations, like the one
      below.
      
      (define (go)
        (define (make-one)
          (call/cc
           (lambda (esc)
             (let loop ([i 1000])
               (if (zero? i)
                   (call/cc esc)
                   (+ i (loop (sub1 i))))))))
      
        (define l
          (let loop ([i 1000])
            (if (zero? i)
                '()
                (cons (make-one)
                      (loop (sub1 i))))))
      
        ;; quadratic-time traversal that creates continuations
        ;; with a spectrum of lifetimes
        (let loop ([l l])
          (unless (null? l)
            ;; replace all in this `l`
            (let loop ([l l])
              (unless (null? l)
                (set-car! l (make-one))
                (loop (cdr l))))
            ;; recur with the rest of `l`
            (loop (cdr l))))
      
        ;; keep the original list, so we retain the
        ;; continuatons
        l)
      
      (time (begin (go) (void)))
      31b33c6e
  13. 07 3月, 2023 5 次提交
  14. 04 3月, 2023 1 次提交