unofficial mirror of guile-devel@gnu.org 
 help / color / mirror / Atom feed
* RTL has landed!
@ 2013-11-09 13:39 Andy Wingo
  2013-11-11  5:32 ` Nala Ginrut
  2014-03-24 21:45 ` Andy Wingo
  0 siblings, 2 replies; 3+ messages in thread
From: Andy Wingo @ 2013-11-09 13:39 UTC (permalink / raw)
  To: guile-devel

Hi!

Just a brief note to say that if you haven't noticed, the "master"
branch of Guile now compiles to the new virtual machine, using the new
compiler.  All tests pass.  The old VM is gone!

There are a couple of regressions that I would like to fix soonish:

  * The compiler is somewhat slow.  I haven't tried to optimize it at
    all, so there's lots to do here.  To a degree it is to be expected,
    as the compiler does more work -- but I hope to get it faster than
    the 2.0 compiler.

  * We don't have local variable information.  In the debugger, ,locals
    doesn't print anything.  Here we need to build this information at
    compile-time, write it into ELF somehow (perhaps using DWARF), and
    read it out as needed at runtime.  I'll take a look at this too.

  * The manual is out of date, as regards the compiler and VM.

Besides these regressions, there are a many optimizations to make --
many more than before -- now that we have a better intermediate language
in which to express them.

Let the list know if you find any problems that aren't covered by the
test suite.

I hope we can get out a 2.1.0 release -- which would be a prerelease for
2.2 -- around mid-December or so.  We can aim for 2.2.0 for next May or
so, but that's a totally fictional date I just made up :)

Cheers,

Andy
-- 
http://wingolog.org/



^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: RTL has landed!
  2013-11-09 13:39 RTL has landed! Andy Wingo
@ 2013-11-11  5:32 ` Nala Ginrut
  2014-03-24 21:45 ` Andy Wingo
  1 sibling, 0 replies; 3+ messages in thread
From: Nala Ginrut @ 2013-11-11  5:32 UTC (permalink / raw)
  To: Andy Wingo; +Cc: guile-devel

On Sat, 2013-11-09 at 14:39 +0100, Andy Wingo wrote:
> Hi!
> 
> Just a brief note to say that if you haven't noticed, the "master"
> branch of Guile now compiles to the new virtual machine, using the new
> compiler.  All tests pass.  The old VM is gone!
> 

Congrats!

> There are a couple of regressions that I would like to fix soonish:
> 
>   * The compiler is somewhat slow.  I haven't tried to optimize it at
>     all, so there's lots to do here.  To a degree it is to be expected,
>     as the compiler does more work -- but I hope to get it faster than
>     the 2.0 compiler.
> 
>   * We don't have local variable information.  In the debugger, ,locals
>     doesn't print anything.  Here we need to build this information at
>     compile-time, write it into ELF somehow (perhaps using DWARF), and
>     read it out as needed at runtime.  I'll take a look at this too.
> 
>   * The manual is out of date, as regards the compiler and VM.
> 
> Besides these regressions, there are a many optimizations to make --
> many more than before -- now that we have a better intermediate language
> in which to express them.
> 
> Let the list know if you find any problems that aren't covered by the
> test suite.
> 
> I hope we can get out a 2.1.0 release -- which would be a prerelease for
> 2.2 -- around mid-December or so.  We can aim for 2.2.0 for next May or
> so, but that's a totally fictional date I just made up :)
> 

Next May sounds nice, but no rush anyway IMO ;-)

Thanks for working on it!

> Cheers,
> 
> Andy





^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: RTL has landed!
  2013-11-09 13:39 RTL has landed! Andy Wingo
  2013-11-11  5:32 ` Nala Ginrut
@ 2014-03-24 21:45 ` Andy Wingo
  1 sibling, 0 replies; 3+ messages in thread
From: Andy Wingo @ 2014-03-24 21:45 UTC (permalink / raw)
  To: guile-devel

An update:

On Sat 09 Nov 2013 14:39, Andy Wingo <wingo@pobox.com> writes:

> There are a couple of regressions that I would like to fix soonish:
>
>   * The compiler is somewhat slow.

As a data point, compiling (ice-9 boot-9) is about twice as slow in
master than stable-2.0.

Ultimately I think we probably need to be using small integers to
identify variables and continuations, instead of symbols.  Once we fix
that I think we can be faster than stable-2.0.  Dunno how far to go in
this direction; we could end up with a much more graph-based IR...

Ideally I'd like to bootstrap faster too, but that's tricky; every
optimization is an additional chunk of code that needs to bootstrap.
Maybe just focusing on things that help eval.scm would be good there:
closure optimization and computed-goto switches.

>   * We don't have local variable information.

TODO.  There are also some addressing restrictions -- some VM ops can't
address the full range of local slots, and need some shuffling to be
done, and that's not done yet.  This is the biggest blocker, though to
be fair I haven't hit it in practice yet.

>   * The manual is out of date, as regards the compiler and VM.

It's up to date :)

Andy
-- 
http://wingolog.org/



^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2014-03-24 21:45 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-11-09 13:39 RTL has landed! Andy Wingo
2013-11-11  5:32 ` Nala Ginrut
2014-03-24 21:45 ` Andy Wingo

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).