if the renderer can leave the majority of the frame time free for game logic to run, it's done its job. Consider it this way: Chrome 15 leaves 86% of the frame time free and Classic leaves 97.6% of the frame time free
Well, if you're going to evaluate it that way then surely you also have to account for the game logic running much slower in JavaScript than in C++.
The bottom line is: If you care about graphics rendering, C++ wins by a large margin. And if you care about game logic, C++ wins by an even bigger margin.
You have to put this test in context. It's basically testing how fast you can take floating-point values out of JS objects, put them in vertex buffers, and shuttle them through the JS <-> C foreign-function interface into the GL library. This is pretty much a worst-case scenario for JS, and Opera gets within about 4x of C++.
For more complex rendering, JS will be faster, relatively, because the GPU will have to do more work for each batch of vertices you send over.
For game logic, JS will be faster, relatively, because going through the foreign function interface is actually somewhat slow. You have to pin GC'ed objects onto the stack, etc. Moreover, calling into code the JIT can't see can disable certain optimizations.
If you look at certain FP micro benchmarks, like nbody and spectrum-norm in the Shootout, V8 is within 4x of gcc -O3 on nbody, within 3x on spectral-norm when using gcc's vector extensions, and dead-even with gcc on spectral-norm when not using gcc's vector extensions.
The places where V8 still falls down are property access (the prototype OO system forces some overhead) and lack of vectorization. The former can be addressed by using an SoA layout rather than an AoS layout, and if your code is amenable to vectorization you should break out the assembler anyway.
A good part of game logic is done in a "scripting" language these days. For example Lua is used in WoW & Starcraft 2 and the newer Civilization games use Python. Generally they do use the core C++ engine to all the math heavy tasks like collision detection.
And this obfuscates the point that many web games rely on scripting languages on the server side to handle most tasks. You can't rely on the client to do much game logic without (rightfully) being paranoid about the user themselves interfering with what's in their active memory and that being sent back to your server...
Well, if you're going to evaluate it that way then surely you also have to account for the game logic running much slower in JavaScript than in C++.
The bottom line is: If you care about graphics rendering, C++ wins by a large margin. And if you care about game logic, C++ wins by an even bigger margin.