Goals: - Most of them should be GC-allocated - GC should know about how much memory they use. - They should use as little memory as possible. - Most manipulations to them should be fast. - It should be easy for the DFG profiling to figure out which ones you're using and how to type-check them.
*** Bug 119049 has been marked as a duplicate of this bug. ***
*** Bug 114824 has been marked as a duplicate of this bug. ***
Created attachment 207415 [details] it begins This just mostly has comments for now, but it describes the general direction that I want to go.
Created attachment 207493 [details] more The design of the view is starting to crystalize.
Created attachment 207977 [details] slowly but surely...
Created attachment 208037 [details] more!
Nice! Thanks for working on this. Out of curiosity, WTF namespace?
(In reply to comment #7) > Nice! Thanks for working on this. Out of curiosity, WTF namespace? What about it?
Created attachment 208049 [details] ugh so much code
Comment on attachment 208049 [details] ugh so much code I wonder if it's worth moving the implementations from WTF to JSC in advance just to cut down on the patch size? Also wonder if it's worth bring DeferrableRefCounted and GCIncomingRefCounted in early as well
(In reply to comment #10) > (From update of attachment 208049 [details]) > I wonder if it's worth moving the implementations from WTF to JSC in advance just to cut down on the patch size? Also wonder if it's worth bring DeferrableRefCounted and GCIncomingRefCounted in early as well Want to do me a solid and move the array stuff into JSC/runtime? :-) Then I'll just rebase against that. I have my hands *so full* with just writing this stuffs.
Created attachment 208056 [details] more
Created attachment 208067 [details] slowly... The *WORST* part of this is that the typed array spec doesn't appear to be precise enough about what happens on things like DefineOwnProperty and friends. So, my current goal is to match Firefox. I don't want to match what Chrome does or what WebKit used to do, because I'm pretty sure what we had in our IDL and the like was devised by something resembling a random walk through the semantics universe.
Created attachment 208078 [details] more!
Created attachment 208097 [details] finished the adaptors
Created attachment 208108 [details] more I think I'm going to go all-out with template specialization on this.
Created attachment 208145 [details] more!!
Created attachment 208221 [details] more
Created attachment 208234 [details] omg
Created attachment 208281 [details] more!! - Got the native DataView in place. Note that nobody in JSC or WebCore ever talks to native DataViews other than using them as a placeholder subclass of ArrayBufferView if you ask a JSArrayBufferView for its impl, so our native DataView can be super simple and all of the actual DataView functionality will ultimately be in JSDataViewPrototype. - Started to get prototypes and constructors in place. This is all boilerplate, but I think it'll be valuable to *not* use code generators for most of it. It's simple stuff, but only after you actually read the code; hence, being able to read the code is super important.
Created attachment 208361 [details] lol so much code
Created attachment 208383 [details] constructors are done
Created attachment 208446 [details] prototypes are done I think that all of the prototypes are implemented. Here's what's left: - Glue it all together on the JSC side, i.e. have JSGlobalObject actually create and install all constructors and prototypes. - Modify JITs to use OBJECT_OFFSETOF instead of the descriptors. - Switch WebCore to using the new things. Most of this should be easy, except for implementing the WebCoreTypedArrayController. - Delete all of the old implementations.
Created attachment 208450 [details] prototypes are really done Forgot about JSArrayBufferPrototype/Constructor.
Comment on attachment 208450 [details] prototypes are really done View in context: https://bugs.webkit.org/attachment.cgi?id=208450&action=review I'm a little worried about the various unchecked arithmetic leading to buffer offsets and sizes > Source/JavaScriptCore/runtime/ArrayBufferView.h:2 > +/* > + * Copyright (C) 2009, 2013 Apple Inc. All rights reserved. Can you remove ArrayBufferView, etc as they're in JSC/runtime already, and are inflating the patch size > Source/JavaScriptCore/runtime/GenericTypedArrayViewInlines.h:55 > + memcpy(result->data(), array, length * sizeof(Adaptor::Type)); overflow? > Source/JavaScriptCore/runtime/JSArrayBufferView.cpp:45 > + size_t size = sizeOf(length, elementSize); overflow > Source/JavaScriptCore/runtime/JSGenericTypedArrayViewConstructorInlines.h:65 > + if (JSArrayBuffer* jsBuffer = jsDynamicCast<JSArrayBuffer*>(exec->argument(0))jsBuffer) { tyop? > Source/JavaScriptCore/runtime/JSGenericTypedArrayViewConstructorInlines.h:81 > + return JSValue::encode(ViewClass::create(exec->vm(), structure, buffer, offset, length)); check if offset and offset+length are in 0..byteLength? and offset+length > offset. I'd actually just recommend making offset and length Checked<unsigned> as that means you won't have to worry about overflows > Source/JavaScriptCore/runtime/JSGenericTypedArrayViewConstructorInlines.h:101 > + if (!result->set(exec, object, offset, length)) and again
Created attachment 208454 [details] global object glue is done Also got rid of ArrayBufferViewConstructor/Prototype because it turns out that Firefox has no such things.
(In reply to comment #25) > (From update of attachment 208450 [details]) > View in context: https://bugs.webkit.org/attachment.cgi?id=208450&action=review > > I'm a little worried about the various unchecked arithmetic leading to buffer offsets and sizes I'm not sure we have overflow problems; comments below. > > > Source/JavaScriptCore/runtime/ArrayBufferView.h:2 > > +/* > > + * Copyright (C) 2009, 2013 Apple Inc. All rights reserved. > > Can you remove ArrayBufferView, etc as they're in JSC/runtime already, and are inflating the patch size I will, once I get a chance to rebase. > > > Source/JavaScriptCore/runtime/GenericTypedArrayViewInlines.h:55 > > + memcpy(result->data(), array, length * sizeof(Adaptor::Type)); > > overflow? Nope. sizeof() returns size_t, and length is unsigned. Hence: On 32-bit: if length was so big that length * sizeof(type) would overflow, then the allocation would fail. All user-visible allocation paths have checks for this. On 64-bit: you can't overflow a 64-bit multiplication 'a * b' if a is at most 2^32 and b is at most 8. > > > Source/JavaScriptCore/runtime/JSArrayBufferView.cpp:45 > > + size_t size = sizeOf(length, elementSize); > > overflow Nope. sizeOf() correctly casts up to size_t. > > > Source/JavaScriptCore/runtime/JSGenericTypedArrayViewConstructorInlines.h:65 > > + if (JSArrayBuffer* jsBuffer = jsDynamicCast<JSArrayBuffer*>(exec->argument(0))jsBuffer) { > > tyop? Fixed. > > > Source/JavaScriptCore/runtime/JSGenericTypedArrayViewConstructorInlines.h:81 > > + return JSValue::encode(ViewClass::create(exec->vm(), structure, buffer, offset, length)); > > check if offset and offset+length are in 0..byteLength? and offset+length > offset. I'd actually just recommend making offset and length Checked<unsigned> as that means you won't have to worry about overflows Why? ViewClass::create() does verifySubRange() and will throw the appropriate exceptions. > > > Source/JavaScriptCore/runtime/JSGenericTypedArrayViewConstructorInlines.h:101 > > + if (!result->set(exec, object, offset, length)) > > and again Why? ViewClass::set() does validateSet() and will throw the appropriate exceptions. Bottom line, I'm strongly opposed to adding code noise everywhere to do redundant overflow checks that are already being performed, or that are totally unnecessary.
Created attachment 208473 [details] rebased
Created attachment 208474 [details] started the jit crazy
Created attachment 208477 [details] almost done JIT crazy is done. Xcode build system files are almost set up.
Created attachment 208478 [details] getting there
Created attachment 208482 [details] starting to build
Created attachment 208483 [details] jsc debug builds
Created attachment 208484 [details] starting to pass tests
Note, there is still a lot of WebCore carnage that will need to happen. This currently just works in a JSC-only build. I'll get the the WebCore side once I feel more confident that this actually works at all.
Created attachment 208485 [details] jsc works Wrote a bunch of tests for various typed array thingies. It appears to all work like a charm. Now starting work on WebCore.
Created attachment 208557 [details] WebCore is starting to build
Created attachment 208577 [details] getting close Made a bunch of WebCore changes to get it to build. Not yet building though. Still more to do.
Comment on attachment 208577 [details] getting close View in context: https://bugs.webkit.org/attachment.cgi?id=208577&action=review This is looking really good. I do prefer the get<> logic > Source/JavaScriptCore/ChangeLog:44 > + wak handle (a cell and a malloc'd storage vector, plus a finalizer for the wak? weak? wack? > Source/JavaScriptCore/ChangeLog:50 > + - Typed arrays require just 4 words of overhead: Structure*, Butterfly*, > + mode/length, void* vector. Before it was a lot more than that - remember, > + there were five additional objects that did absolutely nothing for anybody. nice
Created attachment 208592 [details] WebCore almost links
Created attachment 208594 [details] i can build WebKit debug on Mac
Created attachment 208596 [details] builds on mac Release now builds, too.
Attachment 208596 [details] did not pass style-queue: Failed to run "['Tools/Scripts/check-webkit-style', '--diff-files', u'Source/JavaScriptCore/ChangeLog', u'Source/JavaScriptCore/DerivedSources.make', u'Source/JavaScriptCore/JSCTypedArrayStubs.h', u'Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj', u'Source/JavaScriptCore/bytecode/ByValInfo.h', u'Source/JavaScriptCore/bytecode/SpeculatedType.cpp', u'Source/JavaScriptCore/dfg/DFGArrayMode.cpp', u'Source/JavaScriptCore/dfg/DFGArrayMode.h', u'Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp', u'Source/JavaScriptCore/dfg/DFGSpeculativeJIT.h', u'Source/JavaScriptCore/dfg/DFGSpeculativeJIT32_64.cpp', u'Source/JavaScriptCore/dfg/DFGSpeculativeJIT64.cpp', u'Source/JavaScriptCore/heap/CopyToken.h', u'Source/JavaScriptCore/heap/DeferGC.h', u'Source/JavaScriptCore/heap/GCIncomingRefCounted.h', u'Source/JavaScriptCore/heap/GCIncomingRefCountedInlines.h', u'Source/JavaScriptCore/heap/GCIncomingRefCountedSet.h', u'Source/JavaScriptCore/heap/GCIncomingRefCountedSetInlines.h', u'Source/JavaScriptCore/heap/Heap.cpp', u'Source/JavaScriptCore/heap/Heap.h', u'Source/JavaScriptCore/interpreter/CallFrame.h', u'Source/JavaScriptCore/jit/JIT.h', u'Source/JavaScriptCore/jit/JITPropertyAccess.cpp', u'Source/JavaScriptCore/jsc.cpp', u'Source/JavaScriptCore/runtime/ArrayBuffer.cpp', u'Source/JavaScriptCore/runtime/ArrayBuffer.h', u'Source/JavaScriptCore/runtime/ArrayBufferView.cpp', u'Source/JavaScriptCore/runtime/ArrayBufferView.h', u'Source/JavaScriptCore/runtime/ClassInfo.h', u'Source/JavaScriptCore/runtime/CommonIdentifiers.h', u'Source/JavaScriptCore/runtime/DataView.cpp', u'Source/JavaScriptCore/runtime/DataView.h', u'Source/JavaScriptCore/runtime/Float32Array.h', u'Source/JavaScriptCore/runtime/Float64Array.h', u'Source/JavaScriptCore/runtime/GenericTypedArrayView.h', u'Source/JavaScriptCore/runtime/GenericTypedArrayViewInlines.h', u'Source/JavaScriptCore/runtime/IndexingHeader.h', u'Source/JavaScriptCore/runtime/Int16Array.h', u'Source/JavaScriptCore/runtime/Int32Array.h', u'Source/JavaScriptCore/runtime/Int8Array.h', u'Source/JavaScriptCore/runtime/JSArrayBuffer.cpp', u'Source/JavaScriptCore/runtime/JSArrayBuffer.h', u'Source/JavaScriptCore/runtime/JSArrayBufferConstructor.cpp', u'Source/JavaScriptCore/runtime/JSArrayBufferConstructor.h', u'Source/JavaScriptCore/runtime/JSArrayBufferPrototype.cpp', u'Source/JavaScriptCore/runtime/JSArrayBufferPrototype.h', u'Source/JavaScriptCore/runtime/JSArrayBufferView.cpp', u'Source/JavaScriptCore/runtime/JSArrayBufferView.h', u'Source/JavaScriptCore/runtime/JSArrayBufferViewInlines.h', u'Source/JavaScriptCore/runtime/JSCell.cpp', u'Source/JavaScriptCore/runtime/JSCell.h', u'Source/JavaScriptCore/runtime/JSDataView.cpp', u'Source/JavaScriptCore/runtime/JSDataView.h', u'Source/JavaScriptCore/runtime/JSDataViewPrototype.cpp', u'Source/JavaScriptCore/runtime/JSDataViewPrototype.h', u'Source/JavaScriptCore/runtime/JSFloat32Array.h', u'Source/JavaScriptCore/runtime/JSFloat64Array.h', u'Source/JavaScriptCore/runtime/JSGenericTypedArrayView.h', u'Source/JavaScriptCore/runtime/JSGenericTypedArrayViewConstructor.h', u'Source/JavaScriptCore/runtime/JSGenericTypedArrayViewConstructorInlines.h', u'Source/JavaScriptCore/runtime/JSGenericTypedArrayViewInlines.h', u'Source/JavaScriptCore/runtime/JSGenericTypedArrayViewPrototype.h', u'Source/JavaScriptCore/runtime/JSGenericTypedArrayViewPrototypeInlines.h', u'Source/JavaScriptCore/runtime/JSGlobalObject.cpp', u'Source/JavaScriptCore/runtime/JSGlobalObject.h', u'Source/JavaScriptCore/runtime/JSInt16Array.h', u'Source/JavaScriptCore/runtime/JSInt32Array.h', u'Source/JavaScriptCore/runtime/JSInt8Array.h', u'Source/JavaScriptCore/runtime/JSTypedArrayConstructors.cpp', u'Source/JavaScriptCore/runtime/JSTypedArrayConstructors.h', u'Source/JavaScriptCore/runtime/JSTypedArrayPrototypes.cpp', u'Source/JavaScriptCore/runtime/JSTypedArrayPrototypes.h', u'Source/JavaScriptCore/runtime/JSTypedArrays.cpp', u'Source/JavaScriptCore/runtime/JSTypedArrays.h', u'Source/JavaScriptCore/runtime/JSUint16Array.h', u'Source/JavaScriptCore/runtime/JSUint32Array.h', u'Source/JavaScriptCore/runtime/JSUint8Array.h', u'Source/JavaScriptCore/runtime/JSUint8ClampedArray.h', u'Source/JavaScriptCore/runtime/Operations.h', u'Source/JavaScriptCore/runtime/SimpleTypedArrayController.cpp', u'Source/JavaScriptCore/runtime/SimpleTypedArrayController.h', u'Source/JavaScriptCore/runtime/Structure.h', u'Source/JavaScriptCore/runtime/StructureInlines.h', u'Source/JavaScriptCore/runtime/TypedArrayAdaptors.h', u'Source/JavaScriptCore/runtime/TypedArrayController.cpp', u'Source/JavaScriptCore/runtime/TypedArrayController.h', u'Source/JavaScriptCore/runtime/TypedArrayDescriptor.h', u'Source/JavaScriptCore/runtime/TypedArrayInlines.h', u'Source/JavaScriptCore/runtime/TypedArrayType.cpp', u'Source/JavaScriptCore/runtime/TypedArrayType.h', u'Source/JavaScriptCore/runtime/TypedArrays.h', u'Source/JavaScriptCore/runtime/Uint16Array.h', u'Source/JavaScriptCore/runtime/Uint32Array.h', u'Source/JavaScriptCore/runtime/Uint8Array.h', u'Source/JavaScriptCore/runtime/Uint8ClampedArray.h', u'Source/JavaScriptCore/runtime/VM.cpp', u'Source/JavaScriptCore/runtime/VM.h', u'Source/WTF/ChangeLog', u'Source/WTF/WTF.xcodeproj/project.pbxproj', u'Source/WTF/wtf/DeferrableRefCounted.h', u'Source/WTF/wtf/FlipBytes.h', u'Source/WebCore/ChangeLog', u'Source/WebCore/DerivedSources.make', u'Source/WebCore/ForwardingHeaders/runtime/DataView.h', u'Source/WebCore/ForwardingHeaders/runtime/JSArrayBuffer.h', u'Source/WebCore/ForwardingHeaders/runtime/JSArrayBufferView.h', u'Source/WebCore/ForwardingHeaders/runtime/JSDataView.h', u'Source/WebCore/ForwardingHeaders/runtime/JSTypedArrays.h', u'Source/WebCore/ForwardingHeaders/runtime/TypedArrayController.h', u'Source/WebCore/ForwardingHeaders/runtime/TypedArrayInlines.h', u'Source/WebCore/ForwardingHeaders/runtime/TypedArrays.h', u'Source/WebCore/Modules/webaudio/RealtimeAnalyser.h', u'Source/WebCore/WebCore.exp.in', u'Source/WebCore/WebCore.xcodeproj/project.pbxproj', u'Source/WebCore/bindings/js/DOMWrapperWorld.h', u'Source/WebCore/bindings/js/JSArrayBufferCustom.cpp', u'Source/WebCore/bindings/js/JSArrayBufferViewHelper.h', u'Source/WebCore/bindings/js/JSAudioContextCustom.cpp', u'Source/WebCore/bindings/js/JSBlobCustom.cpp', u'Source/WebCore/bindings/js/JSCSSRuleCustom.cpp', u'Source/WebCore/bindings/js/JSCSSValueCustom.cpp', u'Source/WebCore/bindings/js/JSCryptoCustom.cpp', u'Source/WebCore/bindings/js/JSDOMBinding.h', u'Source/WebCore/bindings/js/JSDataViewCustom.cpp', u'Source/WebCore/bindings/js/JSDictionary.cpp', u'Source/WebCore/bindings/js/JSDictionary.h', u'Source/WebCore/bindings/js/JSDocumentCustom.cpp', u'Source/WebCore/bindings/js/JSEventCustom.cpp', u'Source/WebCore/bindings/js/JSFileReaderCustom.cpp', u'Source/WebCore/bindings/js/JSHTMLCollectionCustom.cpp', u'Source/WebCore/bindings/js/JSImageDataCustom.cpp', u'Source/WebCore/bindings/js/JSInjectedScriptHostCustom.cpp', u'Source/WebCore/bindings/js/JSMessageEventCustom.cpp', u'Source/WebCore/bindings/js/JSMessagePortCustom.cpp', u'Source/WebCore/bindings/js/JSSVGPathSegCustom.cpp', u'Source/WebCore/bindings/js/JSStyleSheetCustom.cpp', u'Source/WebCore/bindings/js/JSTrackCustom.cpp', u'Source/WebCore/bindings/js/JSWebGLRenderingContextCustom.cpp', u'Source/WebCore/bindings/js/JSXMLHttpRequestCustom.cpp', u'Source/WebCore/bindings/js/SerializedScriptValue.cpp', u'Source/WebCore/bindings/js/WebCoreJSClientData.h', u'Source/WebCore/bindings/js/WebCoreTypedArrayController.cpp', u'Source/WebCore/bindings/js/WebCoreTypedArrayController.h', u'Source/WebCore/bindings/scripts/CodeGenerator.pm', u'Source/WebCore/bindings/scripts/CodeGeneratorJS.pm', u'Source/WebCore/fileapi/WebKitBlobBuilder.cpp', u'Source/WebCore/fileapi/WebKitBlobBuilder.h', u'Source/WebCore/html/canvas/ArrayBuffer.idl', u'Source/WebCore/html/canvas/ArrayBufferView.idl', u'Source/WebCore/html/canvas/DataView.cpp', u'Source/WebCore/html/canvas/DataView.h', u'Source/WebCore/html/canvas/DataView.idl', u'Source/WebCore/html/canvas/Float32Array.idl', u'Source/WebCore/html/canvas/Float64Array.idl', u'Source/WebCore/html/canvas/Int16Array.idl', u'Source/WebCore/html/canvas/Int32Array.idl', u'Source/WebCore/html/canvas/Int8Array.idl', u'Source/WebCore/html/canvas/Uint16Array.idl', u'Source/WebCore/html/canvas/Uint32Array.idl', u'Source/WebCore/html/canvas/Uint8Array.idl', u'Source/WebCore/html/canvas/Uint8ClampedArray.idl', u'Source/WebCore/html/canvas/WebGLRenderingContext.cpp', u'Source/WebCore/page/Crypto.cpp', u'Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm', u'Source/WebCore/platform/graphics/filters/FECustomFilter.h', u'Source/WebCore/platform/graphics/filters/FEGaussianBlur.cpp', u'Source/WebCore/platform/graphics/filters/FilterEffect.cpp', u'Source/WebCore/testing/MockCDM.cpp', u'Source/WebKit2/ChangeLog', u'Source/WebKit2/WebProcess/InjectedBundle/InjectedBundle.cpp']" exit_code: 1 Source/JavaScriptCore/runtime/TypedArrayType.h:91: The parameter name "type" adds no information, so it should be removed. [readability/parameter_name] [5] Source/JavaScriptCore/runtime/JSGenericTypedArrayView.h:195: The parameter name "propertyName" adds no information, so it should be removed. [readability/parameter_name] [5] Source/JavaScriptCore/runtime/TypedArrayType.cpp:29: Alphabetical sorting problem. [build/include_order] [4] Source/JavaScriptCore/runtime/TypedArrayController.h:43: The parameter name "exec" adds no information, so it should be removed. [readability/parameter_name] [5] Source/WebCore/bindings/js/WebCoreTypedArrayController.cpp:33: Alphabetical sorting problem. [build/include_order] [4] Source/JavaScriptCore/runtime/Structure.h:237: The parameter name "cell" adds no information, so it should be removed. [readability/parameter_name] [5] Source/JavaScriptCore/runtime/JSTypedArrays.cpp:38: preprocessor directives (e.g., #ifdef, #define, #import) should never be indented. [whitespace/indent] [4] Source/JavaScriptCore/runtime/ArrayBufferView.h:44: Weird number of spaces at line-start. Are you using a 4-space indent? [whitespace/indent] [3] Source/JavaScriptCore/runtime/ArrayBufferView.h:84: Weird number of spaces at line-start. Are you using a 4-space indent? [whitespace/indent] [3] Source/JavaScriptCore/runtime/ArrayBufferView.h:85: Weird number of spaces at line-start. Are you using a 4-space indent? [whitespace/indent] [3] Source/JavaScriptCore/runtime/ArrayBufferView.h:101: Weird number of spaces at line-start. Are you using a 4-space indent? [whitespace/indent] [3] Source/JavaScriptCore/runtime/ArrayBufferView.h:111: Weird number of spaces at line-start. Are you using a 4-space indent? [whitespace/indent] [3] Source/JavaScriptCore/runtime/ArrayBufferView.h:117: Weird number of spaces at line-start. Are you using a 4-space indent? [whitespace/indent] [3] Source/JavaScriptCore/runtime/ArrayBufferView.h:118: Weird number of spaces at line-start. Are you using a 4-space indent? [whitespace/indent] [3] Source/JavaScriptCore/runtime/ArrayBufferView.h:119: Weird number of spaces at line-start. Are you using a 4-space indent? [whitespace/indent] [3] Source/JavaScriptCore/runtime/ArrayBufferView.h:139: Weird number of spaces at line-start. Are you using a 4-space indent? [whitespace/indent] [3] Source/JavaScriptCore/runtime/ArrayBufferView.h:187: Weird number of spaces at line-start. Are you using a 4-space indent? [whitespace/indent] [3] Source/JavaScriptCore/runtime/JSTypedArrayConstructors.cpp:29: Alphabetical sorting problem. [build/include_order] [4] Source/JavaScriptCore/runtime/JSGlobalObject.h:29: Alphabetical sorting problem. [build/include_order] [4] Source/JavaScriptCore/runtime/GenericTypedArrayView.h:37: The parameter name "buffer" adds no information, so it should be removed. [readability/parameter_name] [5] Source/JavaScriptCore/runtime/JSDataViewPrototype.cpp:251: Alphabetical sorting problem. [build/include_order] [4] Source/JavaScriptCore/heap/Heap.h:186: The parameter name "cell" adds no information, so it should be removed. [readability/parameter_name] [5] Source/JavaScriptCore/heap/Heap.h:186: The parameter name "buffer" adds no information, so it should be removed. [readability/parameter_name] [5] Source/JavaScriptCore/runtime/JSGlobalObject.cpp:69: Alphabetical sorting problem. [build/include_order] [4] Source/JavaScriptCore/runtime/JSGenericTypedArrayViewPrototypeInlines.h:29: Alphabetical sorting problem. [build/include_order] [4] Source/JavaScriptCore/runtime/DataView.h:37: The parameter name "buffer" adds no information, so it should be removed. [readability/parameter_name] [5] Source/WebCore/bindings/js/JSAudioContextCustom.cpp:37: Alphabetical sorting problem. [build/include_order] [4] Total errors found: 27 in 147 files If any of these errors are false positives, please file a bug against check-webkit-style.
Comment on attachment 208596 [details] builds on mac Attachment 208596 [details] did not pass qt-ews (qt): Output: http://webkit-queues.appspot.com/results/1452346
Comment on attachment 208596 [details] builds on mac Attachment 208596 [details] did not pass qt-wk2-ews (qt-wk2): Output: http://webkit-queues.appspot.com/results/1447513
Comment on attachment 208596 [details] builds on mac Attachment 208596 [details] did not pass gtk-ews (gtk): Output: http://webkit-queues.appspot.com/results/1452347
Comment on attachment 208596 [details] builds on mac Attachment 208596 [details] did not pass efl-wk2-ews (efl-wk2): Output: http://webkit-queues.appspot.com/results/1447515
Comment on attachment 208596 [details] builds on mac Attachment 208596 [details] did not pass efl-ews (efl): Output: http://webkit-queues.appspot.com/results/1447514
Comment on attachment 208596 [details] builds on mac Attachment 208596 [details] did not pass mac-wk2-ews (mac-wk2): Output: http://webkit-queues.appspot.com/results/1451361
(In reply to comment #49) > (From update of attachment 208596 [details]) > Attachment 208596 [details] did not pass mac-wk2-ews (mac-wk2): > Output: http://webkit-queues.appspot.com/results/1451361 These failures look like the bot failed at dependency tracking. An rm -rf WebKitBuild ought to do the trick. :-/
(In reply to comment #39) > (From update of attachment 208577 [details]) > View in context: https://bugs.webkit.org/attachment.cgi?id=208577&action=review > > This is looking really good. I do prefer the get<> logic > > > Source/JavaScriptCore/ChangeLog:44 > > + wak handle (a cell and a malloc'd storage vector, plus a finalizer for the > > wak? weak? wack? fixed this and a bunch of other typos. > > > Source/JavaScriptCore/ChangeLog:50 > > + - Typed arrays require just 4 words of overhead: Structure*, Butterfly*, > > + mode/length, void* vector. Before it was a lot more than that - remember, > > + there were five additional objects that did absolutely nothing for anybody. > > nice
Comment on attachment 208596 [details] builds on mac Attachment 208596 [details] did not pass mac-ews (mac): Output: http://webkit-queues.appspot.com/results/1456555
Created attachment 208700 [details] starting to pass layouttests
Comment on attachment 208700 [details] starting to pass layouttests Not ready for review.
Attachment 208700 [details] did not pass style-queue: Failed to run "['Tools/Scripts/check-webkit-style', '--diff-files', u'LayoutTests/fast/canvas/webgl/script-tests/arraybuffer-transfer-of-control.js', u'Source/JavaScriptCore/ChangeLog', u'Source/JavaScriptCore/DerivedSources.make', u'Source/JavaScriptCore/JSCTypedArrayStubs.h', u'Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj', u'Source/JavaScriptCore/bytecode/ByValInfo.h', u'Source/JavaScriptCore/bytecode/SpeculatedType.cpp', u'Source/JavaScriptCore/dfg/DFGArrayMode.cpp', u'Source/JavaScriptCore/dfg/DFGArrayMode.h', u'Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp', u'Source/JavaScriptCore/dfg/DFGSpeculativeJIT.h', u'Source/JavaScriptCore/dfg/DFGSpeculativeJIT32_64.cpp', u'Source/JavaScriptCore/dfg/DFGSpeculativeJIT64.cpp', u'Source/JavaScriptCore/heap/CopyToken.h', u'Source/JavaScriptCore/heap/DeferGC.h', u'Source/JavaScriptCore/heap/GCIncomingRefCounted.h', u'Source/JavaScriptCore/heap/GCIncomingRefCountedInlines.h', u'Source/JavaScriptCore/heap/GCIncomingRefCountedSet.h', u'Source/JavaScriptCore/heap/GCIncomingRefCountedSetInlines.h', u'Source/JavaScriptCore/heap/Heap.cpp', u'Source/JavaScriptCore/heap/Heap.h', u'Source/JavaScriptCore/interpreter/CallFrame.h', u'Source/JavaScriptCore/jit/JIT.h', u'Source/JavaScriptCore/jit/JITPropertyAccess.cpp', u'Source/JavaScriptCore/jsc.cpp', u'Source/JavaScriptCore/runtime/ArrayBuffer.cpp', u'Source/JavaScriptCore/runtime/ArrayBuffer.h', u'Source/JavaScriptCore/runtime/ArrayBufferView.cpp', u'Source/JavaScriptCore/runtime/ArrayBufferView.h', u'Source/JavaScriptCore/runtime/ClassInfo.h', u'Source/JavaScriptCore/runtime/CommonIdentifiers.h', u'Source/JavaScriptCore/runtime/DataView.cpp', u'Source/JavaScriptCore/runtime/DataView.h', u'Source/JavaScriptCore/runtime/Float32Array.h', u'Source/JavaScriptCore/runtime/Float64Array.h', u'Source/JavaScriptCore/runtime/GenericTypedArrayView.h', u'Source/JavaScriptCore/runtime/GenericTypedArrayViewInlines.h', u'Source/JavaScriptCore/runtime/IndexingHeader.h', u'Source/JavaScriptCore/runtime/Int16Array.h', u'Source/JavaScriptCore/runtime/Int32Array.h', u'Source/JavaScriptCore/runtime/Int8Array.h', u'Source/JavaScriptCore/runtime/JSArrayBuffer.cpp', u'Source/JavaScriptCore/runtime/JSArrayBuffer.h', u'Source/JavaScriptCore/runtime/JSArrayBufferConstructor.cpp', u'Source/JavaScriptCore/runtime/JSArrayBufferConstructor.h', u'Source/JavaScriptCore/runtime/JSArrayBufferPrototype.cpp', u'Source/JavaScriptCore/runtime/JSArrayBufferPrototype.h', u'Source/JavaScriptCore/runtime/JSArrayBufferView.cpp', u'Source/JavaScriptCore/runtime/JSArrayBufferView.h', u'Source/JavaScriptCore/runtime/JSArrayBufferViewInlines.h', u'Source/JavaScriptCore/runtime/JSCell.cpp', u'Source/JavaScriptCore/runtime/JSCell.h', u'Source/JavaScriptCore/runtime/JSDataView.cpp', u'Source/JavaScriptCore/runtime/JSDataView.h', u'Source/JavaScriptCore/runtime/JSDataViewPrototype.cpp', u'Source/JavaScriptCore/runtime/JSDataViewPrototype.h', u'Source/JavaScriptCore/runtime/JSFloat32Array.h', u'Source/JavaScriptCore/runtime/JSFloat64Array.h', u'Source/JavaScriptCore/runtime/JSGenericTypedArrayView.h', u'Source/JavaScriptCore/runtime/JSGenericTypedArrayViewConstructor.h', u'Source/JavaScriptCore/runtime/JSGenericTypedArrayViewConstructorInlines.h', u'Source/JavaScriptCore/runtime/JSGenericTypedArrayViewInlines.h', u'Source/JavaScriptCore/runtime/JSGenericTypedArrayViewPrototype.h', u'Source/JavaScriptCore/runtime/JSGenericTypedArrayViewPrototypeInlines.h', u'Source/JavaScriptCore/runtime/JSGlobalObject.cpp', u'Source/JavaScriptCore/runtime/JSGlobalObject.h', u'Source/JavaScriptCore/runtime/JSInt16Array.h', u'Source/JavaScriptCore/runtime/JSInt32Array.h', u'Source/JavaScriptCore/runtime/JSInt8Array.h', u'Source/JavaScriptCore/runtime/JSTypedArrayConstructors.cpp', u'Source/JavaScriptCore/runtime/JSTypedArrayConstructors.h', u'Source/JavaScriptCore/runtime/JSTypedArrayPrototypes.cpp', u'Source/JavaScriptCore/runtime/JSTypedArrayPrototypes.h', u'Source/JavaScriptCore/runtime/JSTypedArrays.cpp', u'Source/JavaScriptCore/runtime/JSTypedArrays.h', u'Source/JavaScriptCore/runtime/JSUint16Array.h', u'Source/JavaScriptCore/runtime/JSUint32Array.h', u'Source/JavaScriptCore/runtime/JSUint8Array.h', u'Source/JavaScriptCore/runtime/JSUint8ClampedArray.h', u'Source/JavaScriptCore/runtime/Operations.h', u'Source/JavaScriptCore/runtime/SimpleTypedArrayController.cpp', u'Source/JavaScriptCore/runtime/SimpleTypedArrayController.h', u'Source/JavaScriptCore/runtime/Structure.h', u'Source/JavaScriptCore/runtime/StructureInlines.h', u'Source/JavaScriptCore/runtime/TypedArrayAdaptors.h', u'Source/JavaScriptCore/runtime/TypedArrayController.cpp', u'Source/JavaScriptCore/runtime/TypedArrayController.h', u'Source/JavaScriptCore/runtime/TypedArrayDescriptor.h', u'Source/JavaScriptCore/runtime/TypedArrayInlines.h', u'Source/JavaScriptCore/runtime/TypedArrayType.cpp', u'Source/JavaScriptCore/runtime/TypedArrayType.h', u'Source/JavaScriptCore/runtime/TypedArrays.h', u'Source/JavaScriptCore/runtime/Uint16Array.h', u'Source/JavaScriptCore/runtime/Uint32Array.h', u'Source/JavaScriptCore/runtime/Uint8Array.h', u'Source/JavaScriptCore/runtime/Uint8ClampedArray.h', u'Source/JavaScriptCore/runtime/VM.cpp', u'Source/JavaScriptCore/runtime/VM.h', u'Source/WTF/ChangeLog', u'Source/WTF/WTF.xcodeproj/project.pbxproj', u'Source/WTF/wtf/DeferrableRefCounted.h', u'Source/WTF/wtf/FlipBytes.h', u'Source/WebCore/ChangeLog', u'Source/WebCore/DerivedSources.make', u'Source/WebCore/ForwardingHeaders/runtime/DataView.h', u'Source/WebCore/ForwardingHeaders/runtime/JSArrayBuffer.h', u'Source/WebCore/ForwardingHeaders/runtime/JSArrayBufferView.h', u'Source/WebCore/ForwardingHeaders/runtime/JSDataView.h', u'Source/WebCore/ForwardingHeaders/runtime/JSTypedArrays.h', u'Source/WebCore/ForwardingHeaders/runtime/TypedArrayController.h', u'Source/WebCore/ForwardingHeaders/runtime/TypedArrayInlines.h', u'Source/WebCore/ForwardingHeaders/runtime/TypedArrays.h', u'Source/WebCore/Modules/webaudio/RealtimeAnalyser.h', u'Source/WebCore/WebCore.exp.in', u'Source/WebCore/WebCore.xcodeproj/project.pbxproj', u'Source/WebCore/bindings/js/DOMWrapperWorld.h', u'Source/WebCore/bindings/js/JSArrayBufferCustom.cpp', u'Source/WebCore/bindings/js/JSArrayBufferViewHelper.h', u'Source/WebCore/bindings/js/JSAudioContextCustom.cpp', u'Source/WebCore/bindings/js/JSBlobCustom.cpp', u'Source/WebCore/bindings/js/JSCSSRuleCustom.cpp', u'Source/WebCore/bindings/js/JSCSSValueCustom.cpp', u'Source/WebCore/bindings/js/JSCryptoCustom.cpp', u'Source/WebCore/bindings/js/JSDOMBinding.h', u'Source/WebCore/bindings/js/JSDataViewCustom.cpp', u'Source/WebCore/bindings/js/JSDictionary.cpp', u'Source/WebCore/bindings/js/JSDictionary.h', u'Source/WebCore/bindings/js/JSDocumentCustom.cpp', u'Source/WebCore/bindings/js/JSEventCustom.cpp', u'Source/WebCore/bindings/js/JSFileReaderCustom.cpp', u'Source/WebCore/bindings/js/JSHTMLCollectionCustom.cpp', u'Source/WebCore/bindings/js/JSImageDataCustom.cpp', u'Source/WebCore/bindings/js/JSInjectedScriptHostCustom.cpp', u'Source/WebCore/bindings/js/JSMessageEventCustom.cpp', u'Source/WebCore/bindings/js/JSMessagePortCustom.cpp', u'Source/WebCore/bindings/js/JSSVGPathSegCustom.cpp', u'Source/WebCore/bindings/js/JSStyleSheetCustom.cpp', u'Source/WebCore/bindings/js/JSTrackCustom.cpp', u'Source/WebCore/bindings/js/JSWebGLRenderingContextCustom.cpp', u'Source/WebCore/bindings/js/JSXMLHttpRequestCustom.cpp', u'Source/WebCore/bindings/js/SerializedScriptValue.cpp', u'Source/WebCore/bindings/js/WebCoreJSClientData.h', u'Source/WebCore/bindings/js/WebCoreTypedArrayController.cpp', u'Source/WebCore/bindings/js/WebCoreTypedArrayController.h', u'Source/WebCore/bindings/scripts/CodeGenerator.pm', u'Source/WebCore/bindings/scripts/CodeGeneratorJS.pm', u'Source/WebCore/fileapi/WebKitBlobBuilder.cpp', u'Source/WebCore/fileapi/WebKitBlobBuilder.h', u'Source/WebCore/html/canvas/ArrayBuffer.idl', u'Source/WebCore/html/canvas/ArrayBufferView.idl', u'Source/WebCore/html/canvas/DataView.cpp', u'Source/WebCore/html/canvas/DataView.h', u'Source/WebCore/html/canvas/DataView.idl', u'Source/WebCore/html/canvas/Float32Array.idl', u'Source/WebCore/html/canvas/Float64Array.idl', u'Source/WebCore/html/canvas/Int16Array.idl', u'Source/WebCore/html/canvas/Int32Array.idl', u'Source/WebCore/html/canvas/Int8Array.idl', u'Source/WebCore/html/canvas/Uint16Array.idl', u'Source/WebCore/html/canvas/Uint32Array.idl', u'Source/WebCore/html/canvas/Uint8Array.idl', u'Source/WebCore/html/canvas/Uint8ClampedArray.idl', u'Source/WebCore/html/canvas/WebGLRenderingContext.cpp', u'Source/WebCore/page/Crypto.cpp', u'Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm', u'Source/WebCore/platform/graphics/filters/FECustomFilter.h', u'Source/WebCore/platform/graphics/filters/FEGaussianBlur.cpp', u'Source/WebCore/platform/graphics/filters/FilterEffect.cpp', u'Source/WebCore/testing/MockCDM.cpp', u'Source/WebKit2/ChangeLog', u'Source/WebKit2/WebProcess/InjectedBundle/InjectedBundle.cpp']" exit_code: 1 Source/JavaScriptCore/runtime/JSTypedArrays.cpp:38: preprocessor directives (e.g., #ifdef, #define, #import) should never be indented. [whitespace/indent] [4] Source/JavaScriptCore/runtime/JSGlobalObject.h:28: Alphabetical sorting problem. [build/include_order] [4] Source/JavaScriptCore/runtime/JSDataViewPrototype.cpp:251: Alphabetical sorting problem. [build/include_order] [4] Total errors found: 3 in 148 files If any of these errors are false positives, please file a bug against check-webkit-style.
Comment on attachment 208700 [details] starting to pass layouttests Attachment 208700 [details] did not pass qt-ews (qt): Output: http://webkit-queues.appspot.com/results/1455688
Comment on attachment 208700 [details] starting to pass layouttests Attachment 208700 [details] did not pass qt-wk2-ews (qt-wk2): Output: http://webkit-queues.appspot.com/results/1457737
Comment on attachment 208700 [details] starting to pass layouttests Attachment 208700 [details] did not pass gtk-ews (gtk): Output: http://webkit-queues.appspot.com/results/1458622
Comment on attachment 208700 [details] starting to pass layouttests Attachment 208700 [details] did not pass efl-wk2-ews (efl-wk2): Output: http://webkit-queues.appspot.com/results/1457740
Comment on attachment 208700 [details] starting to pass layouttests Attachment 208700 [details] did not pass mac-wk2-ews (mac-wk2): Output: http://webkit-queues.appspot.com/results/1447913
Comment on attachment 208700 [details] starting to pass layouttests Attachment 208700 [details] did not pass efl-ews (efl): Output: http://webkit-queues.appspot.com/results/1448817
Comment on attachment 208700 [details] starting to pass layouttests Attachment 208700 [details] did not pass mac-ews (mac): Output: http://webkit-queues.appspot.com/results/1437320
Created attachment 208703 [details] and now, passing more tests than ever!
Attachment 208703 [details] did not pass style-queue: Failed to run "['Tools/Scripts/check-webkit-style', '--diff-files', u'LayoutTests/fast/canvas/webgl/script-tests/arraybuffer-transfer-of-control.js', u'Source/JavaScriptCore/ChangeLog', u'Source/JavaScriptCore/DerivedSources.make', u'Source/JavaScriptCore/JSCTypedArrayStubs.h', u'Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj', u'Source/JavaScriptCore/bytecode/ByValInfo.h', u'Source/JavaScriptCore/bytecode/SpeculatedType.cpp', u'Source/JavaScriptCore/dfg/DFGArrayMode.cpp', u'Source/JavaScriptCore/dfg/DFGArrayMode.h', u'Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp', u'Source/JavaScriptCore/dfg/DFGSpeculativeJIT.h', u'Source/JavaScriptCore/dfg/DFGSpeculativeJIT32_64.cpp', u'Source/JavaScriptCore/dfg/DFGSpeculativeJIT64.cpp', u'Source/JavaScriptCore/heap/CopyToken.h', u'Source/JavaScriptCore/heap/DeferGC.h', u'Source/JavaScriptCore/heap/GCIncomingRefCounted.h', u'Source/JavaScriptCore/heap/GCIncomingRefCountedInlines.h', u'Source/JavaScriptCore/heap/GCIncomingRefCountedSet.h', u'Source/JavaScriptCore/heap/GCIncomingRefCountedSetInlines.h', u'Source/JavaScriptCore/heap/Heap.cpp', u'Source/JavaScriptCore/heap/Heap.h', u'Source/JavaScriptCore/interpreter/CallFrame.h', u'Source/JavaScriptCore/jit/JIT.h', u'Source/JavaScriptCore/jit/JITPropertyAccess.cpp', u'Source/JavaScriptCore/jsc.cpp', u'Source/JavaScriptCore/runtime/ArrayBuffer.cpp', u'Source/JavaScriptCore/runtime/ArrayBuffer.h', u'Source/JavaScriptCore/runtime/ArrayBufferView.cpp', u'Source/JavaScriptCore/runtime/ArrayBufferView.h', u'Source/JavaScriptCore/runtime/ClassInfo.h', u'Source/JavaScriptCore/runtime/CommonIdentifiers.h', u'Source/JavaScriptCore/runtime/DataView.cpp', u'Source/JavaScriptCore/runtime/DataView.h', u'Source/JavaScriptCore/runtime/Float32Array.h', u'Source/JavaScriptCore/runtime/Float64Array.h', u'Source/JavaScriptCore/runtime/GenericTypedArrayView.h', u'Source/JavaScriptCore/runtime/GenericTypedArrayViewInlines.h', u'Source/JavaScriptCore/runtime/IndexingHeader.h', u'Source/JavaScriptCore/runtime/Int16Array.h', u'Source/JavaScriptCore/runtime/Int32Array.h', u'Source/JavaScriptCore/runtime/Int8Array.h', u'Source/JavaScriptCore/runtime/JSArrayBuffer.cpp', u'Source/JavaScriptCore/runtime/JSArrayBuffer.h', u'Source/JavaScriptCore/runtime/JSArrayBufferConstructor.cpp', u'Source/JavaScriptCore/runtime/JSArrayBufferConstructor.h', u'Source/JavaScriptCore/runtime/JSArrayBufferPrototype.cpp', u'Source/JavaScriptCore/runtime/JSArrayBufferPrototype.h', u'Source/JavaScriptCore/runtime/JSArrayBufferView.cpp', u'Source/JavaScriptCore/runtime/JSArrayBufferView.h', u'Source/JavaScriptCore/runtime/JSArrayBufferViewInlines.h', u'Source/JavaScriptCore/runtime/JSCell.cpp', u'Source/JavaScriptCore/runtime/JSCell.h', u'Source/JavaScriptCore/runtime/JSDataView.cpp', u'Source/JavaScriptCore/runtime/JSDataView.h', u'Source/JavaScriptCore/runtime/JSDataViewPrototype.cpp', u'Source/JavaScriptCore/runtime/JSDataViewPrototype.h', u'Source/JavaScriptCore/runtime/JSFloat32Array.h', u'Source/JavaScriptCore/runtime/JSFloat64Array.h', u'Source/JavaScriptCore/runtime/JSGenericTypedArrayView.h', u'Source/JavaScriptCore/runtime/JSGenericTypedArrayViewConstructor.h', u'Source/JavaScriptCore/runtime/JSGenericTypedArrayViewConstructorInlines.h', u'Source/JavaScriptCore/runtime/JSGenericTypedArrayViewInlines.h', u'Source/JavaScriptCore/runtime/JSGenericTypedArrayViewPrototype.h', u'Source/JavaScriptCore/runtime/JSGenericTypedArrayViewPrototypeInlines.h', u'Source/JavaScriptCore/runtime/JSGlobalObject.cpp', u'Source/JavaScriptCore/runtime/JSGlobalObject.h', u'Source/JavaScriptCore/runtime/JSInt16Array.h', u'Source/JavaScriptCore/runtime/JSInt32Array.h', u'Source/JavaScriptCore/runtime/JSInt8Array.h', u'Source/JavaScriptCore/runtime/JSTypedArrayConstructors.cpp', u'Source/JavaScriptCore/runtime/JSTypedArrayConstructors.h', u'Source/JavaScriptCore/runtime/JSTypedArrayPrototypes.cpp', u'Source/JavaScriptCore/runtime/JSTypedArrayPrototypes.h', u'Source/JavaScriptCore/runtime/JSTypedArrays.cpp', u'Source/JavaScriptCore/runtime/JSTypedArrays.h', u'Source/JavaScriptCore/runtime/JSUint16Array.h', u'Source/JavaScriptCore/runtime/JSUint32Array.h', u'Source/JavaScriptCore/runtime/JSUint8Array.h', u'Source/JavaScriptCore/runtime/JSUint8ClampedArray.h', u'Source/JavaScriptCore/runtime/Operations.h', u'Source/JavaScriptCore/runtime/SimpleTypedArrayController.cpp', u'Source/JavaScriptCore/runtime/SimpleTypedArrayController.h', u'Source/JavaScriptCore/runtime/Structure.h', u'Source/JavaScriptCore/runtime/StructureInlines.h', u'Source/JavaScriptCore/runtime/TypedArrayAdaptors.h', u'Source/JavaScriptCore/runtime/TypedArrayController.cpp', u'Source/JavaScriptCore/runtime/TypedArrayController.h', u'Source/JavaScriptCore/runtime/TypedArrayDescriptor.h', u'Source/JavaScriptCore/runtime/TypedArrayInlines.h', u'Source/JavaScriptCore/runtime/TypedArrayType.cpp', u'Source/JavaScriptCore/runtime/TypedArrayType.h', u'Source/JavaScriptCore/runtime/TypedArrays.h', u'Source/JavaScriptCore/runtime/Uint16Array.h', u'Source/JavaScriptCore/runtime/Uint32Array.h', u'Source/JavaScriptCore/runtime/Uint8Array.h', u'Source/JavaScriptCore/runtime/Uint8ClampedArray.h', u'Source/JavaScriptCore/runtime/VM.cpp', u'Source/JavaScriptCore/runtime/VM.h', u'Source/WTF/ChangeLog', u'Source/WTF/WTF.xcodeproj/project.pbxproj', u'Source/WTF/wtf/DeferrableRefCounted.h', u'Source/WTF/wtf/FlipBytes.h', u'Source/WebCore/ChangeLog', u'Source/WebCore/DerivedSources.make', u'Source/WebCore/ForwardingHeaders/runtime/DataView.h', u'Source/WebCore/ForwardingHeaders/runtime/JSArrayBuffer.h', u'Source/WebCore/ForwardingHeaders/runtime/JSArrayBufferView.h', u'Source/WebCore/ForwardingHeaders/runtime/JSDataView.h', u'Source/WebCore/ForwardingHeaders/runtime/JSTypedArrays.h', u'Source/WebCore/ForwardingHeaders/runtime/TypedArrayController.h', u'Source/WebCore/ForwardingHeaders/runtime/TypedArrayInlines.h', u'Source/WebCore/ForwardingHeaders/runtime/TypedArrays.h', u'Source/WebCore/Modules/webaudio/RealtimeAnalyser.h', u'Source/WebCore/WebCore.exp.in', u'Source/WebCore/WebCore.xcodeproj/project.pbxproj', u'Source/WebCore/bindings/js/DOMWrapperWorld.h', u'Source/WebCore/bindings/js/JSArrayBufferCustom.cpp', u'Source/WebCore/bindings/js/JSArrayBufferViewHelper.h', u'Source/WebCore/bindings/js/JSAudioContextCustom.cpp', u'Source/WebCore/bindings/js/JSBlobCustom.cpp', u'Source/WebCore/bindings/js/JSCSSRuleCustom.cpp', u'Source/WebCore/bindings/js/JSCSSValueCustom.cpp', u'Source/WebCore/bindings/js/JSCryptoCustom.cpp', u'Source/WebCore/bindings/js/JSDOMBinding.h', u'Source/WebCore/bindings/js/JSDataViewCustom.cpp', u'Source/WebCore/bindings/js/JSDictionary.cpp', u'Source/WebCore/bindings/js/JSDictionary.h', u'Source/WebCore/bindings/js/JSDocumentCustom.cpp', u'Source/WebCore/bindings/js/JSEventCustom.cpp', u'Source/WebCore/bindings/js/JSFileReaderCustom.cpp', u'Source/WebCore/bindings/js/JSHTMLCollectionCustom.cpp', u'Source/WebCore/bindings/js/JSImageDataCustom.cpp', u'Source/WebCore/bindings/js/JSInjectedScriptHostCustom.cpp', u'Source/WebCore/bindings/js/JSMessageEventCustom.cpp', u'Source/WebCore/bindings/js/JSMessagePortCustom.cpp', u'Source/WebCore/bindings/js/JSSVGPathSegCustom.cpp', u'Source/WebCore/bindings/js/JSStyleSheetCustom.cpp', u'Source/WebCore/bindings/js/JSTrackCustom.cpp', u'Source/WebCore/bindings/js/JSWebGLRenderingContextCustom.cpp', u'Source/WebCore/bindings/js/JSXMLHttpRequestCustom.cpp', u'Source/WebCore/bindings/js/SerializedScriptValue.cpp', u'Source/WebCore/bindings/js/WebCoreJSClientData.h', u'Source/WebCore/bindings/js/WebCoreTypedArrayController.cpp', u'Source/WebCore/bindings/js/WebCoreTypedArrayController.h', u'Source/WebCore/bindings/scripts/CodeGenerator.pm', u'Source/WebCore/bindings/scripts/CodeGeneratorJS.pm', u'Source/WebCore/fileapi/WebKitBlobBuilder.cpp', u'Source/WebCore/fileapi/WebKitBlobBuilder.h', u'Source/WebCore/html/canvas/ArrayBuffer.idl', u'Source/WebCore/html/canvas/ArrayBufferView.idl', u'Source/WebCore/html/canvas/DataView.cpp', u'Source/WebCore/html/canvas/DataView.h', u'Source/WebCore/html/canvas/DataView.idl', u'Source/WebCore/html/canvas/Float32Array.idl', u'Source/WebCore/html/canvas/Float64Array.idl', u'Source/WebCore/html/canvas/Int16Array.idl', u'Source/WebCore/html/canvas/Int32Array.idl', u'Source/WebCore/html/canvas/Int8Array.idl', u'Source/WebCore/html/canvas/Uint16Array.idl', u'Source/WebCore/html/canvas/Uint32Array.idl', u'Source/WebCore/html/canvas/Uint8Array.idl', u'Source/WebCore/html/canvas/Uint8ClampedArray.idl', u'Source/WebCore/html/canvas/WebGLRenderingContext.cpp', u'Source/WebCore/page/Crypto.cpp', u'Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm', u'Source/WebCore/platform/graphics/filters/FECustomFilter.h', u'Source/WebCore/platform/graphics/filters/FEGaussianBlur.cpp', u'Source/WebCore/platform/graphics/filters/FilterEffect.cpp', u'Source/WebCore/testing/MockCDM.cpp', u'Source/WebKit2/ChangeLog', u'Source/WebKit2/WebProcess/InjectedBundle/InjectedBundle.cpp']" exit_code: 1 Source/JavaScriptCore/runtime/JSTypedArrays.cpp:38: preprocessor directives (e.g., #ifdef, #define, #import) should never be indented. [whitespace/indent] [4] Source/JavaScriptCore/runtime/JSGlobalObject.h:28: Alphabetical sorting problem. [build/include_order] [4] Source/JavaScriptCore/runtime/JSDataViewPrototype.cpp:251: Alphabetical sorting problem. [build/include_order] [4] Total errors found: 3 in 148 files If any of these errors are false positives, please file a bug against check-webkit-style.
Comment on attachment 208703 [details] and now, passing more tests than ever! Attachment 208703 [details] did not pass qt-ews (qt): Output: http://webkit-queues.appspot.com/results/1461249
Comment on attachment 208703 [details] and now, passing more tests than ever! Attachment 208703 [details] did not pass qt-wk2-ews (qt-wk2): Output: http://webkit-queues.appspot.com/results/1370998
Comment on attachment 208703 [details] and now, passing more tests than ever! Attachment 208703 [details] did not pass efl-wk2-ews (efl-wk2): Output: http://webkit-queues.appspot.com/results/1462028
Comment on attachment 208703 [details] and now, passing more tests than ever! Attachment 208703 [details] did not pass gtk-ews (gtk): Output: http://webkit-queues.appspot.com/results/1372464
Comment on attachment 208703 [details] and now, passing more tests than ever! Attachment 208703 [details] did not pass efl-ews (efl): Output: http://webkit-queues.appspot.com/results/1437323
Comment on attachment 208703 [details] and now, passing more tests than ever! Attachment 208703 [details] did not pass mac-ews (mac): Output: http://webkit-queues.appspot.com/results/1462029
Comment on attachment 208703 [details] and now, passing more tests than ever! Attachment 208703 [details] did not pass mac-wk2-ews (mac-wk2): Output: http://webkit-queues.appspot.com/results/1458663
Created attachment 208718 [details] Required changes for the Automake build Here are all the changes that are required to get the GTK port building with this patch (tested with a clean build). Most of the changes are just adding new files to the Automake build, a couple of non-trivial changes I'll point out later. There's no need to include these changes in the main patch if you don't feel like it, as long as you can pinpoint the time of landing the patch and that time not being during the CEST night. A clean build will most likely be required on the GTK builders, so someone will have to be around either way.
Comment on attachment 208718 [details] Required changes for the Automake build View in context: https://bugs.webkit.org/attachment.cgi?id=208718&action=review > Source/WebCore/bindings/js/JSHTMLTemplateElementCustom.cpp:53 > - JSDOMWrapper* wrapper = getCachedWrapper(currentWorld(exec), content); > + JSObject* wrapper = getCachedWrapper(currentWorld(exec), content); The mac port doesn't seem to enable TEMPLATE_ELEMENT, so this got overlooked. > Source/WebCore/html/canvas/WebGLRenderingContext.cpp:77 > +#include <runtime/JSCJSValueInlines.h> Required for inlining JSValue::asCell and JSValue::decode methods. Without this, the related symbols are left undefined, causing linking failures. > Source/WebCore/platform/graphics/filters/FilterEffect.cpp:31 > +#include <runtime/JSCJSValueInlines.h> Ditto.
(In reply to comment #73) > (From update of attachment 208718 [details]) > View in context: https://bugs.webkit.org/attachment.cgi?id=208718&action=review > > > Source/WebCore/bindings/js/JSHTMLTemplateElementCustom.cpp:53 > > - JSDOMWrapper* wrapper = getCachedWrapper(currentWorld(exec), content); > > + JSObject* wrapper = getCachedWrapper(currentWorld(exec), content); > > The mac port doesn't seem to enable TEMPLATE_ELEMENT, so this got overlooked. > > > Source/WebCore/html/canvas/WebGLRenderingContext.cpp:77 > > +#include <runtime/JSCJSValueInlines.h> > > Required for inlining JSValue::asCell and JSValue::decode methods. Without this, the related symbols are left undefined, causing linking failures. > > > Source/WebCore/platform/graphics/filters/FilterEffect.cpp:31 > > +#include <runtime/JSCJSValueInlines.h> > > Ditto. Thanks for working on this!
(In reply to comment #73) > (From update of attachment 208718 [details]) > View in context: https://bugs.webkit.org/attachment.cgi?id=208718&action=review > > > Source/WebCore/bindings/js/JSHTMLTemplateElementCustom.cpp:53 > > - JSDOMWrapper* wrapper = getCachedWrapper(currentWorld(exec), content); > > + JSObject* wrapper = getCachedWrapper(currentWorld(exec), content); > > The mac port doesn't seem to enable TEMPLATE_ELEMENT, so this got overlooked. > > > Source/WebCore/html/canvas/WebGLRenderingContext.cpp:77 > > +#include <runtime/JSCJSValueInlines.h> By the way, the canonical thing we've been doing is #include <runtime/Operations.h>, which pulls in a bunch of critical JSC Inlines.h files. > > Required for inlining JSValue::asCell and JSValue::decode methods. Without this, the related symbols are left undefined, causing linking failures. > > > Source/WebCore/platform/graphics/filters/FilterEffect.cpp:31 > > +#include <runtime/JSCJSValueInlines.h> > > Ditto.
Comment on attachment 208703 [details] and now, passing more tests than ever! View in context: https://bugs.webkit.org/attachment.cgi?id=208703&action=review r+ with gtk fix merged in > Source/JavaScriptCore/runtime/JSGenericTypedArrayViewConstructorInlines.h:124 > + if (!result) > + return JSValue::encode(jsUndefined()); Can we assert that there's an exception in flight here? > Source/JavaScriptCore/runtime/JSGenericTypedArrayViewInlines.h:346 > + if (!thisObject->canSetIndexQuickly(propertyName)) { > + // Yes, really. Firefox returns without throwing anything if you store beyond > + // the bounds. I believe this is actually spec behavior - a lot of the indexable dom types have this sort of thing
(In reply to comment #76) > (From update of attachment 208703 [details]) > View in context: https://bugs.webkit.org/attachment.cgi?id=208703&action=review > > r+ with gtk fix merged in > > > Source/JavaScriptCore/runtime/JSGenericTypedArrayViewConstructorInlines.h:124 > > + if (!result) > > + return JSValue::encode(jsUndefined()); > > Can we assert that there's an exception in flight here? Sure, I added it. > > > Source/JavaScriptCore/runtime/JSGenericTypedArrayViewInlines.h:346 > > + if (!thisObject->canSetIndexQuickly(propertyName)) { > > + // Yes, really. Firefox returns without throwing anything if you store beyond > > + // the bounds. > > I believe this is actually spec behavior - a lot of the indexable dom types have this sort of thing It's DOM spec, but it's not in Mozilla's JS typed array documentation. Do you know if it's also proposed ES spec?
Created attachment 208758 [details] I think all tests pass, started to work on other build systems This patch is still r=oliver, though I still need to change the Reviewed By thingies.
Attachment 208758 [details] did not pass style-queue: Failed to run "['Tools/Scripts/check-webkit-style', '--diff-files', u'ChangeLog', u'LayoutTests/ChangeLog', u'LayoutTests/fast/canvas/webgl/array-set-invalid-arguments-expected.txt', u'LayoutTests/fast/canvas/webgl/array-set-out-of-bounds-expected.txt', u'LayoutTests/fast/canvas/webgl/array-unit-tests-expected.txt', u'LayoutTests/fast/canvas/webgl/array-unit-tests.html', u'LayoutTests/fast/canvas/webgl/data-view-crash-expected.txt', u'LayoutTests/fast/canvas/webgl/script-tests/arraybuffer-transfer-of-control.js', u'LayoutTests/fast/dom/call-a-constructor-as-a-function-expected.txt', u'LayoutTests/fast/dom/call-a-constructor-as-a-function.html', u'LayoutTests/fast/js/constructor-length.html', u'LayoutTests/fast/js/global-constructors-attributes-dedicated-worker-expected.txt', u'LayoutTests/fast/js/global-constructors-attributes-expected.txt', u'LayoutTests/fast/js/global-constructors-attributes-shared-worker-expected.txt', u'LayoutTests/webgl/resources/webgl_test_files/conformance/typedarrays/array-unit-tests.html', u'LayoutTests/webgl/resources/webgl_test_files/conformance/typedarrays/data-view-test.html', u'Source/JavaScriptCore/CMakeLists.txt', u'Source/JavaScriptCore/ChangeLog', u'Source/JavaScriptCore/DerivedSources.make', u'Source/JavaScriptCore/GNUmakefile.list.am', u'Source/JavaScriptCore/JSCTypedArrayStubs.h', u'Source/JavaScriptCore/JavaScriptCore.vcxproj/JavaScriptCore.vcxproj', u'Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj', u'Source/JavaScriptCore/bytecode/ByValInfo.h', u'Source/JavaScriptCore/bytecode/SpeculatedType.cpp', u'Source/JavaScriptCore/dfg/DFGArrayMode.cpp', u'Source/JavaScriptCore/dfg/DFGArrayMode.h', u'Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp', u'Source/JavaScriptCore/dfg/DFGSpeculativeJIT.h', u'Source/JavaScriptCore/dfg/DFGSpeculativeJIT32_64.cpp', u'Source/JavaScriptCore/dfg/DFGSpeculativeJIT64.cpp', u'Source/JavaScriptCore/heap/CopyToken.h', u'Source/JavaScriptCore/heap/DeferGC.h', u'Source/JavaScriptCore/heap/GCIncomingRefCounted.h', u'Source/JavaScriptCore/heap/GCIncomingRefCountedInlines.h', u'Source/JavaScriptCore/heap/GCIncomingRefCountedSet.h', u'Source/JavaScriptCore/heap/GCIncomingRefCountedSetInlines.h', u'Source/JavaScriptCore/heap/Heap.cpp', u'Source/JavaScriptCore/heap/Heap.h', u'Source/JavaScriptCore/interpreter/CallFrame.h', u'Source/JavaScriptCore/jit/JIT.h', u'Source/JavaScriptCore/jit/JITPropertyAccess.cpp', u'Source/JavaScriptCore/jsc.cpp', u'Source/JavaScriptCore/runtime/ArrayBuffer.cpp', u'Source/JavaScriptCore/runtime/ArrayBuffer.h', u'Source/JavaScriptCore/runtime/ArrayBufferView.cpp', u'Source/JavaScriptCore/runtime/ArrayBufferView.h', u'Source/JavaScriptCore/runtime/ClassInfo.h', u'Source/JavaScriptCore/runtime/CommonIdentifiers.h', u'Source/JavaScriptCore/runtime/DataView.cpp', u'Source/JavaScriptCore/runtime/DataView.h', u'Source/JavaScriptCore/runtime/Float32Array.h', u'Source/JavaScriptCore/runtime/Float64Array.h', u'Source/JavaScriptCore/runtime/GenericTypedArrayView.h', u'Source/JavaScriptCore/runtime/GenericTypedArrayViewInlines.h', u'Source/JavaScriptCore/runtime/IndexingHeader.h', u'Source/JavaScriptCore/runtime/Int16Array.h', u'Source/JavaScriptCore/runtime/Int32Array.h', u'Source/JavaScriptCore/runtime/Int8Array.h', u'Source/JavaScriptCore/runtime/JSArrayBuffer.cpp', u'Source/JavaScriptCore/runtime/JSArrayBuffer.h', u'Source/JavaScriptCore/runtime/JSArrayBufferConstructor.cpp', u'Source/JavaScriptCore/runtime/JSArrayBufferConstructor.h', u'Source/JavaScriptCore/runtime/JSArrayBufferPrototype.cpp', u'Source/JavaScriptCore/runtime/JSArrayBufferPrototype.h', u'Source/JavaScriptCore/runtime/JSArrayBufferView.cpp', u'Source/JavaScriptCore/runtime/JSArrayBufferView.h', u'Source/JavaScriptCore/runtime/JSArrayBufferViewInlines.h', u'Source/JavaScriptCore/runtime/JSCell.cpp', u'Source/JavaScriptCore/runtime/JSCell.h', u'Source/JavaScriptCore/runtime/JSDataView.cpp', u'Source/JavaScriptCore/runtime/JSDataView.h', u'Source/JavaScriptCore/runtime/JSDataViewPrototype.cpp', u'Source/JavaScriptCore/runtime/JSDataViewPrototype.h', u'Source/JavaScriptCore/runtime/JSFloat32Array.h', u'Source/JavaScriptCore/runtime/JSFloat64Array.h', u'Source/JavaScriptCore/runtime/JSGenericTypedArrayView.h', u'Source/JavaScriptCore/runtime/JSGenericTypedArrayViewConstructor.h', u'Source/JavaScriptCore/runtime/JSGenericTypedArrayViewConstructorInlines.h', u'Source/JavaScriptCore/runtime/JSGenericTypedArrayViewInlines.h', u'Source/JavaScriptCore/runtime/JSGenericTypedArrayViewPrototype.h', u'Source/JavaScriptCore/runtime/JSGenericTypedArrayViewPrototypeInlines.h', u'Source/JavaScriptCore/runtime/JSGlobalObject.cpp', u'Source/JavaScriptCore/runtime/JSGlobalObject.h', u'Source/JavaScriptCore/runtime/JSInt16Array.h', u'Source/JavaScriptCore/runtime/JSInt32Array.h', u'Source/JavaScriptCore/runtime/JSInt8Array.h', u'Source/JavaScriptCore/runtime/JSTypedArrayConstructors.cpp', u'Source/JavaScriptCore/runtime/JSTypedArrayConstructors.h', u'Source/JavaScriptCore/runtime/JSTypedArrayPrototypes.cpp', u'Source/JavaScriptCore/runtime/JSTypedArrayPrototypes.h', u'Source/JavaScriptCore/runtime/JSTypedArrays.cpp', u'Source/JavaScriptCore/runtime/JSTypedArrays.h', u'Source/JavaScriptCore/runtime/JSUint16Array.h', u'Source/JavaScriptCore/runtime/JSUint32Array.h', u'Source/JavaScriptCore/runtime/JSUint8Array.h', u'Source/JavaScriptCore/runtime/JSUint8ClampedArray.h', u'Source/JavaScriptCore/runtime/Operations.h', u'Source/JavaScriptCore/runtime/SimpleTypedArrayController.cpp', u'Source/JavaScriptCore/runtime/SimpleTypedArrayController.h', u'Source/JavaScriptCore/runtime/Structure.h', u'Source/JavaScriptCore/runtime/StructureInlines.h', u'Source/JavaScriptCore/runtime/TypedArrayAdaptors.h', u'Source/JavaScriptCore/runtime/TypedArrayController.cpp', u'Source/JavaScriptCore/runtime/TypedArrayController.h', u'Source/JavaScriptCore/runtime/TypedArrayDescriptor.h', u'Source/JavaScriptCore/runtime/TypedArrayInlines.h', u'Source/JavaScriptCore/runtime/TypedArrayType.cpp', u'Source/JavaScriptCore/runtime/TypedArrayType.h', u'Source/JavaScriptCore/runtime/TypedArrays.h', u'Source/JavaScriptCore/runtime/Uint16Array.h', u'Source/JavaScriptCore/runtime/Uint32Array.h', u'Source/JavaScriptCore/runtime/Uint8Array.h', u'Source/JavaScriptCore/runtime/Uint8ClampedArray.h', u'Source/JavaScriptCore/runtime/VM.cpp', u'Source/JavaScriptCore/runtime/VM.h', u'Source/WTF/ChangeLog', u'Source/WTF/GNUmakefile.list.am', u'Source/WTF/WTF.vcxproj/WTF.vcxproj', u'Source/WTF/WTF.xcodeproj/project.pbxproj', u'Source/WTF/wtf/CMakeLists.txt', u'Source/WTF/wtf/DeferrableRefCounted.h', u'Source/WTF/wtf/FlipBytes.h', u'Source/WebCore/CMakeLists.txt', u'Source/WebCore/ChangeLog', u'Source/WebCore/DerivedSources.make', u'Source/WebCore/ForwardingHeaders/runtime/DataView.h', u'Source/WebCore/ForwardingHeaders/runtime/JSArrayBuffer.h', u'Source/WebCore/ForwardingHeaders/runtime/JSArrayBufferView.h', u'Source/WebCore/ForwardingHeaders/runtime/JSDataView.h', u'Source/WebCore/ForwardingHeaders/runtime/JSTypedArrays.h', u'Source/WebCore/ForwardingHeaders/runtime/TypedArrayController.h', u'Source/WebCore/ForwardingHeaders/runtime/TypedArrayInlines.h', u'Source/WebCore/ForwardingHeaders/runtime/TypedArrays.h', u'Source/WebCore/GNUmakefile.list.am', u'Source/WebCore/Modules/webaudio/RealtimeAnalyser.h', u'Source/WebCore/UseJSC.cmake', u'Source/WebCore/WebCore.exp.in', u'Source/WebCore/WebCore.vcxproj/WebCore.vcxproj', u'Source/WebCore/WebCore.xcodeproj/project.pbxproj', u'Source/WebCore/bindings/js/DOMWrapperWorld.h', u'Source/WebCore/bindings/js/JSArrayBufferCustom.cpp', u'Source/WebCore/bindings/js/JSArrayBufferViewHelper.h', u'Source/WebCore/bindings/js/JSAudioContextCustom.cpp', u'Source/WebCore/bindings/js/JSBindingsAllInOne.cpp', u'Source/WebCore/bindings/js/JSBlobCustom.cpp', u'Source/WebCore/bindings/js/JSCSSRuleCustom.cpp', u'Source/WebCore/bindings/js/JSCSSValueCustom.cpp', u'Source/WebCore/bindings/js/JSCryptoCustom.cpp', u'Source/WebCore/bindings/js/JSDOMBinding.h', u'Source/WebCore/bindings/js/JSDataViewCustom.cpp', u'Source/WebCore/bindings/js/JSDictionary.cpp', u'Source/WebCore/bindings/js/JSDictionary.h', u'Source/WebCore/bindings/js/JSDocumentCustom.cpp', u'Source/WebCore/bindings/js/JSEventCustom.cpp', u'Source/WebCore/bindings/js/JSFileReaderCustom.cpp', u'Source/WebCore/bindings/js/JSHTMLCollectionCustom.cpp', u'Source/WebCore/bindings/js/JSHTMLTemplateElementCustom.cpp', u'Source/WebCore/bindings/js/JSImageDataCustom.cpp', u'Source/WebCore/bindings/js/JSInjectedScriptHostCustom.cpp', u'Source/WebCore/bindings/js/JSMessageEventCustom.cpp', u'Source/WebCore/bindings/js/JSMessagePortCustom.cpp', u'Source/WebCore/bindings/js/JSSVGPathSegCustom.cpp', u'Source/WebCore/bindings/js/JSStyleSheetCustom.cpp', u'Source/WebCore/bindings/js/JSTrackCustom.cpp', u'Source/WebCore/bindings/js/JSWebGLRenderingContextCustom.cpp', u'Source/WebCore/bindings/js/JSXMLHttpRequestCustom.cpp', u'Source/WebCore/bindings/js/SerializedScriptValue.cpp', u'Source/WebCore/bindings/js/WebCoreJSClientData.h', u'Source/WebCore/bindings/js/WebCoreTypedArrayController.cpp', u'Source/WebCore/bindings/js/WebCoreTypedArrayController.h', u'Source/WebCore/bindings/scripts/CodeGenerator.pm', u'Source/WebCore/bindings/scripts/CodeGeneratorJS.pm', u'Source/WebCore/fileapi/WebKitBlobBuilder.cpp', u'Source/WebCore/fileapi/WebKitBlobBuilder.h', u'Source/WebCore/html/canvas/ArrayBuffer.idl', u'Source/WebCore/html/canvas/ArrayBufferView.idl', u'Source/WebCore/html/canvas/DataView.cpp', u'Source/WebCore/html/canvas/DataView.h', u'Source/WebCore/html/canvas/DataView.idl', u'Source/WebCore/html/canvas/Float32Array.idl', u'Source/WebCore/html/canvas/Float64Array.idl', u'Source/WebCore/html/canvas/Int16Array.idl', u'Source/WebCore/html/canvas/Int32Array.idl', u'Source/WebCore/html/canvas/Int8Array.idl', u'Source/WebCore/html/canvas/Uint16Array.idl', u'Source/WebCore/html/canvas/Uint32Array.idl', u'Source/WebCore/html/canvas/Uint8Array.idl', u'Source/WebCore/html/canvas/Uint8ClampedArray.idl', u'Source/WebCore/html/canvas/WebGLRenderingContext.cpp', u'Source/WebCore/page/Crypto.cpp', u'Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm', u'Source/WebCore/platform/graphics/filters/FECustomFilter.h', u'Source/WebCore/platform/graphics/filters/FEGaussianBlur.cpp', u'Source/WebCore/platform/graphics/filters/FilterEffect.cpp', u'Source/WebCore/testing/MockCDM.cpp', u'Source/WebKit2/ChangeLog', u'Source/WebKit2/WebProcess/InjectedBundle/InjectedBundle.cpp', u'Source/autotools/symbols.filter']" exit_code: 1 Source/JavaScriptCore/runtime/JSTypedArrays.cpp:38: preprocessor directives (e.g., #ifdef, #define, #import) should never be indented. [whitespace/indent] [4] Source/JavaScriptCore/runtime/JSGlobalObject.h:28: Alphabetical sorting problem. [build/include_order] [4] Source/JavaScriptCore/runtime/JSDataViewPrototype.cpp:255: Alphabetical sorting problem. [build/include_order] [4] Total errors found: 3 in 170 files If any of these errors are false positives, please file a bug against check-webkit-style.
Comment on attachment 208758 [details] I think all tests pass, started to work on other build systems Attachment 208758 [details] did not pass qt-ews (qt): Output: http://webkit-queues.appspot.com/results/1461495
Comment on attachment 208758 [details] I think all tests pass, started to work on other build systems Attachment 208758 [details] did not pass efl-wk2-ews (efl-wk2): Output: http://webkit-queues.appspot.com/results/1464222
Comment on attachment 208758 [details] I think all tests pass, started to work on other build systems Attachment 208758 [details] did not pass qt-wk2-ews (qt-wk2): Output: http://webkit-queues.appspot.com/results/1452954
Comment on attachment 208758 [details] I think all tests pass, started to work on other build systems Attachment 208758 [details] did not pass efl-ews (efl): Output: http://webkit-queues.appspot.com/results/1459935
Comment on attachment 208758 [details] I think all tests pass, started to work on other build systems Attachment 208758 [details] did not pass mac-wk2-ews (mac-wk2): Output: http://webkit-queues.appspot.com/results/1453997
Created attachment 208784 [details] almost patch for landing
Created attachment 208787 [details] basically patch for landing
(In reply to comment #86) > Created an attachment (id=208787) [details] > basically patch for landing Any benchmark results yet?
(In reply to comment #87) > (In reply to comment #86) > > Created an attachment (id=208787) [details] [details] > > basically patch for landing > > Any benchmark results yet? Haven't run all of the benchmarks yet because I'm still writing JSRegress tests. Here are the results of JSRegress: Benchmark report for JSRegress on bigmac (MacPro5,1). VMs tested: "TipOfTree" at /Volumes/Data/pizlo/quartary/OpenSource/WebKitBuild/Release/DumpRenderTree (r154064) "TypedArrays" at /Volumes/Data/pizlo/secondary/OpenSource/WebKitBuild/Release/DumpRenderTree (r154064) Collected 12 samples per benchmark/VM, with 4 VM invocations per benchmark. Emitted a call to gc() between sample measurements. Used 1 benchmark iteration per VM invocation for warm-up. Used the jsc-specific preciseTime() function to get microsecond-level timing. Reporting benchmark execution times with 95% confidence intervals in milliseconds. TipOfTree TypedArrays adapt-to-double-divide 18.6207+-0.0485 ? 18.6217+-0.0540 ? aliased-arguments-getbyval 0.8169+-0.0293 0.7954+-0.0198 might be 1.0270x faster allocate-big-object 3.3608+-1.1360 3.3428+-1.1262 arity-mismatch-inlining 0.7309+-0.0222 0.7173+-0.0136 might be 1.0190x faster array-access-polymorphic-structure 7.4662+-1.7097 6.9955+-1.6366 might be 1.0673x faster array-nonarray-polymorhpic-access 54.4988+-17.4486 ? 70.4646+-27.3017 ? might be 1.2930x slower array-with-double-add 4.8595+-0.0131 ^ 4.4604+-0.0307 ^ definitely 1.0895x faster array-with-double-increment 3.4526+-0.0278 ? 3.4841+-0.0837 ? array-with-double-mul-add 6.3111+-0.0613 6.0658+-0.2215 might be 1.0404x faster array-with-double-sum 6.4951+-0.0201 ? 6.5159+-0.0369 ? array-with-int32-add-sub 8.7282+-0.0662 ^ 7.7251+-0.0256 ^ definitely 1.1298x faster array-with-int32-or-double-sum 6.5748+-0.0311 6.5727+-0.0271 ArrayBuffer-Int8Array-alloc-huge-long-lived 213.9001+-1.3898 ^ 185.5920+-1.6105 ^ definitely 1.1525x faster ArrayBuffer-Int8Array-alloc-large-long-lived 167.1645+-2.0905 ^ 112.5971+-1.0925 ^ definitely 1.4846x faster ArrayBuffer-Int8Array-alloc-long-lived-buffer 123.8969+-5.2077 ^ 69.6711+-8.9834 ^ definitely 1.7783x faster ArrayBuffer-Int8Array-alloc-long-lived 86.6391+-4.7214 ^ 35.9230+-3.3515 ^ definitely 2.4118x faster ArrayBuffer-Int8Array-alloc 82.6284+-4.5231 ^ 32.2971+-3.3759 ^ definitely 2.5584x faster big-int-mul 3.9310+-0.0291 3.9086+-0.0234 boolean-test 3.6109+-0.0304 3.5808+-0.0148 branch-fold 3.9313+-0.0400 3.8880+-0.0187 might be 1.0111x faster cast-int-to-double 11.7287+-0.0459 11.7000+-0.0619 cell-argument 12.1147+-0.1945 ? 12.2797+-0.2198 ? might be 1.0136x slower cfg-simplify 3.1320+-0.0328 3.1282+-0.0247 cmpeq-obj-to-obj-other 10.7285+-0.1109 10.5279+-0.1552 might be 1.0190x faster constant-test 7.1215+-0.0663 7.0692+-0.0558 delay-tear-off-arguments-strictmode 2.6659+-0.0315 ? 2.6805+-0.0300 ? direct-arguments-getbyval 0.6839+-0.0233 0.6549+-0.0065 might be 1.0444x faster double-pollution-getbyval 8.8932+-0.0387 ? 8.9555+-0.0363 ? double-pollution-putbyoffset 5.4031+-0.4915 ? 5.4265+-0.5217 ? empty-string-plus-int 11.5085+-0.2067 ? 11.5151+-0.2381 ? external-arguments-getbyval 1.9239+-0.1340 ? 1.9321+-0.1360 ? external-arguments-putbyval 3.0468+-0.2406 ? 3.0628+-0.2588 ? Float32Array-matrix-mult 12.7405+-0.6335 ^ 5.9165+-0.1776 ^ definitely 2.1534x faster fold-double-to-int 20.8748+-0.0785 ? 21.0941+-0.3167 ? might be 1.0105x slower function-dot-apply 2.5081+-0.0320 ? 2.5162+-0.0239 ? function-test 4.0868+-0.0503 3.9933+-0.0657 might be 1.0234x faster get-by-id-chain-from-try-block 5.5896+-0.1098 ? 5.5971+-0.1122 ? get-by-id-proto-or-self 19.0509+-0.3221 19.0373+-0.3309 get-by-id-self-or-proto 19.1106+-0.3219 ? 19.2181+-0.2988 ? HashMap-put-get-iterate-keys 36.6813+-0.5588 36.5520+-0.5118 HashMap-put-get-iterate 45.2546+-0.8527 44.4569+-0.8553 might be 1.0179x faster HashMap-string-put-get-iterate 51.9022+-1.0700 50.6803+-0.3332 might be 1.0241x faster imul-double-only 14.7113+-0.5999 14.7053+-0.5902 imul-int-only 12.2366+-0.1532 ? 12.2997+-0.1628 ? imul-mixed 18.1586+-0.0197 ? 18.4642+-0.5929 ? might be 1.0168x slower in-four-cases 21.5439+-0.0192 ? 21.5622+-0.0313 ? in-one-case-false 10.0769+-0.0161 10.0690+-0.0157 in-one-case-true 10.0631+-0.0126 10.0621+-0.0124 in-two-cases 10.3830+-0.0178 ? 10.4458+-0.0613 ? indexed-properties-in-objects 3.4485+-0.0208 ? 3.4860+-0.0636 ? might be 1.0109x slower inline-arguments-access 1.1808+-0.0159 ? 1.1914+-0.0191 ? inline-arguments-local-escape 21.5799+-0.1127 ? 22.1931+-1.5457 ? might be 1.0284x slower inline-get-scoped-var 5.5548+-0.0625 ? 5.6020+-0.0481 ? inlined-put-by-id-transition 12.6774+-0.2444 ? 12.7698+-0.2437 ? int-or-other-abs-then-get-by-val 7.6149+-0.1028 ? 7.6263+-0.1118 ? int-or-other-abs-zero-then-get-by-val 29.9733+-0.1294 ! 30.6477+-0.2960 ! definitely 1.0225x slower int-or-other-add-then-get-by-val 8.5776+-0.1821 ? 8.6139+-0.1842 ? int-or-other-add 8.7137+-0.0382 8.6823+-0.0426 int-or-other-div-then-get-by-val 5.1189+-0.0099 ? 5.1388+-0.0279 ? int-or-other-max-then-get-by-val 5.8247+-0.0145 ? 5.8375+-0.0231 ? int-or-other-min-then-get-by-val 5.8764+-0.0166 ? 5.9024+-0.0362 ? int-or-other-mod-then-get-by-val 5.1258+-0.2819 5.1160+-0.2926 int-or-other-mul-then-get-by-val 5.3807+-0.0666 ? 5.3832+-0.0683 ? int-or-other-neg-then-get-by-val 6.7551+-0.1551 6.7207+-0.1703 int-or-other-neg-zero-then-get-by-val 29.8813+-0.1200 ! 30.7214+-0.2695 ! definitely 1.0281x slower int-or-other-sub-then-get-by-val 8.6125+-0.1856 8.5884+-0.1675 int-or-other-sub 6.7468+-0.0319 ? 6.7731+-0.0376 ? int-overflow-local 9.7688+-0.0574 9.7248+-0.0328 Int16Array-bubble-sort 82.4311+-1.1673 ^ 39.6341+-0.0537 ^ definitely 2.0798x faster Int16Array-load-int-mul 1.6623+-0.0275 1.6620+-0.0226 Int32Array-alloc-huge-long-lived 757.4855+-5.2911 ^ 639.8586+-13.3216 ^ definitely 1.1838x faster Int32Array-alloc-huge 697.2204+-4.6194 ^ 661.1345+-7.0446 ^ definitely 1.0546x faster Int32Array-alloc-large-long-lived 1943.0547+-17.8922 ^ 872.3223+-6.3777 ^ definitely 2.2275x faster Int32Array-alloc-large 42.5805+-0.9357 ^ 39.6919+-0.6536 ^ definitely 1.0728x faster Int32Array-alloc-long-lived 1734.8021+-11.2321 ^ 156.6020+-1.4759 ^ definitely 11.0778x faster Int32Array-alloc 146.3680+-5.5937 ^ 14.1430+-2.4187 ^ definitely 10.3492x faster Int32Array-Int8Array-view-alloc 45.4261+-2.1609 ^ 20.9682+-1.6990 ^ definitely 2.1664x faster Int8Array-load 5.6516+-0.0095 ^ 3.9993+-0.0345 ^ definitely 1.4131x faster integer-divide 12.6468+-0.0203 ? 12.6543+-0.0174 ? integer-modulo 1.5729+-0.0248 ? 1.5751+-0.0158 ? make-indexed-storage 3.9005+-0.4760 ? 3.9572+-0.5036 ? might be 1.0146x slower make-rope-cse 14.3240+-2.3263 13.9001+-2.5814 might be 1.0305x faster marsaglia 431.0035+-0.3600 ? 431.3984+-0.5997 ? method-on-number 20.4147+-0.2598 ? 20.7468+-0.6967 ? might be 1.0163x slower negative-zero-divide 0.2756+-0.0108 0.2755+-0.0069 negative-zero-modulo 0.2667+-0.0117 0.2662+-0.0094 negative-zero-negate 0.2532+-0.0128 ? 0.2552+-0.0104 ? nested-function-parsing-random 330.0756+-10.2378 ? 344.3963+-10.1378 ? might be 1.0434x slower nested-function-parsing 48.0258+-3.1809 ? 48.1729+-3.1465 ? new-array-buffer-dead 3.2005+-0.0791 ? 3.2685+-0.0990 ? might be 1.0213x slower new-array-buffer-push 12.4981+-2.0215 12.4667+-1.9960 new-array-dead 23.4881+-0.1057 23.4483+-0.0344 new-array-push 10.4484+-1.7883 10.3062+-1.7511 might be 1.0138x faster number-test 3.5279+-0.0174 ? 3.5295+-0.0215 ? object-closure-call 8.2809+-1.3401 7.4378+-0.8786 might be 1.1134x faster object-test 3.9752+-0.0544 ^ 3.7677+-0.0212 ^ definitely 1.0551x faster poly-stricteq 75.0332+-0.1438 ! 76.3957+-1.1700 ! definitely 1.0182x slower polymorphic-structure 17.5335+-0.4360 17.4594+-0.0883 polyvariant-monomorphic-get-by-id 10.3139+-0.0201 10.3133+-0.0129 put-by-val-large-index-blank-indexing-type 13.5361+-2.6712 13.5187+-2.6086 rare-osr-exit-on-local 16.6915+-0.1198 16.5888+-0.0272 register-pressure-from-osr 25.9460+-0.0547 25.9277+-0.0193 simple-activation-demo 28.6525+-0.2228 28.6214+-0.1854 slow-array-profile-convergence 3.8457+-0.2141 ? 3.9242+-0.1590 ? might be 1.0204x slower slow-convergence 2.9434+-0.0224 ? 2.9569+-0.0174 ? sparse-conditional 1.0682+-0.0155 ? 1.0836+-0.0221 ? might be 1.0144x slower splice-to-remove 40.3405+-0.1705 ^ 39.3793+-0.1029 ^ definitely 1.0244x faster string-concat-object 4.3391+-1.1594 4.2052+-1.2092 might be 1.0318x faster string-concat-pair-object 4.2576+-1.1830 4.1789+-1.2264 might be 1.0188x faster string-concat-pair-simple 17.1096+-0.7523 17.0714+-0.5794 string-concat-simple 17.0518+-0.7672 ? 17.0632+-0.4804 ? string-cons-repeat 14.1581+-1.0026 12.8138+-0.9174 might be 1.1049x faster string-cons-tower 14.5581+-0.8413 13.0936+-0.9127 might be 1.1118x faster string-equality 35.9899+-0.0358 ? 36.1712+-0.2742 ? string-get-by-val-big-char 14.1794+-0.1814 ! 14.6283+-0.1413 ! definitely 1.0317x slower string-get-by-val-out-of-bounds-insane 4.4204+-0.0853 ^ 4.2301+-0.0997 ^ definitely 1.0450x faster string-get-by-val-out-of-bounds 3.8174+-0.0137 3.8099+-0.0136 string-get-by-val 3.3236+-0.0364 ? 3.3614+-0.0401 ? might be 1.0114x slower string-hash 2.1732+-0.0362 2.1635+-0.0275 string-long-ident-equality 31.7176+-0.3897 31.6703+-0.3787 string-repeat-arith 42.5467+-1.6037 ^ 39.5945+-0.2429 ^ definitely 1.0746x faster string-sub 81.6218+-2.6221 79.1164+-0.5086 might be 1.0317x faster string-test 3.5134+-0.0254 3.4926+-0.0217 string-var-equality 59.5890+-0.5972 59.2934+-0.0593 structure-hoist-over-transitions 3.2614+-0.5337 3.2458+-0.5189 switch-char-constant 2.7506+-0.0086 ? 2.7629+-0.0350 ? switch-char 6.6288+-0.0650 6.5698+-0.0087 switch-constant 11.1570+-2.2347 ? 11.1966+-2.2764 ? switch-string-basic-big-var 23.0633+-1.1740 21.8061+-1.4759 might be 1.0577x faster switch-string-basic-big 19.6221+-1.2529 ? 21.5853+-1.3551 ? might be 1.1001x slower switch-string-basic-var 17.9945+-0.2592 17.9882+-0.2618 switch-string-basic 18.7130+-1.4782 17.5558+-0.4710 might be 1.0659x faster switch-string-big-length-tower-var 24.9517+-0.5256 24.3747+-0.0541 might be 1.0237x faster switch-string-length-tower-var 18.8031+-0.0628 ? 18.8127+-0.0858 ? switch-string-length-tower 14.5849+-0.0578 ? 14.6524+-0.1530 ? switch-string-short 14.4762+-0.0130 ? 14.5384+-0.0562 ? switch 16.8100+-2.3355 16.4160+-2.4434 might be 1.0240x faster tear-off-arguments-simple 1.8968+-0.0580 1.8651+-0.0293 might be 1.0170x faster tear-off-arguments 2.8884+-0.0656 2.8757+-0.0188 temporal-structure 17.4522+-0.0517 17.4333+-0.0477 to-int32-boolean 18.1188+-0.0177 ? 18.1889+-0.0648 ? undefined-test 3.6725+-0.0323 ? 3.7154+-0.0420 ? might be 1.0117x slower <arithmetic> 60.5770+-0.4271 ^ 37.8105+-0.1895 ^ definitely 1.6021x faster <geometric> * 11.3306+-0.1465 ^ 10.4026+-0.1034 ^ definitely 1.0892x faster <harmonic> 3.9930+-0.0693 3.9376+-0.0558 might be 1.0141x faster
Created attachment 208791 [details] rebased
Attachment 208791 [details] did not pass style-queue: Failed to run "['Tools/Scripts/check-webkit-style', '--diff-files', u'ChangeLog', u'LayoutTests/ChangeLog', u'LayoutTests/fast/canvas/webgl/array-set-invalid-arguments-expected.txt', u'LayoutTests/fast/canvas/webgl/array-set-out-of-bounds-expected.txt', u'LayoutTests/fast/canvas/webgl/array-unit-tests-expected.txt', u'LayoutTests/fast/canvas/webgl/array-unit-tests.html', u'LayoutTests/fast/canvas/webgl/data-view-crash-expected.txt', u'LayoutTests/fast/canvas/webgl/script-tests/arraybuffer-transfer-of-control.js', u'LayoutTests/fast/dom/call-a-constructor-as-a-function-expected.txt', u'LayoutTests/fast/dom/call-a-constructor-as-a-function.html', u'LayoutTests/fast/js/constructor-length.html', u'LayoutTests/fast/js/global-constructors-attributes-dedicated-worker-expected.txt', u'LayoutTests/fast/js/global-constructors-attributes-expected.txt', u'LayoutTests/fast/js/global-constructors-attributes-shared-worker-expected.txt', u'LayoutTests/fast/js/regress/ArrayBuffer-Int8Array-alloc-expected.txt', u'LayoutTests/fast/js/regress/ArrayBuffer-Int8Array-alloc-huge-long-lived-expected.txt', u'LayoutTests/fast/js/regress/ArrayBuffer-Int8Array-alloc-huge-long-lived.html', u'LayoutTests/fast/js/regress/ArrayBuffer-Int8Array-alloc-large-long-lived-expected.txt', u'LayoutTests/fast/js/regress/ArrayBuffer-Int8Array-alloc-large-long-lived.html', u'LayoutTests/fast/js/regress/ArrayBuffer-Int8Array-alloc-long-lived-buffer-expected.txt', u'LayoutTests/fast/js/regress/ArrayBuffer-Int8Array-alloc-long-lived-buffer.html', u'LayoutTests/fast/js/regress/ArrayBuffer-Int8Array-alloc-long-lived-expected.txt', u'LayoutTests/fast/js/regress/ArrayBuffer-Int8Array-alloc-long-lived.html', u'LayoutTests/fast/js/regress/ArrayBuffer-Int8Array-alloc.html', u'LayoutTests/fast/js/regress/Int32Array-Int8Array-view-alloc-expected.txt', u'LayoutTests/fast/js/regress/Int32Array-Int8Array-view-alloc.html', u'LayoutTests/fast/js/regress/Int32Array-alloc-expected.txt', u'LayoutTests/fast/js/regress/Int32Array-alloc-huge-expected.txt', u'LayoutTests/fast/js/regress/Int32Array-alloc-huge-long-lived-expected.txt', u'LayoutTests/fast/js/regress/Int32Array-alloc-huge-long-lived.html', u'LayoutTests/fast/js/regress/Int32Array-alloc-huge.html', u'LayoutTests/fast/js/regress/Int32Array-alloc-large-expected.txt', u'LayoutTests/fast/js/regress/Int32Array-alloc-large-long-lived-expected.txt', u'LayoutTests/fast/js/regress/Int32Array-alloc-large-long-lived.html', u'LayoutTests/fast/js/regress/Int32Array-alloc-large.html', u'LayoutTests/fast/js/regress/Int32Array-alloc-long-lived-expected.txt', u'LayoutTests/fast/js/regress/Int32Array-alloc-long-lived.html', u'LayoutTests/fast/js/regress/Int32Array-alloc.html', u'LayoutTests/fast/js/regress/script-tests/ArrayBuffer-Int8Array-alloc-huge-long-lived.js', u'LayoutTests/fast/js/regress/script-tests/ArrayBuffer-Int8Array-alloc-large-long-lived.js', u'LayoutTests/fast/js/regress/script-tests/ArrayBuffer-Int8Array-alloc-long-lived-buffer.js', u'LayoutTests/fast/js/regress/script-tests/ArrayBuffer-Int8Array-alloc-long-lived.js', u'LayoutTests/fast/js/regress/script-tests/ArrayBuffer-Int8Array-alloc.js', u'LayoutTests/fast/js/regress/script-tests/Int32Array-Int8Array-view-alloc.js', u'LayoutTests/fast/js/regress/script-tests/Int32Array-alloc-huge-long-lived.js', u'LayoutTests/fast/js/regress/script-tests/Int32Array-alloc-huge.js', u'LayoutTests/fast/js/regress/script-tests/Int32Array-alloc-large-long-lived.js', u'LayoutTests/fast/js/regress/script-tests/Int32Array-alloc-large.js', u'LayoutTests/fast/js/regress/script-tests/Int32Array-alloc-long-lived.js', u'LayoutTests/fast/js/regress/script-tests/Int32Array-alloc.js', u'LayoutTests/platform/mac/fast/js/constructor-length-expected.txt', u'LayoutTests/webgl/resources/webgl_test_files/conformance/typedarrays/array-unit-tests.html', u'LayoutTests/webgl/resources/webgl_test_files/conformance/typedarrays/data-view-test.html', u'Source/JavaScriptCore/CMakeLists.txt', u'Source/JavaScriptCore/ChangeLog', u'Source/JavaScriptCore/DerivedSources.make', u'Source/JavaScriptCore/GNUmakefile.list.am', u'Source/JavaScriptCore/JSCTypedArrayStubs.h', u'Source/JavaScriptCore/JavaScriptCore.vcxproj/JavaScriptCore.vcxproj', u'Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj', u'Source/JavaScriptCore/Target.pri', u'Source/JavaScriptCore/bytecode/ByValInfo.h', u'Source/JavaScriptCore/bytecode/SpeculatedType.cpp', u'Source/JavaScriptCore/dfg/DFGArrayMode.cpp', u'Source/JavaScriptCore/dfg/DFGArrayMode.h', u'Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp', u'Source/JavaScriptCore/dfg/DFGSpeculativeJIT.h', u'Source/JavaScriptCore/dfg/DFGSpeculativeJIT32_64.cpp', u'Source/JavaScriptCore/dfg/DFGSpeculativeJIT64.cpp', u'Source/JavaScriptCore/heap/CopyToken.h', u'Source/JavaScriptCore/heap/DeferGC.h', u'Source/JavaScriptCore/heap/GCIncomingRefCounted.h', u'Source/JavaScriptCore/heap/GCIncomingRefCountedInlines.h', u'Source/JavaScriptCore/heap/GCIncomingRefCountedSet.h', u'Source/JavaScriptCore/heap/GCIncomingRefCountedSetInlines.h', u'Source/JavaScriptCore/heap/Heap.cpp', u'Source/JavaScriptCore/heap/Heap.h', u'Source/JavaScriptCore/heap/WeakInlines.h', u'Source/JavaScriptCore/interpreter/CallFrame.h', u'Source/JavaScriptCore/jit/JIT.h', u'Source/JavaScriptCore/jit/JITPropertyAccess.cpp', u'Source/JavaScriptCore/jsc.cpp', u'Source/JavaScriptCore/runtime/ArrayBuffer.cpp', u'Source/JavaScriptCore/runtime/ArrayBuffer.h', u'Source/JavaScriptCore/runtime/ArrayBufferView.cpp', u'Source/JavaScriptCore/runtime/ArrayBufferView.h', u'Source/JavaScriptCore/runtime/ClassInfo.h', u'Source/JavaScriptCore/runtime/CommonIdentifiers.h', u'Source/JavaScriptCore/runtime/DataView.cpp', u'Source/JavaScriptCore/runtime/DataView.h', u'Source/JavaScriptCore/runtime/Float32Array.h', u'Source/JavaScriptCore/runtime/Float64Array.h', u'Source/JavaScriptCore/runtime/GenericTypedArrayView.h', u'Source/JavaScriptCore/runtime/GenericTypedArrayViewInlines.h', u'Source/JavaScriptCore/runtime/IndexingHeader.h', u'Source/JavaScriptCore/runtime/Int16Array.h', u'Source/JavaScriptCore/runtime/Int32Array.h', u'Source/JavaScriptCore/runtime/Int8Array.h', u'Source/JavaScriptCore/runtime/JSArrayBuffer.cpp', u'Source/JavaScriptCore/runtime/JSArrayBuffer.h', u'Source/JavaScriptCore/runtime/JSArrayBufferConstructor.cpp', u'Source/JavaScriptCore/runtime/JSArrayBufferConstructor.h', u'Source/JavaScriptCore/runtime/JSArrayBufferPrototype.cpp', u'Source/JavaScriptCore/runtime/JSArrayBufferPrototype.h', u'Source/JavaScriptCore/runtime/JSArrayBufferView.cpp', u'Source/JavaScriptCore/runtime/JSArrayBufferView.h', u'Source/JavaScriptCore/runtime/JSArrayBufferViewInlines.h', u'Source/JavaScriptCore/runtime/JSCell.cpp', u'Source/JavaScriptCore/runtime/JSCell.h', u'Source/JavaScriptCore/runtime/JSDataView.cpp', u'Source/JavaScriptCore/runtime/JSDataView.h', u'Source/JavaScriptCore/runtime/JSDataViewPrototype.cpp', u'Source/JavaScriptCore/runtime/JSDataViewPrototype.h', u'Source/JavaScriptCore/runtime/JSFloat32Array.h', u'Source/JavaScriptCore/runtime/JSFloat64Array.h', u'Source/JavaScriptCore/runtime/JSGenericTypedArrayView.h', u'Source/JavaScriptCore/runtime/JSGenericTypedArrayViewConstructor.h', u'Source/JavaScriptCore/runtime/JSGenericTypedArrayViewConstructorInlines.h', u'Source/JavaScriptCore/runtime/JSGenericTypedArrayViewInlines.h', u'Source/JavaScriptCore/runtime/JSGenericTypedArrayViewPrototype.h', u'Source/JavaScriptCore/runtime/JSGenericTypedArrayViewPrototypeInlines.h', u'Source/JavaScriptCore/runtime/JSGlobalObject.cpp', u'Source/JavaScriptCore/runtime/JSGlobalObject.h', u'Source/JavaScriptCore/runtime/JSInt16Array.h', u'Source/JavaScriptCore/runtime/JSInt32Array.h', u'Source/JavaScriptCore/runtime/JSInt8Array.h', u'Source/JavaScriptCore/runtime/JSTypedArrayConstructors.cpp', u'Source/JavaScriptCore/runtime/JSTypedArrayConstructors.h', u'Source/JavaScriptCore/runtime/JSTypedArrayPrototypes.cpp', u'Source/JavaScriptCore/runtime/JSTypedArrayPrototypes.h', u'Source/JavaScriptCore/runtime/JSTypedArrays.cpp', u'Source/JavaScriptCore/runtime/JSTypedArrays.h', u'Source/JavaScriptCore/runtime/JSUint16Array.h', u'Source/JavaScriptCore/runtime/JSUint32Array.h', u'Source/JavaScriptCore/runtime/JSUint8Array.h', u'Source/JavaScriptCore/runtime/JSUint8ClampedArray.h', u'Source/JavaScriptCore/runtime/Operations.h', u'Source/JavaScriptCore/runtime/Options.h', u'Source/JavaScriptCore/runtime/SimpleTypedArrayController.cpp', u'Source/JavaScriptCore/runtime/SimpleTypedArrayController.h', u'Source/JavaScriptCore/runtime/Structure.h', u'Source/JavaScriptCore/runtime/StructureInlines.h', u'Source/JavaScriptCore/runtime/TypedArrayAdaptors.h', u'Source/JavaScriptCore/runtime/TypedArrayController.cpp', u'Source/JavaScriptCore/runtime/TypedArrayController.h', u'Source/JavaScriptCore/runtime/TypedArrayDescriptor.h', u'Source/JavaScriptCore/runtime/TypedArrayInlines.h', u'Source/JavaScriptCore/runtime/TypedArrayType.cpp', u'Source/JavaScriptCore/runtime/TypedArrayType.h', u'Source/JavaScriptCore/runtime/TypedArrays.h', u'Source/JavaScriptCore/runtime/Uint16Array.h', u'Source/JavaScriptCore/runtime/Uint32Array.h', u'Source/JavaScriptCore/runtime/Uint8Array.h', u'Source/JavaScriptCore/runtime/Uint8ClampedArray.h', u'Source/JavaScriptCore/runtime/VM.cpp', u'Source/JavaScriptCore/runtime/VM.h', u'Source/WTF/ChangeLog', u'Source/WTF/GNUmakefile.list.am', u'Source/WTF/WTF.vcxproj/WTF.vcxproj', u'Source/WTF/WTF.xcodeproj/project.pbxproj', u'Source/WTF/wtf/CMakeLists.txt', u'Source/WTF/wtf/DeferrableRefCounted.h', u'Source/WTF/wtf/FlipBytes.h', u'Source/WebCore/CMakeLists.txt', u'Source/WebCore/ChangeLog', u'Source/WebCore/DerivedSources.make', u'Source/WebCore/DerivedSources.pri', u'Source/WebCore/ForwardingHeaders/runtime/DataView.h', u'Source/WebCore/ForwardingHeaders/runtime/JSArrayBuffer.h', u'Source/WebCore/ForwardingHeaders/runtime/JSArrayBufferView.h', u'Source/WebCore/ForwardingHeaders/runtime/JSDataView.h', u'Source/WebCore/ForwardingHeaders/runtime/JSTypedArrays.h', u'Source/WebCore/ForwardingHeaders/runtime/TypedArrayController.h', u'Source/WebCore/ForwardingHeaders/runtime/TypedArrayInlines.h', u'Source/WebCore/ForwardingHeaders/runtime/TypedArrays.h', u'Source/WebCore/GNUmakefile.list.am', u'Source/WebCore/Modules/webaudio/RealtimeAnalyser.h', u'Source/WebCore/Target.pri', u'Source/WebCore/UseJSC.cmake', u'Source/WebCore/WebCore.exp.in', u'Source/WebCore/WebCore.vcxproj/WebCore.vcxproj', u'Source/WebCore/WebCore.xcodeproj/project.pbxproj', u'Source/WebCore/bindings/js/DOMWrapperWorld.h', u'Source/WebCore/bindings/js/JSArrayBufferCustom.cpp', u'Source/WebCore/bindings/js/JSArrayBufferViewHelper.h', u'Source/WebCore/bindings/js/JSAudioContextCustom.cpp', u'Source/WebCore/bindings/js/JSBindingsAllInOne.cpp', u'Source/WebCore/bindings/js/JSBlobCustom.cpp', u'Source/WebCore/bindings/js/JSCSSRuleCustom.cpp', u'Source/WebCore/bindings/js/JSCSSValueCustom.cpp', u'Source/WebCore/bindings/js/JSCryptoCustom.cpp', u'Source/WebCore/bindings/js/JSDOMBinding.h', u'Source/WebCore/bindings/js/JSDataViewCustom.cpp', u'Source/WebCore/bindings/js/JSDictionary.cpp', u'Source/WebCore/bindings/js/JSDictionary.h', u'Source/WebCore/bindings/js/JSDocumentCustom.cpp', u'Source/WebCore/bindings/js/JSEventCustom.cpp', u'Source/WebCore/bindings/js/JSFileReaderCustom.cpp', u'Source/WebCore/bindings/js/JSHTMLCollectionCustom.cpp', u'Source/WebCore/bindings/js/JSHTMLTemplateElementCustom.cpp', u'Source/WebCore/bindings/js/JSImageDataCustom.cpp', u'Source/WebCore/bindings/js/JSInjectedScriptHostCustom.cpp', u'Source/WebCore/bindings/js/JSMessageEventCustom.cpp', u'Source/WebCore/bindings/js/JSMessagePortCustom.cpp', u'Source/WebCore/bindings/js/JSSVGPathSegCustom.cpp', u'Source/WebCore/bindings/js/JSStyleSheetCustom.cpp', u'Source/WebCore/bindings/js/JSTrackCustom.cpp', u'Source/WebCore/bindings/js/JSWebGLRenderingContextCustom.cpp', u'Source/WebCore/bindings/js/JSXMLHttpRequestCustom.cpp', u'Source/WebCore/bindings/js/SerializedScriptValue.cpp', u'Source/WebCore/bindings/js/WebCoreJSClientData.h', u'Source/WebCore/bindings/js/WebCoreTypedArrayController.cpp', u'Source/WebCore/bindings/js/WebCoreTypedArrayController.h', u'Source/WebCore/bindings/scripts/CodeGenerator.pm', u'Source/WebCore/bindings/scripts/CodeGeneratorJS.pm', u'Source/WebCore/fileapi/WebKitBlobBuilder.cpp', u'Source/WebCore/fileapi/WebKitBlobBuilder.h', u'Source/WebCore/html/canvas/ArrayBuffer.idl', u'Source/WebCore/html/canvas/ArrayBufferView.idl', u'Source/WebCore/html/canvas/DataView.cpp', u'Source/WebCore/html/canvas/DataView.h', u'Source/WebCore/html/canvas/DataView.idl', u'Source/WebCore/html/canvas/Float32Array.idl', u'Source/WebCore/html/canvas/Float64Array.idl', u'Source/WebCore/html/canvas/Int16Array.idl', u'Source/WebCore/html/canvas/Int32Array.idl', u'Source/WebCore/html/canvas/Int8Array.idl', u'Source/WebCore/html/canvas/Uint16Array.idl', u'Source/WebCore/html/canvas/Uint32Array.idl', u'Source/WebCore/html/canvas/Uint8Array.idl', u'Source/WebCore/html/canvas/Uint8ClampedArray.idl', u'Source/WebCore/html/canvas/WebGLRenderingContext.cpp', u'Source/WebCore/page/Crypto.cpp', u'Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm', u'Source/WebCore/platform/graphics/filters/FECustomFilter.h', u'Source/WebCore/platform/graphics/filters/FEGaussianBlur.cpp', u'Source/WebCore/platform/graphics/filters/FilterEffect.cpp', u'Source/WebCore/testing/MockCDM.cpp', u'Source/WebKit2/ChangeLog', u'Source/WebKit2/WebProcess/InjectedBundle/InjectedBundle.cpp', u'Source/autotools/symbols.filter']" exit_code: 1 Source/JavaScriptCore/runtime/JSTypedArrays.cpp:38: preprocessor directives (e.g., #ifdef, #define, #import) should never be indented. [whitespace/indent] [4] Source/JavaScriptCore/runtime/JSGlobalObject.h:28: Alphabetical sorting problem. [build/include_order] [4] Source/JavaScriptCore/runtime/JSDataViewPrototype.cpp:255: Alphabetical sorting problem. [build/include_order] [4] Total errors found: 3 in 211 files If any of these errors are false positives, please file a bug against check-webkit-style.
Comment on attachment 208791 [details] rebased Attachment 208791 [details] did not pass qt-ews (qt): Output: http://webkit-queues.appspot.com/results/1464318
Comment on attachment 208791 [details] rebased Attachment 208791 [details] did not pass qt-wk2-ews (qt-wk2): Output: http://webkit-queues.appspot.com/results/1468137
Comment on attachment 208791 [details] rebased Attachment 208791 [details] did not pass mac-ews (mac): Output: http://webkit-queues.appspot.com/results/1464322
This appears to be a 1% speed-up on Octane. Benchmark report for SunSpider, V8Spider, Octane, Kraken, JSBench, JSRegress, and DSP on bigmac (MacPro5,1). VMs tested: "TipOfTree" at /Volumes/Data/pizlo/quartary/OpenSource/WebKitBuild/Release/DumpRenderTree (r154087) "TypedArrays" at /Volumes/Data/pizlo/secondary/OpenSource/WebKitBuild/Release/DumpRenderTree (r154087) Collected 12 samples per benchmark/VM, with 4 VM invocations per benchmark. Emitted a call to gc() between sample measurements. Used 1 benchmark iteration per VM invocation for warm-up. Used the jsc-specific preciseTime() function to get microsecond-level timing. Reporting benchmark execution times with 95% confidence intervals in milliseconds. TipOfTree TypedArrays SunSpider: 3d-cube 6.2510+-0.2367 6.1073+-0.2644 might be 1.0235x faster 3d-morph 6.9834+-0.0348 ? 6.9946+-0.0579 ? 3d-raytrace 8.0387+-0.2436 7.7322+-0.1207 might be 1.0396x faster access-binary-trees 2.2434+-0.3014 2.1595+-0.3117 might be 1.0388x faster access-fannkuch 6.4115+-0.0774 ? 6.4445+-0.0800 ? access-nbody 3.3291+-0.0152 ? 3.3359+-0.0162 ? access-nsieve 4.1479+-0.0572 ? 4.1630+-0.0657 ? bitops-3bit-bits-in-byte 1.4842+-0.0154 1.4802+-0.0075 bitops-bits-in-byte 5.5462+-0.0705 5.5423+-0.0586 bitops-bitwise-and 2.2925+-0.0256 2.2788+-0.0283 bitops-nsieve-bits 3.8377+-0.0177 ! 3.8755+-0.0201 ! definitely 1.0099x slower controlflow-recursive 2.3914+-0.0151 ? 2.4006+-0.0057 ? crypto-aes 4.8419+-0.2855 4.6192+-0.2930 might be 1.0482x faster crypto-md5 2.6136+-0.0237 ? 2.6590+-0.0435 ? might be 1.0173x slower crypto-sha1 2.3774+-0.0308 2.3720+-0.0131 date-format-tofte 10.8987+-0.9207 10.8265+-0.8408 date-format-xparb 7.4958+-0.6223 7.3716+-0.5713 might be 1.0169x faster math-cordic 3.2480+-0.0121 3.2343+-0.0154 math-partial-sums 8.6216+-0.0199 ? 8.6611+-0.0260 ? math-spectral-norm 2.3505+-0.0244 2.3431+-0.0148 regexp-dna 10.7306+-0.4742 10.6671+-0.4649 string-base64 5.2536+-0.4802 5.2137+-0.4704 string-fasta 10.1048+-0.2206 ? 10.1816+-0.3344 ? string-tagcloud 12.0342+-0.1430 ? 12.1335+-0.2249 ? string-unpack-code 26.2446+-0.3451 26.0543+-0.3384 string-validate-input 7.4186+-0.2431 ? 7.4500+-0.2891 ? <arithmetic> * 6.4304+-0.1327 6.3962+-0.1237 might be 1.0053x faster <geometric> 5.0987+-0.0886 5.0703+-0.0816 might be 1.0056x faster <harmonic> 4.1319+-0.0610 4.1084+-0.0618 might be 1.0057x faster TipOfTree TypedArrays V8Spider: crypto 67.9702+-0.4523 67.8836+-0.3255 deltablue 85.1183+-1.0679 ? 85.2560+-0.7206 ? earley-boyer 60.0741+-0.4410 59.6739+-0.4235 raytrace 38.2987+-4.4309 37.9268+-4.4281 regexp 85.1383+-0.2907 84.9382+-0.4428 richards 93.7347+-1.0393 ? 94.6229+-1.6516 ? splay 51.0414+-2.9116 ? 51.5860+-2.8457 ? might be 1.0107x slower <arithmetic> 68.7680+-0.5544 ? 68.8410+-0.7151 ? might be 1.0011x slower <geometric> * 65.7829+-0.8370 ? 65.8009+-0.9708 ? might be 1.0003x slower <harmonic> 62.5044+-1.2796 62.4616+-1.4108 might be 1.0007x faster TipOfTree TypedArrays Octane and V8v7: encrypt 0.39844+-0.00027 ? 0.39918+-0.00053 ? decrypt 7.19208+-0.01526 ? 7.19222+-0.01662 ? deltablue x2 0.49976+-0.00415 ? 0.50102+-0.00510 ? earley 0.75696+-0.00511 0.75652+-0.00536 boyer 10.50856+-0.03643 ? 10.56691+-0.03706 ? raytrace x2 3.70227+-0.05456 3.69667+-0.04317 regexp x2 26.48711+-0.08800 ^ 26.30619+-0.07248 ^ definitely 1.0069x faster richards x2 0.25766+-0.00297 0.25678+-0.00335 splay x2 0.58294+-0.03516 0.57384+-0.02723 might be 1.0158x faster navier-stokes x2 9.03660+-0.00635 9.02859+-0.00481 closure 0.33752+-0.00892 ? 0.34117+-0.00991 ? might be 1.0108x slower jquery 3.97610+-0.46614 ? 4.03538+-0.48137 ? might be 1.0149x slower gbemu x2 125.03621+-8.12776 113.56989+-4.23769 might be 1.1010x faster mandreel x2 161.23457+-0.42011 ? 161.68010+-0.97286 ? pdfjs x2 86.18659+-0.41630 ^ 83.48369+-0.39707 ^ definitely 1.0324x faster box2d x2 30.19059+-0.20024 30.16436+-0.19765 V8v7: <arithmetic> 6.24929+-0.01075 6.22756+-0.01291 might be 1.0035x faster <geometric> * 2.05364+-0.01343 2.04821+-0.01364 might be 1.0027x faster <harmonic> 0.79525+-0.00841 0.79278+-0.00719 might be 1.0031x faster Octane including V8v7: <arithmetic> 34.98455+-0.62923 ^ 33.91591+-0.30904 ^ definitely 1.0315x faster <geometric> * 6.17531+-0.05512 6.11276+-0.03014 might be 1.0102x faster <harmonic> 1.10805+-0.01036 1.10661+-0.00865 might be 1.0013x faster TipOfTree TypedArrays Kraken: ai-astar 431.403+-4.416 430.965+-4.881 audio-beat-detection 207.185+-2.952 ? 209.120+-2.710 ? audio-dft 260.147+-1.515 259.143+-2.059 audio-fft 120.842+-0.332 ? 121.095+-0.189 ? audio-oscillator 209.054+-1.329 208.549+-0.877 imaging-darkroom 243.308+-0.565 ? 243.569+-0.672 ? imaging-desaturate 130.882+-0.288 ? 131.196+-0.140 ? imaging-gaussian-blur 333.160+-0.259 ? 334.319+-2.478 ? json-parse-financial 64.452+-0.358 ! 65.227+-0.219 ! definitely 1.0120x slower json-stringify-tinderbox 86.871+-0.568 ? 87.093+-0.365 ? stanford-crypto-aes 90.002+-1.582 ? 90.216+-1.376 ? stanford-crypto-ccm 98.003+-5.411 ? 103.731+-4.487 ? might be 1.0584x slower stanford-crypto-pbkdf2 221.359+-1.531 ? 223.116+-0.804 ? stanford-crypto-sha256-iterative 105.977+-0.416 105.899+-0.332 <arithmetic> * 185.903+-0.535 ? 186.660+-0.495 ? might be 1.0041x slower <geometric> 159.972+-0.621 ? 161.042+-0.554 ? might be 1.0067x slower <harmonic> 138.367+-0.773 ? 139.653+-0.709 ? might be 1.0093x slower TipOfTree TypedArrays JSBench: amazon 8.5000+-0.3318 8.3333+-0.3128 might be 1.0200x faster facebook 33.0833+-0.5720 ? 33.2500+-0.4789 ? google 57.8333+-0.7583 57.5000+-0.7420 twitter 8.2500+-0.2874 8.1667+-0.2473 might be 1.0102x faster yahoo 3.0833+-0.1834 ? 3.2500+-0.2874 ? might be 1.0541x slower <arithmetic> * 22.1500+-0.1544 22.1000+-0.2267 might be 1.0023x faster <geometric> 13.2683+-0.1785 ? 13.3194+-0.2754 ? might be 1.0039x slower <harmonic> 8.1649+-0.2473 ? 8.3272+-0.3756 ? might be 1.0199x slower TipOfTree TypedArrays JSRegress: adapt-to-double-divide 18.6218+-0.0392 18.5887+-0.0216 aliased-arguments-getbyval 0.7870+-0.0170 ? 0.7882+-0.0179 ? allocate-big-object 3.4139+-1.1717 3.4027+-1.1753 arity-mismatch-inlining 0.7125+-0.0140 0.6966+-0.0175 might be 1.0228x faster array-access-polymorphic-structure 8.0716+-1.8948 7.5693+-1.7764 might be 1.0664x faster array-nonarray-polymorhpic-access 46.6111+-0.0671 46.5517+-0.0886 array-with-double-add 4.8745+-0.0155 ^ 4.4718+-0.0204 ^ definitely 1.0900x faster array-with-double-increment 3.4660+-0.0387 ? 3.5172+-0.0779 ? might be 1.0148x slower array-with-double-mul-add 6.2911+-0.0316 6.1696+-0.2057 might be 1.0197x faster array-with-double-sum 6.4932+-0.0232 ? 6.4974+-0.0116 ? array-with-int32-add-sub 8.7371+-0.0127 ^ 7.7161+-0.0258 ^ definitely 1.1323x faster array-with-int32-or-double-sum 6.5804+-0.0211 6.5658+-0.0150 ArrayBuffer-Int8Array-alloc-huge-long-lived 212.0261+-3.3540 ^ 187.2535+-2.2455 ^ definitely 1.1323x faster ArrayBuffer-Int8Array-alloc-large-long-lived 167.2429+-2.5083 ^ 113.6580+-1.3095 ^ definitely 1.4715x faster ArrayBuffer-Int8Array-alloc-long-lived-buffer 125.4030+-5.1678 ^ 70.8387+-9.0263 ^ definitely 1.7703x faster ArrayBuffer-Int8Array-alloc-long-lived 87.5109+-4.8329 ^ 36.1309+-3.4588 ^ definitely 2.4220x faster ArrayBuffer-Int8Array-alloc 83.2798+-4.7164 ^ 32.5161+-3.6613 ^ definitely 2.5612x faster big-int-mul 3.9283+-0.0272 ? 3.9587+-0.0319 ? boolean-test 3.5846+-0.0088 ? 3.5894+-0.0299 ? branch-fold 3.9047+-0.0282 3.8936+-0.0220 cast-int-to-double 11.6746+-0.0355 11.6670+-0.0374 cell-argument 12.1835+-0.2079 ? 12.2547+-0.2317 ? cfg-simplify 3.1254+-0.0241 3.1154+-0.0109 cmpeq-obj-to-obj-other 10.7020+-0.1788 10.5551+-0.1069 might be 1.0139x faster constant-test 7.0071+-0.0652 ? 7.0874+-0.0609 ? might be 1.0115x slower delay-tear-off-arguments-strictmode 2.6614+-0.0237 2.6508+-0.0155 direct-arguments-getbyval 0.6608+-0.0185 0.6519+-0.0081 might be 1.0138x faster double-pollution-getbyval 8.8913+-0.0218 ? 8.9106+-0.0407 ? double-pollution-putbyoffset 5.4398+-0.5409 ? 5.4444+-0.5213 ? empty-string-plus-int 11.4921+-0.2459 ? 11.5313+-0.2680 ? external-arguments-getbyval 1.9575+-0.1484 1.9356+-0.1481 might be 1.0113x faster external-arguments-putbyval 3.2963+-0.2756 3.1659+-0.2706 might be 1.0412x faster Float32Array-matrix-mult 12.9912+-0.7388 ^ 5.9282+-0.2129 ^ definitely 2.1914x faster fold-double-to-int 20.9447+-0.1231 ? 21.2938+-0.3562 ? might be 1.0167x slower function-dot-apply 2.4919+-0.0256 ? 2.5012+-0.0188 ? function-test 4.0617+-0.0890 4.0227+-0.1063 get-by-id-chain-from-try-block 5.5937+-0.0978 ? 5.6999+-0.1088 ? might be 1.0190x slower get-by-id-proto-or-self 18.9892+-0.3202 ? 19.2094+-0.3859 ? might be 1.0116x slower get-by-id-self-or-proto 19.1168+-0.3296 18.9434+-0.3555 HashMap-put-get-iterate-keys 36.2487+-0.5127 ? 36.7913+-0.5728 ? might be 1.0150x slower HashMap-put-get-iterate 44.3550+-0.5191 ? 44.6123+-0.5781 ? HashMap-string-put-get-iterate 52.0163+-0.9880 50.5651+-0.7122 might be 1.0287x faster imul-double-only 14.4424+-0.0227 14.4382+-0.0113 imul-int-only 12.1462+-0.0293 12.1313+-0.0500 imul-mixed 18.4368+-0.5947 18.1982+-0.0215 might be 1.0131x faster in-four-cases 21.5305+-0.0293 ? 21.6125+-0.1003 ? in-one-case-false 10.0808+-0.0193 ? 10.0909+-0.0309 ? in-one-case-true 10.1213+-0.0836 10.0949+-0.0399 in-two-cases 10.4624+-0.0615 10.4322+-0.0443 indexed-properties-in-objects 3.4474+-0.0305 3.4208+-0.0095 inline-arguments-access 1.1941+-0.0369 ? 1.2084+-0.0417 ? might be 1.0120x slower inline-arguments-local-escape 21.9831+-0.1620 ? 23.1122+-2.0424 ? might be 1.0514x slower inline-get-scoped-var 5.5985+-0.0783 ? 5.6003+-0.0505 ? inlined-put-by-id-transition 12.7700+-0.2326 ? 12.8635+-0.1004 ? int-or-other-abs-then-get-by-val 7.5304+-0.0601 ? 7.5638+-0.0441 ? int-or-other-abs-zero-then-get-by-val 30.0458+-0.0460 ! 31.0349+-0.2906 ! definitely 1.0329x slower int-or-other-add-then-get-by-val 8.4431+-0.0530 8.3969+-0.0121 int-or-other-add 8.7144+-0.0582 ? 8.7519+-0.0702 ? int-or-other-div-then-get-by-val 5.3887+-0.2537 ? 5.3928+-0.2589 ? int-or-other-max-then-get-by-val 6.4220+-0.5289 6.4140+-0.5253 int-or-other-min-then-get-by-val 6.4002+-0.4807 ? 6.4117+-0.4893 ? int-or-other-mod-then-get-by-val 4.8085+-0.0163 ? 4.8261+-0.0171 ? int-or-other-mul-then-get-by-val 5.3269+-0.0455 5.3202+-0.0250 int-or-other-neg-then-get-by-val 6.5671+-0.0424 6.5345+-0.0350 int-or-other-neg-zero-then-get-by-val 29.9282+-0.1290 ! 31.0306+-0.3044 ! definitely 1.0368x slower int-or-other-sub-then-get-by-val 8.4101+-0.0139 ? 8.4429+-0.0437 ? int-or-other-sub 6.7161+-0.0132 ? 6.7176+-0.0135 ? int-overflow-local 9.7295+-0.0135 ? 9.7427+-0.0533 ? Int16Array-bubble-sort 85.1152+-1.9548 ^ 39.6199+-0.0658 ^ definitely 2.1483x faster Int16Array-load-int-mul 1.6628+-0.0252 1.6551+-0.0227 Int32Array-alloc-huge-long-lived 756.9791+-6.7742 ^ 650.9599+-11.5928 ^ definitely 1.1629x faster Int32Array-alloc-huge 705.9069+-5.3935 ^ 667.5928+-7.6962 ^ definitely 1.0574x faster Int32Array-alloc-large-long-lived 1965.3684+-20.7746 ^ 889.1096+-7.2274 ^ definitely 2.2105x faster Int32Array-alloc-large 43.4948+-0.8742 ^ 40.4284+-0.8851 ^ definitely 1.0758x faster Int32Array-alloc-long-lived 1750.5047+-26.1221 ^ 163.2590+-9.9305 ^ definitely 10.7223x faster Int32Array-alloc 149.6996+-4.7802 ^ 14.0697+-2.4468 ^ definitely 10.6398x faster Int32Array-Int8Array-view-alloc 45.6574+-2.3792 ^ 21.1499+-1.8222 ^ definitely 2.1588x faster Int8Array-load 5.7753+-0.1335 ^ 3.9879+-0.0207 ^ definitely 1.4482x faster integer-divide 12.6490+-0.0385 12.6366+-0.0128 integer-modulo 1.5700+-0.0184 ? 1.5956+-0.0237 ? might be 1.0163x slower make-indexed-storage 3.8905+-0.5329 ? 3.9680+-0.5424 ? might be 1.0199x slower make-rope-cse 14.5386+-2.3942 14.1975+-2.6004 might be 1.0240x faster marsaglia 431.2244+-0.3367 431.1197+-0.3176 method-on-number 20.2879+-0.2537 ! 21.0010+-0.3611 ! definitely 1.0352x slower negative-zero-divide 0.2881+-0.0203 0.2843+-0.0099 might be 1.0132x faster negative-zero-modulo 0.2772+-0.0101 ? 0.3004+-0.0201 ? might be 1.0838x slower negative-zero-negate 0.2633+-0.0098 0.2624+-0.0083 nested-function-parsing-random 329.8905+-10.7228 ? 345.7725+-10.3490 ? might be 1.0481x slower nested-function-parsing 48.1851+-3.5680 ? 48.2747+-3.3156 ? new-array-buffer-dead 3.2521+-0.1102 ? 3.2686+-0.1058 ? new-array-buffer-push 12.6585+-2.0526 12.5213+-2.2895 might be 1.0110x faster new-array-dead 23.5475+-0.1058 23.4676+-0.0911 new-array-push 10.4420+-1.6622 ? 10.7602+-1.8167 ? might be 1.0305x slower number-test 3.5301+-0.0135 ? 3.5350+-0.0110 ? object-closure-call 8.2812+-1.3468 7.8351+-1.1757 might be 1.0569x faster object-test 4.0031+-0.0990 ^ 3.8122+-0.0376 ^ definitely 1.0501x faster poly-stricteq 82.3791+-16.1214 76.5391+-1.4586 might be 1.0763x faster polymorphic-structure 17.3781+-0.0559 ? 17.3819+-0.0468 ? polyvariant-monomorphic-get-by-id 10.3453+-0.0661 10.3102+-0.0143 put-by-val-large-index-blank-indexing-type 13.5079+-2.6590 ? 13.6214+-2.6120 ? rare-osr-exit-on-local 16.6172+-0.0463 ? 16.6480+-0.0614 ? register-pressure-from-osr 25.9386+-0.0397 25.9278+-0.0284 simple-activation-demo 28.6253+-0.2166 28.6045+-0.2014 slow-array-profile-convergence 3.7628+-0.1730 ? 3.8956+-0.1741 ? might be 1.0353x slower slow-convergence 3.0577+-0.0550 ^ 2.9491+-0.0327 ^ definitely 1.0368x faster sparse-conditional 1.0893+-0.0233 1.0651+-0.0131 might be 1.0227x faster splice-to-remove 39.7849+-0.5703 39.2220+-0.1061 might be 1.0144x faster string-concat-object 4.3383+-1.2100 ? 4.6176+-1.3338 ? might be 1.0644x slower string-concat-pair-object 4.3113+-1.2248 4.2256+-1.2377 might be 1.0203x faster string-concat-pair-simple 17.0281+-0.6977 16.9927+-0.6445 string-concat-simple 17.0298+-0.6391 ? 17.2452+-0.6886 ? might be 1.0126x slower string-cons-repeat 13.9103+-0.9049 12.7003+-0.9178 might be 1.0953x faster string-cons-tower 14.6446+-0.8374 13.2887+-0.9104 might be 1.1020x faster string-equality 36.2236+-0.2360 36.1027+-0.1832 string-get-by-val-big-char 14.3152+-0.1840 ! 14.6937+-0.0958 ! definitely 1.0264x slower string-get-by-val-out-of-bounds-insane 4.3574+-0.0901 4.2520+-0.1304 might be 1.0248x faster string-get-by-val-out-of-bounds 3.8219+-0.0068 3.8173+-0.0173 string-get-by-val 3.3517+-0.0602 ? 3.3711+-0.0651 ? string-hash 2.1631+-0.0321 2.1458+-0.0127 string-long-ident-equality 31.6768+-0.2579 31.6531+-0.3024 string-repeat-arith 40.3457+-1.0830 39.7136+-0.3090 might be 1.0159x faster string-sub 86.5066+-10.7248 78.9589+-0.7128 might be 1.0956x faster string-test 3.5054+-0.0320 ? 3.5335+-0.0397 ? string-var-equality 59.6126+-0.5238 59.4825+-0.2869 structure-hoist-over-transitions 3.2737+-0.5381 ? 3.3198+-0.5361 ? might be 1.0141x slower switch-char-constant 2.7511+-0.0111 ? 2.8004+-0.0407 ? might be 1.0179x slower switch-char 6.6245+-0.0495 6.5821+-0.0108 switch-constant 11.3750+-2.3844 11.2351+-2.2021 might be 1.0124x faster switch-string-basic-big-var 22.5163+-1.6167 20.7850+-1.4235 might be 1.0833x faster switch-string-basic-big 22.2406+-1.5383 20.0032+-1.1310 might be 1.1119x faster switch-string-basic-var 17.8782+-0.0389 ! 18.3715+-0.3327 ! definitely 1.0276x slower switch-string-basic 17.3253+-0.2963 ! 19.1030+-0.9255 ! definitely 1.1026x slower switch-string-big-length-tower-var 24.8804+-0.4497 24.5626+-0.4402 might be 1.0129x faster switch-string-length-tower-var 19.0412+-0.2547 19.0319+-0.2706 switch-string-length-tower 14.4865+-0.0121 ? 14.5114+-0.0632 ? switch-string-short 14.5415+-0.0851 14.5157+-0.0553 switch 16.8984+-2.4232 16.7462+-2.4522 tear-off-arguments-simple 1.8624+-0.0335 ? 1.8790+-0.0199 ? tear-off-arguments 2.8459+-0.0299 ? 2.8603+-0.0168 ? temporal-structure 17.4130+-0.0217 ? 17.4450+-0.0361 ? to-int32-boolean 18.1822+-0.0354 18.1623+-0.0350 undefined-test 3.6838+-0.0321 3.6796+-0.0246 <arithmetic> 60.9893+-0.5216 ^ 38.0119+-0.2558 ^ definitely 1.6045x faster <geometric> * 11.3660+-0.1258 ^ 10.4447+-0.1503 ^ definitely 1.0882x faster <harmonic> 4.0362+-0.0454 4.0091+-0.0392 might be 1.0068x faster TipOfTree TypedArrays DSP: filtrr-posterize-tint 36.1402+-1.3301 ? 36.6499+-1.2121 ? might be 1.0141x slower filtrr-tint-contrast-sat-bright 59.5217+-0.9292 ? 59.8384+-0.8388 ? filtrr-tint-sat-adj-contr-mult 71.7013+-3.4138 70.6645+-2.7056 might be 1.0147x faster filtrr-blur-overlay-sat-contr 183.5070+-7.7138 ? 185.5764+-8.0348 ? might be 1.0113x slower filtrr-sat-blur-mult-sharpen-contr 221.2989+-5.4902 ? 221.8971+-2.2878 ? filtrr-sepia-bias 28.2492+-2.9644 ? 28.2893+-2.9634 ? route9-vp8 x5 996.3821+-6.5457 ? 1003.4685+-6.0401 ? starfield x5 1169.8636+-3.8198 1169.0181+-3.9057 bellard-jslinux x5 2567.4167+-13.2016 ? 2567.9167+-9.0281 ? zynaps-quake3 x5 1220.9467+-14.4890 1188.9003+-50.9376 might be 1.0270x faster zynaps-mandelbrot x5 1001.5384+-17.3698 ? 1006.9836+-5.4127 ? ammojs-asm-js x5 226.4395+-12.3530 217.8465+-11.4206 might be 1.0394x faster ammojs-regular-js x5 210.7467+-7.9994 207.1067+-8.5635 might be 1.0176x faster <arithmetic> 916.2704+-3.3177 912.4175+-5.1515 might be 1.0042x faster <geometric> * 552.6816+-7.1982 548.1048+-6.6381 might be 1.0084x faster <harmonic> 240.3606+-9.4805 239.0839+-9.4347 might be 1.0053x faster TipOfTree TypedArrays All benchmarks: <arithmetic> 193.4832+-0.5957 ^ 180.3086+-0.7943 ^ definitely 1.0731x faster <geometric> ERROR ERROR <harmonic> 3.9578+-0.0293 3.9404+-0.0288 might be 1.0044x faster TipOfTree TypedArrays Geomean of preferred means: <scaled-result> 35.2409+-0.1591 ^ 34.7099+-0.1978 ^ definitely 1.0153x faster
Created attachment 208793 [details] another rebase and more qt fixes
Attachment 208793 [details] did not pass style-queue: Failed to run "['Tools/Scripts/check-webkit-style', '--diff-files', u'ChangeLog', u'LayoutTests/ChangeLog', u'LayoutTests/fast/canvas/webgl/array-set-invalid-arguments-expected.txt', u'LayoutTests/fast/canvas/webgl/array-set-out-of-bounds-expected.txt', u'LayoutTests/fast/canvas/webgl/array-unit-tests-expected.txt', u'LayoutTests/fast/canvas/webgl/array-unit-tests.html', u'LayoutTests/fast/canvas/webgl/data-view-crash-expected.txt', u'LayoutTests/fast/canvas/webgl/script-tests/arraybuffer-transfer-of-control.js', u'LayoutTests/fast/dom/call-a-constructor-as-a-function-expected.txt', u'LayoutTests/fast/dom/call-a-constructor-as-a-function.html', u'LayoutTests/fast/js/constructor-length.html', u'LayoutTests/fast/js/global-constructors-attributes-dedicated-worker-expected.txt', u'LayoutTests/fast/js/global-constructors-attributes-expected.txt', u'LayoutTests/fast/js/global-constructors-attributes-shared-worker-expected.txt', u'LayoutTests/fast/js/regress/ArrayBuffer-Int8Array-alloc-expected.txt', u'LayoutTests/fast/js/regress/ArrayBuffer-Int8Array-alloc-huge-long-lived-expected.txt', u'LayoutTests/fast/js/regress/ArrayBuffer-Int8Array-alloc-huge-long-lived.html', u'LayoutTests/fast/js/regress/ArrayBuffer-Int8Array-alloc-large-long-lived-expected.txt', u'LayoutTests/fast/js/regress/ArrayBuffer-Int8Array-alloc-large-long-lived.html', u'LayoutTests/fast/js/regress/ArrayBuffer-Int8Array-alloc-long-lived-buffer-expected.txt', u'LayoutTests/fast/js/regress/ArrayBuffer-Int8Array-alloc-long-lived-buffer.html', u'LayoutTests/fast/js/regress/ArrayBuffer-Int8Array-alloc-long-lived-expected.txt', u'LayoutTests/fast/js/regress/ArrayBuffer-Int8Array-alloc-long-lived.html', u'LayoutTests/fast/js/regress/ArrayBuffer-Int8Array-alloc.html', u'LayoutTests/fast/js/regress/Int32Array-Int8Array-view-alloc-expected.txt', u'LayoutTests/fast/js/regress/Int32Array-Int8Array-view-alloc.html', u'LayoutTests/fast/js/regress/Int32Array-alloc-expected.txt', u'LayoutTests/fast/js/regress/Int32Array-alloc-huge-expected.txt', u'LayoutTests/fast/js/regress/Int32Array-alloc-huge-long-lived-expected.txt', u'LayoutTests/fast/js/regress/Int32Array-alloc-huge-long-lived.html', u'LayoutTests/fast/js/regress/Int32Array-alloc-huge.html', u'LayoutTests/fast/js/regress/Int32Array-alloc-large-expected.txt', u'LayoutTests/fast/js/regress/Int32Array-alloc-large-long-lived-expected.txt', u'LayoutTests/fast/js/regress/Int32Array-alloc-large-long-lived.html', u'LayoutTests/fast/js/regress/Int32Array-alloc-large.html', u'LayoutTests/fast/js/regress/Int32Array-alloc-long-lived-expected.txt', u'LayoutTests/fast/js/regress/Int32Array-alloc-long-lived.html', u'LayoutTests/fast/js/regress/Int32Array-alloc.html', u'LayoutTests/fast/js/regress/script-tests/ArrayBuffer-Int8Array-alloc-huge-long-lived.js', u'LayoutTests/fast/js/regress/script-tests/ArrayBuffer-Int8Array-alloc-large-long-lived.js', u'LayoutTests/fast/js/regress/script-tests/ArrayBuffer-Int8Array-alloc-long-lived-buffer.js', u'LayoutTests/fast/js/regress/script-tests/ArrayBuffer-Int8Array-alloc-long-lived.js', u'LayoutTests/fast/js/regress/script-tests/ArrayBuffer-Int8Array-alloc.js', u'LayoutTests/fast/js/regress/script-tests/Int32Array-Int8Array-view-alloc.js', u'LayoutTests/fast/js/regress/script-tests/Int32Array-alloc-huge-long-lived.js', u'LayoutTests/fast/js/regress/script-tests/Int32Array-alloc-huge.js', u'LayoutTests/fast/js/regress/script-tests/Int32Array-alloc-large-long-lived.js', u'LayoutTests/fast/js/regress/script-tests/Int32Array-alloc-large.js', u'LayoutTests/fast/js/regress/script-tests/Int32Array-alloc-long-lived.js', u'LayoutTests/fast/js/regress/script-tests/Int32Array-alloc.js', u'LayoutTests/platform/mac/fast/js/constructor-length-expected.txt', u'LayoutTests/webgl/resources/webgl_test_files/conformance/typedarrays/array-unit-tests.html', u'LayoutTests/webgl/resources/webgl_test_files/conformance/typedarrays/data-view-test.html', u'Source/JavaScriptCore/CMakeLists.txt', u'Source/JavaScriptCore/ChangeLog', u'Source/JavaScriptCore/DerivedSources.make', u'Source/JavaScriptCore/DerivedSources.pri', u'Source/JavaScriptCore/GNUmakefile.list.am', u'Source/JavaScriptCore/JSCTypedArrayStubs.h', u'Source/JavaScriptCore/JavaScriptCore.vcxproj/JavaScriptCore.vcxproj', u'Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj', u'Source/JavaScriptCore/Target.pri', u'Source/JavaScriptCore/bytecode/ByValInfo.h', u'Source/JavaScriptCore/bytecode/SpeculatedType.cpp', u'Source/JavaScriptCore/dfg/DFGArrayMode.cpp', u'Source/JavaScriptCore/dfg/DFGArrayMode.h', u'Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp', u'Source/JavaScriptCore/dfg/DFGSpeculativeJIT.h', u'Source/JavaScriptCore/dfg/DFGSpeculativeJIT32_64.cpp', u'Source/JavaScriptCore/dfg/DFGSpeculativeJIT64.cpp', u'Source/JavaScriptCore/heap/CopyToken.h', u'Source/JavaScriptCore/heap/DeferGC.h', u'Source/JavaScriptCore/heap/GCIncomingRefCounted.h', u'Source/JavaScriptCore/heap/GCIncomingRefCountedInlines.h', u'Source/JavaScriptCore/heap/GCIncomingRefCountedSet.h', u'Source/JavaScriptCore/heap/GCIncomingRefCountedSetInlines.h', u'Source/JavaScriptCore/heap/Heap.cpp', u'Source/JavaScriptCore/heap/Heap.h', u'Source/JavaScriptCore/heap/WeakInlines.h', u'Source/JavaScriptCore/interpreter/CallFrame.h', u'Source/JavaScriptCore/jit/JIT.h', u'Source/JavaScriptCore/jit/JITPropertyAccess.cpp', u'Source/JavaScriptCore/jsc.cpp', u'Source/JavaScriptCore/runtime/ArrayBuffer.cpp', u'Source/JavaScriptCore/runtime/ArrayBuffer.h', u'Source/JavaScriptCore/runtime/ArrayBufferView.cpp', u'Source/JavaScriptCore/runtime/ArrayBufferView.h', u'Source/JavaScriptCore/runtime/ClassInfo.h', u'Source/JavaScriptCore/runtime/CommonIdentifiers.h', u'Source/JavaScriptCore/runtime/DataView.cpp', u'Source/JavaScriptCore/runtime/DataView.h', u'Source/JavaScriptCore/runtime/Float32Array.h', u'Source/JavaScriptCore/runtime/Float64Array.h', u'Source/JavaScriptCore/runtime/GenericTypedArrayView.h', u'Source/JavaScriptCore/runtime/GenericTypedArrayViewInlines.h', u'Source/JavaScriptCore/runtime/IndexingHeader.h', u'Source/JavaScriptCore/runtime/Int16Array.h', u'Source/JavaScriptCore/runtime/Int32Array.h', u'Source/JavaScriptCore/runtime/Int8Array.h', u'Source/JavaScriptCore/runtime/JSArrayBuffer.cpp', u'Source/JavaScriptCore/runtime/JSArrayBuffer.h', u'Source/JavaScriptCore/runtime/JSArrayBufferConstructor.cpp', u'Source/JavaScriptCore/runtime/JSArrayBufferConstructor.h', u'Source/JavaScriptCore/runtime/JSArrayBufferPrototype.cpp', u'Source/JavaScriptCore/runtime/JSArrayBufferPrototype.h', u'Source/JavaScriptCore/runtime/JSArrayBufferView.cpp', u'Source/JavaScriptCore/runtime/JSArrayBufferView.h', u'Source/JavaScriptCore/runtime/JSArrayBufferViewInlines.h', u'Source/JavaScriptCore/runtime/JSCell.cpp', u'Source/JavaScriptCore/runtime/JSCell.h', u'Source/JavaScriptCore/runtime/JSDataView.cpp', u'Source/JavaScriptCore/runtime/JSDataView.h', u'Source/JavaScriptCore/runtime/JSDataViewPrototype.cpp', u'Source/JavaScriptCore/runtime/JSDataViewPrototype.h', u'Source/JavaScriptCore/runtime/JSFloat32Array.h', u'Source/JavaScriptCore/runtime/JSFloat64Array.h', u'Source/JavaScriptCore/runtime/JSGenericTypedArrayView.h', u'Source/JavaScriptCore/runtime/JSGenericTypedArrayViewConstructor.h', u'Source/JavaScriptCore/runtime/JSGenericTypedArrayViewConstructorInlines.h', u'Source/JavaScriptCore/runtime/JSGenericTypedArrayViewInlines.h', u'Source/JavaScriptCore/runtime/JSGenericTypedArrayViewPrototype.h', u'Source/JavaScriptCore/runtime/JSGenericTypedArrayViewPrototypeInlines.h', u'Source/JavaScriptCore/runtime/JSGlobalObject.cpp', u'Source/JavaScriptCore/runtime/JSGlobalObject.h', u'Source/JavaScriptCore/runtime/JSInt16Array.h', u'Source/JavaScriptCore/runtime/JSInt32Array.h', u'Source/JavaScriptCore/runtime/JSInt8Array.h', u'Source/JavaScriptCore/runtime/JSTypedArrayConstructors.cpp', u'Source/JavaScriptCore/runtime/JSTypedArrayConstructors.h', u'Source/JavaScriptCore/runtime/JSTypedArrayPrototypes.cpp', u'Source/JavaScriptCore/runtime/JSTypedArrayPrototypes.h', u'Source/JavaScriptCore/runtime/JSTypedArrays.cpp', u'Source/JavaScriptCore/runtime/JSTypedArrays.h', u'Source/JavaScriptCore/runtime/JSUint16Array.h', u'Source/JavaScriptCore/runtime/JSUint32Array.h', u'Source/JavaScriptCore/runtime/JSUint8Array.h', u'Source/JavaScriptCore/runtime/JSUint8ClampedArray.h', u'Source/JavaScriptCore/runtime/Operations.h', u'Source/JavaScriptCore/runtime/Options.h', u'Source/JavaScriptCore/runtime/SimpleTypedArrayController.cpp', u'Source/JavaScriptCore/runtime/SimpleTypedArrayController.h', u'Source/JavaScriptCore/runtime/Structure.h', u'Source/JavaScriptCore/runtime/StructureInlines.h', u'Source/JavaScriptCore/runtime/TypedArrayAdaptors.h', u'Source/JavaScriptCore/runtime/TypedArrayController.cpp', u'Source/JavaScriptCore/runtime/TypedArrayController.h', u'Source/JavaScriptCore/runtime/TypedArrayDescriptor.h', u'Source/JavaScriptCore/runtime/TypedArrayInlines.h', u'Source/JavaScriptCore/runtime/TypedArrayType.cpp', u'Source/JavaScriptCore/runtime/TypedArrayType.h', u'Source/JavaScriptCore/runtime/TypedArrays.h', u'Source/JavaScriptCore/runtime/Uint16Array.h', u'Source/JavaScriptCore/runtime/Uint32Array.h', u'Source/JavaScriptCore/runtime/Uint8Array.h', u'Source/JavaScriptCore/runtime/Uint8ClampedArray.h', u'Source/JavaScriptCore/runtime/VM.cpp', u'Source/JavaScriptCore/runtime/VM.h', u'Source/WTF/ChangeLog', u'Source/WTF/GNUmakefile.list.am', u'Source/WTF/WTF.vcxproj/WTF.vcxproj', u'Source/WTF/WTF.xcodeproj/project.pbxproj', u'Source/WTF/wtf/CMakeLists.txt', u'Source/WTF/wtf/DeferrableRefCounted.h', u'Source/WTF/wtf/FlipBytes.h', u'Source/WebCore/CMakeLists.txt', u'Source/WebCore/ChangeLog', u'Source/WebCore/DerivedSources.make', u'Source/WebCore/DerivedSources.pri', u'Source/WebCore/ForwardingHeaders/runtime/DataView.h', u'Source/WebCore/ForwardingHeaders/runtime/JSArrayBuffer.h', u'Source/WebCore/ForwardingHeaders/runtime/JSArrayBufferView.h', u'Source/WebCore/ForwardingHeaders/runtime/JSDataView.h', u'Source/WebCore/ForwardingHeaders/runtime/JSTypedArrays.h', u'Source/WebCore/ForwardingHeaders/runtime/TypedArrayController.h', u'Source/WebCore/ForwardingHeaders/runtime/TypedArrayInlines.h', u'Source/WebCore/ForwardingHeaders/runtime/TypedArrays.h', u'Source/WebCore/GNUmakefile.list.am', u'Source/WebCore/Modules/webaudio/RealtimeAnalyser.h', u'Source/WebCore/Target.pri', u'Source/WebCore/UseJSC.cmake', u'Source/WebCore/WebCore.exp.in', u'Source/WebCore/WebCore.vcxproj/WebCore.vcxproj', u'Source/WebCore/WebCore.xcodeproj/project.pbxproj', u'Source/WebCore/bindings/js/DOMWrapperWorld.h', u'Source/WebCore/bindings/js/JSArrayBufferCustom.cpp', u'Source/WebCore/bindings/js/JSArrayBufferViewHelper.h', u'Source/WebCore/bindings/js/JSAudioContextCustom.cpp', u'Source/WebCore/bindings/js/JSBindingsAllInOne.cpp', u'Source/WebCore/bindings/js/JSBlobCustom.cpp', u'Source/WebCore/bindings/js/JSCSSRuleCustom.cpp', u'Source/WebCore/bindings/js/JSCSSValueCustom.cpp', u'Source/WebCore/bindings/js/JSCryptoCustom.cpp', u'Source/WebCore/bindings/js/JSDOMBinding.h', u'Source/WebCore/bindings/js/JSDataViewCustom.cpp', u'Source/WebCore/bindings/js/JSDictionary.cpp', u'Source/WebCore/bindings/js/JSDictionary.h', u'Source/WebCore/bindings/js/JSDocumentCustom.cpp', u'Source/WebCore/bindings/js/JSEventCustom.cpp', u'Source/WebCore/bindings/js/JSFileReaderCustom.cpp', u'Source/WebCore/bindings/js/JSHTMLCollectionCustom.cpp', u'Source/WebCore/bindings/js/JSHTMLTemplateElementCustom.cpp', u'Source/WebCore/bindings/js/JSImageDataCustom.cpp', u'Source/WebCore/bindings/js/JSInjectedScriptHostCustom.cpp', u'Source/WebCore/bindings/js/JSMessageEventCustom.cpp', u'Source/WebCore/bindings/js/JSMessagePortCustom.cpp', u'Source/WebCore/bindings/js/JSSVGPathSegCustom.cpp', u'Source/WebCore/bindings/js/JSStyleSheetCustom.cpp', u'Source/WebCore/bindings/js/JSTrackCustom.cpp', u'Source/WebCore/bindings/js/JSWebGLRenderingContextCustom.cpp', u'Source/WebCore/bindings/js/JSXMLHttpRequestCustom.cpp', u'Source/WebCore/bindings/js/SerializedScriptValue.cpp', u'Source/WebCore/bindings/js/WebCoreJSClientData.h', u'Source/WebCore/bindings/js/WebCoreTypedArrayController.cpp', u'Source/WebCore/bindings/js/WebCoreTypedArrayController.h', u'Source/WebCore/bindings/scripts/CodeGenerator.pm', u'Source/WebCore/bindings/scripts/CodeGeneratorJS.pm', u'Source/WebCore/fileapi/WebKitBlobBuilder.cpp', u'Source/WebCore/fileapi/WebKitBlobBuilder.h', u'Source/WebCore/html/canvas/ArrayBuffer.idl', u'Source/WebCore/html/canvas/ArrayBufferView.idl', u'Source/WebCore/html/canvas/DataView.cpp', u'Source/WebCore/html/canvas/DataView.h', u'Source/WebCore/html/canvas/DataView.idl', u'Source/WebCore/html/canvas/Float32Array.idl', u'Source/WebCore/html/canvas/Float64Array.idl', u'Source/WebCore/html/canvas/Int16Array.idl', u'Source/WebCore/html/canvas/Int32Array.idl', u'Source/WebCore/html/canvas/Int8Array.idl', u'Source/WebCore/html/canvas/Uint16Array.idl', u'Source/WebCore/html/canvas/Uint32Array.idl', u'Source/WebCore/html/canvas/Uint8Array.idl', u'Source/WebCore/html/canvas/Uint8ClampedArray.idl', u'Source/WebCore/html/canvas/WebGLRenderingContext.cpp', u'Source/WebCore/page/Crypto.cpp', u'Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm', u'Source/WebCore/platform/graphics/filters/FECustomFilter.h', u'Source/WebCore/platform/graphics/filters/FEGaussianBlur.cpp', u'Source/WebCore/platform/graphics/filters/FilterEffect.cpp', u'Source/WebCore/testing/MockCDM.cpp', u'Source/WebKit2/ChangeLog', u'Source/WebKit2/WebProcess/InjectedBundle/InjectedBundle.cpp', u'Source/autotools/symbols.filter']" exit_code: 1 Source/JavaScriptCore/runtime/JSTypedArrays.cpp:38: preprocessor directives (e.g., #ifdef, #define, #import) should never be indented. [whitespace/indent] [4] Source/JavaScriptCore/runtime/JSGlobalObject.h:28: Alphabetical sorting problem. [build/include_order] [4] Source/JavaScriptCore/runtime/JSDataViewPrototype.cpp:255: Alphabetical sorting problem. [build/include_order] [4] Total errors found: 3 in 212 files If any of these errors are false positives, please file a bug against check-webkit-style.
Comment on attachment 208793 [details] another rebase and more qt fixes Attachment 208793 [details] did not pass qt-ews (qt): Output: http://webkit-queues.appspot.com/results/1461633
Comment on attachment 208793 [details] another rebase and more qt fixes Attachment 208793 [details] did not pass qt-wk2-ews (qt-wk2): Output: http://webkit-queues.appspot.com/results/1468162
OK, this patch only fails to build because the bots need a clean build.
Comment on attachment 208793 [details] another rebase and more qt fixes Attachment 208793 [details] did not pass mac-wk2-ews (mac-wk2): Output: http://webkit-queues.appspot.com/results/1466213
Comment on attachment 208793 [details] another rebase and more qt fixes Attachment 208793 [details] did not pass mac-ews (mac): Output: http://webkit-queues.appspot.com/results/1473105
(In reply to comment #99) > OK, this patch only fails to build because the bots need a clean build. I have tried a clean Qt build and there was an error: /home/rgabor/WebKit/Source/WebCore/bridge/qt/qt_runtime.cpp: In function 'QVariant JSC::Bindings::convertValueToQVariant(JSContextRef, JSValueRef, QMetaType::Type, int*, WTF::HashSet<OpaqueJSValue*>*, int, const OpaqueJSValue**)': /home/rgabor/WebKit/Source/WebCore/bridge/qt/qt_runtime.cpp:499:79: error: cannot convert 'WTF::PassRefPtr<JSC::GenericTypedArrayView<JSC::Uint8Adaptor> >' to 'JSC::Uint8Array* {aka JSC::GenericTypedArrayView<JSC::Uint8Adaptor>*}' in initialization This patch fixed it: ndex: Source/WebCore/bridge/qt/qt_runtime.cpp =================================================================== --- Source/WebCore/bridge/qt/qt_runtime.cpp (revision 154096) +++ Source/WebCore/bridge/qt/qt_runtime.cpp (working copy) @@ -494,7 +494,7 @@ case QMetaType::QByteArray: { if (type == RTUint8Array) { - JSC::Uint8Array* arr = toUint8Array(toJS(toJS(context), value)); + JSC::Uint8Array* arr = toUint8Array(toJS(toJS(context), value)).get(); ret = QVariant(QByteArray(reinterpret_cast<const char*>(arr->data()), arr->length())); dist = 0; } else {
(In reply to comment #98) > (From update of attachment 208793 [details]) > Attachment 208793 [details] did not pass qt-wk2-ews (qt-wk2): > Output: http://webkit-queues.appspot.com/results/1468162 Filip, I tested your final patch with Qt build, diff --git a/Source/WebCore/bridge/qt/qt_runtime.cpp b/Source/WebCore/bridge/qt/qt_runtime.cpp index 015bb3a..d61aff3 100644 --- a/Source/WebCore/bridge/qt/qt_runtime.cpp +++ b/Source/WebCore/bridge/qt/qt_runtime.cpp @@ -494,7 +494,7 @@ QVariant convertValueToQVariant(JSContextRef context, JSValueRef value, QMetaTyp case QMetaType::QByteArray: { if (type == RTUint8Array) { - JSC::Uint8Array* arr = toUint8Array(toJS(toJS(context), value)); + RefPtr<JSC::Uint8Array> arr = toUint8Array(toJS(toJS(context), value)).leakRef(); ret = QVariant(QByteArray(reinterpret_cast<const char*>(arr->data()), arr->length())); dist = 0; } else { A little change needed in qt_runtime.cpp :)
(In reply to comment #102) > (In reply to comment #99) > > OK, this patch only fails to build because the bots need a clean build. > > I have tried a clean Qt build and there was an error: > > /home/rgabor/WebKit/Source/WebCore/bridge/qt/qt_runtime.cpp: In function 'QVariant JSC::Bindings::convertValueToQVariant(JSContextRef, JSValueRef, QMetaType::Type, int*, WTF::HashSet<OpaqueJSValue*>*, int, const OpaqueJSValue**)': > /home/rgabor/WebKit/Source/WebCore/bridge/qt/qt_runtime.cpp:499:79: error: cannot convert 'WTF::PassRefPtr<JSC::GenericTypedArrayView<JSC::Uint8Adaptor> >' to 'JSC::Uint8Array* {aka JSC::GenericTypedArrayView<JSC::Uint8Adaptor>*}' in initialization > > This patch fixed it: > > ndex: Source/WebCore/bridge/qt/qt_runtime.cpp > =================================================================== > --- Source/WebCore/bridge/qt/qt_runtime.cpp (revision 154096) > +++ Source/WebCore/bridge/qt/qt_runtime.cpp (working copy) > @@ -494,7 +494,7 @@ > > case QMetaType::QByteArray: { > if (type == RTUint8Array) { > - JSC::Uint8Array* arr = toUint8Array(toJS(toJS(context), value)); > + JSC::Uint8Array* arr = toUint8Array(toJS(toJS(context), value)).get(); > ret = QVariant(QByteArray(reinterpret_cast<const char*>(arr->data()), arr->length())); > dist = 0; > } else { oops! i didn't see this, sorry :(
(In reply to comment #103) > (In reply to comment #98) > > (From update of attachment 208793 [details] [details]) > > Attachment 208793 [details] [details] did not pass qt-wk2-ews (qt-wk2): > > Output: http://webkit-queues.appspot.com/results/1468162 > > Filip, > > I tested your final patch with Qt build, > > diff --git a/Source/WebCore/bridge/qt/qt_runtime.cpp b/Source/WebCore/bridge/qt/qt_runtime.cpp > index 015bb3a..d61aff3 100644 > --- a/Source/WebCore/bridge/qt/qt_runtime.cpp > +++ b/Source/WebCore/bridge/qt/qt_runtime.cpp > @@ -494,7 +494,7 @@ QVariant convertValueToQVariant(JSContextRef context, JSValueRef value, QMetaTyp > > case QMetaType::QByteArray: { > if (type == RTUint8Array) { > - JSC::Uint8Array* arr = toUint8Array(toJS(toJS(context), value)); > + RefPtr<JSC::Uint8Array> arr = toUint8Array(toJS(toJS(context), value)).leakRef(); > ret = QVariant(QByteArray(reinterpret_cast<const char*>(arr->data()), arr->length())); > dist = 0; > } else { > > > A little change needed in qt_runtime.cpp :) RefPtr<JSC::Uint8Array> arr = toUint8Array(toJS(toJS(context), value));
(In reply to comment #105) > (In reply to comment #103) > > (In reply to comment #98) > > > (From update of attachment 208793 [details] [details] [details]) > > > Attachment 208793 [details] [details] [details] did not pass qt-wk2-ews (qt-wk2): > > > Output: http://webkit-queues.appspot.com/results/1468162 > > > > Filip, > > > > I tested your final patch with Qt build, > > > > diff --git a/Source/WebCore/bridge/qt/qt_runtime.cpp b/Source/WebCore/bridge/qt/qt_runtime.cpp > > index 015bb3a..d61aff3 100644 > > --- a/Source/WebCore/bridge/qt/qt_runtime.cpp > > +++ b/Source/WebCore/bridge/qt/qt_runtime.cpp > > @@ -494,7 +494,7 @@ QVariant convertValueToQVariant(JSContextRef context, JSValueRef value, QMetaTyp > > > > case QMetaType::QByteArray: { > > if (type == RTUint8Array) { > > - JSC::Uint8Array* arr = toUint8Array(toJS(toJS(context), value)); > > + RefPtr<JSC::Uint8Array> arr = toUint8Array(toJS(toJS(context), value)).leakRef(); > > ret = QVariant(QByteArray(reinterpret_cast<const char*>(arr->data()), arr->length())); > > dist = 0; > > } else { > > > > > > A little change needed in qt_runtime.cpp :) > > RefPtr<JSC::Uint8Array> arr = toUint8Array(toJS(toJS(context), value)); Thank you!
Landed in http://trac.webkit.org/changeset/154127
Landed 32-bit fix in http://trac.webkit.org/changeset/154129
Landed binding test fixes in http://trac.webkit.org/changeset/154131
Test rebase and exception test cleanup in http://trac.webkit.org/changeset/154132
*** Bug 103454 has been marked as a duplicate of this bug. ***
This seems like a huge amount of work... but unfortunately, it seems this is causing webkitgtk 2.1.90 to fail build on OpenBSD/amd64: Source/JavaScriptCore/heap/GCIncomingRefCountedSetInlines.h: In destructor 'JSC::GCIncomingRefCountedSet<T>::~GCIncomingRefCountedSet() [with T = JSC::ArrayBuffer]': Source/JavaScriptCore/heap/Heap.cpp:270: instantiated from here Source/JavaScriptCore/heap/GCIncomingRefCountedSetInlines.h:44: error: no matching function for call to 'JSC::ArrayBuffer::filterIncomingReferences(bool ()(JSC::JSCell*))' ./Source/JavaScriptCore/heap/GCIncomingRefCountedInlines.h:61: note: candidates are: bool JSC::GCIncomingRefCounted<T>::filterIncomingReferences(FilterFunctionType&) [with FilterFunctionType = bool ()(JSC::JSCell*), T = JSC::ArrayBuffer] Source/JavaScriptCore/heap/GCIncomingRefCountedSetInlines.h: In member function 'void JSC::GCIncomingRefCountedSet<T>::sweep() [with T = JSC::ArrayBuffer]': Source/JavaScriptCore/heap/Heap.cpp:771: instantiated from here Source/JavaScriptCore/heap/GCIncomingRefCountedSetInlines.h:70: error: no matching function for call to 'JSC::ArrayBuffer::filterIncomingReferences(bool ()(JSC::JSCell*))' ./Source/JavaScriptCore/heap/GCIncomingRefCountedInlines.h:61: note: candidates are: bool JSC::GCIncomingRefCounted<T>::filterIncomingReferences(FilterFunctionType&) [with FilterFunctionType = bool ()(JSC::JSCell*), T = JSC::ArrayBuffer] ./Source/JavaScriptCore/runtime/WriteBarrier.h: In member function 'T** JSC::WriteBarrierBase<T>::slot() [with T = JSC::Structure]': ./Source/JavaScriptCore/heap/SlotVisitorInlines.h:115: instantiated from 'void JSC::SlotVisitor::append(JSC::WriteBarrierBase<T>*) [with T = JSC::Structure]' ./Source/JavaScriptCore/bytecode/ObjectAllocationProfile.h:109: instantiated from here ./Source/JavaScriptCore/runtime/WriteBarrier.h:130: warning: dereferencing type-punned pointer will break strict-aliasing rules 2.1.3 was building fine.
(In reply to comment #112) > This seems like a huge amount of work... but unfortunately, it seems this is causing webkitgtk 2.1.90 to fail build on OpenBSD/amd64: > > Source/JavaScriptCore/heap/GCIncomingRefCountedSetInlines.h: In destructor 'JSC::GCIncomingRefCountedSet<T>::~GCIncomingRefCountedSet() [with T = JSC::ArrayBuffer]': > Source/JavaScriptCore/heap/Heap.cpp:270: instantiated from here > Source/JavaScriptCore/heap/GCIncomingRefCountedSetInlines.h:44: error: no matching function for call to 'JSC::ArrayBuffer::filterIncomingReferences(bool ()(JSC::JSCell*))' > ./Source/JavaScriptCore/heap/GCIncomingRefCountedInlines.h:61: note: candidates are: bool JSC::GCIncomingRefCounted<T>::filterIncomingReferences(FilterFunctionType&) [with FilterFunctionType = bool ()(JSC::JSCell*), T = JSC::ArrayBuffer] > Source/JavaScriptCore/heap/GCIncomingRefCountedSetInlines.h: In member function 'void JSC::GCIncomingRefCountedSet<T>::sweep() [with T = JSC::ArrayBuffer]': > Source/JavaScriptCore/heap/Heap.cpp:771: instantiated from here > Source/JavaScriptCore/heap/GCIncomingRefCountedSetInlines.h:70: error: no matching function for call to 'JSC::ArrayBuffer::filterIncomingReferences(bool ()(JSC::JSCell*))' > ./Source/JavaScriptCore/heap/GCIncomingRefCountedInlines.h:61: note: candidates are: bool JSC::GCIncomingRefCounted<T>::filterIncomingReferences(FilterFunctionType&) [with FilterFunctionType = bool ()(JSC::JSCell*), T = JSC::ArrayBuffer] > ./Source/JavaScriptCore/runtime/WriteBarrier.h: In member function 'T** JSC::WriteBarrierBase<T>::slot() [with T = JSC::Structure]': > ./Source/JavaScriptCore/heap/SlotVisitorInlines.h:115: instantiated from 'void JSC::SlotVisitor::append(JSC::WriteBarrierBase<T>*) [with T = JSC::Structure]' > ./Source/JavaScriptCore/bytecode/ObjectAllocationProfile.h:109: instantiated from here > ./Source/JavaScriptCore/runtime/WriteBarrier.h:130: warning: dereferencing type-punned pointer will break strict-aliasing rules > > > 2.1.3 was building fine. Some compilers have different ideas of what sort of template madness is legal. A good start would be to tell us what compiler you're using - clang or gcc, and what version. My first instinct is to try to get calls to filterIncomingReferences to use an explicit instantiation of FilterFunctionType. But I don't have OpenBSD so I wouldn't be able to test that theory.
(In reply to comment #113) > (In reply to comment #112) > > 2.1.3 was building fine. > > Some compilers have different ideas of what sort of template madness is legal. A good start would be to tell us what compiler you're using - clang or gcc, and what version. I knew this is unsupported, but it had been working "fine" so far... i'm using gcc 4.2, which is what openbsd has in the basesystem. .... unless there's a workaround (which i doubt, since webkit2 requires c++11), guess i'll have to give up on that, and use 4.6 from ports, which allows me to build 2.1.90 on i386/amd64, gtk2/gtk3. sigh@toolchains..