[Vm-dev] Re: About new Cog update

Igor Stasenko siguctua at gmail.com
Thu Mar 17 17:32:54 UTC 2011


On 17 March 2011 18:22, Eliot Miranda <eliot.miranda at gmail.com> wrote:
>
>
> 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).


Thanks. The idea is as usual is to  gather this information into separate
CogMT<Platform>Config in CMakeVMMaker package

so people could reproduce and build this kind of VMs without much hassle.

:P


>>
>>
>> >>
>> >> 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.
>
>



-- 
Best regards,
Igor Stasenko AKA sig.


More information about the Vm-dev mailing list