[Vm-dev] CArray arithmetic methods...

Eliot Miranda eliot.miranda at gmail.com
Mon Oct 11 06:22:45 UTC 2010


On Sat, Oct 9, 2010 at 11:57 PM, stephane ducasse <
stephane.ducasse at gmail.com> wrote:

>
> Eliot
>
> how do you run the simulator?
>

See
http://www.squeakvm.org/svn/squeak/branches/Cog/image/VMMaker-Squeak4.1.imageand
the VM Simulation Workspace there-in.  Substitute
StackInterpreterSimulator for CogVMSimulator and you don't need the Bochs
plugin.


> Long time ago we had to use an MVC image and after it got broken and we
> could not use it anymore.
> Now in Pharo we do not have MVC so are we talking about the same?
>

One openAsMorph method is all it takes.


>
> Stef
>
> On Oct 10, 2010, at 12:01 AM, Eliot Miranda wrote:
>
> > Hi All,
> >
> >     now I'm successfully simulating the LargeIntegers plugin I'm hitting
> what I consider a bug in CArray, used to model C pointers in the simulator.
>  The first problem is that CArray>>#+ & #- return an integer value, not
> another CArray,  (in C (char *)(exp) + n is still of type (char *), not int)
> and that the addition/subtraction doesn't scale by the unit size (in C (type
> *)p + n == (type *)((char *)p + n * sizeof(type))).  The second problem is
> that << >> * & // are meaningless on C pointers.  Anyone think of a good
> reason why I shouldn't a) rewrite CArray>>#+ & #- to read
> >
> > + n
> >       ^ self shallowCopy += (n * unitSize)
> >
> > - n
> >       ^ self shallowCopy -= (n * unitSize)
> >
> > (since e.g.
> > += increment
> >
> >       ptrOffset := ptrOffset + increment)
> >
> > and b) delete CArray>>#*, #//, #<<, #>>, #bitAnd:, #bitOr:, #bitShift: &
> #signedBitShift: ?
> >
> > best
> > Eliot
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20101010/9587e48d/attachment-0001.htm


More information about the Vm-dev mailing list