Hi matthew There are only one class comment on the complete package. This is really sad. Could you do a pass and fix that. I would love to see a class diagram of the system editor and been able to store in the in package metadata (should work on that). 167 run, 159 passes, 0 expected failures, 2 failures, 6 errors, 0 unexpected passes commit "The mass become: is a primitive, but we execute this method with preemption disabled because we don't want another process creating new instances while we're busy converting the existing instances." | old new | [ old := WriteStream on: (Array new: migrators size). new := WriteStream on: (Array new: migrators size). migrators do: [:ea | ea migrateFrom: old to: new]. old contents elementsExchangeIdentityWith: new contents. ] valueUnpreemptively. On Jul 3, 2008, at 8:03 PM, Stéphane Ducasse wrote:
Matthew can you explain how you achieve atomic loading?
I thought that what I would do is: - create an new SystemDictionary - compile the code to this new namespace (not sure that this is easy) - then if nothing wrong happen, add the new name to Smalltalk.
Stef On Jun 27, 2008, at 11:41 AM, Matthew Fulmer wrote:
I am fixing bugs in a new loader for Monticello that does code loading in a truly atomic fashion: code is swapped into the system, and pointers are revised in exactly ONE primitive. I have it working well enough that I made it my default loader. It is able to load problematic packages that are sensitive to inconsistencies during loading, like Monticello and Morphic. As an Acid test, I am able to load Monticello using the new package loader, which has, until now, been impossible in any version of Monticello. The biggest remaining issue is Traits support; Packages with traits are not supported.
Stef
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project