limit check pushed inside loop

Stephen Weeks MLton@sourcelight.com
Wed, 9 Aug 2000 11:28:01 -0700 (PDT)


> O.K.  I only mentioned it because from a performance point of view, a
> limitCheck with zero bytes can simply compare frontier with limit without
> some calculation (whether it be via leal or movl/addl).

I wouldn't have thought it would make a big difference, but ...  I just ran 
"even 750000000" with the zero byte check and with the n byte check.  Here are
the running times.

zero byte	 8.5
n byte		10.4

That's a huge difference.  I guess we should put limit checks on loop exits.
Actually, I guess we only really want them if the loop isn't already allocating
anyways, but I don't see an easy way to do that in the current world.