Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1396)

Issue 2494823002: V8ScriptValueSerializer: Use PartitionAlloc for the buffer, and avoid copying it into a String. (Closed)

Created:
4 years, 1 month ago by jbroman
Modified:
4 years, 1 month ago
Reviewers:
haraken
CC:
Mads Ager (chromium), blink-reviews, blink-reviews-bindings_chromium.org, blink-reviews-wtf_chromium.org, chromium-reviews, jbroman+watch_chromium.org, kouhei+heap_chromium.org, Mikhail, oilpan-reviews
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

V8ScriptValueSerializer: Use PartitionAlloc for the buffer, and avoid copying it into a String. This causes v8::ValueSerializer to use the buffer partition for its allocations, then holds the result in a unique_ptr within the SerializedScriptValue. Removal of the String alternative is expected to follow eventually. PartitionAlloc has much more consistent cross-platform performance. In particular, large performance issues with default malloc on Android are blocking this feature from shipping at present. BUG=148757 Committed: https://crrev.com/4a94f7a4a9055e7b919c4c3ef9604324c75a70f5 Cr-Commit-Position: refs/heads/master@{#432232}

Patch Set 1 #

Patch Set 2 : misc #

Patch Set 3 : mild streamlining #

Total comments: 11

Patch Set 4 : haraken review #

Patch Set 5 : initialize SerializedScriptValue::m_dataBufferSize #

Messages

Total messages: 22 (15 generated)
jbroman
It turns out that Android malloc is rather slow for certain cases; Blink's PartitionAlloc is ...
4 years, 1 month ago (2016-11-11 02:36:30 UTC) #5
haraken
LGTM > PartitionAlloc has much more consistent cross-platform performance. In particular, > large performance issues ...
4 years, 1 month ago (2016-11-11 03:50:01 UTC) #6
jbroman
Sent a note. https://codereview.chromium.org/2494823002/diff/40001/third_party/WebKit/Source/bindings/core/v8/SerializedScriptValue.cpp File third_party/WebKit/Source/bindings/core/v8/SerializedScriptValue.cpp (right): https://codereview.chromium.org/2494823002/diff/40001/third_party/WebKit/Source/bindings/core/v8/SerializedScriptValue.cpp#newcode141 third_party/WebKit/Source/bindings/core/v8/SerializedScriptValue.cpp:141: size_t stringSizeBytes = (m_dataBufferSize + 1) ...
4 years, 1 month ago (2016-11-11 16:14:58 UTC) #11
haraken
On 2016/11/11 16:14:58, jbroman wrote: > Sent a note. > > https://codereview.chromium.org/2494823002/diff/40001/third_party/WebKit/Source/bindings/core/v8/SerializedScriptValue.cpp > File third_party/WebKit/Source/bindings/core/v8/SerializedScriptValue.cpp ...
4 years, 1 month ago (2016-11-11 16:24:49 UTC) #12
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2494823002/80001
4 years, 1 month ago (2016-11-15 19:12:51 UTC) #19
commit-bot: I haz the power
Committed patchset #5 (id:80001)
4 years, 1 month ago (2016-11-15 19:22:06 UTC) #20
commit-bot: I haz the power
4 years, 1 month ago (2016-11-15 19:34:58 UTC) #22
Message was sent while issue was closed.
Patchset 5 (id:??) landed as
https://crrev.com/4a94f7a4a9055e7b919c4c3ef9604324c75a70f5
Cr-Commit-Position: refs/heads/master@{#432232}

Powered by Google App Engine
This is Rietveld 408576698