<div dir="ltr">Hi Nicolas,<br><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Apr 26, 2016 at 2:43 PM, Nicolas Cellier <span dir="ltr">&lt;<a href="mailto:nicolas.cellier.aka.nice@gmail.com" target="_blank">nicolas.cellier.aka.nice@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"> <br><div dir="ltr"><div><div><div><div><div><div><div>Hi,<br></div>I see that superclassSend sends:<br>    objectMemory ensureBehaviorHash: superclass.<br></div>and just after it does <br>    lkupClassTag := objectMemory classTagForClass: superclass.<br><br></div>But classTagForClass:  is doing the same as above:<br>    &lt;api&gt;<br>    self assert: (coInterpreter addressCouldBeClassObj: classObj).<br>    ^self ensureBehaviorHash: classObj<br><br></div>So we are sending ensureBehaviorHash: twice...<br></div>It sounds un-ncecessary or is there a tricky reason to this?<br><br></div>Moreover, it sounds like ensureBehaviorHash: will begin with<br>    self assert: (coInterpreter addressCouldBeClassObj: aBehavior).<br><br></div>So again, we are asserting twice the same thing, aren&#39;t we?</div></blockquote><div><br></div><div>Yes.  Good catch.  The send in superclassSed is clearly superfluous; but I would change the method to comment that classTagForClass: ensures there is a hash.</div></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature"><div dir="ltr"><div><span style="font-size:small;border-collapse:separate"><div>_,,,^..^,,,_<br></div><div>best, Eliot</div></span></div></div></div>
</div></div>