gnuified?

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

gnuified?

johnmci
 
I see the source I grabbed 
http://www.squeakvm.org/cgi-bin/viewvc.cgi/squeak/trunk/src/vm/interp.c

/* Smalltalk from Squeak4.5 with VMMaker 4.13.12 translated as C source on 28 March 2015 8:15:47 pm */

/* Automatically generated by

CCodeGeneratorGlobalStructure VMMaker-dtl.359 uuid: 3d5b8023-e045-437f-a85a-02036bc57e00

   from

Interpreter VMMaker-dtl.359 uuid: 3d5b8023-e045-437f-a85a-02036bc57e00

 */



It's not GNUified, which makes a dreadfully slow VM.  So does the gnuify step still exist? If so the 'official' gnuified source would be where? 


--
===========================================================================
John M. McIntosh <[hidden email]https://www.linkedin.com/in/smalltalk
===========================================================================
Reply | Threaded
Open this post in threaded view
|

Re: gnuified?

David T. Lewis
 
On Wed, Apr 08, 2015 at 04:40:04PM -0700, John McIntosh wrote:

>  
> I see the source I grabbed
> http://www.squeakvm.org/cgi-bin/viewvc.cgi/squeak/trunk/src/vm/interp.c
>
> /* Smalltalk from Squeak4.5 with VMMaker 4.13.12 translated as C source on
> 28 March 2015 8:15:47 pm */
>
> /* Automatically generated by
>
> CCodeGeneratorGlobalStructure VMMaker-dtl.359 uuid:
> 3d5b8023-e045-437f-a85a-02036bc57e00
>
>    from
>
> Interpreter VMMaker-dtl.359 uuid: 3d5b8023-e045-437f-a85a-02036bc57e00
>
>  */


The generated sources in trunk/src are the raw C sources generated directly
from VMMaker. When a change is made to (trunk) VMMaker that affects the
code generation, I commit the updates to SVN trunk/src. This is intended
to be a more regularly updated snapshot of generated sources, replacing the
generated sources that previously had been updated in trunk/unix/src in
conjunction with official VM releases.

Ian and I have been intending to set up an automated build from these
generated sources along with the most current trunk platforms sources,
although this has not happened yet.

>
>
> It's not GNUified, which makes a dreadfully slow VM.  So does the gnuify
> step still exist? If so the 'official' gnuified source would be where?

The gnuifier is an awk script that now lives in platforms/unix/cmake/gnuify.awk.

The gnuify script is run as part of the build process, which is now
implemented with CMake rather than the previous autotools build process.
The autotools build is no longer used or supported in trunk. The CMake
build is implemented in the files in platforms/unix/cmake/ along with
the main CMake script platforms/unix/CMakeLists.txt and various scripts in
the appropriate subdirectories, with names like config.cmake and build.cmake
to control the configuration and build steps respectively.

When the gnuifier is run during the build process, the resulting gnu-interp.c
file will appear in the build directory. This is the interpreter source file
that is compiled into the squeakvm executable.

Dave

Reply | Threaded
Open this post in threaded view
|

Re: gnuified?

Tobias Pape


On 09.04.2015, at 02:13, David T. Lewis <[hidden email]> wrote:

>
> On Wed, Apr 08, 2015 at 04:40:04PM -0700, John McIntosh wrote:
>>
>> I see the source I grabbed
>> http://www.squeakvm.org/cgi-bin/viewvc.cgi/squeak/trunk/src/vm/interp.c
>>
>> /* Smalltalk from Squeak4.5 with VMMaker 4.13.12 translated as C source on
>> 28 March 2015 8:15:47 pm */
>>
>> /* Automatically generated by
>>
>> CCodeGeneratorGlobalStructure VMMaker-dtl.359 uuid:
>> 3d5b8023-e045-437f-a85a-02036bc57e00
>>
>>   from
>>
>> Interpreter VMMaker-dtl.359 uuid: 3d5b8023-e045-437f-a85a-02036bc57e00
>>
>> */
>
>
> The generated sources in trunk/src are the raw C sources generated directly
> from VMMaker. When a change is made to (trunk) VMMaker that affects the
> code generation, I commit the updates to SVN trunk/src. This is intended
> to be a more regularly updated snapshot of generated sources, replacing the
> generated sources that previously had been updated in trunk/unix/src in
> conjunction with official VM releases.
>
> Ian and I have been intending to set up an automated build from these
> generated sources along with the most current trunk platforms sources,
> although this has not happened yet.
>
>>
>>
>> It's not GNUified, which makes a dreadfully slow VM.  So does the gnuify
>> step still exist? If so the 'official' gnuified source would be where?
>
> The gnuifier is an awk script that now lives in platforms/unix/cmake/gnuify.awk.
>
> The gnuify script is run as part of the build process, which is now
> implemented with CMake rather than the previous autotools build process.
> The autotools build is no longer used or supported in trunk. The CMake
> build is implemented in the files in platforms/unix/cmake/ along with
> the main CMake script platforms/unix/CMakeLists.txt and various scripts in
> the appropriate subdirectories, with names like config.cmake and build.cmake
> to control the configuration and build steps respectively.
>
> When the gnuifier is run during the build process, the resulting gnu-interp.c
> file will appear in the build directory. This is the interpreter source file
> that is compiled into the squeakvm executable.

Sidenote: CMake can generate XCode files:

   cmake -G Xcode

Best
        -Tobias
Reply | Threaded
Open this post in threaded view
|

Re: gnuified?

Eliot Miranda-2
In reply to this post by David T. Lewis
 
Hi David,

On Wed, Apr 8, 2015 at 5:13 PM, David T. Lewis <[hidden email]> wrote:

On Wed, Apr 08, 2015 at 04:40:04PM -0700, John McIntosh wrote:
>
> I see the source I grabbed
> http://www.squeakvm.org/cgi-bin/viewvc.cgi/squeak/trunk/src/vm/interp.c
>
> /* Smalltalk from Squeak4.5 with VMMaker 4.13.12 translated as C source on
> 28 March 2015 8:15:47 pm */
>
> /* Automatically generated by
>
> CCodeGeneratorGlobalStructure VMMaker-dtl.359 uuid:
> 3d5b8023-e045-437f-a85a-02036bc57e00
>
>    from
>
> Interpreter VMMaker-dtl.359 uuid: 3d5b8023-e045-437f-a85a-02036bc57e00
>
>  */


The generated sources in trunk/src are the raw C sources generated directly
from VMMaker. When a change is made to (trunk) VMMaker that affects the
code generation, I commit the updates to SVN trunk/src. This is intended
to be a more regularly updated snapshot of generated sources, replacing the
generated sources that previously had been updated in trunk/unix/src in
conjunction with official VM releases.

Ian and I have been intending to set up an automated build from these
generated sources along with the most current trunk platforms sources,
although this has not happened yet.

>
>
> It's not GNUified, which makes a dreadfully slow VM.  So does the gnuify
> step still exist? If so the 'official' gnuified source would be where?

The gnuifier is an awk script that now lives in platforms/unix/cmake/gnuify.awk.

May I suggest that you use John's Gnuify Smalltalk code that is included in the Cog VMMaker branch?  That's why in the Cog sources you seee.g. both spurstacksrc/vm/interp.c and  spurstacksrc/vm/gcc3x-interp.c, the latter having been generted using John's Gnuify class in VMMaker.


The gnuify script is run as part of the build process, which is now
implemented with CMake rather than the previous autotools build process.
The autotools build is no longer used or supported in trunk. The CMake
build is implemented in the files in platforms/unix/cmake/ along with
the main CMake script platforms/unix/CMakeLists.txt and various scripts in
the appropriate subdirectories, with names like config.cmake and build.cmake
to control the configuration and build steps respectively.

When the gnuifier is run during the build process, the resulting gnu-interp.c
file will appear in the build directory. This is the interpreter source file
that is compiled into the squeakvm executable.

Which is a pain ;-)
 

Dave




--
best,
Eliot
Reply | Threaded
Open this post in threaded view
|

Re: gnuified?

David T. Lewis
 
On Thu, Apr 09, 2015 at 02:01:30PM -0700, Eliot Miranda wrote:

>  
> On Wed, Apr 8, 2015 at 5:13 PM, David T. Lewis <[hidden email]> wrote:
> >
> > The gnuifier is an awk script that now lives in
> > platforms/unix/cmake/gnuify.awk.
> >
>
> May I suggest that you use John's Gnuify Smalltalk code that is included in
> the Cog VMMaker branch?  That's why in the Cog sources you seee.g. both
> spurstacksrc/vm/interp.c and  spurstacksrc/vm/gcc3x-interp.c, the latter
> having been generted using John's Gnuify class in VMMaker.

Hi Eliot,

I'm sure it can be done, though personally I am not it a big hurry to start
messing with the build system. It seems to work quite well without me ever
having touched it :-)

Dave