2016-04-06 19:25 GMT+02:00 <commits@source.squeak.org>:

Eliot Miranda uploaded a new version of VMMaker to project VM Maker:
http://source.squeak.org/VMMaker/VMMaker.oscog-eem.1773.mcz

==================== Summary ====================

Name: VMMaker.oscog-eem.1773
Author: eem
Time: 6 April 2016, 10:23:32.090149 am
UUID: 7ff9cf9c-6983-47fc-96f1-c3f11eda1376
Ancestors: VMMaker.oscog-cb.1772

Cogit:
Follow selectors in the openPICList post Spur become.

Move the compare constant convenience up.

=============== Diff against VMMaker.oscog-cb.1772 ===============

Item was added:
+ ----- Method: CogMethodZone>>followForwardedLiteralsInOpenPICList (in category 'jit - api') -----
+ followForwardedLiteralsInOpenPICList
+       <option: #SpurObjectMemory>
+       | openPIC |
+       <var: #openPIC type: #'CogMethod *'>
+       openPIC := openPICList.
+       [openPIC notNil] whileTrue:
+               [cogit followForwardedLiteralsIn: openPIC.
+                openPIC := self cCoerceSimple: openPIC nextOpenPIC to: #'CogMethod *'.]!


Hi Eliot,
For me, followForwardedLiteralsInOpenPICList is not generated.
I tried tagging <api> but this has no effect.
It sounds like CogMethodZone is not going thru initializeWithOptions: optionsDictionary in buildCodeGeneratorForCogit.

I would have suggested doing it in
buildCodeGeneratorForCogit: cogitClass includeAPIMethods: getAPIMethods initializeClasses: initializeClasses
...
    cogitClasses do: [:cgc|
            (cgc respondsTo: #initializeWithOptions:)
                ifTrue: [cgc initializeWithOptions: optionsDictionary].
            cg addClass: cgc].
...
But it fails on abstract Cogit class, which tries to initializePrimitiveTableForSqueak, that only a concrete would understand
So I had to protect initializePrimitiveTable with a self = Cogit ifTrue: [^self]...

I don't publish because this change makes cog.v3 fail, so you'll probably find a better fix, but wanted to share.
I'm definitely on the bleeding edge ;)