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