2009/4/30 Eliot Miranda eliot.miranda@gmail.com:
On Thu, Apr 30, 2009 at 8:43 AM, Igor Stasenko siguctua@gmail.com wrote:
There are multiple issues, when loading VMMaker into closure-aware image (10292).
two #needsToRegenerateInterpreterFile methods storing into block args. Fix is easy and quick.
But what to do with this??
Compiler reporting 'stack including temps is too deep'.
GeniePlugin>>primSameClassAbsoluteStrokeDistanceMyPoints: myPointsOop otherPoints: otherPointsOop myVectors: myVectorsOop otherVectors: otherVectorsOop mySquaredLengths: mySquaredLengthsOop otherSquaredLengths: otherSquaredLengthsOop myAngles: myAnglesOop otherAngles: otherAnglesOop maxSizeAndReferenceFlag: maxSizeAndRefFlag rowBase: rowBaseOop rowInsertRemove: rowInsertRemoveOop rowInsertRemoveCount: rowInsertRemoveCountOop
(yes, this is a method's message pattern) :)
i stopped trying to load VMMaker at this method.
The workaround for this is just to change the code in generate: so one can proceed from the error and still define the method. The method doesn't need to be run, only translated so there's no harm in that. Some time some kind soul should refactor this method into an outer and an inner or I should change the large context sizes.
Changing the code in #generate: will buy us nothing, because this error thrown when MC loads a package in image, and naturally, tries to compile & install all methods from it :)
It would be nice to have VMMaker loaded in image+closures running under VM+closures :)
Just do the workaround and you'll have just that.
-- Best regards, Igor Stasenko AKA sig.