<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><meta content="text/html;charset=UTF-8" http-equiv="Content-Type"></head><body ><div style='font-size:10pt;font-family:Verdana,Arial,Helvetica,sans-serif;'>Thanks, but its worse than that--call it initial flailing as I learn the system level stuff.<br><br>My misconception 2 was not the misconception I thought it was. It is the difference between a BlockContext created in a MethodContext vs that created in a DoIt.<br><br><br>Object subclass: #MethodWithFactorialBlockContext &gt;&gt;factorialExampleFromMethod<br>&nbsp;&nbsp;&nbsp; | factorial |<br>&nbsp;&nbsp;&nbsp; factorial := <span style="background-color: rgb(102, 204, 255);">[:n | n = 1 ifTrue: [1] ifFalse:[(factorial value: n-1) * n]]</span>.<br>&nbsp;&nbsp;&nbsp; (1 to: 10) collect: factorial.<br>&nbsp;&nbsp;&nbsp; ^factorial<br><br>If I explore the block to the right of factorial, I get an explorer titled: "[ ]&nbsp; in MethodWithFacorialBlockCo..etc..." which, I assumed was the BlockContext "associated" with that method. Its not. It is the same thing you get when you put the block in a Workspace and explore that.<br><br>However, if you execute that method <br><br>| m&nbsp; |<br>m := MethodWithFactorialBlockContext new.<br>m factorialExampleFromMethod.<br><br>it throws an error; then, exploring the BlockContext from the debugger does show the CompiledMethod and lo-and-behold it is&nbsp; the same CompiledMethod as that in the class methodDict. Just like it says in the BlueBook.<br><br>So, the lesson learned is,<u><b> </b></u><b>"when evaluating contexts, be sure of the context you are evaluating otherwise, you may spend a day looking at the wrong stuff and posting dumb posts to squeak-vm-dev".</b><br><br><br><br>Cordially,<br><br>tty<br><br><br><br><br><br><br><div id="1"><br>---- On Sat, 14 Dec 2013 14:38:15 -0800 <b>Bob Arning&lt;arning315@comcast.net&gt;</b> wrote ---- <br></div><br><blockquote style="border-left: 1px solid #0000FF; padding-left: 6px; margin:0 0 0 5px">               <div text="#000000" bgcolor="#FFFFFF">     <font face="Georgia">Just so you are not heading astray, CM210 has       *fewer* bytecodes than CM3931 and *many* of CM210's bytecodes are       also in CM3931, but the former is not a subset of the latter,       either by happenstance or some sort of magic sharing of bytecodes.       They are just similar because they are compiled from similar       source code.<br>       <br>       Cheers,<br>       Bob<br>       <br>     </font>     <div>On 12/14/13 4:29 PM, gettimothy wrote:<br>     </div>     <blockquote cite="mid:142f303828b.-314795332<a href=" mailto:031519307.-4168358830043045902@zoho.com"="" target="_blank">031519307.-4168358830043045902@zoho.com" type="cite"&gt;2. Misconception 1 happened because I wrongly thought       the 'CompiledMethod I had highlighted was the SAME compiled method       for the method, just displayed differentyl. .They are not--its       obvious now that I know where to look. CompiledMethod(210)&nbsp; in the       BlockContext vs CompiledMethod(3931) in the methodDict of the test       class I was using. CompiledMethod(210) contains a subset of the       bytecodes in CompiledMethod(3931), but its header and number of       literals are different.</blockquote>     <br>    </div></blockquote><br></div></body></html>