[Vm-dev] CArray arithmetic methods...
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:
> how do you run the simulator?
the VM Simulation Workspace there-in. Substitute
StackInterpreterSimulator for CogVMSimulator and you don't need the Bochs
> 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.
> 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...
More information about the Vm-dev