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
[email protected]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________
Pharo-project mailing list
[email protected]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project