guile-devel
[Top][All Lists]
Advanced

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

vm status update, in the crisp fall


From: Andy Wingo
Subject: vm status update, in the crisp fall
Date: Sun, 28 Sep 2008 23:25:40 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.0.60 (gnu/linux)

Heyas,

Since the last update:

 * We optimize the (call-with-values producer (lambda (values...) body...)
   into a special form to avoid generating the consumer closure. It's
   equivalent to:
   (receive (values...) producer body....).

 * Fixed pre-inst-guile not to look at installed paths for .scm files.

 * (the-vm) returns the value of *the-vm*, a fluid. So each thread has
   its own vm.

 * call-with-current-continuation now works with the vm (yay!).
   Basically, the VM stack and registers are captured at the same time
   as the C stack and registers. The C code handles the dynamic wind
   chain. There are special vm instructions to ensure that the procedure
   is called with the correct continuation, even in the tail case.

 * (delay EXPR) is now compiled. make-promise is now exported, it takes
   a thunk.

 * most modules in ice-9 are compiled now, including psyntax-pp.

 * A number of bugfixes.

I'm not happy about one thing though, a GC leak that I found and had to
paper over. You'll see it if you look at gitk origin/vm.

Current plan is to either look at that GC leak, if I'm feeling
adventurous, or otherwise keep plugging away at the test suite. Most
things pass but I do find some random bugs (46d2d6f80 took me a long
time to figure out).

Happy hacking,

Andy
-- 
http://wingolog.org/




reply via email to

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