Chris Muller uploaded a new version of Tools to project The Trunk:
http://source.squeak.org/trunk/Tools-cmm.518.mcz ==================== Summary ==================== Name: Tools-cmm.518 Author: cmm Time: 3 February 2014, 3:40:50.779 pm UUID: 6277da39-26fa-467e-9b30-244ee58b4000 Ancestors: Tools-topa.517 References through named instVars are strong even on weak classes. Fix PointerFinder behavior accordingly. Add comment reminding about the purpose of Object>>#shouldFollowOutboundPointers. =============== Diff against Tools-topa.517 =============== Item was changed: ----- Method: Object>>shouldFollowOutboundPointers (in category '*Tools-Debugger') ----- shouldFollowOutboundPointers + "Allow other subclasses of ProtoObject to hook this method." (self class isPointers or: [ self isCompiledMethod ]) ifFalse: [ ^ false ]. + ^ (self class isWeak not or: [ self class instSize > 0 ]) and: [ self isLiteral not ]! - ^ self class isWeak not and: [ self isLiteral not ]! |
shouldFollowOutboundPointers was recently introduced so that other
subclasses of ProtoObject can override it the way they want. On Mon, Feb 3, 2014 at 3:43 PM, <[hidden email]> wrote: > Chris Muller uploaded a new version of Tools to project The Trunk: > http://source.squeak.org/trunk/Tools-cmm.518.mcz > > ==================== Summary ==================== > > Name: Tools-cmm.518 > Author: cmm > Time: 3 February 2014, 3:40:50.779 pm > UUID: 6277da39-26fa-467e-9b30-244ee58b4000 > Ancestors: Tools-topa.517 > > References through named instVars are strong even on weak classes. Fix PointerFinder behavior accordingly. > Add comment reminding about the purpose of Object>>#shouldFollowOutboundPointers. > > =============== Diff against Tools-topa.517 =============== > > Item was changed: > ----- Method: Object>>shouldFollowOutboundPointers (in category '*Tools-Debugger') ----- > shouldFollowOutboundPointers > + "Allow other subclasses of ProtoObject to hook this method." > (self class isPointers or: [ self isCompiledMethod ]) ifFalse: [ ^ false ]. > + ^ (self class isWeak not or: [ self class instSize > 0 ]) and: [ self isLiteral not ]! > - ^ self class isWeak not and: [ self isLiteral not ]! > > |
Unless Levente's shouldBePrintedAsLiteral change is absolutely needed too?
Seems like not but someone else please confirm and I'll go ahead and make an RC3.. On Mon, Feb 3, 2014 at 3:45 PM, Chris Muller <[hidden email]> wrote: > shouldFollowOutboundPointers was recently introduced so that other > subclasses of ProtoObject can override it the way they want. > > > > On Mon, Feb 3, 2014 at 3:43 PM, <[hidden email]> wrote: >> Chris Muller uploaded a new version of Tools to project The Trunk: >> http://source.squeak.org/trunk/Tools-cmm.518.mcz >> >> ==================== Summary ==================== >> >> Name: Tools-cmm.518 >> Author: cmm >> Time: 3 February 2014, 3:40:50.779 pm >> UUID: 6277da39-26fa-467e-9b30-244ee58b4000 >> Ancestors: Tools-topa.517 >> >> References through named instVars are strong even on weak classes. Fix PointerFinder behavior accordingly. >> Add comment reminding about the purpose of Object>>#shouldFollowOutboundPointers. >> >> =============== Diff against Tools-topa.517 =============== >> >> Item was changed: >> ----- Method: Object>>shouldFollowOutboundPointers (in category '*Tools-Debugger') ----- >> shouldFollowOutboundPointers >> + "Allow other subclasses of ProtoObject to hook this method." >> (self class isPointers or: [ self isCompiledMethod ]) ifFalse: [ ^ false ]. >> + ^ (self class isWeak not or: [ self class instSize > 0 ]) and: [ self isLiteral not ]! >> - ^ self class isWeak not and: [ self isLiteral not ]! >> >> |
In reply to this post by commits-2
I'm too chicken to take out the isLiteral optimization at this stage,
but it definitely should honor strong refs from named instVars of weak classes. On Mon, Feb 3, 2014 at 3:43 PM, <[hidden email]> wrote: > Chris Muller uploaded a new version of Tools to project The Trunk: > http://source.squeak.org/trunk/Tools-cmm.518.mcz > > ==================== Summary ==================== > > Name: Tools-cmm.518 > Author: cmm > Time: 3 February 2014, 3:40:50.779 pm > UUID: 6277da39-26fa-467e-9b30-244ee58b4000 > Ancestors: Tools-topa.517 > > References through named instVars are strong even on weak classes. Fix PointerFinder behavior accordingly. > Add comment reminding about the purpose of Object>>#shouldFollowOutboundPointers. > > =============== Diff against Tools-topa.517 =============== > > Item was changed: > ----- Method: Object>>shouldFollowOutboundPointers (in category '*Tools-Debugger') ----- > shouldFollowOutboundPointers > + "Allow other subclasses of ProtoObject to hook this method." > (self class isPointers or: [ self isCompiledMethod ]) ifFalse: [ ^ false ]. > + ^ (self class isWeak not or: [ self class instSize > 0 ]) and: [ self isLiteral not ]! > - ^ self class isWeak not and: [ self isLiteral not ]! > > |
Free forum by Nabble | Edit this page |