[Webkit-unassigned] [Bug 47692] New: [v8] REGRESSION(69688) XMLHttpRequest responseText is now accumulated in a flat buffer, not a rope

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Thu Oct 14 14:00:26 PDT 2010


https://bugs.webkit.org/show_bug.cgi?id=47692

           Summary: [v8] REGRESSION(69688) XMLHttpRequest responseText is
                    now accumulated in a flat buffer, not a rope
           Product: WebKit
           Version: 528+ (Nightly build)
          Platform: PC
        OS/Version: Mac OS X 10.5
            Status: NEW
          Severity: Normal
          Priority: P2
         Component: New Bugs
        AssignedTo: webkit-unassigned at lists.webkit.org
        ReportedBy: jamesr at chromium.org


An XMLHttpRequest's responseText attribute used to be stored in a ScriptString, which internally stored the response string as a sequence of UTF-16 StringImpl's appended into a V8 string using V8::String::Concat().  This meant that the typical use case where the .responseText is built up by a sequence of append() calls we never had to copy the buffer, we just passed in a series of UTF-16 segments to V8 and let it manage the set.  After 69668, .responseText is built using the StringBuilder class which appends into a flat buffer and copies when necessary (looks like it uses a 2x growth factor currently).

This regresses performance and memory in a few ways that we should address.  This is also a good opportunity to examine other strategies for how to manage .responseText such as keeping raw bytes around and lazily decoding to UTF-16.

See https://bugs.webkit.org/show_bug.cgi?id=29909 for the initial implementation of V8's ScriptString.

-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.



More information about the webkit-unassigned mailing list