unofficial mirror of guile-devel@gnu.org 
 help / color / mirror / Atom feed
From: Andy Wingo <wingo@pobox.com>
To: guile-devel <guile-devel@gnu.org>
Subject: Re: Guile 2.2 TODO
Date: Fri, 18 Oct 2013 11:56:47 +0200	[thread overview]
Message-ID: <87y55q297k.fsf@pobox.com> (raw)
In-Reply-To: <87vc2kztv1.fsf@pobox.com> (Andy Wingo's message of "Sun, 01 Sep 2013 13:03:46 +0200")

On Sun 01 Sep 2013 13:03, Andy Wingo <wingo@pobox.com> writes:

> * Replace bytecode trampolines with RTL trampolines.
>
> foreign.c, control.c, gsubr.c, and continuations.c all have inline
> bytecode trampolines to implement calls to "foreign" things.  These need
> to be replaced with RTL trampolines.  This can be done now, I think, and
> doesn't depend on anything else, given that the two VMs interoperate.

I've now done this for gsubr.c.  The initial results look great from RTL
code, but as most things are stack VM code the temporary result is a
slowdown.  Hopefully we can switch over to RTL within a few weeks
though.

> * Prompt, abort, and call/cc.

I did prompt and abort, sorta -- it actually ends up recursing through
the stack VM to abort and so continuations are not rewindable.  That
will get fixed soon but perhaps not urgently, given that compiling the
compiler doesn't depend on rewinding partial continuations.

> * Compiling all of Guile to RTL.

eval.scm compiles fine and appears to be around 50% faster, currently.
However it can't be loaded at boot-time due to some module bootstrapping
issues.  I need to fix that before we can bootstrap Guile off of an
RTL-compiled eval.  Boot-9 is tricky for similar reasons.  The rest of
things should work though; I'll be going through them one by one looking
for miscompilations.

> * Rip out GLIL, assembly, bytecode, objcode, the old VM, etc..
>
> This will be a final glorious set of commits :)

I'm getting very excited about this :)

> I think that's pretty much it.  Obviously it would be nice to get a lot
> of other things into 2.2 but this is the necessary bit.  I think we
> should shoot for a 2.1.0 release around 1 December; dunno.

I think we'll be ready on that date, code-wise, but documentation makes
a 2.1.0 release much less likely -- documenting things takes time.

Regards,

Andy
-- 
http://wingolog.org/



  parent reply	other threads:[~2013-10-18  9:56 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-09-01 11:03 Guile 2.2 TODO Andy Wingo
2013-09-01 19:07 ` Peter TB Brett
2013-09-02 20:01   ` Andy Wingo
2013-09-14 13:48 ` Ludovic Courtès
2013-09-17 20:16   ` Andy Wingo
2013-10-03 21:27 ` Andy Wingo
2013-10-18  9:56 ` Andy Wingo [this message]
2013-10-29 12:27   ` Ludovic Courtès

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/guile/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87y55q297k.fsf@pobox.com \
    --to=wingo@pobox.com \
    --cc=guile-devel@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).