From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Mark H Weaver Newsgroups: gmane.lisp.guile.devel Subject: Re: Register VM WIP Date: Wed, 16 May 2012 00:23:36 -0400 Message-ID: <871umkbvp3.fsf@netris.org> References: <871umqr8q0.fsf@pobox.com> <873972zczy.fsf@gnu.org> <87bolpmgew.fsf@pobox.com> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Trace: dough.gmane.org 1337142301 18193 80.91.229.3 (16 May 2012 04:25:01 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Wed, 16 May 2012 04:25:01 +0000 (UTC) Cc: Andy Wingo , Ludovic =?utf-8?Q?Court=C3=A8s?= , guile-devel@gnu.org To: Noah Lavine Original-X-From: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Wed May 16 06:25:00 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 1SUVnD-0001Lk-9P for guile-devel@m.gmane.org; Wed, 16 May 2012 06:24:55 +0200 Original-Received: from localhost ([::1]:50570 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SUVnC-00027R-ML for guile-devel@m.gmane.org; Wed, 16 May 2012 00:24:54 -0400 Original-Received: from eggs.gnu.org ([208.118.235.92]:58906) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SUVn9-00027K-PS for guile-devel@gnu.org; Wed, 16 May 2012 00:24:52 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1SUVn8-0001wj-31 for guile-devel@gnu.org; Wed, 16 May 2012 00:24:51 -0400 Original-Received: from world.peace.net ([96.39.62.75]:55247) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SUVn7-0001wT-VA; Wed, 16 May 2012 00:24:50 -0400 Original-Received: from 209-6-91-212.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com ([209.6.91.212] helo=yeeloong) by world.peace.net with esmtpsa (TLS1.0:DHE_RSA_AES_128_CBC_SHA1:16) (Exim 4.72) (envelope-from ) id 1SUVn0-00008G-IP; Wed, 16 May 2012 00:24:42 -0400 In-Reply-To: (Noah Lavine's message of "Tue, 15 May 2012 20:39:02 -0400") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.0.92 (gnu/linux) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3) X-Received-From: 96.39.62.75 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:14460 Archived-At: Noah Lavine writes: >>> The register based VMs I've seen ignore this issue by allowing for an >>> infinite set of registers. :) >> >> Indeed, that's the plan :) =C2=A0The first shot at an allocator will loo= k a >> lot like the one in (language tree-il analyze). > > That was a bit surprising to me. Do you mean that the register pool > will grow and shrink for each function call? Is that why the stack > frames can be fixed-size? It's surprising to me for another reason: in order to make the instructions reasonably compact, only a limited number of bits are available in each instruction to specify which registers to use. Mark