<div dir="ltr">This has to do with overrides... The Kernel version was overriden or something like that.<br></div><div class="gmail_extra"><br><div class="gmail_quote">2015-10-09 7:25 GMT+02:00 Tobias Pape <span dir="ltr">&lt;<a href="mailto:Das.Linux@gmx.de" target="_blank">Das.Linux@gmx.de</a>&gt;</span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="HOEnZb"><div class="h5"><br>
On 09.10.2015, at 03:01, David T. Lewis &lt;<a href="mailto:lewis@mail.msen.com">lewis@mail.msen.com</a>&gt; wrote:<br>
<br>
&gt; On Thu, Oct 08, 2015 at 08:31:09PM -0400, David T. Lewis wrote:<br>
&gt;&gt; On Thu, Oct 08, 2015 at 08:05:39PM -0400, David T. Lewis wrote:<br>
&gt;&gt;&gt; On Thu, Oct 08, 2015 at 07:55:51PM -0400, David T. Lewis wrote:<br>
&gt;&gt;&gt;&gt; For squeak4.6, this fixes the bug that Craig reported on vm-dev<br>
&gt;&gt;&gt;&gt; <a href="http://lists.squeakfoundation.org/pipermail/vm-dev/2015-October/019562.html" rel="noreferrer" target="_blank">http://lists.squeakfoundation.org/pipermail/vm-dev/2015-October/019562.html</a><br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; I also see at least one mcz in the squeak46 repository that is empty, apparently<br>
&gt;&gt;&gt;&gt; originally loaded from trunk for the release image, but somehow copied with<br>
&gt;&gt;&gt;&gt; errors from trunk to squeak46.<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; I fixed System-topa.753 by copying the good one in trunk into squeak46. There<br>
&gt;&gt;&gt;&gt; may be a few more bad mcz files in squeak46. I&#39;ll fix them as I spot them.<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Compiler-eem.304 and Collections-topa.638 were also empty in the squeak46 repo,<br>
&gt;&gt;&gt; so I copied the good ones from trunk to squeak46.<br>
&gt;&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; I hope I am not doing something stupid here. I wanted to fix the recreateSpecialObjectsArray<br>
&gt;&gt; bug that remained in the squeak46 repo, and in doing so noticed some empty MCZ<br>
&gt;&gt; packages in that repo. I presume that this is an error, some artifact of copying<br>
&gt;&gt; them from trunk during the 4.6/5.0 release process. So I fixed (?) this by<br>
&gt;&gt; copying the good (not empty) MCZ files from trunk to squeak46.<br>
&gt;&gt;<br>
&gt;&gt; All is well, except that I now have a dirty package in Kernel after doing an<br>
&gt;&gt; updateFromServer. The conflicting method is CompiledMethod&gt;&gt;hasBreakpoint, which<br>
&gt;&gt; is one that was moved around and refactored in the later trunk development.<br>
&gt;&gt;<br>
&gt;&gt; Before I do anything dangerous to try to &quot;fix&quot; this (after all, hasBreakpoint<br>
&gt;&gt; will hang the system if it goes missing), can someone (Chris?) please confirm<br>
&gt;&gt; that those packages were *not* supposed to be empty, and that the good copies<br>
&gt;&gt; from trunk would be the right thing to have in squeak46?<br>
&gt;&gt;<br>
&gt;<br>
&gt; And I guess that the related question would be - for a fully updated Squeak 4.6<br>
&gt; image, what is the correct implementation of CompiledMethod&gt;&gt;hasBreakpoint ?<br>
&gt;<br>
&gt; Is it this:<br>
&gt;<br>
&gt;  CompiledMethod&gt;&gt;hasBreakpoint<br>
&gt;      ^ false<br>
&gt;<br>
&gt;<br>
&gt; Or this:<br>
&gt;<br>
&gt;  CompiledMethod&gt;&gt;hasBreakpoint<br>
&gt;      ^BreakpointManager methodHasBreakpoint: self<br>
&gt;<br>
&gt; I think that the former version is the pre-Spur implementation, and the<br>
&gt; latter came from the Spur transition in trunk Kernel-cmm.936.<br>
&gt;<br>
&gt; I note also that WrappedBreakpoint&gt;&gt;hasBreakpoint just answers true in<br>
&gt; squeak46 so I am guessing the corresponding CompiledMethod&gt;&gt;hasBreakpoint<br>
&gt; would just answer false.<br>
<br>
</div></div>No, these are two coexisting mechanisms of breakpointing<br>
<br>
a) breakpoint manager has an external list of breakpointed messages and does the<br>
   breakpointing. Hence the second version is correct.<br>
b) wrapped breakpoint is a method wrapper that wraps a compiled method in the<br>
   method dict and thus can, imposing the CM, just answer true.<br>
<br>
Best regards<br>
<span class="HOEnZb"><font color="#888888">        -Tobias<br>
<br>
<br>
<br>
<br>
</font></span></blockquote></div><br></div>