top | item 4167910

(no title)

wingo | 13 years ago

Well, I guess the one thing I would correct is the "why". The LLInt doesn't just produce assembler to be fast, though it is faster than the old interpreter. The real reason it produces assembler is to control the stack representation, so that it works better with tiering, exceptions, and the optimizing compiler (DFG). Otherwise, interpreting was a lose, because tiering up cost too much.

As you can see, the situation is a bit complicated. If I could have made the article shorter, I would have :)

discuss

order

acqq|13 years ago

Thanks, I understood that the main benefit was a tightly controlled CPU stack and that it's exactly what would be impossible to achieve with C++ code. Now we don't have to agree if that goal can be called "speed." I believe it can, since otherwise just a "good old" interpreter would be enough, no need for "simple JIT," DFG JIT and the control of the CPU stack.

And thanks for writing the article (and the other ones on the same subject) I've really learned a lot!