<?xml version="1.0" encoding="UTF-8"?><!-- generator="WordPress/2.6.5" -->
<rss version="0.92">
<channel>
	<title>David Mandelin's blog</title>
	<link>http://blog.mozilla.com/dmandelin</link>
	<description>Just another Blog.mozilla.com weblog</description>
	<lastBuildDate>Tue, 07 Oct 2008 22:14:10 +0000</lastBuildDate>
	<docs>http://backend.userland.com/rss092</docs>
	<language>en</language>
	
	<item>
		<title>Squirrelfishing regexp-dna.js</title>
		<description>Recently I've been trying to figure out exactly how SquirrelFish Extreme (SFX) is kicking our butts so badly on regexp-dna.js, by about 5x on my machine. Numerically, (WebKit Regular Expression Compiler) WREC provides most of that 5x, but there are some weird twists to the story. My main conclusions: WREC ...</description>
		<link>http://blog.mozilla.com/dmandelin/2008/10/06/squirrelfishing-in-regexp-dnajs/</link>
			</item>
	<item>
		<title>Static analysis newslets</title>
		<description>I've been in interpreter-land lately, but I do help out a bit with static analysis projects when I get the chance. So I'd better post an update here on some interesting developments that haven't been publicized yet.

First, Keith Schwartz (one of our interns) is making great progress on automatic const-correctification ...</description>
		<link>http://blog.mozilla.com/dmandelin/2008/09/05/static-analysis-newslets/</link>
			</item>
	<item>
		<title>Chrome: First Look</title>
		<description>

I've been trying out Chrome on my Vista machine at home, and I read a few hundred comments on Chrome last night on Digg. Here are my first thoughts, just as a browser user and an engineer.

Responsiveness. The most noticable things right away are that the UI is minimalistic and ...</description>
		<link>http://blog.mozilla.com/dmandelin/2008/09/03/chrome-first-look/</link>
			</item>
	<item>
		<title>Inline threading, TraceMonkey, etc.</title>
		<description>It's been a long time since I've posted here-I wanted to post some interesting results about speeding up SpiderMonkey using inline threading, but it turned out to be really hard and took a long time to get close enough to "interesting results". At last, my patch is good enough to ...</description>
		<link>http://blog.mozilla.com/dmandelin/2008/08/27/inline-threading-tracemonkey-etc/</link>
			</item>
	<item>
		<title>SquirrelFish</title>
		<description>If you're reading this, chances are that you already know about SquirrelFish, Appl/WebKit's new Javascript implementation. Early tests show SquirrelFish to be 60% faster than WebKit 3.1 JS, 46% faster than Spidermonkey and 52% faster than TT (Tamarin Tracing) on SunSpider.

Clearly we have some work to do. The plan is ...</description>
		<link>http://blog.mozilla.com/dmandelin/2008/06/03/squirrelfish/</link>
			</item>
	<item>
		<title>Tamarin Tracing Internals V: Running Compiled Traces</title>
		<description>Whew. Reading all this TT code is fascinating, but also tiring, hard work. Anyway, I've hit almost all the high points by now, and I've traced out the JITting process all the way from ABC bytecode to native compiled traces. The questions I have left are about how traces actually ...</description>
		<link>http://blog.mozilla.com/dmandelin/2008/05/28/tamarin-tracing-internals-v-running-compiled-traces/</link>
			</item>
	<item>
		<title>Tamarin Tracing Internals IV: Trace Optimization</title>
		<description>In part III, I went over how TT generates LIR traces. Now, I'm going to look into the trace optimization and machine code generation process. The code for this is mostly in the nanojit/ directory.

Keep in mind that a trace is always straight-line code in SSA form. This makes optimizations ...</description>
		<link>http://blog.mozilla.com/dmandelin/2008/05/28/tamarin-tracing-internals-iv-trace-optimization/</link>
			</item>
	<item>
		<title>Tamarin Tracing Internals III: LIR</title>
		<description>Program Form 3: LIR. I believe LIR stands for low-level intermediate representation (although I've also heard linear intermediate representation). Typically, in a compiler or VM LIR is the lowest-level (and last) form of machine-independent compiler representation, and looks much like a machine-independent assembly language. TT's LIR plays the same role ...</description>
		<link>http://blog.mozilla.com/dmandelin/2008/05/23/tamarin-tracing-internals-iii-lir/</link>
			</item>
	<item>
		<title>Tamarin Tracing Interals, Part II: Forth</title>
		<description>The Need for Forth Subroutines. I had a really hard time tracking down how TT adds a pair numbers (ActionScript code like "sum += i") worked until I finally figured out that ECMAScript "+" is not a primitive operation in TT. This makes perfect sense now, as "+" is complicated: ...</description>
		<link>http://blog.mozilla.com/dmandelin/2008/05/21/tamarin-tracing-interals-part-ii-forth/</link>
			</item>
	<item>
		<title>Tamarin Tracing Internals, Part I</title>
		<description>Tamarin (technically, tamarin-tracing, henceforth TT)-related projects keep peeking up at me from the horizon. First, there's a good chance I'll have an intern working on TT this summer. And then there's this "Tracehydra" idea. It's a way to connect Spidermonkey's JS parser with the TT execution engine. This is the ...</description>
		<link>http://blog.mozilla.com/dmandelin/2008/05/16/tamarin-tracing-internals-part-i/</link>
			</item>
</channel>
</rss>
