<?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: BlueBook CompiledMethods &#8211; Having Our Cake and Eating It Too</title>
	<atom:link href="http://www.mirandabanda.org/cogblog/2008/06/17/bluebook-compiledmethods-having-our-cake-and-eating-it-too/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.mirandabanda.org/cogblog/2008/06/17/bluebook-compiledmethods-having-our-cake-and-eating-it-too/</link>
	<description>Speeding Up Croquet and Squeak with a new open-source VM from Teleplace</description>
	<lastBuildDate>Tue, 27 Jul 2010 17:32:30 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
	<item>
		<title>By: Kent Beck</title>
		<link>http://www.mirandabanda.org/cogblog/2008/06/17/bluebook-compiledmethods-having-our-cake-and-eating-it-too/comment-page-1/#comment-491</link>
		<dc:creator>Kent Beck</dc:creator>
		<pubDate>Fri, 05 Sep 2008 22:23:36 +0000</pubDate>
		<guid isPermaLink="false">http://www.mirandabanda.org/cogblog/?p=7#comment-491</guid>
		<description>Eliot,

Regarding the original motivation for squooshed compiled methods, the story I heard that it was primarily to save OOPS, not bytes. A 16-bit object table VM let you allocate 32K objects total, of which ~15K were taken by the base image. Of those, something like 7K were CMs. Separate objects for bytecodes and literals would run application writers clean out of objects.

Cheers,

Kent</description>
		<content:encoded><![CDATA[<p>Eliot,</p>
<p>Regarding the original motivation for squooshed compiled methods, the story I heard that it was primarily to save OOPS, not bytes. A 16-bit object table VM let you allocate 32K objects total, of which ~15K were taken by the base image. Of those, something like 7K were CMs. Separate objects for bytecodes and literals would run application writers clean out of objects.</p>
<p>Cheers,</p>
<p>Kent</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: David</title>
		<link>http://www.mirandabanda.org/cogblog/2008/06/17/bluebook-compiledmethods-having-our-cake-and-eating-it-too/comment-page-1/#comment-258</link>
		<dc:creator>David</dc:creator>
		<pubDate>Tue, 05 Aug 2008 21:20:41 +0000</pubDate>
		<guid isPermaLink="false">http://www.mirandabanda.org/cogblog/?p=7#comment-258</guid>
		<description>Whitewash pt. 2

http://rdrvr.blogspot.com/2008/08/hacking-compiledmethod-allocating-space.html

David</description>
		<content:encoded><![CDATA[<p>Whitewash pt. 2</p>
<p><a href="http://rdrvr.blogspot.com/2008/08/hacking-compiledmethod-allocating-space.html" rel="nofollow">http://rdrvr.blogspot.com/2008/08/hacking-compiledmethod-allocating-space.html</a></p>
<p>David</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Igor Stasenko</title>
		<link>http://www.mirandabanda.org/cogblog/2008/06/17/bluebook-compiledmethods-having-our-cake-and-eating-it-too/comment-page-1/#comment-189</link>
		<dc:creator>Igor Stasenko</dc:creator>
		<pubDate>Sat, 26 Jul 2008 06:36:37 +0000</pubDate>
		<guid isPermaLink="false">http://www.mirandabanda.org/cogblog/?p=7#comment-189</guid>
		<description>I agree with Tim, that changes to allow CM having arbitrary number of &#039;ivars&#039; through accessors not worth added complexity.

Why not redesign CM format from scratch then? I think this is the case where you sacrifice too much for backward compatibility.

Second: I doubt that CM needs subclassing. 
AFAIK, Squeak allows to put arbitrary object in method dictionary, and then if VM discovers such abnormal thing, its just encapsulates arguments into a MessageSend and sends #performMessage: (if i remember correctly) message to that object.
So, this is a nice and already present way to circumvent rigid CM format: for those who wants, they could use such scheme - just put own arbirtary object into a method dict and then do whatever is needed within a message handling method.
Its maybe not fast, but flexible and does not requires too much mumbo-jumbo at VM level.

My own preference: keep VM as stupid as possible, and let complex and clever things live at language side instead.</description>
		<content:encoded><![CDATA[<p>I agree with Tim, that changes to allow CM having arbitrary number of &#8216;ivars&#8217; through accessors not worth added complexity.</p>
<p>Why not redesign CM format from scratch then? I think this is the case where you sacrifice too much for backward compatibility.</p>
<p>Second: I doubt that CM needs subclassing.<br />
AFAIK, Squeak allows to put arbitrary object in method dictionary, and then if VM discovers such abnormal thing, its just encapsulates arguments into a MessageSend and sends #performMessage: (if i remember correctly) message to that object.<br />
So, this is a nice and already present way to circumvent rigid CM format: for those who wants, they could use such scheme &#8211; just put own arbirtary object into a method dict and then do whatever is needed within a message handling method.<br />
Its maybe not fast, but flexible and does not requires too much mumbo-jumbo at VM level.</p>
<p>My own preference: keep VM as stupid as possible, and let complex and clever things live at language side instead.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
