[Vm-dev] Re: About new Cog update

Eliot Miranda eliot.miranda at gmail.com
Thu Mar 17 17:22:30 UTC 2011


On Thu, Mar 17, 2011 at 10:13 AM, Igor Stasenko <siguctua at gmail.com> wrote:

> On 17 March 2011 18:07, Eliot Miranda <eliot.miranda at gmail.com> wrote:
> >
> >
> > On Thu, Mar 17, 2011 at 7:46 AM, Igor Stasenko <siguctua at gmail.com>
> wrote:
> >>
> >> Hi, Eliot
> >>
> >> is your new stuff having platform-specific files changes?
> >
> > The Sista stuff requires nothing new.   I think I've already integrated
> the
> > changes necessary for the threaded VM but I've only tried to build the
> > threaded VM against the Teleplace platforms hierarchy, not yet against
> the
> > oscog platforms hierarchy.  So if you try and build the threaded VM you
> may
> > hit problems, you may not.  I'll get around to doing that soon.
>
> and sorry for ignorance..
> what is the magic invocation for generating sources for threaded VMs?
>

Just substitute CoInterpreterMT for CoInterpreter.  Then you'll find
    src/vm/cointerpmt.c             src/vm/gcc3x-cointerpmt.c
    src/vm/cointerpmt.h
You must also generate CoInterpreterMT second, and then src/vm/interp.h will
read:

/* Automatically generated by
        CCodeGeneratorGlobalStructure VMMaker-eem.734 uuid:
cf815676-05e1-44d8-be7f-62138a99b532
 */

#define COGVM 1
#if !defined(COGMTVM)
#       define COGMTVM 1
#endif
#define STACKVM 1
#define SQ_VI_BYTES_PER_WORD 4

#define PrimErrGenericFailure 1
#define PrimErrBadReceiver 2
#define PrimErrBadArgument 3
#define PrimErrBadIndex 4
#define PrimErrBadNumArgs 5
#define PrimErrInappropriate 6
#define PrimErrUnsupported 7
#define PrimErrNoModification 8
#define PrimErrNoMemory 9
#define PrimErrNoCMemory 10
#define PrimErrNotFound 11
#define PrimErrBadMethod 12
#define PrimErrNamedInternal 13
#define PrimErrObjectMayMove 14
#define PrimErrLimitExceeded 15

#define DisownVMLockOutFullGC 1

 and then in one set of makefiles use -DCOGMTVM=0 and pickup cointerp.c or
gcc3x-cointerp.c and in the other use -DCOGMTVM=1 and pickup cointerpmt.c or
gcc3x-cointerpmt.c

Look for #if COGMTVM & #if !COGMTVM in the platforms sources to see where
the additions are.  Make sure you use the ThreadedFFIPlugin
(ThreadedIA32FFIPlugin on x86).


>
> >>
> >> I'm asking because i'd like to merge it with
> >> VMMaker-oscog-EstebanLorenzano.50
> >> and then bump the package versions in ConfigurationOfCog
> >>
> >>
> >> --
> >> Best regards,
> >> Igor Stasenko AKA sig.
> >
> >
>
>
>
> --
> Best regards,
> Igor Stasenko AKA sig.
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20110317/b0e6ac1a/attachment.htm


More information about the Vm-dev mailing list