Inliner strangeness

Andreas Raab andreas.raab at
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:

   ^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?

   - Andreas

More information about the Vm-dev mailing list