[Glass] recompiling sortBlocks - after upgrade to 3.3.0 from 3.2.4

Dale Henrichs via Glass glass at lists.gemtalksystems.com
Fri Feb 19 09:51:26 PST 2016


Paul,

Very good question.

We document a $GEMSTONE/bin/postconv script for use in recompiling the 
sort blocks in the 2.4 to 3.3 section of the installation guide[1] and 
after a quick read of the script, there doesn't appear to be any 
2.4-specific operations in the script so it should work for a 3.2 to 3.3 
upgrade as well.

The postconv script arranges to run multiple gems in parallel to do the 
conversion with cache warmers and the whole nine yards, but basic 
operations can be distilled to the following for each SortedCollection 
instance:

   | sc sortBlock val cls str val |
   sc := "sortedcollection instance".
   sortBlock := sc sortBlock.
   str := sortBlock _sourceString.
   val := str evaluate.
   sc _sortBlock: val

Now this only works for simple blocks ... if the blocks are more 
complicated then you will have to provide the proper evaluation context 
for the `evaluate` call ... I can help with that if necessary.

The script hasn't been incorporated into GsDevKit_home, but I think it 
would be a good idea[2].

Dale

[1] 
https://downloads.gemtalksystems.com/docs/GemStone64/3.3.x/GS64-InstallGuide-Linux-3.3/3-Conversion.htm#pgfId-1053114
[2] https://github.com/GsDevKit/GsDevKit_home/issues/70

On 02/19/2016 08:13 AM, PAUL DEBRUICKER via Glass wrote:
> Hi=
>
> I'm having trouble getting rid of the error:
>
>
> Cannot execute method, 'GsNMethod with oop 2909441 needs recompile'
>
>
>
>
> The method it is referring to is SortedCollection class>>#new
>
> But recompiling the SortedCollection class & committing doesn't fix things so its probably the sortBlock for that instance that needs recompiled and I'm unsure how to do that safely.
>
> I'm also seeing the error in another method that also defines a sortBlock so I'm guessing there is a step I missed in the upgrade but I can't find it in the docs.
>
>
> How should I go about recompiling the sortBlocks? Or is there something else I should do to fix this?
>
>
> Thanks in advance
>
>
> Paul
>
> _______________________________________________
> Glass mailing list
> Glass at lists.gemtalksystems.com
> http://lists.gemtalksystems.com/mailman/listinfo/glass



More information about the Glass mailing list