[racket-dev] better x86 performance

From: Eli Barzilay (eli at barzilay.org)
Date: Sun Apr 24 20:56:13 EDT 2011

An hour and a half ago, Matthew Flatt wrote:
> [...] Later, the `ret' to return from the non-tail call would
> confuse the processor and caused stalls, because the `ret' it wasn't
> matched with its `call'.  It's easy enough to put the return address
> in place using `call' when setting up a frame, which exposes the
> right nesting to the processor.

Does this mean that the code was correct, only it followed a pattern
that is not commonly produced by most compilers?

          ((lambda (x) (x x)) (lambda (x) (x x)))          Eli Barzilay:
                    http://barzilay.org/                   Maze is Life!

Posted on the dev mailing list.