Hi Gabor,
Den 21. sep. 2011 14:45, skrev ext [email protected]:
> Hi all!
>
> I write this letter because there hasn't been any communication between
> our side (Szeged) and your side (QtScript/Qml/QtDeclarative) lately.
>
> Regarding the ExternalResource patch:
> * We decided to apply it to Chromium's v8: Done.
> * There are a few cases when Chromium's v8 bindings use the
> MakeWeak approach. Our idea is (originally suggested by Kent) that we
> replace those MakeWeak usages to the ExternalResource way of things.
> The main problem with this approach is that those bindings use the
> MakeWeak approach with already existing v8-Objects. Using the
> ExternalResource approach you have to create an ObjectTemplate first,
> set that it has an ExternalResource, get the Object from the template
> and only then you can associate the ExternalResource object with the
> v8-Object. There is no way you can do this with an already existing
> v8-object.
> * Our further plan is to target the above mentioned problem without
> complicating the code too much and without causing significant performance
> loss.
>
> Best regards,
> Gabor Ballabas
Cool, thanks for the update.
For the MakeWeak approach, it would also be interesting to know why
those objects aren't collected early by the scavenger, causing the heap
to grow so much.
For the QJSValue API, we still have to use Persistent handle + MakeWeak.
So if you were to return a ("temporary/local") QJSValue back to QML/JS,
it might still stick around for a long time. (Existing QML/C++ objects
that return JS values use QDeclarativeV8Handle, which is a very thin
wrapper around v8::Value -- but that's internal API.)
Regards,
Kent
_______________________________________________
Qt-script mailing list
[email protected]
http://lists.qt.nokia.com/mailman/listinfo/qt-script