guile-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

vm status redux: srfis compiled too


From: Andy Wingo
Subject: vm status redux: srfis compiled too
Date: Sat, 01 Nov 2008 22:37:01 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.0.60 (gnu/linux)

Hello,

So in recent pushes I have reorganized the scheme source within the
guile tree, so that most all scheme source is under module/. This has
the practical benefit that we compile all C libraries before we even
recurse into the module/ directory. Also, now we compile srfi/ as well,
which is quite nice.

There were a couple bugs that srfi compilation uncovered, but nothing
major. This is pleasing. At this point, I'm pretty confident about the
VM's ability to compile most any R5RS scheme code, so we should be
getting ready to merge to mainline within a few weeks.

Pending tasks:

  * Inline dispatch to non-compiled procedures, including generics.

  * Fix tracing and debugging at the VM REPL.

  * Figure out the GDS story when the VM is involved.

  * Remove heap links in the VM frames; instead when saving the frame
    chain, just capture the VM continuation. Incidentally will fix the
    only segfault I am aware of, which happens while freeing a heap
    frame (during GC after the second backtrace in the REPL).

  * Update the documentation, possibly merging it into the Guile
    reference manual.

  * Profile, profile, profile.

    - Going between the interpreter and the repl is expensive -- we
      should figure out what the major culprits are and eliminate them.
      For example I think we should have Scheme definitions of `map' and
      `for-each'.

    - Should reduce computation and allocation when loading objcode from
      disk -- the goal would be to be able to mmap() structures directly
      into memory. Very relevant in the context of scm_program.

    - Need to figure out the scheme-level profiling story, perhaps
      including statprof in guile, with VM awareness.

    - kcachegrind, oprofile, etc, etc, etc...

  * Benchmark, benchmark, benchmark.

    - Dunno what the real story is here -- perhaps steal R5 benchmarks
      from others?

  * Go out and get some more wine.

So I'm going to work on the last one right now, and the others as time
permits. Any thoughts are most welcome. Happy hacking!

A
-- 
http://wingolog.org/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]