The subject says it.
Why can't the source be placed into the changes file. Doing so simplifies distributing an image and its sources. Terry =========================================================== Terry Raymond Crafted Smalltalk 80 Lazywood Ln. Tiverton, RI 02878 (401) 624-4517 [hidden email] <http://www.craftedsmalltalk.com> =========================================================== _______________________________________________ vwnc mailing list [hidden email] http://lists.cs.uiuc.edu/mailman/listinfo/vwnc |
I just noticed the "Use shadow loader" setting. So I tried
it and determined I can use it instead of a binary package. Why is this not always enabled? If it is slower, then maybe there could be a package property that specifies it be loaded using the shadow loader. Terry =========================================================== Terry Raymond Crafted Smalltalk 80 Lazywood Ln. Tiverton, RI 02878 (401) 624-4517 [hidden email] <http://www.craftedsmalltalk.com> =========================================================== > -----Original Message----- > From: [hidden email] [mailto:[hidden email]] On Behalf > Of Terry Raymond > Sent: Thursday, June 05, 2008 3:33 PM > To: VWNC > Subject: [vwnc] Loading binary packages creates *.pst files. Why?? > > The subject says it. > > Why can't the source be placed into the changes file. Doing > so simplifies distributing an image and its sources. > > Terry > > =========================================================== > Terry Raymond > Crafted Smalltalk > 80 Lazywood Ln. > Tiverton, RI 02878 > (401) 624-4517 [hidden email] > <http://www.craftedsmalltalk.com> > =========================================================== > > > _______________________________________________ > vwnc mailing list > [hidden email] > http://lists.cs.uiuc.edu/mailman/listinfo/vwnc _______________________________________________ vwnc mailing list [hidden email] http://lists.cs.uiuc.edu/mailman/listinfo/vwnc |
Terry,
I think it's just broken in some cases. I had tried loading our bundle once in the late pre 7.6 build with it turned on and it failed quite miserably. Maybe things have changed in the final 7.6, but I hadn't tried it yet. -Boris -- +1.604.689.0322 DeepCove Labs Ltd. 4th floor 595 Howe Street Vancouver, Canada V6C 2T5 http://tinyurl.com/r7uw4 [hidden email] CONFIDENTIALITY NOTICE This email is intended only for the persons named in the message header. Unless otherwise indicated, it contains information that is private and confidential. If you have received it in error, please notify the sender and delete the entire message including any attachments. Thank you. > -----Original Message----- > From: [hidden email] [mailto:[hidden email]] On Behalf > Of Terry Raymond > Sent: Thursday, June 05, 2008 12:47 PM > To: 'VWNC' > Subject: [vwnc] Shadow loading - was ": Loading binary packages > creates*.pst files. Why??" > > I just noticed the "Use shadow loader" setting. So I tried > it and determined I can use it instead of a binary package. > > Why is this not always enabled? > > If it is slower, then maybe there could be a package property > that specifies it be loaded using the shadow loader. > > Terry > > =========================================================== > Terry Raymond > Crafted Smalltalk > 80 Lazywood Ln. > Tiverton, RI 02878 > (401) 624-4517 [hidden email] > <http://www.craftedsmalltalk.com> > =========================================================== > > > -----Original Message----- > > From: [hidden email] [mailto:[hidden email]] On > Behalf > > Of Terry Raymond > > Sent: Thursday, June 05, 2008 3:33 PM > > To: VWNC > > Subject: [vwnc] Loading binary packages creates *.pst files. Why?? > > > > The subject says it. > > > > Why can't the source be placed into the changes file. Doing > > so simplifies distributing an image and its sources. > > > > Terry > > > > =========================================================== > > Terry Raymond > > Crafted Smalltalk > > 80 Lazywood Ln. > > Tiverton, RI 02878 > > (401) 624-4517 [hidden email] > > <http://www.craftedsmalltalk.com> > > =========================================================== > > > > > > _______________________________________________ > > vwnc mailing list > > [hidden email] > > http://lists.cs.uiuc.edu/mailman/listinfo/vwnc > > _______________________________________________ > vwnc mailing list > [hidden email] > http://lists.cs.uiuc.edu/mailman/listinfo/vwnc _______________________________________________ vwnc mailing list [hidden email] http://lists.cs.uiuc.edu/mailman/listinfo/vwnc |
Boris:
> I think it's just broken in some cases. I had tried loading our bundle > once in the late pre 7.6 build with it turned on and it failed quite > miserably. Maybe things have changed in the final 7.6, but I hadn't > tried it yet. Yes, it is. But we're working now to fix it and move it into production (and be on by default) for 7.7 And So It Goes Sames ______________________________________________________________________ Samuel S. Shuster [|] VisualWorks Engineering, Store Project Smalltalk Enables Success -- What Are YOU Using? _______________________________________________ vwnc mailing list [hidden email] http://lists.cs.uiuc.edu/mailman/listinfo/vwnc |
In reply to this post by Terry Raymond
I'm just guessing, but presumably doing it that way would require fixing up all the source pointers in the binary loaded methods to point to the updated changes file. Not impossible, but this way it was probably quite a bit easier.
Terry Raymond wrote: > The subject says it. > > Why can't the source be placed into the changes file. Doing > so simplifies distributing an image and its sources. > > Terry > > =========================================================== > Terry Raymond > Crafted Smalltalk > 80 Lazywood Ln. > Tiverton, RI 02878 > (401) 624-4517 [hidden email] > <http://www.craftedsmalltalk.com> > =========================================================== > > > _______________________________________________ > vwnc mailing list > [hidden email] > http://lists.cs.uiuc.edu/mailman/listinfo/vwnc > _______________________________________________ vwnc mailing list [hidden email] http://lists.cs.uiuc.edu/mailman/listinfo/vwnc |
In reply to this post by Terry Raymond
I'm just guessing, but presumably doing it that way would require fixing up all the source pointers in the binary loaded methods to point to the updated changes file. Not impossible, but this way it was probably quite a bit easier.
Martin Terry Raymond wrote: > The subject says it. > > Why can't the source be placed into the changes file. Doing > so simplifies distributing an image and its sources. > > Terry > > =========================================================== > Terry Raymond > Crafted Smalltalk > 80 Lazywood Ln. > Tiverton, RI 02878 > (401) 624-4517 [hidden email] > <http://www.craftedsmalltalk.com> > =========================================================== > > > _______________________________________________ > vwnc mailing list > [hidden email] > http://lists.cs.uiuc.edu/mailman/listinfo/vwnc > _______________________________________________ vwnc mailing list [hidden email] http://lists.cs.uiuc.edu/mailman/listinfo/vwnc |
In reply to this post by kobetic
Martin
Well, I suspect that it was a reuse of parcel code. But if you think about it, you have to write the source onto a stream, does it matter if the stream is the changes file instead of a *.pst file? Terry =========================================================== Terry Raymond Crafted Smalltalk 80 Lazywood Ln. Tiverton, RI 02878 (401) 624-4517 [hidden email] <http://www.craftedsmalltalk.com> =========================================================== > -----Original Message----- > From: Martin Kobetic [mailto:[hidden email]] > Sent: Thursday, June 05, 2008 6:19 PM > To: Terry Raymond > Cc: VWNC > Subject: Re: [vwnc] Loading binary packages creates *.pst files. Why?? > > I'm just guessing, but presumably doing it that way would require fixing > up all the source pointers in the binary loaded methods to point to the > updated changes file. Not impossible, but this way it was probably quite a > bit easier. > > Terry Raymond wrote: > > The subject says it. > > > > Why can't the source be placed into the changes file. Doing > > so simplifies distributing an image and its sources. > > > > Terry > > > > =========================================================== > > Terry Raymond > > Crafted Smalltalk > > 80 Lazywood Ln. > > Tiverton, RI 02878 > > (401) 624-4517 [hidden email] > > <http://www.craftedsmalltalk.com> > > =========================================================== > > > > > > _______________________________________________ > > vwnc mailing list > > [hidden email] > > http://lists.cs.uiuc.edu/mailman/listinfo/vwnc > > _______________________________________________ vwnc mailing list [hidden email] http://lists.cs.uiuc.edu/mailman/listinfo/vwnc |
Terry and Martin,
Your guesses are right. The entire "publish binary" machanism is the parcel mechanism. Upon publishing the .pst and -pcl files are built in internal streams and then written into BLOBs in the database. Upon load the .pst BLOB is copied onto disk before the .pcl BLOB contents is read into an internal stream and the parcel reading mechanism starts. The downside of changing this to copying the pst BLOB contents into the changes file would create a significant growth of the changes file when you read multiple versions. In a source load only changed methods and copy those methods are copied into the changes file. What I would propose instead is a menu item like "condense changes" called "consolidate changes" which also includes the stuff loaded binary. Georg Georg Heeg eK, Dortmund und Köthen, HR Dortmund A 12812 Tel. +49-3496-214328, Fax +49-3496-214712 > -----Ursprüngliche Nachricht----- > Von: [hidden email] [mailto:[hidden email]] Im Auftrag > von Terry Raymond > Gesendet: Freitag, 6. Juni 2008 03:35 > An: 'VWNC' > Betreff: Re: [vwnc] Loading binary packages creates *.pst files. Why?? > > Martin > > Well, I suspect that it was a reuse of parcel code. But > if you think about it, you have to write the source onto > a stream, does it matter if the stream is the changes file > instead of a *.pst file? > > Terry > > =========================================================== > Terry Raymond > Crafted Smalltalk > 80 Lazywood Ln. > Tiverton, RI 02878 > (401) 624-4517 [hidden email] > <http://www.craftedsmalltalk.com> > =========================================================== > > > -----Original Message----- > > From: Martin Kobetic [mailto:[hidden email]] > > Sent: Thursday, June 05, 2008 6:19 PM > > To: Terry Raymond > > Cc: VWNC > > Subject: Re: [vwnc] Loading binary packages creates *.pst files. Why?? > > > > I'm just guessing, but presumably doing it that way would require fixing > > up all the source pointers in the binary loaded methods to point to the > > updated changes file. Not impossible, but this way it was probably quite > a > > bit easier. > > > > Terry Raymond wrote: > > > The subject says it. > > > > > > Why can't the source be placed into the changes file. Doing > > > so simplifies distributing an image and its sources. > > > > > > Terry > > > > > > =========================================================== > > > Terry Raymond > > > Crafted Smalltalk > > > 80 Lazywood Ln. > > > Tiverton, RI 02878 > > > (401) 624-4517 [hidden email] > > > <http://www.craftedsmalltalk.com> > > > =========================================================== > > > > > > > > > _______________________________________________ > > > vwnc mailing list > > > [hidden email] > > > http://lists.cs.uiuc.edu/mailman/listinfo/vwnc > > > > > _______________________________________________ > vwnc mailing list > [hidden email] > http://lists.cs.uiuc.edu/mailman/listinfo/vwnc _______________________________________________ vwnc mailing list [hidden email] http://lists.cs.uiuc.edu/mailman/listinfo/vwnc |
Georg
> -----Original Message----- > From: Georg Heeg [mailto:[hidden email]] > Sent: Friday, June 06, 2008 2:37 AM > To: 'Terry Raymond'; 'VWNC' > Subject: AW: [vwnc] Loading binary packages creates *.pst files. Why?? > > Terry and Martin, > > Your guesses are right. The entire "publish binary" machanism is the > parcel > mechanism. Upon publishing the .pst and -pcl files are built in internal > streams and then written into BLOBs in the database. Upon load the .pst > BLOB > is copied onto disk before the .pcl BLOB contents is read into an internal > stream and the parcel reading mechanism starts. > > The downside of changing this to copying the pst BLOB contents into the > changes file would create a significant growth of the changes file when > you > read multiple versions. In a source load only changed methods and copy > those > methods are copied into the changes file. > > What I would propose instead is a menu item like "condense changes" called > "consolidate changes" which also includes the stuff loaded binary. This would probably be an acceptable alternative. I assume this could also be used to consolidate ordinary parcel source. What I would like to see is an option that would redirect loaded source to a local *.sou file instead of the *.cha file. This is something that Olaf did a few years ago. It has the advantage of making it easier to recover a crashed image from the changes file, i.e. a lot less code has to be reviewed. One other nit I noticed, when a method is overridden its source is stored in the source pointer. However, there is a slight problem with this. If the method is an original vw method, i.e. its source is stored in the system .sou file, when the method is restored its pointer no longer points to the .sou file. The nice thing about having its pointer point to the .sou file is that you know that it is no longer in a modified state. Reviewing method pointers is a nice way of finding modified methods. > Georg > > Georg Heeg eK, Dortmund und Köthen, HR Dortmund A 12812 > Tel. +49-3496-214328, Fax +49-3496-214712 > > > -----Ursprüngliche Nachricht----- > > Von: [hidden email] [mailto:[hidden email]] Im > Auftrag > > von Terry Raymond > > Gesendet: Freitag, 6. Juni 2008 03:35 > > An: 'VWNC' > > Betreff: Re: [vwnc] Loading binary packages creates *.pst files. Why?? > > > > Martin > > > > Well, I suspect that it was a reuse of parcel code. But > > if you think about it, you have to write the source onto > > a stream, does it matter if the stream is the changes file > > instead of a *.pst file? > > > > Terry > > > > =========================================================== > > Terry Raymond > > Crafted Smalltalk > > 80 Lazywood Ln. > > Tiverton, RI 02878 > > (401) 624-4517 [hidden email] > > <http://www.craftedsmalltalk.com> > > =========================================================== > > > > > -----Original Message----- > > > From: Martin Kobetic [mailto:[hidden email]] > > > Sent: Thursday, June 05, 2008 6:19 PM > > > To: Terry Raymond > > > Cc: VWNC > > > Subject: Re: [vwnc] Loading binary packages creates *.pst files. Why?? > > > > > > I'm just guessing, but presumably doing it that way would require > fixing > > > up all the source pointers in the binary loaded methods to point to > the > > > updated changes file. Not impossible, but this way it was probably > quite > > a > > > bit easier. > > > > > > Terry Raymond wrote: > > > > The subject says it. > > > > > > > > Why can't the source be placed into the changes file. Doing > > > > so simplifies distributing an image and its sources. > > > > > > > > Terry > > > > > > > > =========================================================== > > > > Terry Raymond > > > > Crafted Smalltalk > > > > 80 Lazywood Ln. > > > > Tiverton, RI 02878 > > > > (401) 624-4517 [hidden email] > > > > <http://www.craftedsmalltalk.com> > > > > =========================================================== > > > > > > > > > > > > _______________________________________________ > > > > vwnc mailing list > > > > [hidden email] > > > > http://lists.cs.uiuc.edu/mailman/listinfo/vwnc > > > > > > > > _______________________________________________ > > vwnc mailing list > > [hidden email] > > http://lists.cs.uiuc.edu/mailman/listinfo/vwnc Terry =========================================================== Terry Raymond Crafted Smalltalk 80 Lazywood Ln. Tiverton, RI 02878 (401) 624-4517 [hidden email] <http://www.craftedsmalltalk.com> =========================================================== _______________________________________________ vwnc mailing list [hidden email] http://lists.cs.uiuc.edu/mailman/listinfo/vwnc |
Hi Terry,
On Fri, Jun 6, 2008 at 5:59 AM, Terry Raymond <[hidden email]> wrote:
[snip] One other nit I noticed, when a method is overridden its source is I don't think that's the bug. I think the bug is that the overridden method doesn't get its source pointer set and doesn't ever get its source pointer updated while it is overridden. So if the changes file gets condensed he overridden method's source pointer won't be updated to point to the new location in the condensed changes. And if the overridden method's original parcel is unloaded the overridden method's source pointer won't be replaced by the unloaded source and so when the method's override is removed, exposing the method, the method will appear to have a broken source pointer.
Exactly the same problem bites methods with breakpoints. The breakpoint manager remembers the original method and replaces it by a modified copy containing the breakpoint. If changes are condensed or parcels unloaded then the original unbreakpointed method doesn't get its source pointer updated and when the breakpoint is removed it appears to have a broken source pointer.
IMO the method enumeration facilities need to be generalized so the system visits more methods than merely those in method dictionaries in the class hierarchy. I'd also generalise this to include parcel actions. It would be great if e.g. searching for senders would return variations on MethodReference, e.g. ParcelActionReference, for parcel actions so that parcel actions could be seen for the sources of message sends that they are.
regards _______________________________________________ vwnc mailing list [hidden email] http://lists.cs.uiuc.edu/mailman/listinfo/vwnc |
AR 54527... From: [hidden email] [mailto:[hidden email]] On Behalf Of Eliot Miranda Sent: Friday, June 06, 2008 7:10 AM To: Raymond, Terry Cc: VWNC Subject: Re: [vwnc] Loading binary packages creates *.pst files. Why?? On Fri, Jun 6, 2008 at 5:59 AM, Terry Raymond <[hidden email]>
wrote:
[snip]
One other nit I noticed, when a method is overridden its source is I don't think that's the bug. I think the bug is that the overridden
method doesn't get its source pointer set and doesn't ever get its source
pointer updated while it is overridden. So if the changes file gets
condensed he overridden method's source pointer won't be updated to
point to the new location in the condensed changes. And if the
overridden method's original parcel is unloaded the overridden method's source
pointer won't be replaced by the unloaded source and so when the method's
override is removed, exposing the method, the method will appear to have a
broken source pointer.
Exactly the same problem bites methods with breakpoints. The
breakpoint manager remembers the original method and replaces it by a modified
copy containing the breakpoint. If changes are condensed or parcels
unloaded then the original unbreakpointed method doesn't get its source pointer
updated and when the breakpoint is removed it appears to have a broken source
pointer.
IMO the method enumeration facilities need to be generalized so the system
visits more methods than merely those in method dictionaries in the class
hierarchy. I'd also generalise this to include parcel actions. It
would be great if e.g. searching for senders would return variations on
MethodReference, e.g. ParcelActionReference, for parcel actions so that parcel
actions could be seen for the sources of message sends that they are.
regards _______________________________________________ vwnc mailing list [hidden email] http://lists.cs.uiuc.edu/mailman/listinfo/vwnc |
Free forum by Nabble | Edit this page |