All of lore.kernel.org
 help / color / mirror / Atom feed
From: Rob Browning <rlb@defaultvalue.org>
To: qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] get_func() hangs with gcc 3.4.2 on MinGW and WinXP host
Date: Sun, 19 Dec 2004 21:31:52 -0600	[thread overview]
Message-ID: <87fz21tzkn.fsf@trouble.defaultvalue.org> (raw)
In-Reply-To: <Pine.LNX.4.58.0412192322390.4461@wgmdd8.biozentrum.uni-wuerzburg.de> (Johannes Schindelin's message of "Sun, 19 Dec 2004 23:29:20 +0100 (CET)")

Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:

> If you would ask me, I'd rather go for GNU Lightning, which is LGPL,
> and has a clean interface. I did not yet play with it, but a friend
> told me that it's quite fast, and maybe it's possible to do
> something Hotspot like. The downside: Lightning only supports i386,
> ppc and sparc backends AFAIK. OTOH this could lead to a synergetic
> effect.

It might be interesting to note that languages like Scheme have
similar needs, at least when considering direct compilation.  Scheme
requires tail-call optimization, and so compiling Scheme functions
directly to C functions using the normal C ABI won't work because the
caller, rather than the callee, cleans up the stack, and tail-call
optimization requires that there be no stack growth when possible.

I did have a conversation with one of the gcc developers about whether
or not it might be possible to make gcc more amenable to non-C-like
languages, specifically with respect to tail-calls, and he was very
helpful.  In the end he suggested that the most likely way that the
relevant changes would be accepted into gcc would be if they were done
at the RTL level.  So it would be possible to create a front end for a
particular language that took advantage of the new RTL annotations.

For similar reasons the language Mercury actually uses (or has used)
what they call "The Evil Mangler"
(http://www.cse.unsw.edu.au/~chak/haskell/ghc/comm/the-beast/mangler.html)
which post-processes gcc's assembly.

With respect to your comment about GNU Lightning, a while ago there
was also a bit of experimentation with using it in Guile.

In any case, I mention all of this because it suggests that there
might be a non-trivial audience for a good, cross-platform method of
generating code or code-fragments when your needs don't quite match
the C ABI.

Oh, and another possibly relevant project that was mentioned to me,
but I havent investigated much yet, is C--
(http://www.cminusminus.org).

-- 
Rob Browning
rlb @defaultvalue.org and @debian.org; previously @cs.utexas.edu
GPG starting 2002-11-03 = 14DD 432F AE39 534D B592  F9A0 25C8 D377 8C7E 73A4

  reply	other threads:[~2004-12-20  3:47 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-12-15 13:47 [Qemu-devel] get_func() hangs with gcc 3.4.2 on MinGW and WinXP host tomba
2004-12-15 14:18 ` Johannes Schindelin
2004-12-15 14:59   ` tomba
2004-12-15 23:45     ` Jim C. Brown
2004-12-15 23:52       ` Johannes Schindelin
2004-12-17 18:56         ` Juergen Lock
2004-12-18  0:09           ` Johannes Schindelin
2004-12-18  4:04             ` Jim C. Brown
2004-12-18 14:59               ` Johannes Schindelin
2004-12-18 15:50                 ` Jim C. Brown
2004-12-19 14:25                   ` Johannes Schindelin
2004-12-19 22:57                     ` Jim C. Brown
2004-12-18 21:07                 ` John R. Hogerhuis
2004-12-18 21:59                   ` Jim C. Brown
2004-12-19 14:45                   ` Johannes Schindelin
2004-12-20  6:26                     ` John R. Hogerhuis
2004-12-20 15:16                       ` Removing GCC dependency, was " Johannes Schindelin
2004-12-20 18:02                         ` John R. Hogerhuis
2004-12-20 23:30                           ` Fabrice Bellard
2004-12-21 14:36                             ` [Qemu-devel] Testing with Win2k SP3 and Win2kSP4 Elefterios Stamatogiannakis
2004-12-21 15:23                             ` [Qemu-devel] Re: Removing GCC dependency Paul Brook
2004-12-21 15:36                               ` Herbert Poetzl
2004-12-19 22:13           ` [Qemu-devel] get_func() hangs with gcc 3.4.2 on MinGW and WinXP host Fabrice Bellard
2004-12-19 22:29             ` Johannes Schindelin
2004-12-20  3:31               ` Rob Browning [this message]
2004-12-20 18:57                 ` John R. Hogerhuis
2005-01-17 14:16                   ` CMinusMins, was " Johannes Schindelin
2005-01-17 15:36                     ` malc
2005-01-17 15:53                       ` Jim C. Brown
2005-01-17 16:13                         ` OCAML, was " Mark A. Williamson

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

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

  git send-email \
    --in-reply-to=87fz21tzkn.fsf@trouble.defaultvalue.org \
    --to=rlb@defaultvalue.org \
    --cc=qemu-devel@nongnu.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.