I'm not sure where you got this idea. V8 does not optimize tail calls. It's easy to see this in the Chrome console, I just entered this now:
var a = function(x) { if (x == 0) return 'done'; return a(x-1); };
a(100000);
RangeError: Maximum call stack size exceeded
http://code.google.com/p/v8/issues/detail?id=457