[Vm-dev] gnuified?

David T. Lewis lewis at mail.msen.com
Thu Apr 9 00:13:28 UTC 2015


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



More information about the Vm-dev mailing list