[ENH][VM] Improved code generation (hopefully ;)
Andreas Raab
andreas.raab at gmx.de
Tue Jul 8 00:07:27 UTC 2003
> > PS. What kind of variable name is
> > "globalStructureBuildMethodHasFoo"??? ;-)
>
> Cryptic....
>
> The global structure build method has to provide a foo register
> reference, this is only done based on referencing the fum structure
> more that once in a method build. Originally it was only done
> if we had one reference to foo in the method build, hence
> globalStructureBuildMethodHasFoo.
So "foo" refers to "fum", eh? So much for intention-revealing code ;-)))
> Anyway I've build a 3.6.x VM based on these change sets and find that
> localReturnContext localReturnValue still have no declaration in
> interpret()
Do you use any changes which are not within VMMaker? It almost sounds as if
you might be using some changes which undo some of those that I did. The CS
certainly contains the changes, e.g.,
CCodeGenerator>>doInlining: inlineFlag
"..."
self inlineDispatchesInMethodNamed: #interpret
localizingVars: #(currentBytecode localIP localSP
localHomeContext localReturnContext localReturnValue).
Check the senders of #inlineDispatchesInMethodNamed:localizingVars: and see
if that list includes localReturnContext and localReturnValue. If not, then
something's wrong.
Cheers,
- Andreas
More information about the Squeak-dev
mailing list
|