[squeak-dev] Re: [Vm-dev] Re: VM performance discrepancy on Linux and Windows

Yoshiki Ohshima yoshiki at vpri.org
Fri Apr 11 08:26:39 UTC 2008


At Fri, 11 Apr 2008 09:47:13 +0200,
Paolo Bonzini wrote:
> 
> 
> >> %esi is almost used for IP but use %eax for fetching the next byte,
> >> jmp also seems to use %eax so right before it is spilled and the
> >> destination address is brought into %eax.
> > 
> > Sounds more like the static register assignments get ignored.
> 
> It does not really get ignored, but the compiler performs more 
> aggressive live range splitting (because it uses SSA in 4.x so live 
> range splitting comes from free -- sometimes even if you don't want 
> it...).  OTOH the optimizer is better, which is why sends are faster.
> 
> GCC 3.x should be in the same ballpark as 2.95.

  Hmm, so simple increment assigns a new value and the range is
splitted there?

  BTW, I got a report that says the result from gcc 3.3 was comparable
with 4.1.

  Now, I still have a feeling that there is some difference between
the compiler in
http://squeakvm.org/win32/release/Squeak-Win32-Tools-1.2.zip and
2.95.2 I compiled on my Linux as there seems some unexplained
discrepancy.  Can anybody with dual boot machine do some more testing?
(If the machine is green and white cute one, that would be really
interesting.)

-- Yoshiki


More information about the Vm-dev mailing list