[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
Re: [MIT-Scheme-devel] Bug: Poor error message; maybe a sign of something worse?
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