Inliner strangeness

Andreas Raab andreas.raab at gmx.de
Thu Jun 8 20:53:33 UTC 2006


Hi -

I don't know if this behavior has been in the CCode inliner before but I 
just noticed that the inliner will forcefully convert iVars to temps if 
that iVar is only explicitly referred to in a single method. Like, for 
example here:

Interpreter>>getFoo
   ^self cCode: 'foo'

Interpreter>>setFoo: fooValue
   foo := fooValue.

The above will cause the inliner to remove foo from the regular 
interpreter variables (even if declared via #declareCVarsIn:) and move 
it into #setFoo:. With the foreseeable result of creating total and 
utter nonsense in the resulting C code.

Has anyone seen that before?

Cheers,
   - Andreas



More information about the Vm-dev mailing list