On Mon, Aug 22, 2011 at 9:31 PM, Taylor R Campbell <[email protected]> wrote: > Date: Sun, 21 Aug 2011 21:19:55 +0100 > From: Alexey Radul <[email protected]> > > 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. ~Alexey _______________________________________________ MIT-Scheme-devel mailing list [email protected] https://lists.gnu.org/mailman/listinfo/mit-scheme-devel
