[Mono-devel-list] [PATCH] Don't spill return from call

Paolo Molaro lupus at ximian.com
Mon Apr 26 04:43:18 EDT 2004


On 04/23/04 Ben Maurer wrote:
> By having temporary variables like these, we reduce the chances that
> other variables will be put into registers, and increase code size. It
> also increases the complexity of analyzing the code.

When copy propagation is implemented this won't be an issue anyway.

> One thing I was not sure of is why this optimization was commented out.
> There was no rationale behind the if (0. The code was commented since
> the initial checkin, so i have no idea why it is not enabled.

It's not enabled because it produces incorrect code when the instruction
following the call is the start of a new basic block and because
implementing copy propagation will solve this issue (and many more).
To that, you added your own bug with the handling of CEE_RET.

> I had no failures on the regression tests, nor the jit tests. I also did
> a bootstrap.

Maybe you should also start writing your own tests to exercize the
changes you make...

lupus

-- 
-----------------------------------------------------------------
lupus at debian.org                                     debian/rules
lupus at ximian.com                             Monkeys do it better



More information about the Mono-devel-list mailing list