I would appreciate anyone interested in objects-as-methods on Cog pounding on the latest Cog VMs (http://www.mirandabanda.org/files/Cog/VM/VM.r2313/) as this involved substantial changes to method lookup/inline cacheing machinery and there could easily be bugs. �The tests run, but they're insubstantial compared e.g. to a full coverage test.
Eliot Miranda uploaded a new version of VMMaker to project VM Maker:
http://www.squeaksource.com/VMMaker/VMMaker-oscog.33.mcz
==================== Summary ====================
Name: VMMaker-oscog.33
Author: eem
Time: 25 September 2010, 7:13:51 am
UUID: 733b7c50-b973-4ca0-9831-5c84d09032bf
Ancestors: VMMaker-oscog.32
OSCogVM:
�Support object-as-method:
� � � �Eagerly evaluate the interpreter version of a primitive
� � � �to ease the object-as-method implementation and to
� � � �improve interpreter performance.
� � � �Refuse to enter anything that isn't a CompiledMethod
� � � �into the method-lookup cache to avoid open PICs having
� � � �to check for valid compiled methods.
� � � �Have various places check for isOopCOmpiledMethod:
� � � �rather than isCompiledMethod: to allow SmallIntegers to
� � � �be used as methods.
Interpreter:
� � � �Have various places check for isOopCOmpiledMethod:
� � � �rather than isCompiledMethod: to allow SmallIntegers to
� � � �be used as methods.
Slang:
� � � �support super sends by expanding them at translation
� � � �time. �This allows CoInterpreter>>addMethodToCache
� � � �to avoid cacheing non-compiled methods via a super
� � � �send, avoiding duplicating SrackInterpreter's method.