Hi All,� � in trying to help Cl�ment with his Sista work on Cog I'm trying to look at the latest version of pharovm. �I've been using�git://gitorious.org/cogvm/blessed.
I cloned it on December 2nd, and just did a git fetch, but I see no changes to any files other than .git/FETCH_HEAD and .git/ORIG_HEAD. �How do I update the files to their current state (I use svn & mercurial, have used sccs, rcs & sccs, and it's such a pain having to learn yet another f***ing sccs)?Further, I see no generated files such as gcc3x-cointerp.c or cogit.c. �Why not? �Do you always fire up an image and freshly generate the C source?? �If not, where do I find it?All this is to answer the simple question of whether the blessed pharo vm contains�primitiveInterpreterSourceVersion. �How would you answer that question without running the VM?e.g. in the Cog svn repository you'd dogrep�primitiveInterpreterSourceVersion src/vm/*.c src/plugins/*/*.cand you'd have an answer.I tried� � cd mc/VMMaker-oscog.package/instance� � grep primitiveInterpreterSourceVersion *.stand the lack of reply makes me think it doesn't exist. �Hence from!VirtualMachine methodsFor: 'accessing' stamp: 'MarcusDenker 5/8/2013 11:51'!interpreterSourceVersion� � � � "The use of this primitive not recommended. Not all VMs providing that"� � � � "Answer a string corresponding to the version of the interpreter source.� � � � This represents the version level of the Smalltalk source code (interpreter� � � � and various plugins) that is translated to C by a CCodeGenerator, as distinct� � � � from the external platform source code, typically written in C and managed� � � � separately for each platform. An optional primitive is invoked that may not� � � � be available on all virtual machines."� � � � "Smalltalk vm interpreterSourceVersion"� � � � <primitive: 'primitiveInterpreterSourceVersion'>� � � � ^ self getSystemAttribute: 1009! !I can tell I need to look at the implementation of sourceVersionString in platforms/Cross/vm/sqSCCSVersion.h, which, despite all my best efforts, has diverged completely (and IMO unnecessarily) from�http://www.squeakvm.org/svn/squeak/branches/Cog/platforms/Cross/vm/sqSCCSVersion.h, (which was written to be extended to satisfy us all). �It reads/*�* A set of definitions for C source code control systems, to provide accurate�* and definitive version information to the VM.�*�* Currently instantiated only for Subversion. �Please add definitions for�* other repositories as appropriate.�*�* I guess a good way to manage this is to edit the below define list to select�* appropriate the repository type, and then that's the extent of the fork.�*�* Eliot Miranda�* 15 July 2011�*/#include "vmVersionInfo.h" // defines REVISION_STRING#ifndef REVISION_STRING# error "Revision information not specified"#endifstatic char *sourceVersionString(){� � return REVISION_STRING;}which is wrong. �I *didn't* write this. �I wrote something quite different and you should have edited it to reflect that.But alas, when I tryfind . -iname vmVersionInfo.h
I find...nothing.hmph. stymied. �frustrated. �confused. �hence this missive.P.S> �What I'm really trying to do is get my VM simulator to say it's a Pharo VM, so I can simulate Cl�ment's Sista image and fix the infrastructure he's trying to use for speculative inlining/adaptive optimization. �So this is in aid of a (much) faster Pharo VM. �Hence helpful answers only please.--�best,Eliot