DescriptionIntroduce 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 #Messages
Total messages: 23 (9 generated)
|