[Pharo-project] Memory usage

phil at highoctane.be phil at highoctane.be
Tue Jul 31 10:16:40 EDT 2012


Hi guys,

I've been building the iOS StackVM for my own uses and am definitely
interested in getting a 64-bit StackVM for some large data sets I'd like to
load in RAM for some experiments.

If there are pointers given, I am willing to test the build on my box.

Phil


2012/7/31 David T. Lewis <lewis at mail.msen.com>

> Hi Jannik,
>
> I am not a Mac user, and I have only ever done this on Linux, so I cannot
> promise that it will be easy. Possibly Esteban can give us some advice
> here,
> and correct my errors. Also, if you are going to try this, we may want to
> take the discussion to the vm-dev list.
>
> You will need to install the Mac tools for compiling Unix programs (sorry
> I do not know what this is called) and you will need to be able to compile
> programs using CMake and the gcc tools on a Mac. I know very little about
> this myself, but I'm sure others can give some tips.
>
> The actual VM that you will need to build will be an interpreter VM, and
> you will be building it with a preprocessor macro set to force use of
> the 64-bit object format. The resulting VM will be slow compared to what
> you are used to with Cog, and it may not have all the features that you
> would expect from a Mac VM (i.e. the VM that Esteban supports), but I
> expect that it should work on Mac and that it would allow you to run a
> 64-bit image prepared with the SystemTracer.
>
> As luck would have it, Ian Piumarta is in the process of updating the unix
> VM code right now, and this will make it easier to do the build for 64-bit
> images. I would say that we should wait a couple of days before starting
> any new work on this so that we have all of the latest updates.
>
> I'm not sure if this is something that you want to get into, and it is not
> what I would call "easy" ;) But if you want to try it I will do my best
> to step you through the process.
>
> Dave
>
>
> On Tue, Jul 31, 2012 at 03:18:19PM +0200, jannik.laval wrote:
> > Hi Dave,
> >
> > I begin with a small problem (is it ?): my os is the latest apple macos.
> > It seems that there is no squeak vm 64 for macos (I did not find it).
> >
> > How can I build one "easily" ?
> >
> > Thanks,
> > Jannik
> >
> > On Jul 24, 2012, at 2:04 PM, David T. Lewis <lewis at mail.msen.com> wrote:
> >
> > > On Tue, Jul 24, 2012 at 09:27:49AM +0200, jannik.laval wrote:
> > >> Hi Dave,
> > >>
> > >> Should I load the SystemTracer available on SqueakSource ? The last
> version is from 2011, and seems old, no ?
> > >> When I try it, it calls some methods that do not exist in Pharo.
> > >>
> > >> Do you have more information on how to use it ?
> > >
> > > Hi Jannik,
> > >
> > > The system tracer is explained in the class comment of class
> SystemTracer.
> > > The comment was written by Dan Ingalls (I think), and gives credit to
> Ted
> > > Kaehler as the inventor of the original. Class SystemTracer2 has
> additional
> > > documentation including how to run the trace. SystemTracer2 is a newer
> > > version that you will actually be using, so you can think of
> SystemTracer
> > > as the original reference implementation, while SystemTracer2 and its
> > > subclasses are variations on the original. SystemTracer64 is the
> subclass
> > > that implements conversion logic for copying 32-bit objects into the
> > > experimental 64-bit object memory format. This object format is
> described
> > > in the SystemTracer64 class comment, and more information is available
> at
> > > http://squeakvm.org/squeak64.
> > >
> > > A system tracer will first put your image into a "quiet" mode, then
> copy
> > > and convert the running object memory to a new image file, and then
> wake up
> > > and return to normal. This is similar to saving your image and
> restarting
> > > from a disk file, except that the system tracer will trace your object
> > > memory to a new format rather than saving it unchanged.
> > >
> > > To trace your running image to a new 64-bit image file, you would do
> this:
> > >
> > >     SystemTracer64 writeImage: 'new64bitImage.image'
> > >
> > > The last update I did to SystemTracer (SystemTracing-dtl.23) works with
> > > closure-enabled images, including Pharo at one time. I have a 64-bit
> > > Pharo 1.4 image that I made about a year and a half ago. I don't know
> > > what has changed in Pharo since then, so probably some updates will be
> > > needed, or possibly a Pharo-specific version. I know that others on the
> > > Pharo list have worked on this, so hopefully someone else can give you
> > > some pointers about that.
> > >
> > > Dave
> > >
> > >
> >
> > ---
> > Jannik Laval
> >
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.pharo.org/pipermail/pharo-dev_lists.pharo.org/attachments/20120731/ba4291ce/attachment-0001.html>


More information about the Pharo-dev mailing list