[Vm-dev] VM Platform contribution (Plan9)

Alex Franchuk alex.franchuk at gmail.com
Mon Jan 12 03:48:23 UTC 2015

Hi David,

I've verified that VMMaker-dtl.357 produces code which compiles without 
error and (seemingly) correctly on Plan9! Thank you for merging my 
changes, I appreciate it.


On 12/30/2014 07:09 PM, David T. Lewis wrote:
> On Tue, Dec 23, 2014 at 12:30:49PM -0500, Alex Franchuk wrote:
>> This summary is correct. Is there anything else you need from me?
> Hi Alex,
> I have merged your changes into the VMMaker package for the interpreter VM.
> I made a few changes to merge it into the latest version and to avoid adding
> new methods in Squeak trunk. I think that I have it right now, but I'd
> appreciate if you have a chance to try the latest version (VMMaker-dtl.357)
> and let me know if it now generates code that compiles properly on the Plan9
> compiler. Please let me know if I made any mistakes in the merge, it is quite
> possible that I will have done so.
> Eliot,
> It's quite likely that some of these changes will prove redundant with work
> that you have already done in Cog for proper return type declarations.  But I
> wanted to capture Alex's changes into the Montecello repository while they are
> still fresh. One thing I do want to call to your attention is the inlineReturnTypes
> dictionary that Alex added to the code generator. The interesting thing about this
> is that it is used in TAssignmentNode>>emitCCodeOn:level:generator: to add type
> casts for methods that typically were not properly declared for one reason or
> another. That serves as a red flag for missing or improper type declarations
> throughout the VMMaker code, and I suspect that it may prove to be a useful
> diagnostic tool.
> Dave
>> On Dec 2, 2014 7:49 PM, "David T. Lewis" <lewis at mail.msen.com> wrote:
>>> On Tue, Dec 02, 2014 at 01:44:41PM -0500, Alex Franchuk wrote:
>>>> On 12/02/2014 07:54 AM, David T. Lewis wrote:
>>>>> On Mon, Dec 01, 2014 at 11:58:02AM -0500, Alex Franchuk wrote:
>>>>>> On 12/01/2014 10:34 AM, Eliot Miranda wrote:
>>>>>>> On Nov 30, 2014, at 8:21 PM, Alex Franchuk <alex.franchuk at gmail.com>
>>>>>>> wrote:
>>>>>>>> Hello all,
>>>>>>>> I'm at a stage of stability in my port of Squeak to the Plan9
>>> operating
>>>>>>>> system. I was wondering who I should contact, or where I should go,
>>> to
>>>>>>>> either submit my work or get access to the SVN repository of
>>> platforms
>>>>>>>> hosted at squeakvm.org. It didn't quite seem like the sort of thing
>>> that
>>>>>>>> should be put on the Mantis bug tracker, but I could be wrong.
>>>>>>>> Any push in the right direction would be much appreciated!
>>>>>>> If your port uses Cog then please send me a tarball of the files plus
>>>>>>> some description of any changes you had to make.  And thanks!!
>>>>>> Currently it does not use Cog, although that is actually my next step
>>> in
>>>>>> development if I have enough time! It just uses the normal interpreter
>>>>>> (as generated by VMMaker).
>>>>> Hi Alex,
>>>>> I see that you have uploaded your Plan9-Compat.4.cs change set to the
>>>>> Mantis issue, thanks for doing that.
>>>>>    http://bugs.squeak.org/view.php?id=7821
>>>>> I think that you are working with a "trunk" VMMaker as your base. I may
>>> be
>>>>> able to help by testing your changes first with Linux and an interpreter
>>>>> VM. From there, I should be able to forward the applicable changes to
>>> Eliot
>>>>> for Cog.
>>>>> I need to ask couple of questions so that I start from the right place:
>>>>> - Are all of the changes for Plan 9 compatibility in the change set for
>>> VMMaker?
>>>>> Or are there additional changes that need to be applied to the
>>> trunk/Cross
>>>>> or trunk/unix source code? If there are platforms files, please follow
>>> Eliot's
>>>>> suggestion of sending a tarball (or zip, or whatever is convenient). If
>>> it
>>>>> is not too large, please send it directly to the vm-dev list.
>>>>> - Which version of the VMMaker package did you start with? If you can
>>> give me
>>>>> a specific VMMaker mcz file that you initially loaded, or tell me what
>>>>> Squeak image you initially used, that would help. Or, try evaluating
>>> "VMMaker
>>>>> versionString" in your VMMaker image, and let me know what it says.
>>>>> Thanks,
>>>>> Dave
>>>> Hi Dave,
>>>> To answer your questions:
>>>> - I believe almost all of the changes in the change set are for VMMaker,
>>>> although there is a change to the abstract SequenceableCollection object
>>>> to add a doWithIndex:separatedBy: message.
>>>> - The version of VMMaker that I started with was VMMaker-dtl.350, which
>>>> I loaded from source.squeak.org/VMMaker into a Squeak-4.5 image.
>>>> I'll wrap up the platforms code into a tarball and send it to Eliot (and
>>>> the vm-dev list). Currently the platform code assumes that the
>>>> FilePlugin, SocketPlugin, B2DPlugin, and BitBltPlugin have been
>>>> generated as internal plugins with the interpreter code, I still need to
>>>> make changes for it to intelligently generate the makefile based on the
>>>> configuration (there are no autoconf tools in Plan9 so that will end up
>>>> being some script). So I will probably be making more changes as time
>>>> goes on.
>>>> Thanks,
>>>> Alex
>>> Ah, brilliant! Now I see what you are doing.
>>> To summarize:
>>> There are no changes to platforms/Cross or platforms/unix, and there is a
>>> new platforms/Plan9 directory needed for the development that you are doing
>>> for the Plan9 port of the Squeak VM.
>>> Aside from that, your changes are in VMMaker (in the change set that you
>>> attached to the Mantis issue) and these changes are needed to resolve
>>> issues
>>> detected by the compiler on Plan9.
>>> Thanks,
>>> Dave

More information about the Vm-dev mailing list