[Vm-dev] This is the StackInterpreter?

Eliot Miranda eliot.miranda at gmail.com
Fri Mar 28 22:33:23 UTC 2014


On Fri, Mar 28, 2014 at 2:56 PM, gettimothy <gettimothy at zoho.com> wrote:

>
> What is worse than things not working is when things start working and I
> don't know why.
>
> After a hiatus in PHP land, I am back to Squeak Land and lo and behold,
> the Stack Interpreter 32 bit compiled and runs the 4.6 image.
>

You've compiled a Cog VM.  Let me take you through the version output:


>
> That is if what you see below is in fact the Stack Interpreter.
>
> Please let me know if it is not
>
> Image
> -----
> /home/tty/usr/src/smalltalk/runStackVM32/Squeak4.6-13700.image
> Squeak4.6
> latest update: #13700
> Current Change Set: Unnamed1
> Image format 6505 (32 bit)
>
> Virtual Machine
> ---------------
> /home/wm/usr/local/stackVM32/lib/squeak/4.0-2881/squeak
> Croquet Closure Cog VM [CoInterpreter VMMaker.oscog-eem.641]
>

^^ the CoInterpreter in the above is the interpreter class.  If it was a
Stack VM it would say StackInterpreter.

Unix built on Mar 28 2014 12:22:20 Compiler: 4.8.2
> platform sources revision VM: r2881
> http://www.squeakvm.org/svn/squeak/branches/Cog Date: 2014-03-13 20:45:37
> -0400 Plugins: r2545
> http://squeakvm.org/svn/squeak/trunk/platforms/Cross/plugins
> CoInterpreter VMMaker.oscog-eem.641 uuid:
> c0305b66-db2d-45aa-8d25-267732aa1784 Mar 28 2014
> StackToRegisterMappingCogit VMMaker.oscog-eem.641 uuid:
> c0305b66-db2d-45aa-8d25-267732aa1784 Mar 28 2014
>

Likewise these two are the names and package version for the interpreter
and JIT classes.

Here's what a (Spur) Stack VM looks like on the Mac:

/Users/eliot/Cog/oscogvm/spurstackbuild/macbuild/Fast.app/Contents/MacOS/Squeak
4.0 4.0.2885 Mac OS X built on Mar 28 2014 12:25:04 Compiler: 4.2.1 (Apple
Inc. build 5666) (dot 3) [Production Spur VM]
StackInterpreter VMMaker.oscog-eem.658 uuid:
e40c5fd5-9990-433f-bd76-2f8d0324e24f Mar 28 2014
VM: r2885 http://www.squeakvm.org/svn/squeak/branches/Cog Date: 2014-03-28
12:19:16 -0700
Plugins: r2545 http://squeakvm.org/svn/squeak/trunk/platforms/Cross/plugins

The above gets printed by supplying the -version option to the VM.

If so, then we have a second data point of building a Stack Interpreter on
> a 64 bit machine with 32 bit compat libs.
>
>  file squeak
> squeak: ELF 32-bit LSB  executable, Intel 80386, version 1 (SYSV),
> dynamically linked (uses shared libs), not stripped
>
> An interesting point of note is of note is that I was getting ready to
> debug a vm that would not run.
> It was built with this configure command.
>
>
>  ../../../platforms/unix/config/configure CC="gcc -m32" CXX="g++ -m32"
> --without-npsqueak CFLAGS="-g -O2 -msse2 -D_GNU_SOURCE
> -D_FILE_OFFSET_BITS=64 -DNDEBUG -DITIMER_HEARTBEAT=1 -DNO_VM_PROFILE=1
> -DCOGMTVM=0 -DDEBUGVM=0" LIBS=-lpthread --x-libraries=/usr/lib
> --prefix=/home/tty/usr/local/stackVM32
>
>
> and the result was a vm that built, but would hang waiting on what I
> believed was a signal.
>
> Setting out to debug this non-running vm, I changed to -O2 flag to -Og
> which rhymes with 'd' and that spells "debugging".
>
>
>
> ../../../platforms/unix/config/configure CC="gcc -m32" CXX="g++ -m32"
> --without-npsqueak CFLAGS="-g -Og -msse2 -D_GNU_SOURCE
> -D_FILE_OFFSET_BITS=64 -DNDEBUG -DITIMER_HEARTBEAT=1 -DNO_VM_PROFILE=1
> -DCOGMTVM=0 -DDEBUGVM=0" LIBS=-lpthread --x-libraries=/usr/lib
> --prefix=/home/tty/usr/local/stackVM32
>
>
>
> And, lo and behold, no more trouble in River City. It ran.
>



-- 
best,
Eliot
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20140328/09151bcd/attachment-0001.htm


More information about the Vm-dev mailing list