<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Under Cover Contexts and the Big Frame-Up</title>
	<atom:link href="http://www.mirandabanda.org/cogblog/2009/01/14/under-cover-contexts-and-the-big-frame-up/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.mirandabanda.org/cogblog/2009/01/14/under-cover-contexts-and-the-big-frame-up/</link>
	<description>Speeding Up Croquet and Squeak with a new open-source VM from Teleplace</description>
	<lastBuildDate>Mon, 05 Sep 2011 20:38:51 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
	<item>
		<title>By: Measuring Simplicity &#171; Squeaking Along</title>
		<link>http://www.mirandabanda.org/cogblog/2009/01/14/under-cover-contexts-and-the-big-frame-up/comment-page-1/#comment-4058</link>
		<dc:creator>Measuring Simplicity &#171; Squeaking Along</dc:creator>
		<pubDate>Fri, 30 Apr 2010 03:47:43 +0000</pubDate>
		<guid isPermaLink="false">http://www.mirandabanda.org/cogblog/?p=18#comment-4058</guid>
		<description>[...] in particular when trying to implement the model efficiently, can be highly complex (check out Eliot&#8217;s comments on context to stack mapping in [...]</description>
		<content:encoded><![CDATA[<p>[...] in particular when trying to implement the model efficiently, can be highly complex (check out Eliot&#8217;s comments on context to stack mapping in [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dave</title>
		<link>http://www.mirandabanda.org/cogblog/2009/01/14/under-cover-contexts-and-the-big-frame-up/comment-page-1/#comment-4057</link>
		<dc:creator>Dave</dc:creator>
		<pubDate>Thu, 11 Mar 2010 03:07:33 +0000</pubDate>
		<guid isPermaLink="false">http://www.mirandabanda.org/cogblog/?p=18#comment-4057</guid>
		<description>You&#039;ve been fairly quiet on your blog Eliot. I have missed your in-depth posts. Any chance of something new for 2010? :D 

(Having said that I realise you are a constant contributor on the squeak/pharo mailing lists)</description>
		<content:encoded><![CDATA[<p>You&#8217;ve been fairly quiet on your blog Eliot. I have missed your in-depth posts. Any chance of something new for 2010? <img src='http://www.mirandabanda.org/cogblog/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' />  </p>
<p>(Having said that I realise you are a constant contributor on the squeak/pharo mailing lists)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Eliot Miranda</title>
		<link>http://www.mirandabanda.org/cogblog/2009/01/14/under-cover-contexts-and-the-big-frame-up/comment-page-1/#comment-4048</link>
		<dc:creator>Eliot Miranda</dc:creator>
		<pubDate>Sun, 05 Jul 2009 21:48:42 +0000</pubDate>
		<guid isPermaLink="false">http://www.mirandabanda.org/cogblog/?p=18#comment-4048</guid>
		<description>Hi Chris,

    the difference between them is that the one from
&lt;pre&gt;        thisContext inspect&lt;/pre&gt;
has been returned from, and so you&#039;ll notice that it&#039;s sender an dpc are both nil,
whereas the one from
&lt;pre&gt;        thisContext inspect. self halt.&lt;/pre&gt;
is still active and its sender is the context in which the compilation of
&quot;thisContext inspect. self halt.&quot; was invoked, and its pc is pointing to the bytecode
following the send bytecode for the halt message.  So with the latter you can explore
the current computation using either the inspector or the explorer or the Debugger
which is of course available to you because &quot;self halt&quot; brought one up.

The relationship between a MethodContext and thisContext is that method activations
are represented by instances of methodContext and so inside a method thisContext
refers to an instance of MethodContext.  Conceptually a MethodContext is instantiated
whenever a message is sent that activates a method.  The rest of the post explains how
to avoid the overheads involved in doing so.

BTW, a context&#039;s pc is the pc in its method and methods are small and so pc values are small.
A context&#039;s pc isn&#039;t a pc into some large flat code space.  There&#039;s a lot here I&#039;m leaving
out which is why you might want to read the online implementation section of the &quot;Blue Book&quot; which is here before diving into my blog:
&lt;a HREF=&quot;http://web.archive.org/web/20041207062457/www.ipa.net/~dwighth/smalltalk/bluebook/bluebook_imp_toc.html&quot; rel=&quot;nofollow&quot;&gt;Blue Book Implementation Chapters on the Wayback machine&lt;/A&gt;</description>
		<content:encoded><![CDATA[<p>Hi Chris,</p>
<p>    the difference between them is that the one from</p>
<pre>        thisContext inspect</pre>
<p>has been returned from, and so you&#8217;ll notice that it&#8217;s sender an dpc are both nil,<br />
whereas the one from</p>
<pre>        thisContext inspect. self halt.</pre>
<p>is still active and its sender is the context in which the compilation of<br />
&#8220;thisContext inspect. self halt.&#8221; was invoked, and its pc is pointing to the bytecode<br />
following the send bytecode for the halt message.  So with the latter you can explore<br />
the current computation using either the inspector or the explorer or the Debugger<br />
which is of course available to you because &#8220;self halt&#8221; brought one up.</p>
<p>The relationship between a MethodContext and thisContext is that method activations<br />
are represented by instances of methodContext and so inside a method thisContext<br />
refers to an instance of MethodContext.  Conceptually a MethodContext is instantiated<br />
whenever a message is sent that activates a method.  The rest of the post explains how<br />
to avoid the overheads involved in doing so.</p>
<p>BTW, a context&#8217;s pc is the pc in its method and methods are small and so pc values are small.<br />
A context&#8217;s pc isn&#8217;t a pc into some large flat code space.  There&#8217;s a lot here I&#8217;m leaving<br />
out which is why you might want to read the online implementation section of the &#8220;Blue Book&#8221; which is here before diving into my blog:<br />
<a HREF="http://web.archive.org/web/20041207062457/www.ipa.net/~dwighth/smalltalk/bluebook/bluebook_imp_toc.html" rel="nofollow">Blue Book Implementation Chapters on the Wayback machine</a></p>
]]></content:encoded>
	</item>
</channel>
</rss>

