InterpreterSimulator and friends
Michael van der Gulik
squeakml at gulik.co.nz
Sun Jun 25 05:05:44 UTC 2006
Thanks for the quick reply!
It might be useful adding the following information to SqueakVM.org:
- How to find the Squeak-VM mailing list.
- Where the code is and how to get it (i.e. svn://squeakvm.org/... and
- How to contribute changes.
tim Rowledge wrote:
> On 23-Jun-06, at 8:49 PM, Michael van der Gulik wrote:
>> Hi all.
>> Where is the latest stable version of VMMaker? Is it
>> VMMaker-3.8b6.mcz from SqueakMap
>> , or VMMaker-tpr-5.mcz (which seems old) from SqueakSource.com?
> No - after a few attempts with squeaksource a long time ago I gave
> up; not particularly because of any fault but it simply didn't suit
> my working habits.
>> Or somewhere else?
> Nope. SM is it.
>> I see that squeakvm.org has an SVN server, but where do you keep
>> your Monticello files?
> When the swiki is running (I can't access it right now) search for
> VMMaker and you should find all the documentation you need. If you
> don't, let us know what you think it missing and it has a chance of
> getting improved!
> I don't keep all the MC files publically accessible because
> intermediate states are normally not usable. Releases on SM are known
> to have built working VMs on at least two OSs.
>> I've got a bug, probably in my code but maybe in the VM, involving
>> becomeForward:copyHash:. The primitive is failing for no apparant
>> reason. I plan to try running this code in the InterpreterSimulator
>> to find exactly why primitive 239 is failing.
> The immediate things I can think of involve some checks early in the
> prim that protect you against catastrophe.
> Comment from ObjectMemory>prepareForwardingTableForBecoming: array1
> with: array2 twoWay: twoWayFlag
> "Important note on multiple references to same object - since
> the preparation of
> fwdBlocks is NOT idempotent we get VM crashes if the same object
> is referenced more
> than once in such a way as to require multiple fwdBlocks.
> oop1 forwardBecome: oop1 is ok since only a single fwdBlock is
> oop1 become: oop1 would fail because the second fwdBlock woudl
> not have the actual object
> header but rather the mutated ref to the first fwdBlock.
> Further problems can arise with an array1 or array2 that refer
> multiply to the same
> object. This would notbe expected input for programmer writen
> code but might arise from
> automatic usage such as in ImageSegment loading.
> To avoid the simple and rather common case of oop1 become*: oop1,
> we skip such pairs
> and simply avoid making fwdBlocks - it is redundant anyway"
>> Currently I've tried both VMMaker-tpr.58.mcz and VMMaker-3.8b6.mcz,
>> but the InterpreterSimulator doesn't want to work.
> I make no guarantee on the state of InterpreterSimulator. I was under
> the impression that it was functional in the current version, mostly
> because of a lot of work Craig did to support his Spoon project. I
> simply don't have enough spare time to do all the work and the
> simulator is one area I have to leave for others to worry about.
>> I get a DNU, which I fixed, but then I get another DNU, which I
>> fixed, but then I got another, so I threw the whole thing away in
>> disgust. I have a bog standard 32-bit AMD-based PC running Ubuntu.
> Sometimes you just have to keep bashing those balrogs.
> tim Rowledge; tim at rowledge.org; http://www.rowledge.org/tim
> Press [ESC] to detonate or any other key to explode.
More information about the Vm-dev