[Top][All Lists]
[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/
- vm status update, in the crisp fall,
Andy Wingo <=