<?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: Matt Kruse nails it w/r/t IE and closures</title>
	<atom:link href="http://billhiggins.us/blog/2007/01/05/matt-kruse-nails-it-wrt-ie-and-closures/feed/" rel="self" type="application/rss+xml" />
	<link>http://billhiggins.us/blog/2007/01/05/matt-kruse-nails-it-wrt-ie-and-closures/</link>
	<description></description>
	<lastBuildDate>Mon, 16 Jan 2012 02:27:45 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
	<item>
		<title>By: Brendan Eich</title>
		<link>http://billhiggins.us/blog/2007/01/05/matt-kruse-nails-it-wrt-ie-and-closures/comment-page-1/#comment-12</link>
		<dc:creator>Brendan Eich</dc:creator>
		<pubDate>Sat, 20 Jan 2007 00:08:45 +0000</pubDate>
		<guid isPermaLink="false">http://billhiggins.us/weblog/2007/01/05/matt-kruse-nails-it-wrt-ie-and-closures/#comment-12</guid>
		<description>BTW, I am sure that MS could implement something like the Bacon and Rajan algorithm (modulo patent licensing, if IBM were to require one ;-)).  Why don&#039;t they?  Browser implementors are supposed to work harder, so that web developers don&#039;t have to stand on their heads with workarounds or be told not to use fundamental language features.  Anyway that is our philosophy at Mozilla.

/be</description>
		<content:encoded><![CDATA[<p>BTW, I am sure that MS could implement something like the Bacon and Rajan algorithm (modulo patent licensing, if IBM were to require one <img src='http://billhiggins.us/blog/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> ).  Why don&#8217;t they?  Browser implementors are supposed to work harder, so that web developers don&#8217;t have to stand on their heads with workarounds or be told not to use fundamental language features.  Anyway that is our philosophy at Mozilla.</p>
<p>/be</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Brendan Eich</title>
		<link>http://billhiggins.us/blog/2007/01/05/matt-kruse-nails-it-wrt-ie-and-closures/comment-page-1/#comment-11</link>
		<dc:creator>Brendan Eich</dc:creator>
		<pubDate>Sat, 20 Jan 2007 00:02:30 +0000</pubDate>
		<guid isPermaLink="false">http://billhiggins.us/weblog/2007/01/05/matt-kruse-nails-it-wrt-ie-and-closures/#comment-11</guid>
		<description>The DOM in IE is implemented via &quot;scriptable COM objects&quot;, for some value of those words.  COM uses reference-counting without cycle collection, JS must hold strong references to DOM objects, and the DOM window object must strongly reference JS objects, so the bug is inevitable given the design.

Mozilla has had similar but less frequently encountered leaks due to cycles in our JS object and XPCOM reference-counted object graph.  These have been fixed over the years in specific and more generic ways.  The latest fix in the open source &quot;trunk&quot; uses a single cycle collector based on http://citeseer.ist.psu.edu/532569.html and it thereby eliminates a lot of more specific cycle-breaking and -collecting code.

In fixing the bugs we&#039;ve faced due to lack (until now) of generic cycle collection capability in XPCOM, we have never claimed that closures are the problem and the fix is not to use them.  That&#039;s just so wrong on so many levels, I&#039;m surprised that MS tried it out.  Thanks for holding their feet to the fire.

/be</description>
		<content:encoded><![CDATA[<p>The DOM in IE is implemented via &#8220;scriptable COM objects&#8221;, for some value of those words.  COM uses reference-counting without cycle collection, JS must hold strong references to DOM objects, and the DOM window object must strongly reference JS objects, so the bug is inevitable given the design.</p>
<p>Mozilla has had similar but less frequently encountered leaks due to cycles in our JS object and XPCOM reference-counted object graph.  These have been fixed over the years in specific and more generic ways.  The latest fix in the open source &#8220;trunk&#8221; uses a single cycle collector based on <a href="http://citeseer.ist.psu.edu/532569.html" rel="nofollow">http://citeseer.ist.psu.edu/532569.html</a> and it thereby eliminates a lot of more specific cycle-breaking and -collecting code.</p>
<p>In fixing the bugs we&#8217;ve faced due to lack (until now) of generic cycle collection capability in XPCOM, we have never claimed that closures are the problem and the fix is not to use them.  That&#8217;s just so wrong on so many levels, I&#8217;m surprised that MS tried it out.  Thanks for holding their feet to the fire.</p>
<p>/be</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Bill Higgins</title>
		<link>http://billhiggins.us/blog/2007/01/05/matt-kruse-nails-it-wrt-ie-and-closures/comment-page-1/#comment-10</link>
		<dc:creator>Bill Higgins</dc:creator>
		<pubDate>Sat, 06 Jan 2007 13:22:42 +0000</pubDate>
		<guid isPermaLink="false">http://billhiggins.us/weblog/2007/01/05/matt-kruse-nails-it-wrt-ie-and-closures/#comment-10</guid>
		<description>No Andrew, IE leaks memory routinely, just in the course of writing normal Javascript/DOM code.
See the folllowing:

http://www.crockford.com/javascript/memory/leak.html

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/IETechCol/dnwebgen/ie_leak_patterns.asp

http://alex.dojotoolkit.org/?p=526

PS - I&#039;m not even sure what a &quot;scriptable COM object&quot; is.  I know the pre-IE7 XmlHttpRequest object was an ActiveX object in IE, and there&#039;s some relationship between COM and ActiveX - could you provide some other examples?</description>
		<content:encoded><![CDATA[<p>No Andrew, IE leaks memory routinely, just in the course of writing normal Javascript/DOM code.<br />
See the folllowing:</p>
<p><a href="http://www.crockford.com/javascript/memory/leak.html" rel="nofollow">http://www.crockford.com/javascript/memory/leak.html</a></p>
<p><a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/IETechCol/dnwebgen/ie_leak_patterns.asp" rel="nofollow">http://msdn.microsoft.com/library/default.asp?url=/library/en-us/IETechCol/dnwebgen/ie_leak_patterns.asp</a></p>
<p><a href="http://alex.dojotoolkit.org/?p=526" rel="nofollow">http://alex.dojotoolkit.org/?p=526</a></p>
<p>PS &#8211; I&#8217;m not even sure what a &#8220;scriptable COM object&#8221; is.  I know the pre-IE7 XmlHttpRequest object was an ActiveX object in IE, and there&#8217;s some relationship between COM and ActiveX &#8211; could you provide some other examples?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Andrew</title>
		<link>http://billhiggins.us/blog/2007/01/05/matt-kruse-nails-it-wrt-ie-and-closures/comment-page-1/#comment-9</link>
		<dc:creator>Andrew</dc:creator>
		<pubDate>Sat, 06 Jan 2007 11:03:06 +0000</pubDate>
		<guid isPermaLink="false">http://billhiggins.us/weblog/2007/01/05/matt-kruse-nails-it-wrt-ie-and-closures/#comment-9</guid>
		<description>MS is not about to &#039;fix the problem&#039; because it is not really a problem.

The &#039;bug&#039; as I understand it only occurs when using scriptable COM objects within Javascript, and is more than likely un-fixable.  The work-around (if you can call it that) is not to use scriptable COM objects within your javascript.

Hardly a showstopper.</description>
		<content:encoded><![CDATA[<p>MS is not about to &#8216;fix the problem&#8217; because it is not really a problem.</p>
<p>The &#8216;bug&#8217; as I understand it only occurs when using scriptable COM objects within Javascript, and is more than likely un-fixable.  The work-around (if you can call it that) is not to use scriptable COM objects within your javascript.</p>
<p>Hardly a showstopper.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Josh Staiger</title>
		<link>http://billhiggins.us/blog/2007/01/05/matt-kruse-nails-it-wrt-ie-and-closures/comment-page-1/#comment-8</link>
		<dc:creator>Josh Staiger</dc:creator>
		<pubDate>Fri, 05 Jan 2007 17:00:10 +0000</pubDate>
		<guid isPermaLink="false">http://billhiggins.us/weblog/2007/01/05/matt-kruse-nails-it-wrt-ie-and-closures/#comment-8</guid>
		<description>Right on the money!</description>
		<content:encoded><![CDATA[<p>Right on the money!</p>
]]></content:encoded>
	</item>
</channel>
</rss>

