

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.



-Alex



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" <

>>

>>> 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 <

>>>>>>> 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.

>>>>>

>>>>>

>>>>>

>>>>> 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

>>>

>>> > 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" < [hidden email] > 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 < [hidden email] >>>>>>> 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>>>>>>

Hi David,I've verified that VMMaker-dtl.357 produces code which compiles withouterror and (seemingly) correctly on Plan9! Thank you for merging mychanges, I appreciate it.-AlexOn 12/30/2014 07:09 PM, David T. Lewis wrote: