[Vm-dev] VM Maker: VMMaker.oscog-eem.1773.mcz
Eliot Miranda
eliot.miranda at gmail.com
Tue Apr 12 01:14:46 UTC 2016
> On Apr 11, 2016, at 2:38 PM, Nicolas Cellier <nicolas.cellier.aka.nice at gmail.com> wrote:
>
> Or maybe Cogit should do like SpurMemoryManager with ancillaryClasses:
+1
> initializeWithOptions: optionsDictionary
> "SpurMemoryManager initializeWithOptions: Dictionary new"
>
> {self}, (self ancilliaryClasses: optionsDictionary) do:
> [:aSuperclass|
> aSuperclass withAllSubclasses do:
> [:class| class initializationOptions: optionsDictionary]].
>
> 2016-04-11 22:57 GMT+02:00 Nicolas Cellier <nicolas.cellier.aka.nice at gmail.com>:
>>
>>
>> 2016-04-06 19:25 GMT+02:00 <commits at 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 ;)
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20160411/03db7ea1/attachment.htm
More information about the Vm-dev
mailing list