Inside V8 - A Javascript Virtual Machine
channel9.msdn.com
channel9.msdn.com
If they skip building an IR, does that mean they intend to optimize the javascript representation itself to get performance? I'm a novice here, so I'm confused about where would they do things like unrolling loops and inlining methods if not against the IR?
It's tricky (but by no means impossible) to do this on arbitrary machine code, but in this case they control the code generator, so they can make guarantees about the structure, and if necessary they can keep track of information to make optimizing the machine code directly easier.