« Return to Thread: Inliner strangeness

Inliner strangeness

by Andreas Raab :: Rate this Message:

Reply to Author | View in Thread

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

 « Return to Thread: Inliner strangeness