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

Issue 1269443002: Introduce FlexibleArrayBufferView and TypedFlexibleArrayBufferView (Closed)

Created:
5 years, 4 months ago by Michael Lippautz
Modified:
5 years, 4 months ago
CC:
blink-reviews, blink-reviews-bindings_chromium.org, blink-reviews-dom_chromium.org, dglazkov+blink, eae+blinkwatch, Hannes Payer (out of office), rwlbuis, sof, vivekg_samsung, vivekg, Zhenyao Mo
Base URL:
https://chromium.googlesource.com/chromium/blink.git@master
Target Ref:
refs/heads/master
Project:
blink
Visibility:
Public.

Description

Introduce FlexibleArrayBufferView and TypedFlexibleArrayBufferView Rebase and extension from https://codereview.chromium.org/1091543002/ by jl@. The [FlexibleArrayBufferView] extended attribute, when used on a method argument of type ArrayBufferView, causes the value to be processed and passed to the implementation as the new C++ type FlexibleArrayBufferView instead of as DOMArrayBufferView*. A FlexibleArrayBufferView object will either contain a pointer to a DOMArrayBufferView, or, if the array was small (without a materialized buffer), a stack allocated buffer containing the contents of the array. When used on a method argument of a typed array type (e.g. Float32Array) causes the value to be processed and passed to the implementation as TypedFlexibleArrayBufferView instead of the corresponding DOM type. A TypedFlexibleArrayBufferView extends FlexibleArrayBufferView with the corresponding type methods for data and lengths. OORT performance example (single run): "marksweep": { "count": 10, "pause_min": 7.2, "pause_max": 356.8, "pause_avg": 94.5, "pause_gt_10ms": 9 } --- vs --- "marksweep": { "count": 6, "pause_min": 7.5, "pause_max": 148.0, "pause_avg": 46.833333333333336, "pause_gt_10ms": 5 } BUG=chromium:515795 Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=199809

Patch Set 1 #

Patch Set 2 : #

Patch Set 3 : #

Patch Set 4 : #

Patch Set 5 : #

Patch Set 6 : #

Total comments: 38

Patch Set 7 : Addressed comments #

Total comments: 24

Patch Set 8 : Addressed comments: round 2 #

Patch Set 9 : Fixed typo #

Unified diffs Side-by-side diffs Delta from patch set Stats (+279 lines, -46 lines) Patch
M Source/bindings/IDLExtendedAttributes.txt View 1 chunk +1 line, -0 lines 0 comments Download
M Source/bindings/core/v8/V8Binding.h View 1 2 3 4 5 6 7 2 chunks +6 lines, -0 lines 0 comments Download
M Source/bindings/core/v8/V8Binding.cpp View 1 2 3 4 5 6 7 3 chunks +15 lines, -0 lines 0 comments Download
M Source/bindings/core/v8/V8BindingMacros.h View 1 2 3 4 5 6 7 1 chunk +8 lines, -0 lines 0 comments Download
M Source/bindings/scripts/v8_types.py View 1 2 3 4 5 6 7 6 chunks +20 lines, -2 lines 0 comments Download
M Source/bindings/tests/idls/core/TestObject.idl View 1 2 3 4 5 1 chunk +2 lines, -0 lines 0 comments Download
M Source/bindings/tests/results/core/UnionTypesCore.cpp View 1 2 3 4 5 6 1 chunk +1 line, -0 lines 0 comments Download
M Source/bindings/tests/results/core/V8DataView.h View 1 2 3 4 5 6 1 chunk +1 line, -0 lines 0 comments Download
M Source/bindings/tests/results/core/V8TestDictionary.cpp View 1 2 3 4 5 6 2 chunks +2 lines, -0 lines 0 comments Download
M Source/bindings/tests/results/core/V8TestObject.cpp View 1 2 3 4 5 6 3 chunks +45 lines, -0 lines 0 comments Download
M Source/bindings/tests/results/core/V8Uint8ClampedArray.h View 1 2 3 4 5 6 1 chunk +1 line, -0 lines 0 comments Download
M Source/core/core.gypi View 1 chunk +1 line, -0 lines 0 comments Download
A Source/core/dom/FlexibleArrayBufferView.h View 1 2 3 4 5 6 7 1 chunk +80 lines, -0 lines 0 comments Download
A Source/core/dom/TypedFlexibleArrayBufferView.h View 1 2 3 4 5 6 7 8 1 chunk +37 lines, -0 lines 0 comments Download
M Source/modules/webgl/WebGLRenderingContextBase.h View 1 2 3 4 5 4 chunks +13 lines, -9 lines 0 comments Download
M Source/modules/webgl/WebGLRenderingContextBase.cpp View 1 2 3 4 5 6 11 chunks +37 lines, -26 lines 0 comments Download
M Source/modules/webgl/WebGLRenderingContextBase.idl View 1 2 3 4 5 2 chunks +9 lines, -9 lines 0 comments Download

Messages

Total messages: 23 (9 generated)
Michael Lippautz
PTAL Rebased and extended https://codereview.chromium.org/1091543002/ The main idea is to reduce the number of global ...
5 years, 4 months ago (2015-07-30 14:15:21 UTC) #2
jochen (gone - plz use gerrit)
please include in the CL description that this is based on the patch from jl@ ...
5 years, 4 months ago (2015-07-30 14:30:06 UTC) #3
haraken
Mostly looks good. https://codereview.chromium.org/1269443002/diff/100001/Source/bindings/IDLExtendedAttributes.txt File Source/bindings/IDLExtendedAttributes.txt (right): https://codereview.chromium.org/1269443002/diff/100001/Source/bindings/IDLExtendedAttributes.txt#newcode57 Source/bindings/IDLExtendedAttributes.txt:57: FlexibleArrayBufferView Please update the chromium wiki: ...
5 years, 4 months ago (2015-07-30 14:54:57 UTC) #4
Michael Lippautz
Thanks for all the comments! PTAL https://codereview.chromium.org/1269443002/diff/100001/Source/bindings/IDLExtendedAttributes.txt File Source/bindings/IDLExtendedAttributes.txt (right): https://codereview.chromium.org/1269443002/diff/100001/Source/bindings/IDLExtendedAttributes.txt#newcode57 Source/bindings/IDLExtendedAttributes.txt:57: FlexibleArrayBufferView On 2015/07/30 ...
5 years, 4 months ago (2015-07-30 17:06:15 UTC) #5
haraken
LGTM https://codereview.chromium.org/1269443002/diff/110001/Source/bindings/core/v8/V8Binding.cpp File Source/bindings/core/v8/V8Binding.cpp (right): https://codereview.chromium.org/1269443002/diff/110001/Source/bindings/core/v8/V8Binding.cpp#newcode763 Source/bindings/core/v8/V8Binding.cpp:763: if (!value->IsArrayBufferView()) Is this a valid situation? If ...
5 years, 4 months ago (2015-07-30 20:34:44 UTC) #6
Hannes Payer (out of office)
https://codereview.chromium.org/1269443002/diff/110001/Source/bindings/core/v8/V8BindingMacros.h File Source/bindings/core/v8/V8BindingMacros.h (right): https://codereview.chromium.org/1269443002/diff/110001/Source/bindings/core/v8/V8BindingMacros.h#newcode50 Source/bindings/core/v8/V8BindingMacros.h:50: // below a certain size limit. If below the ...
5 years, 4 months ago (2015-07-31 07:01:01 UTC) #8
Michael Lippautz
Thanks a lot! https://codereview.chromium.org/1269443002/diff/110001/Source/bindings/core/v8/V8Binding.cpp File Source/bindings/core/v8/V8Binding.cpp (right): https://codereview.chromium.org/1269443002/diff/110001/Source/bindings/core/v8/V8Binding.cpp#newcode763 Source/bindings/core/v8/V8Binding.cpp:763: if (!value->IsArrayBufferView()) On 2015/07/30 20:34:43, haraken ...
5 years, 4 months ago (2015-07-31 07:53:39 UTC) #9
haraken
Still LGTM
5 years, 4 months ago (2015-07-31 07:56:21 UTC) #10
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1269443002/130001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1269443002/130001
5 years, 4 months ago (2015-07-31 07:56:40 UTC) #13
commit-bot: I haz the power
Try jobs failed on following builders: mac_blink_rel on tryserver.blink (JOB_FAILED, http://build.chromium.org/p/tryserver.blink/builders/mac_blink_rel/builds/64583)
5 years, 4 months ago (2015-07-31 08:10:23 UTC) #15
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1269443002/150001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1269443002/150001
5 years, 4 months ago (2015-07-31 08:19:02 UTC) #20
commit-bot: I haz the power
Committed patchset #9 (id:150001) as https://src.chromium.org/viewvc/blink?view=rev&revision=199809
5 years, 4 months ago (2015-07-31 09:43:41 UTC) #21
Ken Russell (switch to Gerrit)
Sorry for the delay looking at this. Please also include bajones@ and zmo@ on WebGL ...
5 years, 4 months ago (2015-07-31 22:17:37 UTC) #22
bajones
5 years, 4 months ago (2015-07-31 23:19:10 UTC) #23
Message was sent while issue was closed.
On 2015/07/31 22:17:37, Ken Russell wrote:
> Sorry for the delay looking at this. Please also include bajones@ and zmo@ on
> WebGL reviews. WebGL changes LGTM after the fact.

Post-commit LGTM as well. Happy to see work happening in this area!

Powered by Google App Engine
This is Rietveld 408576698