[Development] QML engine changes
Simon Hausmann
simon.hausmann at digia.com
Mon Jun 24 10:26:33 CEST 2013
Hi,
As you may have heard (or read), Lars, Erik and I have been working on some
bigger changes for qtdeclarative for a while. In a nutshell we've replaced the
V8 JavaScript engine with a new engine that we wrote (based on work by Roberto
and Aaron). We've progressed rather well and in our wip/v4 branch in
qtdeclarative we're now passing all auto tests (as well as the ECMAScript 262
test suite). So that's why we'd like to propose merging this work into
qtdeclarative mainline (dev branch), in the coming days/week(s) - in time for
Qt 5.2 though.
We think that this work brings in many advantages, among others much improved
maintenance (we know how this thing works, which isn't something we can
confidently say about V8 as much as we'd like to), a unified code path in QML
[1], much less code overall and great opportunities for optimizations (way
beyond what's possible with V8's API layer - you'd be surprised how often even
in today's QML usage the V8 code path is not actually taken because it's
slower that the built-in interpreter).
So this is a heads-up and of course a last call for objections :)
Simon
[1] Did you know what when you read a URL property in QML binding expressions,
sometimes it's a string and sometimes it's an opaque variant? That's because
the builtin interpreter in qtdeclarative and V8 behave different. We're fixing
that :)
More information about the Development
mailing list