Details

    Description

      Strings in QML cache files should not be copied but merely referenced and we should not unmap the cache files anymore.

      Potential side-/sub-tasks include distinguishing on the JS side between run-time strings and read-only strings (different v4 string/vtable) and generating the full QArrayData so that we don't even need to allocate the the "string private" anymore.

      Preliminary analysis suggests that that 64-bit version of the array data for a read-only string may be binary compatible with the 32-bit version, on little-endian.

      For the V4 value string handling, perhaps we can store a pointer to the array data and tag it accordingly, so that a V4 value pointing to such a read-only string is free of any gc or allocation overhead.

      The read-only QString embedding in the cache files gives ~5% progression on creation/qml.basictypes/delegates_basictype_string.qml and ~3% progression on creation/qml.modelaccess/modelaccess_string.qml on linux x86-64 (release).

      Attachments

        For Gerrit Dashboard: QTBUG-63068
        # Subject Branch Project Status CR V

        Activity

          People

            shausman Simon Hausmann
            shausman Simon Hausmann
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes