From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Noah Lavine Newsgroups: gmane.lisp.guile.devel Subject: Re: patching gcc to allow other calling conventions Date: Mon, 18 Jun 2012 18:30:20 -0400 Message-ID: References: <878vflzjsu.fsf@gnu.org> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: quoted-printable X-Trace: dough.gmane.org 1340058633 12585 80.91.229.3 (18 Jun 2012 22:30:33 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Mon, 18 Jun 2012 22:30:33 +0000 (UTC) Cc: =?ISO-8859-1?Q?Ludovic_Court=E8s?= , guile-devel@gnu.org To: Stefan Israelsson Tampe Original-X-From: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Tue Jun 19 00:30:31 2012 Return-path: Envelope-to: guile-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1SgkSp-0001m4-OM for guile-devel@m.gmane.org; Tue, 19 Jun 2012 00:30:27 +0200 Original-Received: from localhost ([::1]:54824 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SgkSp-0004v9-Mj for guile-devel@m.gmane.org; Mon, 18 Jun 2012 18:30:27 -0400 Original-Received: from eggs.gnu.org ([208.118.235.92]:38245) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SgkSn-0004v4-4U for guile-devel@gnu.org; Mon, 18 Jun 2012 18:30:26 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1SgkSl-0006yY-BE for guile-devel@gnu.org; Mon, 18 Jun 2012 18:30:24 -0400 Original-Received: from mail-yw0-f41.google.com ([209.85.213.41]:55065) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SgkSl-0006xv-4G; Mon, 18 Jun 2012 18:30:23 -0400 Original-Received: by yhr47 with SMTP id 47so4934263yhr.0 for ; Mon, 18 Jun 2012 15:30:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:cc:content-type :content-transfer-encoding; bh=thOZHPHwhi9ko5o/mjF9qpV+nXR06sGGTYAFVy+Mlqo=; b=LOCrQnOh8Tf89KLN/qsXgHAFBPOMQsStjnEEJwcwKmKHBOM1bxoSZuumGrC+1AWRl0 VI8cSHfqQHMPEKHHqGOcbrhzhGPg7OKF40CPFZaeMpQdcaR0gqZ7TunC6M+xNA+GXfrN RLFtlUsZxAwzlfN5hF2wF80glKQQvVoiMa3BQlKjEWVfvy5fVs6u74l+eYuLC2k+P/HI 7lwCCHiLfS/yy/70DmTzxJVtcJ5FHrgDWjxVCQNuc41seYbYh3jwv9HbHEJTWwaX/weP /tRe+xQ6cxanJ37reA32eG5jgdSPaG/xHQRGkiLM76eyKalKtnk6R8L7tuYDVNFFUfT9 oiOQ== Original-Received: by 10.60.8.35 with SMTP id o3mr17232060oea.45.1340058620546; Mon, 18 Jun 2012 15:30:20 -0700 (PDT) Original-Received: by 10.76.82.68 with HTTP; Mon, 18 Jun 2012 15:30:20 -0700 (PDT) In-Reply-To: X-Google-Sender-Auth: gIpgTY0cO3-iPCOYL31DLzGG-5E X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 209.85.213.41 X-BeenThere: guile-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Developers list for Guile, the GNU extensibility library" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Original-Sender: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.lisp.guile.devel:14636 Archived-At: Hello, > But the used sbcl derivative although not gnu is either in the public dom= ain > or bsd so we should be able to publish what we are doing. I prefere now t= o > start working on a simple jit scheme for the fun of it, because it is a g= ood > learning experience and that getting results are a good driver to continu= eu. A JIT would be a good thing for Guile to have. I worked on a JIT a while ago, and I found that the hard part was not generating machine code or connecting it to the VM - both of which it looks like you've done - but making the JIT engine understand all of the VM instructions. You could just hard-code them all, but then you've got a complete duplicate of vm-engine.c with exactly the same information, but in different syntax. So I thought I wanted some way to generate the JIT from vm-engine.c, but that requires parsing C code. That's a capability I want Guile to have in general, but I haven't made it happen yet. What do you think about this? Would you just want to maintain the JIT engine separately from vm-engine.c, or would you like to automatically generate it? (Note: you could also generate vm-engine.c and your JIT from some third source, but I think we rejected that for being too complicated. It would certainly make the build process more difficult.) Noah > /stefan > > Den 18 jun 2012 02:43 skrev "Noah Lavine" : > >> Hello, >> >> > Did you consider starting from GNU/MIT Scheme? =A0It supports only IA3= 2 >> > and x86_64, I think, but it=92s in Scheme, and it=92s GNU. >> >> Actually, that's an interesting thought in general. I looked at MIT >> scheme a bit a long time ago, but I believe it uses two intermediate >> languages, a high-level one similar to Tree-IL and a low-level one >> that I don't know much about. We might be able to turn Tree-IL into >> the high-level one and use their compiler infrastructure. Since >> they're a GNU project, there might not be copyright issues. >> >> However, I'm not sure if this has advantages over just building it >> ourselves. And I don't know if the MIT Scheme developers would like >> this or not. >> >> Noah >> >