[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [MIT-Scheme-devel] Bug: Poor error message; maybe a sign of somethin

From: Alexey Radul
Subject: Re: [MIT-Scheme-devel] Bug: Poor error message; maybe a sign of something worse?
Date: Tue, 23 Aug 2011 02:08:19 +0100

On Mon, Aug 22, 2011 at 9:31 PM, Taylor R Campbell <address@hidden> wrote:
>   Date: Sun, 21 Aug 2011 21:19:55 +0100
>   From: Alexey Radul <address@hidden>
>   Expected behavior: Ideally, the compiler would successfully compile
>   the enclosed file; I believe it to be correct -- in particular, the
>   interpreter runs it without incident -- though I would not stake my
>   reputation on the absence of errors in it.  Failing that, however, I
>   would wish the error message to be more informative.  Is this a
>   manifestation of a limitation on the maximum size of basic block that
>   the x86-64 code generator is willing to emit?
> It is indeed a manifestation of such a limit.  Changing the error
> message to say that a little more explicitly would be easy, but not
> much more helpful for the user.
> I'm looking into changing the actual limit, which looks to be a little
> fiddly.  There may also be other limits lurking throughout the code
> that nobody has documented or analyzed, although probably most of them
> are 32-bit limits rather than 16-bit limits like this one.

Awesome!  I will let you know as soon as I hit them :)

There was one a while back that did have a good error message, and
that was that the code generator (on x86-64, I think) barfed when I
gave it a tail-recursive procedure that accepted 700 parameters and
passed them to itself.  Something about "too many temporaries".  I
didn't worry about it too much, though, because 695 of those
parameters were unused (and aliases of each other).  So I just
implemented the appropriate stage in the prototype and the problem
went away.  But since we're talking about limits, I thought I would
mention it.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]