On Thu, Jul 23, 2009 at 2:21 PM, Bernhard Pieber <bernhard@pieber.com> wrote:
Am 19.07.2009 um 08:16 schrieb Andreas Raab:
Finally, since the updates will take quite a while, I've prepared an image that is up-to-date with the trunk as of today. You can download it from here:

http://squeakvm.org/win32/release/Squeak3.10.2-trunk.zip
Thanks, Andreas!

I have downloaded the new image, loaded the code updates and then ran the tests. On a Mac with the VM 4.1.1beta2U I get 10 failures and 22 errors. Most of the errors are BlockClosureTests and ClosureCompilerTests. Is that to be expected or is it just me somehow?

Yes.  My first attempt at the closure compiler did not fix the decompiler, did not implement copying methods with temp names correctly and had a minor compiler bug with optimized blocks.

The issue with the decompiler and with copying methods with temp names is that with BlueBook blocks temporaries are simply an array but with closures they are a tree, since temporaries in blocks live in those blocks, not on the stack of the home context.  Since the decompiler and discarding sources can be lived without I left them for later.

I now have a functional decompiler, have implemented copy with temp names and have an unintegrated fix for the compiler bug (the failing test is testInlineBlockCollectionLR3).  Once Andreas' new Monticello loader is more generally available I can make these fixes available.  The problem is that the fixes are integrated into packages in Qwaq's repository and being compiler changes they don't "just load".


I note that in 3.10.2 there was only 1 failure on the Mac at least, not quite but almost green. This leads me to another question about the New Community Development Model: Should there be a rule that no commit to the trunk is allowed to introduce new failures or errors? I think that rule would be good. What do others think?

Apologies but the failures with closures could not be avoided as there was a lot to do.  I had to release incrementally if I was going to get anything out at all.  So in certain cases such as this I would beg an exception. 


Cheers,
Bernhard