| 2017-12-11 Tim Horton <timothy_horton@apple.com> |
| |
| Stop using deprecated target conditional for simulator builds |
| https://bugs.webkit.org/show_bug.cgi?id=180662 |
| <rdar://problem/35136156> |
| |
| Reviewed by Simon Fraser. |
| |
| * StitchMarker/wtf/Platform.h: |
| * StitchMarker/wtf/dependencies/bmalloc/BPlatform.h: |
| |
| 2017-12-11 Antti Koivisto <antti@apple.com> |
| |
| StyleBench improvements |
| https://bugs.webkit.org/show_bug.cgi?id=180646 |
| |
| Reviewed by Geoffrey Garen. |
| |
| - Remove :empty rule from global stylesheet. It caused all tests to hit positional pseudo-class code paths. |
| - Instead use min-width to create easy flexible layout. Use it for ::before/::after too. |
| - Add :empty to positional pseudo-class test. |
| - Include some id attributes and id selectors |
| - Chance to have more than 1 classes per compound selector |
| - Change distribution of elements and classes to be non-uniform |
| - Other bug fixes |
| |
| * StyleBench/resources/style-bench.js: |
| (Random.prototype.numberSquareWeightedToLow): |
| (Random): |
| (defaultConfiguration): |
| (prototype.randomElementName): |
| (prototype.randomId): |
| (prototype.makeCompoundSelector): |
| (prototype.makeSelector): |
| (prototype.makeElement): |
| |
| 2017-12-08 Konstantin Tokarev <annulen@yandex.ru> |
| |
| [python] Replace print operator with print() function for python3 compatibility |
| https://bugs.webkit.org/show_bug.cgi?id=180592 |
| |
| Reviewed by Michael Catanzaro. |
| |
| * JSBench/harness.py: |
| |
| 2017-12-01 Filip Pizlo <fpizlo@apple.com> |
| |
| GC constraint solving should be parallel |
| https://bugs.webkit.org/show_bug.cgi?id=179934 |
| |
| Reviewed by JF Bastien. |
| |
| Added a version of splay that measures latency in a way that run-jsc-benchmarks groks. |
| |
| * Octane/splay.js: Added. |
| (this.Setup.setup.setup): |
| (this.TearDown.tearDown.tearDown): |
| (Benchmark): |
| (BenchmarkResult): |
| (BenchmarkResult.prototype.valueOf): |
| (BenchmarkSuite): |
| (alert): |
| (Math.random): |
| (BenchmarkSuite.ResetRNG): |
| (RunStep): |
| (BenchmarkSuite.RunSuites): |
| (BenchmarkSuite.CountBenchmarks): |
| (BenchmarkSuite.GeometricMean): |
| (BenchmarkSuite.GeometricMeanTime): |
| (BenchmarkSuite.AverageAbovePercentile): |
| (BenchmarkSuite.GeometricMeanLatency): |
| (BenchmarkSuite.FormatScore): |
| (BenchmarkSuite.prototype.NotifyStep): |
| (BenchmarkSuite.prototype.NotifyResult): |
| (BenchmarkSuite.prototype.NotifyError): |
| (BenchmarkSuite.prototype.RunSingleBenchmark): |
| (RunNextSetup): |
| (RunNextBenchmark): |
| (RunNextTearDown): |
| (BenchmarkSuite.prototype.RunStep): |
| (GeneratePayloadTree): |
| (GenerateKey): |
| (SplayUpdateStats): |
| (InsertNewNode): |
| (SplaySetup): |
| (SplayTearDown): |
| (SplayRun): |
| (SplayTree): |
| (SplayTree.prototype.isEmpty): |
| (SplayTree.prototype.insert): |
| (SplayTree.prototype.remove): |
| (SplayTree.prototype.find): |
| (SplayTree.prototype.findMax): |
| (SplayTree.prototype.findGreatestLessThan): |
| (SplayTree.prototype.exportKeys): |
| (SplayTree.prototype.splay_): |
| (SplayTree.Node): |
| (SplayTree.Node.prototype.traverse_): |
| (report): |
| (start): |
| |
| 2017-12-04 Antti Koivisto <antti@apple.com> |
| |
| Fix StyleBench/InteractiveRunner.html |
| https://bugs.webkit.org/show_bug.cgi?id=180355 |
| |
| * StyleBench/InteractiveRunner.html: |
| |
| 2017-12-01 Antti Koivisto <antti@apple.com> |
| |
| Add StyleBench |
| https://bugs.webkit.org/show_bug.cgi?id=180140 |
| <rdar://problem/35366401> |
| |
| * Skipped: Skip InteractiveRunner.html |
| |
| 2017-11-30 Antti Koivisto <antti@apple.com> |
| |
| Add StyleBench |
| https://bugs.webkit.org/show_bug.cgi?id=180140 |
| |
| Reviewed by Simon Fraser and Joseph Pecoraro. |
| |
| StyleBench tests performance of the CSS style resolution and style invalidation. Each test run |
| creates a large document and a large stylesheet using varying settings. It then applies |
| a series of mutations to the document and measures the time to update the style and rendering. |
| The resulting layout is simple, most of the pressure is on selector matching. |
| |
| StyleBench uses Speedometer framework for UI and measurements. For profiling purposes, it can also |
| be run locally by opening style-bench.html directly. |
| |
| There are currently four subtests: |
| |
| - child and descendant combinators only (all other tests have these too). |
| - sibling combinators: '~' and '+' |
| - positional pseudo classes: :nth-child and similar |
| - ::before and ::after pseudo elements |
| |
| The measured DOM mutations are: |
| |
| - add classes |
| - remove classes |
| - add leaf elements |
| - remove leaf elements |
| |
| * StyleBench: Added. |
| * StyleBench/InteractiveRunner.html: Added. |
| |
| Copied and customized from Speedometer. |
| |
| * StyleBench/index.html: Added. |
| |
| Copied and customized from Speedometer. |
| |
| * StyleBench/resources: Added. |
| * StyleBench/resources/style-bench.html: Added. |
| * StyleBench/resources/style-bench.js: Added. |
| |
| The test class. |
| |
| (Random): |
| (Random.prototype.get next): |
| (Random.prototype.chance): |
| (Random.prototype.number): |
| (nextAnimationFrame): |
| (defaultConfiguration): |
| (descendantCombinatorConfiguration): |
| (siblingCombinatorConfiguration): |
| (pseudoClassConfiguration): |
| (beforeAndAfterConfiguration): |
| (predefinedConfigurations): |
| |
| Four predefined configurations. |
| |
| (prototype.randomElementName): |
| (prototype.randomCombinator): |
| (prototype.randomPseudoClass): |
| (prototype.makeSimpleSelector): |
| (prototype.makeSelector): |
| (prototype.get randomColorComponent): |
| (prototype.makeDeclaration): |
| (prototype.makeRule): |
| (prototype.makeStylesheet): |
| (prototype.makeStyle): |
| (prototype.makeElement): |
| (prototype.makeTreeWithDepth): |
| (prototype.makeTree): |
| (prototype.updateCachedTestElements): |
| (prototype.randomTreeElement): |
| (prototype.addClasses): |
| (prototype.removeClasses): |
| (prototype.addLeafElements): |
| (prototype.removeLeafElements): |
| (prototype.async.runForever): |
| * StyleBench/resources/tests.js: Added. |
| (makeSteps): |
| (makeSuite): |
| |
| Generates Speedometer Suites. |
| |
| 2017-11-29 Robin Morisset <rmorisset@apple.com> |
| |
| The recursive tail call optimisation is wrong on closures |
| https://bugs.webkit.org/show_bug.cgi?id=179835 |
| |
| Reviewed by Saam Barati. |
| |
| This new benchmark is a very close variant of the merge-sort benchmark, that writes mergeSorted in a kinda CPS style, |
| to stress the use of closures, and of polymorphic calls. |
| |
| * TailBench9000/merge-sort-cps.js: Added. |
| (createRNG): |
| (mergeSorted): |
| (checkSorted.check): |
| (add): |
| (build): |
| (compare): |
| (checkSpectrum): |
| (buildArray): |
| (test): |
| |
| 2017-11-22 Antti Koivisto <antti@apple.com> |
| |
| Add performance test for inlines and inline-blocks without text |
| https://bugs.webkit.org/show_bug.cgi?id=179955 |
| |
| Reviewed by Darin Adler. |
| |
| Test for https://bugs.webkit.org/show_bug.cgi?id=179950 |
| |
| * Layout/inline-layout-no-text.html: Added. |
| |
| 2017-11-12 Jon Lee <jonlee@apple.com> |
| |
| Add isolated text tests for MotionMark |
| https://bugs.webkit.org/show_bug.cgi?id=179226 |
| |
| Reviewed by Darin Adler. |
| |
| Add a private suite that simplifies the design test. |
| |
| * MotionMark/resources/debug-runner/tests.js: |
| * MotionMark/resources/runner/tests.js: |
| * MotionMark/tests/master/design.html: Copied from PerformanceTests/MotionMark/tests/master/text.html. |
| Rename the html file to the title of the test. |
| * MotionMark/tests/master/resources/design.js: Renamed from PerformanceTests/MotionMark/tests/master/resources/text.js. |
| * MotionMark/tests/text/design-6.html: Copied from PerformanceTests/MotionMark/tests/master/text.html. |
| Six active cells |
| * MotionMark/tests/text/design-6.js: Added. |
| * MotionMark/tests/text/design.html: Renamed from PerformanceTests/MotionMark/tests/master/text.html. |
| Replace the text with empty table cells that are populated with desired text. |
| * MotionMark/tests/text/design.js: Added. |
| |
| 2017-11-06 Robin Morisset <rmorisset@apple.com> |
| |
| Add a third benchmark to TailBench |
| https://bugs.webkit.org/show_bug.cgi?id=178815 |
| |
| Reviewed by Saam Barati. |
| |
| Add a new benchmark to TailBench: a BF interpreter written in a weird kinda functional style |
| |
| * TailBench9000/bf-interpreter.js: Added. |
| (lookForMatchingBracket): |
| (evalRec): |
| (infiniteTape): |
| (evalShort): |
| |
| 2017-11-06 Robin Morisset <rmorisset@apple.com> |
| |
| PerformanceTests/TailBench9000/merge-sort.js does not actually sort any of the large arrays it allocates |
| https://bugs.webkit.org/show_bug.cgi?id=178817 |
| |
| Reviewed by Saam Barati. |
| |
| * TailBench9000/merge-sort.js: |
| (TEST_mergeSort): |
| |
| 2017-11-02 Jon Lee <jonlee@apple.com> |
| |
| Add license for MotionMark |
| https://bugs.webkit.org/show_bug.cgi?id=179222 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| * MotionMark/about.html: |
| * MotionMark/developer.html: |
| * MotionMark/index.html: |
| * MotionMark/resources/debug-runner/graph.js: |
| * MotionMark/resources/debug-runner/motionmark.css: |
| * MotionMark/resources/debug-runner/motionmark.js: |
| * MotionMark/resources/debug-runner/tests.js: |
| * MotionMark/resources/extensions.js: |
| * MotionMark/resources/statistics.js: |
| * MotionMark/resources/strings.js: |
| * MotionMark/tests/3d/resources/webgl.js: |
| * MotionMark/tests/3d/webgl.html: |
| * MotionMark/tests/bouncing-particles/bouncing-canvas-images.html: |
| * MotionMark/tests/bouncing-particles/bouncing-canvas-shapes.html: |
| * MotionMark/tests/bouncing-particles/bouncing-css-images.html: |
| * MotionMark/tests/bouncing-particles/bouncing-css-shapes.html: |
| * MotionMark/tests/bouncing-particles/bouncing-svg-images.html: |
| * MotionMark/tests/bouncing-particles/bouncing-svg-shapes.html: |
| * MotionMark/tests/bouncing-particles/bouncing-tagged-images.html: |
| * MotionMark/tests/bouncing-particles/resources/bouncing-canvas-images.js: |
| * MotionMark/tests/bouncing-particles/resources/bouncing-canvas-particles.js: |
| * MotionMark/tests/bouncing-particles/resources/bouncing-canvas-shapes.js: |
| * MotionMark/tests/bouncing-particles/resources/bouncing-css-images.js: |
| * MotionMark/tests/bouncing-particles/resources/bouncing-css-shapes.js: |
| * MotionMark/tests/bouncing-particles/resources/bouncing-particles.js: |
| * MotionMark/tests/bouncing-particles/resources/bouncing-svg-images.js: |
| * MotionMark/tests/bouncing-particles/resources/bouncing-svg-particles.js: |
| * MotionMark/tests/bouncing-particles/resources/bouncing-svg-shapes.js: |
| * MotionMark/tests/bouncing-particles/resources/bouncing-tagged-images.js: |
| * MotionMark/tests/dom/compositing-transforms.html: |
| * MotionMark/tests/dom/focus.html: |
| * MotionMark/tests/dom/leaves.html: |
| * MotionMark/tests/dom/particles.html: |
| * MotionMark/tests/dom/resources/compositing-transforms.js: |
| * MotionMark/tests/dom/resources/dom-particles.js: |
| * MotionMark/tests/dom/resources/focus.js: |
| * MotionMark/tests/dom/resources/leaves.js: |
| * MotionMark/tests/master/canvas-stage.html: |
| * MotionMark/tests/master/focus.html: |
| * MotionMark/tests/master/image-data.html: |
| * MotionMark/tests/master/leaves.html: |
| * MotionMark/tests/master/multiply.html: |
| * MotionMark/tests/master/resources/canvas-stage.js: |
| * MotionMark/tests/master/resources/canvas-tests.js: |
| * MotionMark/tests/master/resources/focus.js: |
| * MotionMark/tests/master/resources/image-data.js: |
| * MotionMark/tests/master/resources/leaves.js: |
| * MotionMark/tests/master/resources/multiply.js: |
| * MotionMark/tests/master/resources/particles.js: |
| * MotionMark/tests/master/resources/svg-particles.js: |
| * MotionMark/tests/master/resources/text.js: |
| * MotionMark/tests/master/svg-particles.html: |
| * MotionMark/tests/master/text.html: |
| * MotionMark/tests/resources/main.js: |
| * MotionMark/tests/resources/math.js: |
| * MotionMark/tests/resources/stage.css: |
| * MotionMark/tests/simple/resources/simple-canvas-paths.js: |
| * MotionMark/tests/simple/resources/simple-canvas.js: |
| * MotionMark/tests/simple/resources/tiled-canvas-image.js: |
| * MotionMark/tests/simple/simple-canvas-paths.html: |
| * MotionMark/tests/simple/tiled-canvas-image.html: |
| * MotionMark/tests/template/resources/template-canvas.js: |
| * MotionMark/tests/template/resources/template-css.js: |
| * MotionMark/tests/template/resources/template-svg.js: |
| * MotionMark/tests/template/template-canvas.html: |
| * MotionMark/tests/template/template-css.html: |
| * MotionMark/tests/template/template-svg.html: |
| |
| 2017-11-01 Jon Lee <jonlee@apple.com> |
| |
| Add about page for MotionMark |
| https://bugs.webkit.org/show_bug.cgi?id=179152 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| * MotionMark/about.html: Added. |
| * MotionMark/index.html: |
| * MotionMark/resources/runner/motionmark.css: |
| |
| 2017-10-30 Michael Saboff <msaboff@apple.com> |
| |
| Eliminate Basic compiler test from RexBench |
| https://bugs.webkit.org/show_bug.cgi?id=179025 |
| |
| Reviewed by Saam Barati. |
| |
| * RexBench/Basic: Removed. |
| * RexBench/Basic/ast.js: Removed. |
| * RexBench/Basic/basic.js: Removed. |
| * RexBench/Basic/benchmark.js: Removed. |
| * RexBench/Basic/caseless_map.js: Removed. |
| * RexBench/Basic/lexer.js: Removed. |
| * RexBench/Basic/number.js: Removed. |
| * RexBench/Basic/parser.js: Removed. |
| * RexBench/Basic/random.js: Removed. |
| * RexBench/Basic/state.js: Removed. |
| * RexBench/Basic/stress-test.js: Removed. |
| * RexBench/Basic/util.js: Removed. |
| * RexBench/basic_benchmark.js: Removed. |
| * RexBench/about.html: |
| * RexBench/cli.js: |
| * RexBench/glue.js: |
| * RexBench/index.html: |
| |
| 2017-10-25 Robin Morisset <rmorisset@apple.com> |
| |
| Support the TailBench9000 benchmark in run-jsc-benchmarks |
| https://bugs.webkit.org/show_bug.cgi?id=178451 |
| |
| Reviewed by Saam Barati. |
| |
| The separation between the definition of the benchmarks (in merge-sort.js and n-body.js) and their loops (in *-run.js) |
| was causing trouble since the load of the js files only succeeded from the same directory. So I chose to merge them, following |
| the example of the other benchmarks. |
| |
| * TailBench9000/merge-sort-run.js: Removed. |
| * TailBench9000/merge-sort.js: |
| * TailBench9000/n-body-run.js: Removed. |
| * TailBench9000/n-body.js: |
| |
| 2017-10-19 Michael Catanzaro <mcatanzaro@igalia.com> |
| |
| -Wsign-compare triggered by MallocBench |
| https://bugs.webkit.org/show_bug.cgi?id=178544 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| * MallocBench/MallocBench/Interpreter.cpp: |
| (Interpreter::Interpreter): |
| |
| 2017-10-07 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| Unreviewed, build fix for MallocBench in Linux 32bit |
| https://bugs.webkit.org/show_bug.cgi?id=177856 |
| |
| * MallocBench/MallocBench/Interpreter.cpp: |
| (Interpreter::Interpreter): |
| (Interpreter::readOps): |
| Suppress warnings in some GCC versions. |
| |
| * MallocBench/MallocBench/big.cpp: |
| (benchmark_big): |
| * MallocBench/MallocBench/medium.cpp: |
| (benchmark_medium): |
| Build fix for Linux 32bit. |
| |
| * MallocBench/MallocBench/message.cpp: |
| (benchmark_message_many): |
| Use more efficient WorkQueue allocation. |
| |
| 2017-10-05 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| Unreviewed, use std::vector instead of variable length array |
| https://bugs.webkit.org/show_bug.cgi?id=177856 |
| |
| This is OK because originally this code uses dispatch queue, which |
| should have allocation inside it too. |
| |
| * MallocBench/MallocBench/message.cpp: |
| (benchmark_message_many): |
| |
| 2017-10-05 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [Linux] Port MallocBench |
| https://bugs.webkit.org/show_bug.cgi?id=177856 |
| |
| Reviewed by Filip Pizlo. |
| |
| We would like to optimize locking in bmalloc in Linux by using futex APIs. So we should have |
| the way to ensure this actually improves / does not regress the performance. |
| |
| This patch ports MallocBench to Linux to measure/ensure the effect of bmalloc patch in Linux. |
| |
| While we replace the dispatch serial queue in message.cpp, we still use libdispatch in Benchmark.cpp |
| since we do not have priority mechanism in C++11 threading implementation. |
| |
| We also extend run-malloc-benchmarks to accept cmake style layout of build product directory. |
| And we also support building MallocBench in CMake environment including CMake Mac ports. |
| Currently, we do not support Windows yet. |
| |
| Based on the measurement, we can say the following observation. glibc's malloc performance is not |
| so bad. While bmalloc shows 3.8x (in geomean) performance improvement, bmalloc in Linux shows 2.0x |
| improvement. Since both numbers in bmalloc are similar, we can think that bmalloc's optimization is |
| actually working in Linux too. And even though glibc's malloc perofmrnace is not so bad, bmalloc |
| still offers performance improvement. |
| |
| * CMakeLists.txt: Added. |
| * MallocBench/CMakeLists.txt: Added. |
| * MallocBench/MallocBench.xcodeproj/project.pbxproj: |
| * MallocBench/MallocBench/Benchmark.cpp: |
| (Benchmark::Benchmark): |
| (Benchmark::runOnce): |
| (Benchmark::currentMemoryBytes): Deleted. |
| * MallocBench/MallocBench/Benchmark.h: |
| (Benchmark::Memory::Memory): Deleted. |
| (Benchmark::Memory::operator-): Deleted. |
| * MallocBench/MallocBench/CMakeLists.txt: Added. |
| * MallocBench/MallocBench/CPUCount.cpp: |
| (cpuCount): |
| * MallocBench/MallocBench/Interpreter.cpp: |
| (Interpreter::doMallocOp): |
| * MallocBench/MallocBench/Memory.cpp: Added. |
| (currentMemoryBytes): |
| * MallocBench/MallocBench/Memory.h: Copied from PerformanceTests/MallocBench/MallocBench/CPUCount.cpp. |
| (Memory::Memory): |
| (Memory::operator-): |
| * MallocBench/MallocBench/balloon.cpp: |
| (benchmark_balloon): |
| * MallocBench/MallocBench/mbmalloc.cpp: |
| * MallocBench/MallocBench/message.cpp: |
| (WorkQueue::WorkQueue): |
| (WorkQueue::~WorkQueue): |
| (WorkQueue::dispatchAsync): |
| (WorkQueue::dispatchSync): |
| (benchmark_message_one): |
| (benchmark_message_many): |
| * MallocBench/MallocBench/nimlang.cpp: |
| (benchmark_nimlang): |
| * MallocBench/MallocBench/stress.cpp: |
| (SizeStream::next): |
| * MallocBench/MallocBench/stress_aligned.cpp: |
| * MallocBench/run-malloc-benchmarks: |
| |
| 2017-09-26 Mathias Bynens <mathias@qiwi.be> |
| |
| Speedometer: ensure all TodoMVC tests use the complete latest CSS |
| https://bugs.webkit.org/show_bug.cgi?id=177358 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| * Speedometer/resources/todomvc/architecture-examples/angular/dist/*: Updated per build instructions. |
| * Speedometer/resources/todomvc/architecture-examples/angular/src/assets/css/todomvc-app.css: Updated to latest version. |
| * Speedometer/resources/todomvc/architecture-examples/angularjs/node_modules/*: Updated to latest TodoMVC CSS. |
| * Speedometer/resources/todomvc/architecture-examples/angularjs/package-lock.json: Added. |
| * Speedometer/resources/todomvc/architecture-examples/angularjs/package.json: Updated to latest TodoMVC CSS. |
| * Speedometer/resources/todomvc/architecture-examples/angularjs/todomvc-index.html: Updated to match new CSS classnames. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs-debug/assets/vendor.css: Manually updated to latest TodoMVC CSS, except with IDs instead of classes. (Build steps unknown.) |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/app/components/todo-list.js: Updated to match new CSS classnames. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/app/templates/application.hbs: Updated to match new CSS classnames. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/app/templates/components/todo-list.hbs: Updated to match new CSS classnames. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/dist/*: Updated per build instructions. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/vendor/index.css: Updated to latest TodoMVC CSS. |
| * Speedometer/resources/todomvc/architecture-examples/inferno/node_modules/*: Updated TodoMVC CSS. |
| * Speedometer/resources/todomvc/architecture-examples/inferno/package.json: Updated TodoMVC CSS. |
| * Speedometer/resources/todomvc/architecture-examples/jquery/index.html: Updated to match new CSS classnames. |
| * Speedometer/resources/todomvc/architecture-examples/jquery/node_modules/*: Updated TodoMVC CSS. |
| * Speedometer/resources/todomvc/architecture-examples/jquery/package.json: Updated to latest TodoMVC CSS. |
| * Speedometer/resources/todomvc/dependency-examples/flight/flight/app/templates/stats.html: Updated to match new CSS classnames. |
| * Speedometer/resources/todomvc/dependency-examples/flight/flight/index.html: Updated to match new CSS classnames. |
| * Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/todomvc-app-css/index.css: Updated to latest TodoMVC CSS. |
| * Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/todomvc-app-css/package.json: Updated to latest TodoMVC CSS. |
| * Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/todomvc-common/*: Updated to latest version. |
| * Speedometer/resources/todomvc/dependency-examples/flight/flight/package.json: Updated to latest TodoMVC CSS. |
| * Speedometer/resources/todomvc/functional-prog-examples/elm/node_modules/todomvc-app-css/index.css: Updated to latest TodoMVC CSS. |
| * Speedometer/resources/todomvc/functional-prog-examples/elm/node_modules/todomvc-common/base.js: Updated to latest version. |
| * Speedometer/resources/todomvc/functional-prog-examples/elm/package.json: Updated to latest TodoMVC CSS. |
| * Speedometer/resources/todomvc/vanilla-examples/es2015-babel-webpack/dist/*: Updated per build instructions. |
| * Speedometer/resources/todomvc/vanilla-examples/es2015-babel-webpack/package-lock.json: Updated to latest TodoMVC CSS. |
| * Speedometer/resources/todomvc/vanilla-examples/es2015-babel-webpack/package.json: Updated to latest TodoMVC CSS. |
| * Speedometer/resources/todomvc/vanilla-examples/es2015/node_modules/todomvc-app-css/index.css: Updated to latest TodoMVC CSS. |
| * Speedometer/resources/todomvc/vanilla-examples/es2015/node_modules/todomvc-app-css/package.json: Updated to latest TodoMVC CSS. |
| * Speedometer/resources/todomvc/vanilla-examples/es2015/node_modules/todomvc-app-css/readme.md: Updated to latest TodoMVC CSS. |
| * Speedometer/resources/todomvc/vanilla-examples/es2015/node_modules/todomvc-common/*: Updated to latest version. |
| * Speedometer/resources/todomvc/vanilla-examples/es2015/package.json: Updated to latest TodoMVC CSS. |
| * Speedometer/resources/todomvc/vanilla-examples/vanillajs/node_modules/todomvc-app-css/index.css: Updated to latest TodoMVC CSS. |
| * Speedometer/resources/todomvc/vanilla-examples/vanillajs/node_modules/todomvc-common/*: Updated to latest version. |
| * Speedometer/resources/todomvc/vanilla-examples/vanillajs/package.json: Updated to latest TodoMVC CSS. |
| |
| 2017-09-25 Mathias Bynens <mathias@qiwi.be> |
| |
| Speedometer: Add missing build scripts for Vue.js example |
| https://bugs.webkit.org/show_bug.cgi?id=177359 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| This directory contains the build scripts needed to update `dist/*`. It had not been checked in because previously, all `build` directories were ignored by `.gitignore`. This directory is generated as part of `npm install -g vue-cli && vue init webpack some-project-name`. |
| |
| * Speedometer/resources/todomvc/architecture-examples/vuejs-cli/build/build.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/vuejs-cli/build/check-versions.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/vuejs-cli/build/dev-client.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/vuejs-cli/build/dev-server.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/vuejs-cli/build/utils.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/vuejs-cli/build/vue-loader.conf.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/vuejs-cli/build/webpack.base.conf.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/vuejs-cli/build/webpack.dev.conf.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/vuejs-cli/build/webpack.prod.conf.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/vuejs-cli/build/webpack.test.conf.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/vuejs-cli/dist/*: Updated per build instructions. |
| * Speedometer/resources/todomvc/architecture-examples/vuejs-cli/package-lock.json: Added build dependencies per vue-cli. |
| * Speedometer/resources/todomvc/architecture-examples/vuejs-cli/package.json: Added build dependencies per vue-cli. |
| * Speedometer/resources/todomvc/architecture-examples/vuejs-cli/src/components/todo.css: Updated CSS to the latest version for #177358. |
| |
| 2017-09-25 Mathias Bynens <mathias@qiwi.be> |
| |
| Speedometer: Fix typo |
| https://bugs.webkit.org/show_bug.cgi?id=177425 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| * Speedometer/InteractiveRunner.html: Fix typo: “Arithemtic Mean” → “Arithmetic Mean”. |
| |
| 2017-09-10 Mathias Bynens <mathias@qiwi.be> |
| |
| Speedometer: Reduce duplication in react-redux test |
| https://bugs.webkit.org/show_bug.cgi?id=176227 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| Updating react-scripts to a modern version avoids an issue where the generated bundle included the same `Object.assign` |
| polyfill multiple times. |
| |
| * Speedometer/resources/todomvc/architecture-examples/react-redux/dist/*: Update dist per build instructions. |
| * Speedometer/resources/todomvc/architecture-examples/react-redux/package-lock.json: Update dependencies. |
| * Speedometer/resources/todomvc/architecture-examples/react-redux/package.json: Update dependencies. |
| |
| 2017-09-07 Said Abou-Hallawa <sabouhallawa@apple.com> |
| |
| Optimize the call to browserPrefix() in MotionMark |
| https://bugs.webkit.org/show_bug.cgi?id=176489 |
| |
| Reviewed by Jon Lee. |
| |
| This function is expensive and it does not change for the browser. No need |
| to recalculate it every time it is called; just cache the returned value. |
| |
| * MotionMark/resources/extensions.js: |
| (Utilities.browserPrefix): |
| |
| 2017-08-19 Filip Pizlo <fpizlo@apple.com> |
| |
| We should have more tests of tail calls |
| https://bugs.webkit.org/show_bug.cgi?id=175754 |
| |
| Reviewed by Sam Weinig. |
| |
| This introduces a new test suite called TailBench9000, which will have benchmarks written in |
| JavaScript that avoid all looping except by tail call. As a warmup, I wrote a mergesort |
| benchmark and I proted n-body to use tail calls instead of for loops. |
| |
| * TailBench9000: Added. |
| * TailBench9000/merge-sort-run.js: Added. |
| * TailBench9000/merge-sort.js: Added. |
| (TEST_mergeSort.createRNG): |
| (TEST_mergeSort.): |
| (TEST_mergeSort.merge): |
| (TEST_mergeSort.mergeSorted): |
| (TEST_mergeSort.checkSorted.check): |
| (TEST_mergeSort.checkSorted): |
| (TEST_mergeSort.add): |
| (TEST_mergeSort.build): |
| (TEST_mergeSort.compare): |
| (TEST_mergeSort.checkSpectrum): |
| (TEST_mergeSort.buildArray): |
| (TEST_mergeSort): |
| * TailBench9000/n-body-run.js: Added. |
| * TailBench9000/n-body.js: Added. |
| (TEST_nBody.Body): |
| (TEST_nBody.Body.prototype.offsetMomentum): |
| (TEST_nBody.Jupiter): |
| (TEST_nBody.Saturn): |
| (TEST_nBody.Uranus): |
| (TEST_nBody.Neptune): |
| (TEST_nBody.Sun): |
| (TEST_nBody.NBodySystem): |
| (TEST_nBody.NBodySystem.prototype.advance): |
| (TEST_nBody.NBodySystem.prototype.energy): |
| (TEST_nBody): |
| |
| 2017-09-05 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Compute the final score using geometric mean in Speedometer 2.0 |
| https://bugs.webkit.org/show_bug.cgi?id=172968 |
| |
| Reviewed by Saam Barati. |
| |
| Make Speedometer 2.0 use the geometric mean of the subtotal of each test suite instead of the total.. |
| |
| In Speedometer 1.0, we used the total time to compute the final score because we wanted to make |
| the slowest framework and library faster. The fastest suite (FlightJS) still accounted for ~6% and |
| the slowest case (React) accounted for ~25% so we felt the total time, or the arithmetic mean with |
| a constant factor, was a good metric to track. |
| |
| In the latest version of Speedometer 2.0, however, the fastest suite (Preact) runs in ~55ms whereas |
| the slowest suite (Inferno) takes 1.5s on Safari. Since the total time is 6.5s, Preact's suite only |
| accounts for ~0.8% of the total score while Inferno's suite accounts for ~23% of the total score. |
| Since the goal of Speedometer is to approximate different kinds of DOM API use patterns on the Web, |
| we want each framework & library to have some measurement impact on the overall benchmark score. |
| |
| Furthermore, after r221205, we're testing both debug build of Ember.js as well as release build. |
| Since debug build is 4x slower, using the total time or the arithmetic mean thereof will effectively |
| give 4x as much weight to debug build of Ember.js relative to release build of Ember.js. Given only |
| ~5% of websites that deploy Ember.js use debug build, this weighting is clearly not right. |
| |
| This patch, therefore, replaces the arithmetic mean by the geometric mean to compute the final score. |
| It also moves the code to compute the final score to BenchmarkRunner to be shared between main.js |
| and InteractiveRunner.html. |
| |
| * Speedometer/InteractiveRunner.html: |
| (.didRunSuites): Show geometric mean, arithmetic mean, total, as well as the score for completeness |
| since this is a debugging page for developers. |
| * Speedometer/resources/benchmark-runner.js: |
| (BenchmarkRunner.prototype.step): Added mean, geomean, and score as measuredValues' properties. |
| (BenchmarkRunner.prototype._runTestAndRecordResults): Removed the dead code. |
| (BenchmarkRunner.prototype._finalize): Compute and add total, arithmetic mean (just mean in the code), |
| and geometric mean (geomean) to measuredValues. |
| * Speedometer/resources/main.js: |
| (window.benchmarkClient): Replaced testsCount by stepsCount and _timeValues by _measuredValuesList. |
| (window.benchmarkClient.willRunTest): |
| (window.benchmarkClient.didRunTest): |
| (window.benchmarkClient.didRunSuites): Store measuredValues object instead of just the total time. |
| (window.benchmarkClient.didFinishLastIteration): |
| (window.benchmarkClient._computeResults): |
| (window.benchmarkClient._computeResults.valueForUnit): Renamed from totalTimeInDisplayUnit. Now simply |
| retrieves the values computed by BenchmarkRunner's_finalize. |
| (startBenchmark): |
| (computeScore): Deleted. |
| |
| 2017-09-05 JF Bastien <jfbastien@apple.com> |
| |
| StitchMarker build fix |
| |
| Unreviewed |
| |
| * StitchMarker/ck.sh: was missing `cd ck` |
| |
| 2017-09-05 Shiyu Zhang <shiyu.zhang@intel.com> |
| |
| Speedometer 2.0: Add dummy node to notify app is ready for Backbone suite |
| https://bugs.webkit.org/show_bug.cgi?id=176142 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| Create a dummy node to notify that app is ready for Backbone suite. It prevents Speedometer injecting items before app.js is loaded. |
| |
| * Speedometer/resources/tests.js: |
| (Suites.push.prepare): |
| * Speedometer/resources/todomvc/architecture-examples/backbone/js/app.js: |
| |
| 2017-08-30 Shiyu Zhang <shiyu.zhang@intel.com> |
| |
| Speedometer 2.0: jQuery test fails occasionally |
| https://bugs.webkit.org/show_bug.cgi?id=176017 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| Create a dummy node to notify that app is ready for jQuery suite. It prevents Speedometer injecting items before app.js is loaded. |
| |
| * Speedometer/resources/tests.js: |
| (Suites.push.prepare): |
| * Speedometer/resources/todomvc/architecture-examples/jquery/js/app.js: |
| (jQuery.App.init): |
| |
| 2017-08-25 Mathias Bynens <mathias@qiwi.be> |
| |
| Speedometer: Restructure Ember example |
| https://bugs.webkit.org/show_bug.cgi?id=175926 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| This patch removes an unused stylesheet from the output, and gets rid of the unneeded intermediate `source` folder. |
| |
| * Speedometer/resources/tests.js: Update path to Ember benchmark. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/source/*: Moved to `../`. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/app/index.html: Removed stylesheet reference. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/app/styles/.gitkeep: Added. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/dist/*: Regenerated per build instructions. |
| |
| 2017-08-24 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Speedometer 2.0: Duplicate the current EmberJS test as EmberJS-Debug test |
| https://bugs.webkit.org/show_bug.cgi?id=175956 |
| |
| Reviewed by Saam Barati. |
| |
| Made the copy of Ember.js directory at r216946 as emberjs-debug, and added a new test suite "EmberJS-Debug-TodoMVC". |
| |
| * Speedometer/resources/tests.js: |
| (Suites.push.prepare): |
| * Speedometer/resources/todomvc/architecture-examples/emberjs-debug: Copied from emberjs@r216946. |
| |
| 2017-08-23 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Speedometer: Add missing stylesheet to Angular example |
| https://bugs.webkit.org/show_bug.cgi?id=175820 |
| |
| Fix r221042. It was supposed to add an empty file but git-svn failed to do so. |
| |
| * Speedometer/resources/todomvc/architecture-examples/angular/dist/styles.d41d8cd98f00b204e980.bundle.css: Added. |
| |
| 2017-08-23 Mathias Bynens <mathias@qiwi.be> |
| |
| Speedometer: Update to modern Preact version |
| https://bugs.webkit.org/show_bug.cgi?id=175763 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| * Speedometer/resources/todomvc/architecture-examples/preact/README.md: Documented build steps. |
| * Speedometer/resources/todomvc/architecture-examples/preact/dist/*: Renamed from build to dist so it can be checked in, and updated per build steps. |
| * Speedometer/resources/todomvc/architecture-examples/preact/package-lock.json: Locked dependencies to ensure builds are deterministic. |
| * Speedometer/resources/todomvc/architecture-examples/preact/package.json: Updated build commands and dependencies. |
| * Speedometer/resources/todomvc/architecture-examples/preact/rollup.config.js: Updated configuration. |
| * Speedometer/resources/todomvc/architecture-examples/preact/src/app/footer.js: Updated to modern Preact version. |
| * Speedometer/resources/todomvc/architecture-examples/preact/src/app/index.js: Updated to modern Preact version. |
| * Speedometer/resources/todomvc/architecture-examples/preact/src/app/util.js: Updated to modern Preact version. |
| * Speedometer/resources/todomvc/architecture-examples/preact/src/index.html: Made title consistent. |
| * Speedometer/resources/todomvc/architecture-examples/preact/webpack.config.babel.js: Updated configuration. |
| |
| 2017-08-23 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Speedometer 2.0: Add the capability to run a specific suite |
| https://bugs.webkit.org/show_bug.cgi?id=175908 |
| |
| Address Joe's review comments. |
| |
| * Speedometer/resources/main.js: |
| (startBenchmark): |
| |
| 2017-08-23 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Speedometer 2.0: Add the capability to run a specific suite |
| https://bugs.webkit.org/show_bug.cgi?id=175908 |
| |
| Reviewed by Saam Barati. |
| |
| Added ?suite=X query parameter to specify a specific suite (e.g. React-TodoMVC) to run. |
| |
| * Speedometer/resources/main.js: |
| (enableOneSuite): Added. |
| (startBenchmark): Return true if the benchmark actually had started running. |
| (startTest): Don't transition to the "running" state if the benchmark failed to start (e.g. no tests to run). |
| |
| 2017-08-23 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Speedometer 2.0: Async time is not always capturing layout time |
| https://bugs.webkit.org/show_bug.cgi?id=175871 |
| |
| Reviewed by Simon Fraser. |
| |
| Speedometer harness was designed to capture the time browser engine spends relayouting and repainting the content |
| after DOM mutations this in its async time measurement, which is the time between each test case's code had finished |
| running and when a newly scheduled 0s timer is fired immediately afterwards. |
| |
| It turns out that modern web browsers defer this reflow and repaint work until the next animation frame is requested. |
| This results in Speedometer harness measuring reflow and repaint cost only sometimes depending on when each test case |
| had finished running relative to the next frame request. |
| |
| While such a behavior makes sense and might be desirable for a modern browser engine, we would like to capture it in |
| the async time for the purpose of Speedometer. Unfortunately, there isn't an interoperable API for browsers to report |
| the total layout and repaint time, and relying on 16ms-granularity requestAnimationFrame is too coarse for Speedometer. |
| |
| This patch works around these limitations by manually forcing the layout in async time measurement by calling |
| getBoundingClientRect() in iframe's document. Since the height of the document depends on the number of todo items, |
| this should cause browser engines to do most if not all of the work needed to reflow the document at least for now. |
| |
| Note that even new async time doesn't always capture painting time but there isn't a good cross-browser mechanism |
| to measure paint time in the granurality we need for Speedometer at the moment anyway. (Should such a mechanism exist, |
| that could be a huge timing attack surface so it's probably best that we don't have one.) |
| |
| * Speedometer/resources/benchmark-runner.js: |
| (BenchmarkRunner.prototype._runTest): |
| |
| 2017-08-23 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Speedometer: Make React/Redux item order consistent |
| https://bugs.webkit.org/show_bug.cgi?id=175818 |
| |
| Reviewed by Joseph Pecoraro. |
| |
| Based on the patch made by Mathias Bynens. Re-generated project files. |
| |
| Also tweaked the instruction in package.json so that newly generated files in build/* replace dist/* instead of |
| being moved under dist/build/ by rm -rf'ing dist directory first. |
| |
| * Speedometer/resources/todomvc/architecture-examples/react-redux/dist/index.html: |
| * Speedometer/resources/todomvc/architecture-examples/react-redux/dist/static/js/main.43a0948c.js: Removed. |
| * Speedometer/resources/todomvc/architecture-examples/react-redux/dist/static/js/main.43a0948c.js.map: Removed. |
| * Speedometer/resources/todomvc/architecture-examples/react-redux/dist/static/js/main.69cd9655.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/react-redux/dist/static/js/main.69cd9655.js.map: Added. |
| * Speedometer/resources/todomvc/architecture-examples/react-redux/package.json: |
| * Speedometer/resources/todomvc/architecture-examples/react-redux/src/reducers/todos.js: Forced new items to be appended rather than prepended. |
| * Speedometer/resources/todomvc/architecture-examples/react-redux/yarn.lock: Removed unnecessary file. |
| |
| 2017-08-23 Mathias Bynens <mathias@qiwi.be> |
| |
| Speedometer: Update to modern React version |
| https://bugs.webkit.org/show_bug.cgi?id=175715 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| This patch pins React and react-dom to v15.5.4 (released in May 2017). |
| |
| * Speedometer/resources/todomvc/architecture-examples/react/README.md: Documented build steps. |
| * Speedometer/resources/todomvc/architecture-examples/react/index.html: Made title consistent. |
| * Speedometer/resources/todomvc/architecture-examples/react/node_modules/*: Remove unneeded files and update per build instructions. |
| * Speedometer/resources/todomvc/architecture-examples/react/npm-shrinkwrap.json: Removed in favor of package-lock.json. |
| * Speedometer/resources/todomvc/architecture-examples/react/package-lock.json: Pinned dependencies to make build deterministic. |
| * Speedometer/resources/todomvc/architecture-examples/react/package.json: Update dependencies. |
| * Speedometer/resources/todomvc/architecture-examples/react/yarn.lock: Removed in favor of package-lock.json. |
| |
| 2017-08-22 Ryosuke Niwa <rniwa@webkit.org> |
| |
| REGRESSION(R220043): Speedometer 2.0: Fix vanilla JS examples |
| https://bugs.webkit.org/show_bug.cgi?id=175815 |
| |
| Reviewed by Saam Barati. |
| |
| Both vanilla ES2015 and Babel + WebPack test cases were failing to mark Todo items as completed since they were relying on |
| `new Date().getTime()` to generate an unique ID. That's not going to work if mulitple todo items are added within 1ms. |
| |
| * Speedometer/resources/todomvc/vanilla-examples/es2015-babel-webpack/dist/bundle.app.71bb1f671e4e65604d05.js: Added. |
| * Speedometer/resources/todomvc/vanilla-examples/es2015-babel-webpack/dist/bundle.app.71bb1f671e4e65604d05.js.map: Added. |
| * Speedometer/resources/todomvc/vanilla-examples/es2015-babel-webpack/dist/bundle.app.9debb1b0a94f14d0ebe9.js: Removed. |
| * Speedometer/resources/todomvc/vanilla-examples/es2015-babel-webpack/dist/bundle.app.9debb1b0a94f14d0ebe9.js.map: Removed. |
| * Speedometer/resources/todomvc/vanilla-examples/es2015-babel-webpack/dist/bundle.manifest.2102040c9a6e04cc046e.js: Added. |
| * Speedometer/resources/todomvc/vanilla-examples/es2015-babel-webpack/dist/bundle.manifest.2102040c9a6e04cc046e.js.map: Added. |
| * Speedometer/resources/todomvc/vanilla-examples/es2015-babel-webpack/dist/bundle.vendor.b16cc08e016d07886f5f.js: Added. |
| * Speedometer/resources/todomvc/vanilla-examples/es2015-babel-webpack/dist/bundle.vendor.b16cc08e016d07886f5f.js.map: Added. |
| * Speedometer/resources/todomvc/vanilla-examples/es2015-babel-webpack/dist/index.html: |
| * Speedometer/resources/todomvc/vanilla-examples/es2015-babel-webpack/dist/styles.app.71bb1f671e4e65604d05.css: Added. |
| * Speedometer/resources/todomvc/vanilla-examples/es2015-babel-webpack/dist/styles.app.71bb1f671e4e65604d05.css.map: Added. |
| * Speedometer/resources/todomvc/vanilla-examples/es2015-babel-webpack/dist/styles.vendor.b16cc08e016d07886f5f.css: Added. |
| * Speedometer/resources/todomvc/vanilla-examples/es2015-babel-webpack/dist/styles.vendor.b16cc08e016d07886f5f.css.map: Added. |
| * Speedometer/resources/todomvc/vanilla-examples/es2015-babel-webpack/src/store.js: |
| * Speedometer/resources/todomvc/vanilla-examples/es2015/src/store.js: |
| |
| 2017-08-22 JF Bastien <jfbastien@apple.com> |
| |
| StitchMarker: threading, locking, and atomics benchmark |
| https://bugs.webkit.org/show_bug.cgi?id=175847 |
| |
| Rubber-stamped by Filip Pizlo. |
| |
| This patch imports concurrency and parallelism benchmarks from |
| four independent projects: Facebook's folly, Olivier Giroux's |
| locking benchmark aimed at C++20 standardization, Samy Al Bahra's |
| ck concurrency primitives, and WebKit's WTF lock benchmarks. |
| There's a fifth benchmark in the waiting, Cristian Mattarei's FMJS |
| litmus tests, which currently only targets JavaScript but will |
| eventually work on straight C code. |
| |
| The benchmark currently execute on native platforms only, but |
| could be compiled to WebAssembly when the toolchains mature. They |
| should stress interesting aspects of atomics, locking, and |
| threading. The build works through simple shell scripts, and there |
| currently is no "runner" because each benchmark is a standalone |
| executable. This setup is especially well suited for WebAssembly. |
| |
| * StitchMarker/README.md: Added. See this for more details. |
| * StitchMarker/ck.sh: Added. Build script. |
| * StitchMarker/ck/LICENSE: Added. |
| * StitchMarker/ck/Makefile: Added. |
| * StitchMarker/ck/Makefile.in: Added. |
| * StitchMarker/ck/README: Added. |
| * StitchMarker/ck/configure: Added. |
| * StitchMarker/ck/doc/Makefile: Added. |
| * StitchMarker/ck/include/ck_array.h: Added. |
| (ck_array_length): |
| (ck_array_buffer): |
| (ck_array_initialized): |
| * StitchMarker/ck/include/ck_backoff.h: Added. |
| (ck_backoff_eb): |
| * StitchMarker/ck/include/ck_barrier.h: Added. |
| * StitchMarker/ck/include/ck_bitmap.h: Added. |
| (ck_bitmap_base): |
| (ck_bitmap_size): |
| (ck_bitmap_bits): |
| (ck_bitmap_buffer): |
| (ck_bitmap_set): |
| (ck_bitmap_bts): |
| (ck_bitmap_reset): |
| (ck_bitmap_test): |
| (ck_bitmap_union): |
| (ck_bitmap_intersection): |
| (ck_bitmap_intersection_negate): |
| (ck_bitmap_clear): |
| (ck_bitmap_empty): |
| (ck_bitmap_full): |
| (ck_bitmap_count): |
| (ck_bitmap_count_intersect): |
| (ck_bitmap_init): |
| (ck_bitmap_iterator_init): |
| (ck_bitmap_next): |
| * StitchMarker/ck/include/ck_brlock.h: Added. |
| (ck_brlock_init): |
| (ck_brlock_write_lock): |
| (ck_brlock_write_unlock): |
| (ck_brlock_write_trylock): |
| (ck_brlock_read_register): |
| (ck_brlock_read_unregister): |
| (ck_brlock_read_lock): |
| (ck_brlock_read_trylock): |
| (ck_brlock_read_unlock): |
| * StitchMarker/ck/include/ck_bytelock.h: Added. |
| (ck_bytelock_init): |
| (ck_bytelock_write_lock): |
| (ck_bytelock_write_unlock): |
| (ck_bytelock_read_lock): |
| (ck_bytelock_read_unlock): |
| * StitchMarker/ck/include/ck_cc.h: Added. |
| (ck_cc_ffs): |
| (ck_cc_clz): |
| (ck_cc_ctz): |
| (ck_cc_popcount): |
| * StitchMarker/ck/include/ck_cohort.h: Added. |
| * StitchMarker/ck/include/ck_elide.h: Added. |
| (ck_elide_stat_init): |
| (_ck_elide_fallback): |
| * StitchMarker/ck/include/ck_epoch.h: Added. |
| (ck_epoch_record_ct): |
| (ck_epoch_begin): |
| (ck_epoch_end): |
| (ck_epoch_call): |
| (ck_epoch_call_strict): |
| (ck_epoch_value): |
| * StitchMarker/ck/include/ck_fifo.h: Added. |
| (ck_fifo_spsc_enqueue_trylock): |
| (ck_fifo_spsc_enqueue_lock): |
| (ck_fifo_spsc_enqueue_unlock): |
| (ck_fifo_spsc_dequeue_trylock): |
| (ck_fifo_spsc_dequeue_lock): |
| (ck_fifo_spsc_dequeue_unlock): |
| (ck_fifo_spsc_init): |
| (ck_fifo_spsc_deinit): |
| (ck_fifo_spsc_enqueue): |
| (ck_fifo_spsc_dequeue): |
| (ck_fifo_spsc_recycle): |
| (ck_fifo_spsc_isempty): |
| (ck_fifo_mpmc_init): |
| (ck_fifo_mpmc_deinit): |
| (ck_fifo_mpmc_enqueue): |
| (ck_fifo_mpmc_tryenqueue): |
| (ck_fifo_mpmc_dequeue): |
| (ck_fifo_mpmc_trydequeue): |
| * StitchMarker/ck/include/ck_hp.h: Added. |
| (ck_hp_set): |
| (ck_hp_set_fence): |
| (ck_hp_clear): |
| * StitchMarker/ck/include/ck_hp_fifo.h: Added. |
| (ck_hp_fifo_init): |
| (ck_hp_fifo_deinit): |
| (ck_hp_fifo_enqueue_mpmc): |
| (ck_hp_fifo_tryenqueue_mpmc): |
| (ck_hp_fifo_dequeue_mpmc): |
| (ck_hp_fifo_trydequeue_mpmc): |
| * StitchMarker/ck/include/ck_hp_stack.h: Added. |
| (ck_hp_stack_push_mpmc): |
| (ck_hp_stack_trypush_mpmc): |
| (ck_hp_stack_pop_mpmc): |
| (ck_hp_stack_trypop_mpmc): |
| * StitchMarker/ck/include/ck_hs.h: Added. |
| * StitchMarker/ck/include/ck_ht.h: Added. |
| * StitchMarker/ck/include/ck_limits.h: Added. |
| * StitchMarker/ck/include/ck_malloc.h: Added. |
| * StitchMarker/ck/include/ck_md.h: Added. |
| * StitchMarker/ck/include/ck_md.h.in: Added. |
| * StitchMarker/ck/include/ck_pflock.h: Added. |
| (ck_pflock_init): |
| (ck_pflock_write_unlock): |
| (ck_pflock_write_lock): |
| (ck_pflock_read_unlock): |
| (ck_pflock_read_lock): |
| * StitchMarker/ck/include/ck_pr.h: Added. |
| (ck_pr_rfo): |
| * StitchMarker/ck/include/ck_queue.h: Added. |
| * StitchMarker/ck/include/ck_rhs.h: Added. |
| * StitchMarker/ck/include/ck_ring.h: Added. |
| (ck_ring_size): |
| (ck_ring_capacity): |
| (ck_ring_init): |
| (_ck_ring_enqueue_sp): |
| (_ck_ring_enqueue_sp_size): |
| (_ck_ring_dequeue_sc): |
| (_ck_ring_enqueue_mp): |
| (_ck_ring_enqueue_mp_size): |
| (_ck_ring_trydequeue_mc): |
| (_ck_ring_dequeue_mc): |
| (ck_ring_enqueue_spsc_size): |
| (ck_ring_enqueue_spsc): |
| (ck_ring_dequeue_spsc): |
| (ck_ring_enqueue_mpmc): |
| (ck_ring_enqueue_mpmc_size): |
| (ck_ring_trydequeue_mpmc): |
| (ck_ring_dequeue_mpmc): |
| (ck_ring_enqueue_spmc_size): |
| (ck_ring_enqueue_spmc): |
| (ck_ring_trydequeue_spmc): |
| (ck_ring_dequeue_spmc): |
| (ck_ring_enqueue_mpsc): |
| (ck_ring_enqueue_mpsc_size): |
| (ck_ring_dequeue_mpsc): |
| * StitchMarker/ck/include/ck_rwcohort.h: Added. |
| * StitchMarker/ck/include/ck_rwlock.h: Added. |
| (ck_rwlock_init): |
| (ck_rwlock_write_unlock): |
| (ck_rwlock_locked_writer): |
| (ck_rwlock_write_downgrade): |
| (ck_rwlock_locked): |
| (ck_rwlock_write_trylock): |
| (ck_rwlock_write_lock): |
| (ck_rwlock_read_trylock): |
| (ck_rwlock_read_lock): |
| (ck_rwlock_locked_reader): |
| (ck_rwlock_read_unlock): |
| (ck_rwlock_recursive_write_lock): |
| (ck_rwlock_recursive_write_trylock): |
| (ck_rwlock_recursive_write_unlock): |
| (ck_rwlock_recursive_read_lock): |
| (ck_rwlock_recursive_read_trylock): |
| (ck_rwlock_recursive_read_unlock): |
| * StitchMarker/ck/include/ck_sequence.h: Added. |
| (ck_sequence_init): |
| (ck_sequence_read_begin): |
| (ck_sequence_read_retry): |
| (ck_sequence_write_begin): |
| (ck_sequence_write_end): |
| * StitchMarker/ck/include/ck_spinlock.h: Added. |
| * StitchMarker/ck/include/ck_stack.h: Added. |
| (ck_stack_push_upmc): |
| (ck_stack_trypush_upmc): |
| (ck_stack_pop_upmc): |
| (ck_stack_trypop_upmc): |
| (ck_stack_batch_pop_upmc): |
| (ck_stack_push_mpmc): |
| (ck_stack_trypush_mpmc): |
| (ck_stack_pop_mpmc): |
| (ck_stack_trypop_mpmc): |
| (ck_stack_batch_pop_mpmc): |
| (ck_stack_push_mpnc): |
| (ck_stack_push_spnc): |
| (ck_stack_pop_npsc): |
| (ck_stack_batch_pop_npsc): |
| (ck_stack_init): |
| * StitchMarker/ck/include/ck_stdbool.h: Added. |
| * StitchMarker/ck/include/ck_stddef.h: Added. |
| * StitchMarker/ck/include/ck_stdint.h: Added. |
| * StitchMarker/ck/include/ck_stdlib.h: Added. |
| * StitchMarker/ck/include/ck_string.h: Added. |
| * StitchMarker/ck/include/ck_swlock.h: Added. |
| (ck_swlock_init): |
| (ck_swlock_write_unlock): |
| (ck_swlock_locked_writer): |
| (ck_swlock_write_downgrade): |
| (ck_swlock_locked): |
| (ck_swlock_write_trylock): |
| (ck_swlock_write_lock): |
| (ck_swlock_write_latch): |
| (ck_swlock_write_unlatch): |
| (ck_swlock_read_trylock): |
| (ck_swlock_read_lock): |
| (ck_swlock_locked_reader): |
| (ck_swlock_read_unlock): |
| * StitchMarker/ck/include/ck_tflock.h: Added. |
| (ck_tflock_ticket_fca_32): |
| (ck_tflock_ticket_init): |
| (ck_tflock_ticket_write_lock): |
| (ck_tflock_ticket_write_unlock): |
| (ck_tflock_ticket_read_lock): |
| (ck_tflock_ticket_read_unlock): |
| * StitchMarker/ck/include/gcc/aarch64/ck_f_pr.h: Added. |
| * StitchMarker/ck/include/gcc/aarch64/ck_pr.h: Added. |
| (ck_pr_stall): |
| * StitchMarker/ck/include/gcc/aarch64/ck_pr_llsc.h: Added. |
| (ck_pr_cas_64_2_value): |
| (ck_pr_cas_ptr_2_value): |
| (ck_pr_cas_64_2): |
| (ck_pr_cas_ptr_2): |
| (ck_pr_faa_ptr): |
| (ck_pr_faa_64): |
| * StitchMarker/ck/include/gcc/aarch64/ck_pr_lse.h: Added. |
| (ck_pr_cas_64_2_value): |
| (ck_pr_cas_ptr_2_value): |
| (ck_pr_cas_64_2): |
| (ck_pr_cas_ptr_2): |
| (ck_pr_faa_ptr): |
| (ck_pr_faa_64): |
| * StitchMarker/ck/include/gcc/arm/ck_f_pr.h: Added. |
| * StitchMarker/ck/include/gcc/arm/ck_pr.h: Added. |
| (ck_pr_stall): |
| (ck_pr_cas_ptr_2_value): |
| (ck_pr_cas_ptr_2): |
| (ck_pr_cas_ptr_value): |
| (ck_pr_cas_ptr): |
| (ck_pr_faa_ptr): |
| * StitchMarker/ck/include/gcc/ck_cc.h: Added. |
| (ck_cc_ffs): |
| (ck_cc_clz): |
| (ck_cc_ctz): |
| (ck_cc_popcount): |
| * StitchMarker/ck/include/gcc/ck_f_pr.h: Added. |
| * StitchMarker/ck/include/gcc/ck_pr.h: Added. |
| (ck_pr_barrier): |
| (ck_pr_md_load_ptr): |
| (ck_pr_md_store_ptr): |
| (ck_pr_stall): |
| (ck_pr_cas_ptr_value): |
| * StitchMarker/ck/include/gcc/ppc/ck_f_pr.h: Added. |
| * StitchMarker/ck/include/gcc/ppc/ck_pr.h: Added. |
| (ck_pr_stall): |
| (ck_pr_faa_ptr): |
| * StitchMarker/ck/include/gcc/ppc64/ck_f_pr.h: Added. |
| * StitchMarker/ck/include/gcc/ppc64/ck_pr.h: Added. |
| (ck_pr_stall): |
| (ck_pr_cas_64_value): |
| (ck_pr_cas_ptr_value): |
| (ck_pr_cas_64): |
| (ck_pr_cas_ptr): |
| (ck_pr_faa_ptr): |
| * StitchMarker/ck/include/gcc/s390x/ck_f_pr.h: Added. |
| * StitchMarker/ck/include/gcc/s390x/ck_pr.h: Added. |
| (ck_pr_stall): |
| (ck_pr_md_load_double): |
| (ck_pr_md_store_double): |
| (ck_pr_cas_64_value): |
| (ck_pr_cas_ptr_value): |
| (ck_pr_cas_64): |
| (ck_pr_cas_ptr): |
| (ck_pr_fas_ptr): |
| (ck_pr_fas_double): |
| (ck_pr_faa_ptr): |
| * StitchMarker/ck/include/gcc/sparcv9/ck_f_pr.h: Added. |
| * StitchMarker/ck/include/gcc/sparcv9/ck_pr.h: Added. |
| (ck_pr_stall): |
| (ck_pr_cas_64_value): |
| (ck_pr_cas_64): |
| (ck_pr_cas_ptr): |
| (ck_pr_cas_ptr_value): |
| * StitchMarker/ck/include/gcc/x86/ck_f_pr.h: Added. |
| * StitchMarker/ck/include/gcc/x86/ck_pr.h: Added. |
| (ck_pr_stall): |
| * StitchMarker/ck/include/gcc/x86_64/ck_f_pr.h: Added. |
| * StitchMarker/ck/include/gcc/x86_64/ck_pr.h: Added. |
| (ck_pr_stall): |
| (ck_pr_rfo): |
| (ck_pr_load_64_2): |
| (ck_pr_load_ptr_2): |
| (ck_pr_cas_64_2): |
| (ck_pr_cas_ptr_2): |
| (ck_pr_cas_64_2_value): |
| (ck_pr_cas_ptr_2_value): |
| * StitchMarker/ck/include/gcc/x86_64/ck_pr_rtm.h: Added. |
| (ck_pr_rtm_begin): |
| (ck_pr_rtm_end): |
| (ck_pr_rtm_abort): |
| (ck_pr_rtm_test): |
| * StitchMarker/ck/include/spinlock/anderson.h: Added. |
| (ck_spinlock_anderson_init): |
| (ck_spinlock_anderson_locked): |
| (ck_spinlock_anderson_lock): |
| (ck_spinlock_anderson_unlock): |
| * StitchMarker/ck/include/spinlock/cas.h: Added. |
| (ck_spinlock_cas_init): |
| (ck_spinlock_cas_trylock): |
| (ck_spinlock_cas_locked): |
| (ck_spinlock_cas_lock): |
| (ck_spinlock_cas_lock_eb): |
| (ck_spinlock_cas_unlock): |
| * StitchMarker/ck/include/spinlock/clh.h: Added. |
| (ck_spinlock_clh_init): |
| (ck_spinlock_clh_locked): |
| (ck_spinlock_clh_lock): |
| (ck_spinlock_clh_unlock): |
| * StitchMarker/ck/include/spinlock/dec.h: Added. |
| (ck_spinlock_dec_init): |
| (ck_spinlock_dec_trylock): |
| (ck_spinlock_dec_locked): |
| (ck_spinlock_dec_lock): |
| (ck_spinlock_dec_lock_eb): |
| (ck_spinlock_dec_unlock): |
| * StitchMarker/ck/include/spinlock/fas.h: Added. |
| (ck_spinlock_fas_init): |
| (ck_spinlock_fas_trylock): |
| (ck_spinlock_fas_locked): |
| (ck_spinlock_fas_lock): |
| (ck_spinlock_fas_lock_eb): |
| (ck_spinlock_fas_unlock): |
| * StitchMarker/ck/include/spinlock/hclh.h: Added. |
| (ck_spinlock_hclh_init): |
| (ck_spinlock_hclh_locked): |
| (ck_spinlock_hclh_lock): |
| (ck_spinlock_hclh_unlock): |
| * StitchMarker/ck/include/spinlock/mcs.h: Added. |
| (ck_spinlock_mcs_init): |
| (ck_spinlock_mcs_trylock): |
| (ck_spinlock_mcs_locked): |
| (ck_spinlock_mcs_lock): |
| (ck_spinlock_mcs_unlock): |
| * StitchMarker/ck/include/spinlock/ticket.h: Added. |
| (ck_spinlock_ticket_init): |
| (ck_spinlock_ticket_locked): |
| (ck_spinlock_ticket_lock): |
| (ck_spinlock_ticket_lock_pb): |
| (ck_spinlock_ticket_trylock): |
| (ck_spinlock_ticket_unlock): |
| * StitchMarker/ck/regressions/Makefile: Added. |
| * StitchMarker/ck/regressions/Makefile.unsupported: Added. |
| * StitchMarker/ck/regressions/ck_array/validate/Makefile: Added. |
| * StitchMarker/ck/regressions/ck_array/validate/serial.c: Added. |
| (my_free): |
| (my_malloc): |
| (my_realloc): |
| (main): |
| * StitchMarker/ck/regressions/ck_array/validate/serial.dSYM/Contents/Info.plist: Added. |
| * StitchMarker/ck/regressions/ck_array/validate/serial.dSYM/Contents/Resources/DWARF/serial: Added. |
| * StitchMarker/ck/regressions/ck_backoff/validate/Makefile: Added. |
| * StitchMarker/ck/regressions/ck_backoff/validate/validate.c: Added. |
| (main): |
| * StitchMarker/ck/regressions/ck_barrier/benchmark/Makefile: Added. |
| * StitchMarker/ck/regressions/ck_barrier/benchmark/throughput.c: Added. |
| (thread): |
| (main): |
| * StitchMarker/ck/regressions/ck_barrier/validate/Makefile: Added. |
| * StitchMarker/ck/regressions/ck_barrier/validate/barrier_centralized.c: Added. |
| (thread): |
| (main): |
| * StitchMarker/ck/regressions/ck_barrier/validate/barrier_combining.c: Added. |
| (thread): |
| (main): |
| * StitchMarker/ck/regressions/ck_barrier/validate/barrier_dissemination.c: Added. |
| (thread): |
| (main): |
| * StitchMarker/ck/regressions/ck_barrier/validate/barrier_mcs.c: Added. |
| (thread): |
| (main): |
| * StitchMarker/ck/regressions/ck_barrier/validate/barrier_tournament.c: Added. |
| (thread): |
| (main): |
| * StitchMarker/ck/regressions/ck_bitmap/validate/Makefile: Added. |
| * StitchMarker/ck/regressions/ck_bitmap/validate/serial.c: Added. |
| (check_iteration): |
| (test): |
| (test_init): |
| (random_init): |
| (copy): |
| (test_counts): |
| (random_test): |
| (main): |
| * StitchMarker/ck/regressions/ck_brlock/benchmark/Makefile: Added. |
| * StitchMarker/ck/regressions/ck_brlock/benchmark/latency.c: Added. |
| (main): |
| * StitchMarker/ck/regressions/ck_brlock/benchmark/throughput.c: Added. |
| (thread_brlock): |
| (main): |
| * StitchMarker/ck/regressions/ck_brlock/validate/Makefile: Added. |
| * StitchMarker/ck/regressions/ck_brlock/validate/validate.c: Added. |
| (thread): |
| (main): |
| * StitchMarker/ck/regressions/ck_bytelock/benchmark/Makefile: Added. |
| * StitchMarker/ck/regressions/ck_bytelock/benchmark/latency.c: Added. |
| (main): |
| * StitchMarker/ck/regressions/ck_bytelock/validate/Makefile: Added. |
| * StitchMarker/ck/regressions/ck_bytelock/validate/validate.c: Added. |
| (thread): |
| (main): |
| * StitchMarker/ck/regressions/ck_cohort/benchmark/Makefile: Added. |
| * StitchMarker/ck/regressions/ck_cohort/benchmark/ck_cohort.c: Added. |
| * StitchMarker/ck/regressions/ck_cohort/benchmark/throughput.c: Added. |
| (ck_spinlock_fas_lock_with_context): |
| (ck_spinlock_fas_unlock_with_context): |
| (ck_spinlock_fas_locked_with_context): |
| (fairness): |
| (main): |
| * StitchMarker/ck/regressions/ck_cohort/ck_cohort.h: Added. |
| * StitchMarker/ck/regressions/ck_cohort/validate/Makefile: Added. |
| * StitchMarker/ck/regressions/ck_cohort/validate/validate.c: Added. |
| (ck_spinlock_fas_lock_with_context): |
| (ck_spinlock_fas_unlock_with_context): |
| (ck_spinlock_fas_locked_with_context): |
| (ck_spinlock_fas_trylock_with_context): |
| (thread): |
| (main): |
| * StitchMarker/ck/regressions/ck_epoch/validate/Makefile: Added. |
| * StitchMarker/ck/regressions/ck_epoch/validate/ck_epoch_call.c: Added. |
| (cb): |
| (main): |
| * StitchMarker/ck/regressions/ck_epoch/validate/ck_epoch_poll.c: Added. |
| (destructor): |
| (read_thread): |
| (write_thread): |
| (main): |
| * StitchMarker/ck/regressions/ck_epoch/validate/ck_epoch_section.c: Added. |
| (setup_test): |
| (teardown_test): |
| (cleanup): |
| (test_simple_read_section): |
| (test_nested_read_section): |
| (barrier_work): |
| (reader_work): |
| (obj_destroy): |
| (test_single_reader_with_barrier_thread): |
| (test_multiple_readers_with_barrier_thread): |
| (main): |
| * StitchMarker/ck/regressions/ck_epoch/validate/ck_epoch_section_2.c: Added. |
| (read_thread): |
| (write_thread): |
| (main): |
| * StitchMarker/ck/regressions/ck_epoch/validate/ck_epoch_synchronize.c: Added. |
| (destructor): |
| (read_thread): |
| (write_thread): |
| (main): |
| * StitchMarker/ck/regressions/ck_epoch/validate/ck_stack.c: Added. |
| (thread): |
| (main): |
| * StitchMarker/ck/regressions/ck_epoch/validate/torture.c: Added. |
| (read_thread): |
| (write_thread): |
| (main): |
| * StitchMarker/ck/regressions/ck_fifo/benchmark/Makefile: Added. |
| * StitchMarker/ck/regressions/ck_fifo/benchmark/latency.c: Added. |
| (main): |
| * StitchMarker/ck/regressions/ck_fifo/validate/Makefile: Added. |
| * StitchMarker/ck/regressions/ck_fifo/validate/ck_fifo_mpmc.c: Added. |
| (test): |
| (main): |
| * StitchMarker/ck/regressions/ck_fifo/validate/ck_fifo_mpmc_iterator.c: Added. |
| (main): |
| * StitchMarker/ck/regressions/ck_fifo/validate/ck_fifo_spsc.c: Added. |
| (test): |
| (main): |
| * StitchMarker/ck/regressions/ck_fifo/validate/ck_fifo_spsc_iterator.c: Added. |
| (main): |
| * StitchMarker/ck/regressions/ck_hp/benchmark/Makefile: Added. |
| * StitchMarker/ck/regressions/ck_hp/benchmark/fifo_latency.c: Added. |
| (main): |
| * StitchMarker/ck/regressions/ck_hp/benchmark/stack_latency.c: Added. |
| (main): |
| * StitchMarker/ck/regressions/ck_hp/validate/Makefile: Added. |
| * StitchMarker/ck/regressions/ck_hp/validate/ck_hp_fifo.c: Added. |
| (test): |
| (destructor): |
| (main): |
| * StitchMarker/ck/regressions/ck_hp/validate/ck_hp_fifo_donner.c: Added. |
| (destructor): |
| (queue_50_50): |
| (main): |
| * StitchMarker/ck/regressions/ck_hp/validate/ck_hp_stack.c: Added. |
| (destructor): |
| (main): |
| * StitchMarker/ck/regressions/ck_hp/validate/nbds_haz_test.c: Added. |
| (stack_pop_mpmc): |
| (thread): |
| (destructor): |
| (main): |
| * StitchMarker/ck/regressions/ck_hp/validate/serial.c: Added. |
| (destructor): |
| (main): |
| * StitchMarker/ck/regressions/ck_hs/benchmark/Makefile: Added. |
| * StitchMarker/ck/regressions/ck_hs/benchmark/apply.c: Added. |
| (hs_malloc): |
| (hs_free): |
| (hs_compare): |
| (set_destroy): |
| (set_init): |
| (set_count): |
| (set_reset): |
| (test_apply): |
| (run_test): |
| (main): |
| * StitchMarker/ck/regressions/ck_hs/benchmark/parallel_bytestring.c: Added. |
| (alarm_handler): |
| (hs_hash): |
| (hs_compare): |
| (hs_destroy): |
| (hs_malloc): |
| (hs_free): |
| (set_remove): |
| (set_replace): |
| (set_swap): |
| (set_get): |
| (set_insert): |
| (set_count): |
| (set_reset): |
| (reader): |
| (acc): |
| (main): |
| * StitchMarker/ck/regressions/ck_hs/benchmark/serial.c: Added. |
| (hs_malloc): |
| (hs_free): |
| (hs_compare): |
| (set_destroy): |
| (set_init): |
| (set_remove): |
| (set_swap): |
| (set_replace): |
| (set_get): |
| (set_insert): |
| (set_insert_unique): |
| (set_count): |
| (set_reset): |
| (set_gc): |
| (set_rebuild): |
| (keys_shuffle): |
| (run_test): |
| (main): |
| * StitchMarker/ck/regressions/ck_hs/validate/Makefile: Added. |
| * StitchMarker/ck/regressions/ck_hs/validate/serial.c: Added. |
| (hs_malloc): |
| (hs_free): |
| (hs_compare): |
| (test_ip): |
| (test_negative): |
| (test_unique): |
| (test_remove): |
| (run_test): |
| (main): |
| * StitchMarker/ck/regressions/ck_ht/benchmark/Makefile: Added. |
| * StitchMarker/ck/regressions/ck_ht/benchmark/parallel_bytestring.c: Added. |
| (alarm_handler): |
| (ht_destroy): |
| (ht_malloc): |
| (ht_free): |
| (table_remove): |
| (table_replace): |
| (table_get): |
| (table_insert): |
| (table_count): |
| (table_reset): |
| (reader): |
| (main): |
| * StitchMarker/ck/regressions/ck_ht/benchmark/parallel_direct.c: Added. |
| (alarm_handler): |
| (ht_destroy): |
| (ht_malloc): |
| (ht_free): |
| (table_init): |
| (table_remove): |
| (table_replace): |
| (table_get): |
| (table_insert): |
| (table_count): |
| (table_reset): |
| (ht_reader): |
| (main): |
| * StitchMarker/ck/regressions/ck_ht/benchmark/serial.c: Added. |
| (ht_malloc): |
| (ht_free): |
| (table_remove): |
| (table_replace): |
| (table_get): |
| (table_insert): |
| (table_count): |
| (table_gc): |
| (table_reset): |
| (keys_shuffle): |
| (main): |
| * StitchMarker/ck/regressions/ck_ht/validate/Makefile: Added. |
| * StitchMarker/ck/regressions/ck_ht/validate/serial.c: Added. |
| (ht_malloc): |
| (ht_free): |
| (ht_hash_wrapper): |
| * StitchMarker/ck/regressions/ck_pflock/benchmark/Makefile: Added. |
| * StitchMarker/ck/regressions/ck_pflock/benchmark/latency.c: Added. |
| (main): |
| * StitchMarker/ck/regressions/ck_pflock/benchmark/throughput.c: Added. |
| (thread_pflock): |
| (main): |
| * StitchMarker/ck/regressions/ck_pflock/validate/Makefile: Added. |
| * StitchMarker/ck/regressions/ck_pflock/validate/validate.c: Added. |
| (thread): |
| (main): |
| * StitchMarker/ck/regressions/ck_pr/benchmark/Makefile: Added. |
| * StitchMarker/ck/regressions/ck_pr/benchmark/benchmark.h: Added. |
| (fairness): |
| (main): |
| * StitchMarker/ck/regressions/ck_pr/benchmark/ck_pr_add_64.c: Added. |
| (main): |
| * StitchMarker/ck/regressions/ck_pr/benchmark/ck_pr_cas_64.c: Added. |
| (main): |
| * StitchMarker/ck/regressions/ck_pr/benchmark/ck_pr_cas_64_2.c: Added. |
| (main): |
| * StitchMarker/ck/regressions/ck_pr/benchmark/ck_pr_faa_64.c: Added. |
| (main): |
| * StitchMarker/ck/regressions/ck_pr/benchmark/ck_pr_fas_64.c: Added. |
| (main): |
| * StitchMarker/ck/regressions/ck_pr/benchmark/ck_pr_neg_64.c: Added. |
| (main): |
| * StitchMarker/ck/regressions/ck_pr/benchmark/fp.c: Added. |
| (main): |
| * StitchMarker/ck/regressions/ck_pr/validate/Makefile: Added. |
| * StitchMarker/ck/regressions/ck_pr/validate/ck_pr_add.c: Added. |
| (rg_width): |
| (main): |
| * StitchMarker/ck/regressions/ck_pr/validate/ck_pr_and.c: Added. |
| (rg_width): |
| (main): |
| * StitchMarker/ck/regressions/ck_pr/validate/ck_pr_bin.c: Added. |
| (main): |
| * StitchMarker/ck/regressions/ck_pr/validate/ck_pr_btc.c: Added. |
| (main): |
| * StitchMarker/ck/regressions/ck_pr/validate/ck_pr_btr.c: Added. |
| (main): |
| * StitchMarker/ck/regressions/ck_pr/validate/ck_pr_bts.c: Added. |
| (main): |
| * StitchMarker/ck/regressions/ck_pr/validate/ck_pr_btx.c: Added. |
| (main): |
| * StitchMarker/ck/regressions/ck_pr/validate/ck_pr_cas.c: Added. |
| (rg_width): |
| (main): |
| * StitchMarker/ck/regressions/ck_pr/validate/ck_pr_dec.c: Added. |
| (rg_width): |
| (main): |
| * StitchMarker/ck/regressions/ck_pr/validate/ck_pr_faa.c: Added. |
| (rg_width): |
| (main): |
| * StitchMarker/ck/regressions/ck_pr/validate/ck_pr_fas.c: Added. |
| (rg_width): |
| (main): |
| * StitchMarker/ck/regressions/ck_pr/validate/ck_pr_fax.c: Added. |
| (main): |
| * StitchMarker/ck/regressions/ck_pr/validate/ck_pr_inc.c: Added. |
| (rg_width): |
| (main): |
| * StitchMarker/ck/regressions/ck_pr/validate/ck_pr_load.c: Added. |
| (rg_width): |
| (main): |
| * StitchMarker/ck/regressions/ck_pr/validate/ck_pr_n.c: Added. |
| (main): |
| * StitchMarker/ck/regressions/ck_pr/validate/ck_pr_or.c: Added. |
| (rg_width): |
| (main): |
| * StitchMarker/ck/regressions/ck_pr/validate/ck_pr_store.c: Added. |
| (rg_width): |
| (main): |
| * StitchMarker/ck/regressions/ck_pr/validate/ck_pr_sub.c: Added. |
| (rg_width): |
| (main): |
| * StitchMarker/ck/regressions/ck_pr/validate/ck_pr_unary.c: Added. |
| (main): |
| * StitchMarker/ck/regressions/ck_pr/validate/ck_pr_xor.c: Added. |
| (rg_width): |
| (main): |
| * StitchMarker/ck/regressions/ck_queue/validate/Makefile: Added. |
| * StitchMarker/ck/regressions/ck_queue/validate/ck_list.c: Added. |
| (test_foreach): |
| (execute): |
| (main): |
| * StitchMarker/ck/regressions/ck_queue/validate/ck_slist.c: Added. |
| (test_foreach): |
| (execute): |
| (main): |
| * StitchMarker/ck/regressions/ck_queue/validate/ck_stailq.c: Added. |
| (test_foreach): |
| (execute): |
| (main): |
| * StitchMarker/ck/regressions/ck_rhs/benchmark/Makefile: Added. |
| * StitchMarker/ck/regressions/ck_rhs/benchmark/parallel_bytestring.c: Added. |
| (alarm_handler): |
| (hs_hash): |
| (hs_compare): |
| (hs_destroy): |
| (hs_malloc): |
| (hs_free): |
| (set_remove): |
| (set_replace): |
| (set_swap): |
| (set_get): |
| (set_insert): |
| (set_count): |
| (set_reset): |
| (reader): |
| (acc): |
| (main): |
| * StitchMarker/ck/regressions/ck_rhs/benchmark/serial.c: Added. |
| (hs_malloc): |
| (hs_free): |
| (hs_compare): |
| (set_destroy): |
| (set_init): |
| (set_remove): |
| (set_swap): |
| (set_replace): |
| (set_get): |
| (set_insert): |
| (set_insert_unique): |
| (set_count): |
| (set_reset): |
| (set_gc): |
| (set_rebuild): |
| (keys_shuffle): |
| (run_test): |
| (main): |
| * StitchMarker/ck/regressions/ck_rhs/validate/Makefile: Added. |
| * StitchMarker/ck/regressions/ck_rhs/validate/serial.c: Added. |
| (hs_malloc): |
| (hs_free): |
| (hs_compare): |
| (test_ip): |
| (test_negative): |
| (test_unique): |
| (test_remove): |
| (run_test): |
| (main): |
| * StitchMarker/ck/regressions/ck_ring/benchmark/Makefile: Added. |
| * StitchMarker/ck/regressions/ck_ring/benchmark/latency.c: Added. |
| (main): |
| * StitchMarker/ck/regressions/ck_ring/validate/Makefile: Added. |
| * StitchMarker/ck/regressions/ck_ring/validate/ck_ring_mpmc.c: Added. |
| (test_mpmc): |
| (test_spmc): |
| (test): |
| (main): |
| * StitchMarker/ck/regressions/ck_ring/validate/ck_ring_mpmc_template.c: Added. |
| (test_spmc): |
| (test): |
| (main): |
| * StitchMarker/ck/regressions/ck_ring/validate/ck_ring_spmc.c: Added. |
| (test_spmc): |
| (test): |
| (main): |
| * StitchMarker/ck/regressions/ck_ring/validate/ck_ring_spmc_template.c: Added. |
| (test_spmc): |
| (test): |
| (main): |
| * StitchMarker/ck/regressions/ck_ring/validate/ck_ring_spsc.c: Added. |
| (test): |
| (main): |
| * StitchMarker/ck/regressions/ck_rwcohort/benchmark/Makefile: Added. |
| * StitchMarker/ck/regressions/ck_rwcohort/benchmark/ck_neutral.c: Added. |
| * StitchMarker/ck/regressions/ck_rwcohort/benchmark/ck_rp.c: Added. |
| * StitchMarker/ck/regressions/ck_rwcohort/benchmark/ck_wp.c: Added. |
| * StitchMarker/ck/regressions/ck_rwcohort/benchmark/latency.h: Added. |
| (ck_spinlock_fas_lock_with_context): |
| (ck_spinlock_fas_unlock_with_context): |
| (ck_spinlock_fas_locked_with_context): |
| (main): |
| * StitchMarker/ck/regressions/ck_rwcohort/benchmark/throughput.h: Added. |
| (ck_spinlock_fas_lock_with_context): |
| (ck_spinlock_fas_unlock_with_context): |
| (ck_spinlock_fas_locked_with_context): |
| (thread_rwlock): |
| (main): |
| * StitchMarker/ck/regressions/ck_rwcohort/ck_neutral.h: Added. |
| * StitchMarker/ck/regressions/ck_rwcohort/ck_rp.h: Added. |
| * StitchMarker/ck/regressions/ck_rwcohort/ck_wp.h: Added. |
| * StitchMarker/ck/regressions/ck_rwcohort/validate/Makefile: Added. |
| * StitchMarker/ck/regressions/ck_rwcohort/validate/ck_neutral.c: Added. |
| * StitchMarker/ck/regressions/ck_rwcohort/validate/ck_rp.c: Added. |
| * StitchMarker/ck/regressions/ck_rwcohort/validate/ck_wp.c: Added. |
| * StitchMarker/ck/regressions/ck_rwcohort/validate/validate.h: Added. |
| (ck_spinlock_fas_lock_with_context): |
| (ck_spinlock_fas_unlock_with_context): |
| (ck_spinlock_fas_locked_with_context): |
| (thread): |
| (main): |
| * StitchMarker/ck/regressions/ck_rwlock/benchmark/Makefile: Added. |
| * StitchMarker/ck/regressions/ck_rwlock/benchmark/latency.c: Added. |
| (main): |
| * StitchMarker/ck/regressions/ck_rwlock/benchmark/throughput.c: Added. |
| (thread_lock): |
| (rwlock_test): |
| (main): |
| * StitchMarker/ck/regressions/ck_rwlock/validate/Makefile: Added. |
| * StitchMarker/ck/regressions/ck_rwlock/validate/validate.c: Added. |
| (thread_recursive): |
| (thread_rtm_adaptive): |
| (thread_rtm_mix): |
| (thread_rtm): |
| (thread): |
| (rwlock_test): |
| (main): |
| * StitchMarker/ck/regressions/ck_sequence/benchmark/Makefile: Added. |
| * StitchMarker/ck/regressions/ck_sequence/benchmark/ck_sequence.c: Added. |
| (main): |
| * StitchMarker/ck/regressions/ck_sequence/validate/Makefile: Added. |
| * StitchMarker/ck/regressions/ck_sequence/validate/ck_sequence.c: Added. |
| (validate): |
| (consumer): |
| (main): |
| * StitchMarker/ck/regressions/ck_spinlock/benchmark/Makefile: Added. |
| * StitchMarker/ck/regressions/ck_spinlock/benchmark/ck_anderson.c: Added. |
| * StitchMarker/ck/regressions/ck_spinlock/benchmark/ck_cas.c: Added. |
| * StitchMarker/ck/regressions/ck_spinlock/benchmark/ck_clh.c: Added. |
| * StitchMarker/ck/regressions/ck_spinlock/benchmark/ck_dec.c: Added. |
| * StitchMarker/ck/regressions/ck_spinlock/benchmark/ck_fas.c: Added. |
| * StitchMarker/ck/regressions/ck_spinlock/benchmark/ck_hclh.c: Added. |
| * StitchMarker/ck/regressions/ck_spinlock/benchmark/ck_mcs.c: Added. |
| * StitchMarker/ck/regressions/ck_spinlock/benchmark/ck_spinlock.c: Added. |
| * StitchMarker/ck/regressions/ck_spinlock/benchmark/ck_ticket.c: Added. |
| * StitchMarker/ck/regressions/ck_spinlock/benchmark/ck_ticket_pb.c: Added. |
| * StitchMarker/ck/regressions/ck_spinlock/benchmark/latency.h: Added. |
| (main): |
| * StitchMarker/ck/regressions/ck_spinlock/benchmark/linux_spinlock.c: Added. |
| * StitchMarker/ck/regressions/ck_spinlock/benchmark/throughput.h: Added. |
| (gen_lock): |
| (gen_unlock): |
| (fairness): |
| (main): |
| * StitchMarker/ck/regressions/ck_spinlock/ck_anderson.h: Added. |
| * StitchMarker/ck/regressions/ck_spinlock/ck_cas.h: Added. |
| * StitchMarker/ck/regressions/ck_spinlock/ck_clh.h: Added. |
| * StitchMarker/ck/regressions/ck_spinlock/ck_dec.h: Added. |
| * StitchMarker/ck/regressions/ck_spinlock/ck_fas.h: Added. |
| * StitchMarker/ck/regressions/ck_spinlock/ck_hclh.h: Added. |
| * StitchMarker/ck/regressions/ck_spinlock/ck_mcs.h: Added. |
| * StitchMarker/ck/regressions/ck_spinlock/ck_spinlock.h: Added. |
| * StitchMarker/ck/regressions/ck_spinlock/ck_ticket.h: Added. |
| * StitchMarker/ck/regressions/ck_spinlock/ck_ticket_pb.h: Added. |
| * StitchMarker/ck/regressions/ck_spinlock/linux_spinlock.h: Added. |
| (spin_lock): |
| (spin_unlock): |
| * StitchMarker/ck/regressions/ck_spinlock/validate/Makefile: Added. |
| * StitchMarker/ck/regressions/ck_spinlock/validate/ck_anderson.c: Added. |
| * StitchMarker/ck/regressions/ck_spinlock/validate/ck_cas.c: Added. |
| * StitchMarker/ck/regressions/ck_spinlock/validate/ck_clh.c: Added. |
| * StitchMarker/ck/regressions/ck_spinlock/validate/ck_dec.c: Added. |
| * StitchMarker/ck/regressions/ck_spinlock/validate/ck_fas.c: Added. |
| * StitchMarker/ck/regressions/ck_spinlock/validate/ck_hclh.c: Added. |
| * StitchMarker/ck/regressions/ck_spinlock/validate/ck_mcs.c: Added. |
| * StitchMarker/ck/regressions/ck_spinlock/validate/ck_spinlock.c: Added. |
| * StitchMarker/ck/regressions/ck_spinlock/validate/ck_ticket.c: Added. |
| * StitchMarker/ck/regressions/ck_spinlock/validate/ck_ticket_pb.c: Added. |
| * StitchMarker/ck/regressions/ck_spinlock/validate/linux_spinlock.c: Added. |
| (main): |
| * StitchMarker/ck/regressions/ck_spinlock/validate/validate.h: Added. |
| (thread): |
| (main): |
| * StitchMarker/ck/regressions/ck_stack/benchmark/Makefile: Added. |
| * StitchMarker/ck/regressions/ck_stack/benchmark/latency.c: Added. |
| (main): |
| * StitchMarker/ck/regressions/ck_stack/validate/Makefile: Added. |
| * StitchMarker/ck/regressions/ck_stack/validate/pair.c: Added. |
| (stack_thread): |
| (stack_assert): |
| (main): |
| * StitchMarker/ck/regressions/ck_stack/validate/pop.c: Added. |
| (stack_thread): |
| (stack_assert): |
| (push_stack): |
| (main): |
| * StitchMarker/ck/regressions/ck_stack/validate/push.c: Added. |
| (stack_thread): |
| (stack_assert): |
| (main): |
| * StitchMarker/ck/regressions/ck_stack/validate/serial.c: Added. |
| (serial): |
| (main): |
| * StitchMarker/ck/regressions/ck_swlock/benchmark/Makefile: Added. |
| * StitchMarker/ck/regressions/ck_swlock/benchmark/latency.c: Added. |
| (main): |
| * StitchMarker/ck/regressions/ck_swlock/benchmark/throughput.c: Added. |
| (swlock_test): |
| (main): |
| * StitchMarker/ck/regressions/ck_swlock/validate/Makefile: Added. |
| * StitchMarker/ck/regressions/ck_swlock/validate/validate.c: Added. |
| (thread_rtm_adaptive): |
| (thread_rtm_mix): |
| (thread_rtm): |
| (thread_latch): |
| (thread): |
| (swlock_test): |
| (main): |
| * StitchMarker/ck/regressions/ck_tflock/benchmark/Makefile: Added. |
| * StitchMarker/ck/regressions/ck_tflock/benchmark/latency.c: Added. |
| (main): |
| * StitchMarker/ck/regressions/ck_tflock/benchmark/throughput.c: Added. |
| (tflock_test): |
| (main): |
| * StitchMarker/ck/regressions/ck_tflock/validate/Makefile: Added. |
| * StitchMarker/ck/regressions/ck_tflock/validate/validate.c: Added. |
| (thread): |
| (tflock_ticket_test): |
| (main): |
| * StitchMarker/ck/regressions/common.h: Added. |
| (common_srand): |
| (common_rand): |
| (common_rand_r): |
| (common_srand48): |
| (common_lrand48): |
| (common_drand48): |
| (common_sleep): |
| (common_gettimeofday): |
| (common_alarm): |
| (gettid): |
| (aff_iterate): |
| (aff_iterate_core): |
| (rdtsc): |
| (ck_error): |
| * StitchMarker/ck/src/Makefile: Added. |
| * StitchMarker/ck/src/Makefile.in: Added. |
| * StitchMarker/ck/src/ck_array.c: Added. |
| (ck_array_create): |
| (ck_array_init): |
| (ck_array_put): |
| (ck_array_put_unique): |
| (ck_array_remove): |
| (ck_array_commit): |
| (ck_array_deinit): |
| * StitchMarker/ck/src/ck_barrier_centralized.c: Added. |
| (ck_barrier_centralized): |
| * StitchMarker/ck/src/ck_barrier_combining.c: Added. |
| (ck_barrier_combining_queue_dequeue): |
| (ck_barrier_combining_insert): |
| (ck_barrier_combining_queue_enqueue): |
| (ck_barrier_combining_group_init): |
| (ck_barrier_combining_init): |
| (ck_barrier_combining_aux): |
| (ck_barrier_combining): |
| * StitchMarker/ck/src/ck_barrier_dissemination.c: Added. |
| (ck_barrier_dissemination_init): |
| (ck_barrier_dissemination_subscribe): |
| (ck_barrier_dissemination_size): |
| (ck_barrier_dissemination): |
| * StitchMarker/ck/src/ck_barrier_mcs.c: Added. |
| (ck_barrier_mcs_init): |
| (ck_barrier_mcs_subscribe): |
| (ck_barrier_mcs_check_children): |
| (ck_barrier_mcs_reinitialize_children): |
| (ck_barrier_mcs): |
| * StitchMarker/ck/src/ck_barrier_tournament.c: Added. |
| (ck_barrier_tournament_subscribe): |
| (ck_barrier_tournament_init): |
| (ck_barrier_tournament_size): |
| (ck_barrier_tournament): |
| * StitchMarker/ck/src/ck_epoch.c: Added. |
| (_ck_epoch_delref): |
| (_ck_epoch_addref): |
| (ck_epoch_init): |
| (ck_epoch_recycle): |
| (ck_epoch_register): |
| (ck_epoch_unregister): |
| (ck_epoch_scan): |
| (ck_epoch_dispatch): |
| (ck_epoch_reclaim): |
| (epoch_block): |
| (ck_epoch_synchronize_wait): |
| (ck_epoch_synchronize): |
| (ck_epoch_barrier): |
| (ck_epoch_barrier_wait): |
| (ck_epoch_poll): |
| * StitchMarker/ck/src/ck_hp.c: Added. |
| (ck_hp_init): |
| (ck_hp_set_threshold): |
| (ck_hp_recycle): |
| (ck_hp_unregister): |
| (ck_hp_register): |
| (hazard_compare): |
| (ck_hp_member_scan): |
| (ck_hp_member_cache): |
| (ck_hp_reclaim): |
| (ck_hp_retire): |
| (ck_hp_free): |
| (ck_hp_purge): |
| * StitchMarker/ck/src/ck_hs.c: Added. |
| (ck_hs_map_signal): |
| (_ck_hs_next): |
| (ck_hs_iterator_init): |
| (ck_hs_next): |
| (ck_hs_next_spmc): |
| (ck_hs_stat): |
| (ck_hs_count): |
| (ck_hs_map_destroy): |
| (ck_hs_destroy): |
| (ck_hs_map_create): |
| (ck_hs_reset_size): |
| (ck_hs_reset): |
| (ck_hs_map_probe_next): |
| (ck_hs_map_bound_set): |
| (ck_hs_map_bound_get): |
| (ck_hs_grow): |
| (ck_hs_map_postinsert): |
| (ck_hs_rebuild): |
| (ck_hs_map_probe): |
| (ck_hs_marshal): |
| (ck_hs_gc): |
| (ck_hs_fas): |
| (ck_hs_apply): |
| (ck_hs_set): |
| (ck_hs_put_internal): |
| (ck_hs_put): |
| (ck_hs_put_unique): |
| (ck_hs_get): |
| (ck_hs_remove): |
| (ck_hs_move): |
| (ck_hs_init): |
| * StitchMarker/ck/src/ck_ht.c: Added. |
| (ck_ht_stat): |
| (ck_ht_hash): |
| (ck_ht_hash_direct): |
| (ck_ht_hash_wrapper): |
| (ck_ht_map_create): |
| (ck_ht_map_bound_set): |
| (ck_ht_map_bound_get): |
| (ck_ht_map_destroy): |
| (ck_ht_map_probe_next): |
| (ck_ht_init): |
| (ck_ht_map_probe_wr): |
| (ck_ht_gc): |
| (ck_ht_map_probe_rd): |
| (ck_ht_count): |
| (ck_ht_next): |
| (ck_ht_reset_size_spmc): |
| (ck_ht_reset_spmc): |
| (ck_ht_grow_spmc): |
| (ck_ht_remove_spmc): |
| (ck_ht_get_spmc): |
| (ck_ht_set_spmc): |
| (ck_ht_put_spmc): |
| (ck_ht_destroy): |
| * StitchMarker/ck/src/ck_ht_hash.h: Added. |
| (rotl32): |
| (rotl64): |
| (getblock): |
| (fmix): |
| (MurmurHash3_x86_32): |
| (MurmurHash64A): |
| (MurmurHash64B): |
| * StitchMarker/ck/src/ck_internal.h: Added. |
| (ck_internal_log): |
| (ck_internal_power_2): |
| (ck_internal_max): |
| (ck_internal_max_64): |
| (ck_internal_max_32): |
| (ck_internal_bsf): |
| (ck_internal_bsf_64): |
| * StitchMarker/ck/src/ck_rhs.c: Added. |
| (ck_rhs_entry): |
| (ck_rhs_entry_addr): |
| (ck_rhs_desc): |
| (ck_rhs_wanted_inc): |
| (ck_rhs_probes): |
| (ck_rhs_set_probes): |
| (ck_rhs_probe_bound): |
| (ck_rhs_probe_bound_addr): |
| (ck_rhs_in_rh): |
| (ck_rhs_set_rh): |
| (ck_rhs_unset_rh): |
| (ck_rhs_set_load_factor): |
| (ck_rhs_iterator_init): |
| (ck_rhs_next): |
| (ck_rhs_stat): |
| (ck_rhs_count): |
| (ck_rhs_map_destroy): |
| (ck_rhs_destroy): |
| (ck_rhs_map_create): |
| (ck_rhs_reset_size): |
| (ck_rhs_reset): |
| (ck_rhs_map_probe_next): |
| (ck_rhs_map_probe_prev): |
| (ck_rhs_map_bound_set): |
| (ck_rhs_map_bound_get): |
| (ck_rhs_grow): |
| (ck_rhs_rebuild): |
| (ck_rhs_map_probe_rm): |
| (ck_rhs_map_probe): |
| (ck_rhs_marshal): |
| (ck_rhs_gc): |
| (ck_rhs_add_wanted): |
| (ck_rhs_remove_wanted): |
| (ck_rhs_get_first_offset): |
| (ck_rhs_put_robin_hood): |
| (ck_rhs_do_backward_shift_delete): |
| (ck_rhs_fas): |
| (ck_rhs_apply): |
| (ck_rhs_set): |
| (ck_rhs_put_internal): |
| (ck_rhs_put): |
| (ck_rhs_put_unique): |
| (ck_rhs_get): |
| (ck_rhs_remove): |
| (ck_rhs_move): |
| (ck_rhs_init): |
| * StitchMarker/folly.sh: Added. Build script. |
| * StitchMarker/folly/LICENSE: Added. |
| * StitchMarker/folly/README.md: Added. |
| * StitchMarker/folly/boost/LICENSE_1_0.txt: Added. |
| * StitchMarker/folly/boost/assert.hpp: Added. |
| * StitchMarker/folly/boost/blank.hpp: Added. |
| * StitchMarker/folly/boost/blank_fwd.hpp: Added. |
| * StitchMarker/folly/boost/concept/assert.hpp: Added. |
| * StitchMarker/folly/boost/concept/detail/backward_compatibility.hpp: Added. |
| * StitchMarker/folly/boost/concept/detail/concept_def.hpp: Added. |
| * StitchMarker/folly/boost/concept/detail/concept_undef.hpp: Added. |
| * StitchMarker/folly/boost/concept/detail/general.hpp: Added. |
| * StitchMarker/folly/boost/concept/detail/has_constraints.hpp: Added. |
| * StitchMarker/folly/boost/concept/usage.hpp: Added. |
| * StitchMarker/folly/boost/concept_check.hpp: Added. |
| * StitchMarker/folly/boost/config.hpp: Added. |
| * StitchMarker/folly/boost/config/compiler/clang.hpp: Added. |
| * StitchMarker/folly/boost/config/no_tr1/cmath.hpp: Added. |
| * StitchMarker/folly/boost/config/no_tr1/complex.hpp: Added. |
| * StitchMarker/folly/boost/config/platform/macos.hpp: Added. |
| * StitchMarker/folly/boost/config/posix_features.hpp: Added. |
| * StitchMarker/folly/boost/config/select_compiler_config.hpp: Added. |
| * StitchMarker/folly/boost/config/select_platform_config.hpp: Added. |
| * StitchMarker/folly/boost/config/select_stdlib_config.hpp: Added. |
| * StitchMarker/folly/boost/config/stdlib/libcpp.hpp: Added. |
| * StitchMarker/folly/boost/config/suffix.hpp: Added. |
| * StitchMarker/folly/boost/config/user.hpp: Added. |
| * StitchMarker/folly/boost/core/addressof.hpp: Added. |
| * StitchMarker/folly/boost/core/checked_delete.hpp: Added. |
| * StitchMarker/folly/boost/core/enable_if.hpp: Added. |
| * StitchMarker/folly/boost/core/no_exceptions_support.hpp: Added. |
| * StitchMarker/folly/boost/core/noncopyable.hpp: Added. |
| * StitchMarker/folly/boost/cstdint.hpp: Added. |
| * StitchMarker/folly/boost/current_function.hpp: Added. |
| * StitchMarker/folly/boost/detail/endian.hpp: Added. |
| * StitchMarker/folly/boost/detail/indirect_traits.hpp: Added. |
| * StitchMarker/folly/boost/detail/iterator.hpp: Added. |
| * StitchMarker/folly/boost/detail/templated_streams.hpp: Added. |
| * StitchMarker/folly/boost/detail/workaround.hpp: Added. |
| * StitchMarker/folly/boost/exception/exception.hpp: Added. |
| * StitchMarker/folly/boost/function_types/components.hpp: Added. |
| * StitchMarker/folly/boost/function_types/config/cc_names.hpp: Added. |
| * StitchMarker/folly/boost/function_types/config/compiler.hpp: Added. |
| * StitchMarker/folly/boost/function_types/config/config.hpp: Added. |
| * StitchMarker/folly/boost/function_types/detail/class_transform.hpp: Added. |
| * StitchMarker/folly/boost/function_types/detail/components_as_mpl_sequence.hpp: Added. |
| * StitchMarker/folly/boost/function_types/detail/components_impl/arity10_0.hpp: Added. |
| * StitchMarker/folly/boost/function_types/detail/components_impl/arity10_1.hpp: Added. |
| * StitchMarker/folly/boost/function_types/detail/components_impl/arity20_0.hpp: Added. |
| * StitchMarker/folly/boost/function_types/detail/components_impl/arity20_1.hpp: Added. |
| * StitchMarker/folly/boost/function_types/detail/encoding/aliases_def.hpp: Added. |
| * StitchMarker/folly/boost/function_types/detail/encoding/aliases_undef.hpp: Added. |
| * StitchMarker/folly/boost/function_types/detail/encoding/def.hpp: Added. |
| * StitchMarker/folly/boost/function_types/detail/encoding/undef.hpp: Added. |
| * StitchMarker/folly/boost/function_types/detail/pp_arity_loop.hpp: Added. |
| * StitchMarker/folly/boost/function_types/detail/pp_cc_loop/preprocessed.hpp: Added. |
| * StitchMarker/folly/boost/function_types/detail/pp_loop.hpp: Added. |
| * StitchMarker/folly/boost/function_types/detail/pp_retag_default_cc/preprocessed.hpp: Added. |
| * StitchMarker/folly/boost/function_types/detail/pp_tags/cc_tag.hpp: Added. |
| * StitchMarker/folly/boost/function_types/detail/pp_tags/preprocessed.hpp: Added. |
| * StitchMarker/folly/boost/function_types/detail/pp_variate_loop/preprocessed.hpp: Added. |
| * StitchMarker/folly/boost/function_types/detail/retag_default_cc.hpp: Added. |
| * StitchMarker/folly/boost/function_types/function_arity.hpp: Added. |
| * StitchMarker/folly/boost/function_types/is_callable_builtin.hpp: Added. |
| * StitchMarker/folly/boost/function_types/property_tags.hpp: Added. |
| * StitchMarker/folly/boost/implicit_cast.hpp: Added. |
| * StitchMarker/folly/boost/integer.hpp: Added. |
| * StitchMarker/folly/boost/integer/integer_log2.hpp: Added. |
| * StitchMarker/folly/boost/integer/integer_mask.hpp: Added. |
| * StitchMarker/folly/boost/integer/static_log2.hpp: Added. |
| * StitchMarker/folly/boost/integer_fwd.hpp: Added. |
| * StitchMarker/folly/boost/integer_traits.hpp: Added. |
| * StitchMarker/folly/boost/intrusive/circular_list_algorithms.hpp: Added. |
| * StitchMarker/folly/boost/intrusive/detail/algo_type.hpp: Added. |
| * StitchMarker/folly/boost/intrusive/detail/algorithm.hpp: Added. |
| * StitchMarker/folly/boost/intrusive/detail/array_initializer.hpp: Added. |
| * StitchMarker/folly/boost/intrusive/detail/assert.hpp: Added. |
| * StitchMarker/folly/boost/intrusive/detail/config_begin.hpp: Added. |
| * StitchMarker/folly/boost/intrusive/detail/config_end.hpp: Added. |
| * StitchMarker/folly/boost/intrusive/detail/default_header_holder.hpp: Added. |
| * StitchMarker/folly/boost/intrusive/detail/ebo_functor_holder.hpp: Added. |
| * StitchMarker/folly/boost/intrusive/detail/equal_to_value.hpp: Added. |
| * StitchMarker/folly/boost/intrusive/detail/exception_disposer.hpp: Added. |
| * StitchMarker/folly/boost/intrusive/detail/function_detector.hpp: Added. |
| * StitchMarker/folly/boost/intrusive/detail/generic_hook.hpp: Added. |
| * StitchMarker/folly/boost/intrusive/detail/get_value_traits.hpp: Added. |
| * StitchMarker/folly/boost/intrusive/detail/hook_traits.hpp: Added. |
| * StitchMarker/folly/boost/intrusive/detail/iiterator.hpp: Added. |
| * StitchMarker/folly/boost/intrusive/detail/is_stateful_value_traits.hpp: Added. |
| * StitchMarker/folly/boost/intrusive/detail/iterator.hpp: Added. |
| * StitchMarker/folly/boost/intrusive/detail/key_nodeptr_comp.hpp: Added. |
| * StitchMarker/folly/boost/intrusive/detail/list_iterator.hpp: Added. |
| * StitchMarker/folly/boost/intrusive/detail/list_node.hpp: Added. |
| * StitchMarker/folly/boost/intrusive/detail/minimal_less_equal_header.hpp: Added. |
| * StitchMarker/folly/boost/intrusive/detail/mpl.hpp: Added. |
| * StitchMarker/folly/boost/intrusive/detail/node_holder.hpp: Added. |
| * StitchMarker/folly/boost/intrusive/detail/parent_from_member.hpp: Added. |
| * StitchMarker/folly/boost/intrusive/detail/pointer_element.hpp: Added. |
| * StitchMarker/folly/boost/intrusive/detail/reverse_iterator.hpp: Added. |
| * StitchMarker/folly/boost/intrusive/detail/simple_disposers.hpp: Added. |
| * StitchMarker/folly/boost/intrusive/detail/size_holder.hpp: Added. |
| * StitchMarker/folly/boost/intrusive/detail/std_fwd.hpp: Added. |
| * StitchMarker/folly/boost/intrusive/detail/to_raw_pointer.hpp: Added. |
| * StitchMarker/folly/boost/intrusive/detail/tree_value_compare.hpp: Added. |
| * StitchMarker/folly/boost/intrusive/detail/uncast.hpp: Added. |
| * StitchMarker/folly/boost/intrusive/detail/workaround.hpp: Added. |
| * StitchMarker/folly/boost/intrusive/intrusive_fwd.hpp: Added. |
| * StitchMarker/folly/boost/intrusive/link_mode.hpp: Added. |
| * StitchMarker/folly/boost/intrusive/list.hpp: Added. |
| * StitchMarker/folly/boost/intrusive/list_hook.hpp: Added. |
| * StitchMarker/folly/boost/intrusive/options.hpp: Added. |
| * StitchMarker/folly/boost/intrusive/pack_options.hpp: Added. |
| * StitchMarker/folly/boost/intrusive/pointer_rebind.hpp: Added. |
| * StitchMarker/folly/boost/intrusive/pointer_traits.hpp: Added. |
| * StitchMarker/folly/boost/iterator.hpp: Added. |
| * StitchMarker/folly/boost/iterator/detail/config_def.hpp: Added. |
| * StitchMarker/folly/boost/iterator/detail/config_undef.hpp: Added. |
| * StitchMarker/folly/boost/iterator/detail/enable_if.hpp: Added. |
| * StitchMarker/folly/boost/iterator/detail/facade_iterator_category.hpp: Added. |
| * StitchMarker/folly/boost/iterator/interoperable.hpp: Added. |
| * StitchMarker/folly/boost/iterator/iterator_adaptor.hpp: Added. |
| * StitchMarker/folly/boost/iterator/iterator_categories.hpp: Added. |
| * StitchMarker/folly/boost/iterator/iterator_concepts.hpp: Added. |
| * StitchMarker/folly/boost/iterator/iterator_facade.hpp: Added. |
| * StitchMarker/folly/boost/iterator/iterator_traits.hpp: Added. |
| * StitchMarker/folly/boost/limits.hpp: Added. |
| * StitchMarker/folly/boost/math/policies/policy.hpp: Added. |
| * StitchMarker/folly/boost/math/special_functions/detail/fp_traits.hpp: Added. |
| * StitchMarker/folly/boost/math/special_functions/detail/round_fwd.hpp: Added. |
| * StitchMarker/folly/boost/math/special_functions/fpclassify.hpp: Added. |
| * StitchMarker/folly/boost/math/special_functions/math_fwd.hpp: Added. |
| * StitchMarker/folly/boost/math/tools/config.hpp: Added. |
| * StitchMarker/folly/boost/math/tools/promotion.hpp: Added. |
| * StitchMarker/folly/boost/math/tools/real_cast.hpp: Added. |
| * StitchMarker/folly/boost/math/tools/user.hpp: Added. |
| * StitchMarker/folly/boost/move/core.hpp: Added. |
| * StitchMarker/folly/boost/move/detail/config_begin.hpp: Added. |
| * StitchMarker/folly/boost/move/detail/config_end.hpp: Added. |
| * StitchMarker/folly/boost/move/detail/iterator_traits.hpp: Added. |
| * StitchMarker/folly/boost/move/detail/meta_utils.hpp: Added. |
| * StitchMarker/folly/boost/move/detail/meta_utils_core.hpp: Added. |
| * StitchMarker/folly/boost/move/detail/std_ns_begin.hpp: Added. |
| * StitchMarker/folly/boost/move/detail/std_ns_end.hpp: Added. |
| * StitchMarker/folly/boost/move/detail/type_traits.hpp: Added. |
| * StitchMarker/folly/boost/move/detail/workaround.hpp: Added. |
| * StitchMarker/folly/boost/move/utility_core.hpp: Added. |
| * StitchMarker/folly/boost/mpl/O1_size.hpp: Added. |
| * StitchMarker/folly/boost/mpl/O1_size_fwd.hpp: Added. |
| * StitchMarker/folly/boost/mpl/advance.hpp: Added. |
| * StitchMarker/folly/boost/mpl/advance_fwd.hpp: Added. |
| * StitchMarker/folly/boost/mpl/always.hpp: Added. |
| * StitchMarker/folly/boost/mpl/and.hpp: Added. |
| * StitchMarker/folly/boost/mpl/apply.hpp: Added. |
| * StitchMarker/folly/boost/mpl/apply_fwd.hpp: Added. |
| * StitchMarker/folly/boost/mpl/apply_wrap.hpp: Added. |
| * StitchMarker/folly/boost/mpl/arg.hpp: Added. |
| * StitchMarker/folly/boost/mpl/arg_fwd.hpp: Added. |
| * StitchMarker/folly/boost/mpl/assert.hpp: Added. |
| * StitchMarker/folly/boost/mpl/at.hpp: Added. |
| * StitchMarker/folly/boost/mpl/at_fwd.hpp: Added. |
| * StitchMarker/folly/boost/mpl/aux_/O1_size_impl.hpp: Added. |
| * StitchMarker/folly/boost/mpl/aux_/adl_barrier.hpp: Added. |
| * StitchMarker/folly/boost/mpl/aux_/advance_backward.hpp: Added. |
| * StitchMarker/folly/boost/mpl/aux_/advance_forward.hpp: Added. |
| * StitchMarker/folly/boost/mpl/aux_/arg_typedef.hpp: Added. |
| * StitchMarker/folly/boost/mpl/aux_/arithmetic_op.hpp: Added. |
| * StitchMarker/folly/boost/mpl/aux_/arity.hpp: Added. |
| * StitchMarker/folly/boost/mpl/aux_/arity_spec.hpp: Added. |
| * StitchMarker/folly/boost/mpl/aux_/at_impl.hpp: Added. |
| * StitchMarker/folly/boost/mpl/aux_/begin_end_impl.hpp: Added. |
| * StitchMarker/folly/boost/mpl/aux_/clear_impl.hpp: Added. |
| * StitchMarker/folly/boost/mpl/aux_/common_name_wknd.hpp: Added. |
| * StitchMarker/folly/boost/mpl/aux_/comparison_op.hpp: Added. |
| * StitchMarker/folly/boost/mpl/aux_/config/adl.hpp: Added. |
| * StitchMarker/folly/boost/mpl/aux_/config/arrays.hpp: Added. |
| * StitchMarker/folly/boost/mpl/aux_/config/bcc.hpp: Added. |
| * StitchMarker/folly/boost/mpl/aux_/config/bind.hpp: Added. |
| * StitchMarker/folly/boost/mpl/aux_/config/compiler.hpp: Added. |
| * StitchMarker/folly/boost/mpl/aux_/config/ctps.hpp: Added. |
| * StitchMarker/folly/boost/mpl/aux_/config/dtp.hpp: Added. |
| * StitchMarker/folly/boost/mpl/aux_/config/eti.hpp: Added. |
| * StitchMarker/folly/boost/mpl/aux_/config/forwarding.hpp: Added. |
| * StitchMarker/folly/boost/mpl/aux_/config/gcc.hpp: Added. |
| * StitchMarker/folly/boost/mpl/aux_/config/gpu.hpp: Added. |
| * StitchMarker/folly/boost/mpl/aux_/config/has_apply.hpp: Added. |
| * StitchMarker/folly/boost/mpl/aux_/config/has_xxx.hpp: Added. |
| * StitchMarker/folly/boost/mpl/aux_/config/integral.hpp: Added. |
| * StitchMarker/folly/boost/mpl/aux_/config/intel.hpp: Added. |
| * StitchMarker/folly/boost/mpl/aux_/config/lambda.hpp: Added. |
| * StitchMarker/folly/boost/mpl/aux_/config/msvc.hpp: Added. |
| * StitchMarker/folly/boost/mpl/aux_/config/msvc_typename.hpp: Added. |
| * StitchMarker/folly/boost/mpl/aux_/config/nttp.hpp: Added. |
| * StitchMarker/folly/boost/mpl/aux_/config/overload_resolution.hpp: Added. |
| * StitchMarker/folly/boost/mpl/aux_/config/pp_counter.hpp: Added. |
| * StitchMarker/folly/boost/mpl/aux_/config/preprocessor.hpp: Added. |
| * StitchMarker/folly/boost/mpl/aux_/config/static_constant.hpp: Added. |
| * StitchMarker/folly/boost/mpl/aux_/config/ttp.hpp: Added. |
| * StitchMarker/folly/boost/mpl/aux_/config/typeof.hpp: Added. |
| * StitchMarker/folly/boost/mpl/aux_/config/use_preprocessed.hpp: Added. |
| * StitchMarker/folly/boost/mpl/aux_/config/workaround.hpp: Added. |
| * StitchMarker/folly/boost/mpl/aux_/contains_impl.hpp: Added. |
| * StitchMarker/folly/boost/mpl/aux_/find_if_pred.hpp: Added. |
| * StitchMarker/folly/boost/mpl/aux_/fold_impl.hpp: Added. |
| * StitchMarker/folly/boost/mpl/aux_/full_lambda.hpp: Added. |
| * StitchMarker/folly/boost/mpl/aux_/has_apply.hpp: Added. |
| * StitchMarker/folly/boost/mpl/aux_/has_begin.hpp: Added. |
| * StitchMarker/folly/boost/mpl/aux_/has_size.hpp: Added. |
| * StitchMarker/folly/boost/mpl/aux_/has_tag.hpp: Added. |
| * StitchMarker/folly/boost/mpl/aux_/has_type.hpp: Added. |
| * StitchMarker/folly/boost/mpl/aux_/include_preprocessed.hpp: Added. |
| * StitchMarker/folly/boost/mpl/aux_/inserter_algorithm.hpp: Added. |
| * StitchMarker/folly/boost/mpl/aux_/integral_wrapper.hpp: Added. |
| * StitchMarker/folly/boost/mpl/aux_/is_msvc_eti_arg.hpp: Added. |
| * StitchMarker/folly/boost/mpl/aux_/iter_apply.hpp: Added. |
| * StitchMarker/folly/boost/mpl/aux_/iter_fold_if_impl.hpp: Added. |
| * StitchMarker/folly/boost/mpl/aux_/iter_fold_impl.hpp: Added. |
| * StitchMarker/folly/boost/mpl/aux_/lambda_arity_param.hpp: Added. |
| * StitchMarker/folly/boost/mpl/aux_/lambda_spec.hpp: Added. |
| * StitchMarker/folly/boost/mpl/aux_/lambda_support.hpp: Added. |
| * StitchMarker/folly/boost/mpl/aux_/largest_int.hpp: Added. |
| * StitchMarker/folly/boost/mpl/aux_/msvc_eti_base.hpp: Added. |
| * StitchMarker/folly/boost/mpl/aux_/msvc_never_true.hpp: Added. |
| * StitchMarker/folly/boost/mpl/aux_/msvc_type.hpp: Added. |
| * StitchMarker/folly/boost/mpl/aux_/na.hpp: Added. |
| * StitchMarker/folly/boost/mpl/aux_/na_assert.hpp: Added. |
| * StitchMarker/folly/boost/mpl/aux_/na_fwd.hpp: Added. |
| * StitchMarker/folly/boost/mpl/aux_/na_spec.hpp: Added. |
| * StitchMarker/folly/boost/mpl/aux_/nested_type_wknd.hpp: Added. |
| * StitchMarker/folly/boost/mpl/aux_/nttp_decl.hpp: Added. |
| * StitchMarker/folly/boost/mpl/aux_/numeric_cast_utils.hpp: Added. |
| * StitchMarker/folly/boost/mpl/aux_/numeric_op.hpp: Added. |
| * StitchMarker/folly/boost/mpl/aux_/preprocessed/gcc/advance_backward.hpp: Added. |
| * StitchMarker/folly/boost/mpl/aux_/preprocessed/gcc/advance_forward.hpp: Added. |
| * StitchMarker/folly/boost/mpl/aux_/preprocessed/gcc/and.hpp: Added. |
| * StitchMarker/folly/boost/mpl/aux_/preprocessed/gcc/apply.hpp: Added. |
| * StitchMarker/folly/boost/mpl/aux_/preprocessed/gcc/apply_fwd.hpp: Added. |
| * StitchMarker/folly/boost/mpl/aux_/preprocessed/gcc/apply_wrap.hpp: Added. |
| * StitchMarker/folly/boost/mpl/aux_/preprocessed/gcc/arg.hpp: Added. |
| * StitchMarker/folly/boost/mpl/aux_/preprocessed/gcc/bind.hpp: Added. |
| * StitchMarker/folly/boost/mpl/aux_/preprocessed/gcc/bind_fwd.hpp: Added. |
| * StitchMarker/folly/boost/mpl/aux_/preprocessed/gcc/bitand.hpp: Added. |
| * StitchMarker/folly/boost/mpl/aux_/preprocessed/gcc/bitxor.hpp: Added. |
| * StitchMarker/folly/boost/mpl/aux_/preprocessed/gcc/equal_to.hpp: Added. |
| * StitchMarker/folly/boost/mpl/aux_/preprocessed/gcc/fold_impl.hpp: Added. |
| * StitchMarker/folly/boost/mpl/aux_/preprocessed/gcc/full_lambda.hpp: Added. |
| * StitchMarker/folly/boost/mpl/aux_/preprocessed/gcc/greater.hpp: Added. |
| * StitchMarker/folly/boost/mpl/aux_/preprocessed/gcc/greater_equal.hpp: Added. |
| * StitchMarker/folly/boost/mpl/aux_/preprocessed/gcc/iter_fold_if_impl.hpp: Added. |
| * StitchMarker/folly/boost/mpl/aux_/preprocessed/gcc/iter_fold_impl.hpp: Added. |
| * StitchMarker/folly/boost/mpl/aux_/preprocessed/gcc/less.hpp: Added. |
| * StitchMarker/folly/boost/mpl/aux_/preprocessed/gcc/less_equal.hpp: Added. |
| * StitchMarker/folly/boost/mpl/aux_/preprocessed/gcc/list.hpp: Added. |
| * StitchMarker/folly/boost/mpl/aux_/preprocessed/gcc/minus.hpp: Added. |
| * StitchMarker/folly/boost/mpl/aux_/preprocessed/gcc/not_equal_to.hpp: Added. |
| * StitchMarker/folly/boost/mpl/aux_/preprocessed/gcc/or.hpp: Added. |
| * StitchMarker/folly/boost/mpl/aux_/preprocessed/gcc/placeholders.hpp: Added. |
| * StitchMarker/folly/boost/mpl/aux_/preprocessed/gcc/plus.hpp: Added. |
| * StitchMarker/folly/boost/mpl/aux_/preprocessed/gcc/quote.hpp: Added. |
| * StitchMarker/folly/boost/mpl/aux_/preprocessed/gcc/reverse_fold_impl.hpp: Added. |
| * StitchMarker/folly/boost/mpl/aux_/preprocessed/gcc/template_arity.hpp: Added. |
| * StitchMarker/folly/boost/mpl/aux_/preprocessed/gcc/vector.hpp: Added. |
| * StitchMarker/folly/boost/mpl/aux_/preprocessor/def_params_tail.hpp: Added. |
| * StitchMarker/folly/boost/mpl/aux_/preprocessor/default_params.hpp: Added. |
| * StitchMarker/folly/boost/mpl/aux_/preprocessor/enum.hpp: Added. |
| * StitchMarker/folly/boost/mpl/aux_/preprocessor/params.hpp: Added. |
| * StitchMarker/folly/boost/mpl/aux_/push_back_impl.hpp: Added. |
| * StitchMarker/folly/boost/mpl/aux_/push_front_impl.hpp: Added. |
| * StitchMarker/folly/boost/mpl/aux_/reverse_fold_impl.hpp: Added. |
| * StitchMarker/folly/boost/mpl/aux_/size_impl.hpp: Added. |
| * StitchMarker/folly/boost/mpl/aux_/static_cast.hpp: Added. |
| * StitchMarker/folly/boost/mpl/aux_/template_arity.hpp: Added. |
| * StitchMarker/folly/boost/mpl/aux_/template_arity_fwd.hpp: Added. |
| * StitchMarker/folly/boost/mpl/aux_/traits_lambda_spec.hpp: Added. |
| * StitchMarker/folly/boost/mpl/aux_/type_wrapper.hpp: Added. |
| * StitchMarker/folly/boost/mpl/aux_/value_wknd.hpp: Added. |
| * StitchMarker/folly/boost/mpl/aux_/yes_no.hpp: Added. |
| * StitchMarker/folly/boost/mpl/back_fwd.hpp: Added. |
| * StitchMarker/folly/boost/mpl/back_inserter.hpp: Added. |
| * StitchMarker/folly/boost/mpl/begin_end.hpp: Added. |
| * StitchMarker/folly/boost/mpl/begin_end_fwd.hpp: Added. |
| * StitchMarker/folly/boost/mpl/bind.hpp: Added. |
| * StitchMarker/folly/boost/mpl/bind_fwd.hpp: Added. |
| * StitchMarker/folly/boost/mpl/bitand.hpp: Added. |
| * StitchMarker/folly/boost/mpl/bitxor.hpp: Added. |
| * StitchMarker/folly/boost/mpl/bool.hpp: Added. |
| * StitchMarker/folly/boost/mpl/bool_fwd.hpp: Added. |
| * StitchMarker/folly/boost/mpl/clear.hpp: Added. |
| * StitchMarker/folly/boost/mpl/clear_fwd.hpp: Added. |
| * StitchMarker/folly/boost/mpl/comparison.hpp: Added. |
| * StitchMarker/folly/boost/mpl/contains.hpp: Added. |
| * StitchMarker/folly/boost/mpl/contains_fwd.hpp: Added. |
| * StitchMarker/folly/boost/mpl/deref.hpp: Added. |
| * StitchMarker/folly/boost/mpl/distance.hpp: Added. |
| * StitchMarker/folly/boost/mpl/distance_fwd.hpp: Added. |
| * StitchMarker/folly/boost/mpl/empty_fwd.hpp: Added. |
| * StitchMarker/folly/boost/mpl/equal_to.hpp: Added. |
| * StitchMarker/folly/boost/mpl/eval_if.hpp: Added. |
| * StitchMarker/folly/boost/mpl/find.hpp: Added. |
| * StitchMarker/folly/boost/mpl/find_if.hpp: Added. |
| * StitchMarker/folly/boost/mpl/fold.hpp: Added. |
| * StitchMarker/folly/boost/mpl/front_fwd.hpp: Added. |
| * StitchMarker/folly/boost/mpl/front_inserter.hpp: Added. |
| * StitchMarker/folly/boost/mpl/greater.hpp: Added. |
| * StitchMarker/folly/boost/mpl/greater_equal.hpp: Added. |
| * StitchMarker/folly/boost/mpl/has_xxx.hpp: Added. |
| * StitchMarker/folly/boost/mpl/identity.hpp: Added. |
| * StitchMarker/folly/boost/mpl/if.hpp: Added. |
| * StitchMarker/folly/boost/mpl/inserter.hpp: Added. |
| * StitchMarker/folly/boost/mpl/int.hpp: Added. |
| * StitchMarker/folly/boost/mpl/int_fwd.hpp: Added. |
| * StitchMarker/folly/boost/mpl/integral_c.hpp: Added. |
| * StitchMarker/folly/boost/mpl/integral_c_fwd.hpp: Added. |
| * StitchMarker/folly/boost/mpl/integral_c_tag.hpp: Added. |
| * StitchMarker/folly/boost/mpl/iter_fold.hpp: Added. |
| * StitchMarker/folly/boost/mpl/iter_fold_if.hpp: Added. |
| * StitchMarker/folly/boost/mpl/iterator_range.hpp: Added. |
| * StitchMarker/folly/boost/mpl/iterator_tags.hpp: Added. |
| * StitchMarker/folly/boost/mpl/lambda.hpp: Added. |
| * StitchMarker/folly/boost/mpl/lambda_fwd.hpp: Added. |
| * StitchMarker/folly/boost/mpl/less.hpp: Added. |
| * StitchMarker/folly/boost/mpl/less_equal.hpp: Added. |
| * StitchMarker/folly/boost/mpl/limits/arity.hpp: Added. |
| * StitchMarker/folly/boost/mpl/limits/list.hpp: Added. |
| * StitchMarker/folly/boost/mpl/limits/vector.hpp: Added. |
| * StitchMarker/folly/boost/mpl/list.hpp: Added. |
| * StitchMarker/folly/boost/mpl/list/aux_/O1_size.hpp: Added. |
| * StitchMarker/folly/boost/mpl/list/aux_/begin_end.hpp: Added. |
| * StitchMarker/folly/boost/mpl/list/aux_/clear.hpp: Added. |
| * StitchMarker/folly/boost/mpl/list/aux_/empty.hpp: Added. |
| * StitchMarker/folly/boost/mpl/list/aux_/front.hpp: Added. |
| * StitchMarker/folly/boost/mpl/list/aux_/include_preprocessed.hpp: Added. |
| * StitchMarker/folly/boost/mpl/list/aux_/item.hpp: Added. |
| * StitchMarker/folly/boost/mpl/list/aux_/iterator.hpp: Added. |
| * StitchMarker/folly/boost/mpl/list/aux_/pop_front.hpp: Added. |
| * StitchMarker/folly/boost/mpl/list/aux_/preprocessed/plain/list10.hpp: Added. |
| * StitchMarker/folly/boost/mpl/list/aux_/preprocessed/plain/list20.hpp: Added. |
| * StitchMarker/folly/boost/mpl/list/aux_/push_back.hpp: Added. |
| * StitchMarker/folly/boost/mpl/list/aux_/push_front.hpp: Added. |
| * StitchMarker/folly/boost/mpl/list/aux_/size.hpp: Added. |
| * StitchMarker/folly/boost/mpl/list/aux_/tag.hpp: Added. |
| * StitchMarker/folly/boost/mpl/list/list0.hpp: Added. |
| * StitchMarker/folly/boost/mpl/list/list10.hpp: Added. |
| * StitchMarker/folly/boost/mpl/list/list20.hpp: Added. |
| * StitchMarker/folly/boost/mpl/logical.hpp: Added. |
| * StitchMarker/folly/boost/mpl/long.hpp: Added. |
| * StitchMarker/folly/boost/mpl/long_fwd.hpp: Added. |
| * StitchMarker/folly/boost/mpl/minus.hpp: Added. |
| * StitchMarker/folly/boost/mpl/negate.hpp: Added. |
| * StitchMarker/folly/boost/mpl/next.hpp: Added. |
| * StitchMarker/folly/boost/mpl/next_prior.hpp: Added. |
| * StitchMarker/folly/boost/mpl/not.hpp: Added. |
| * StitchMarker/folly/boost/mpl/not_equal_to.hpp: Added. |
| * StitchMarker/folly/boost/mpl/numeric_cast.hpp: Added. |
| * StitchMarker/folly/boost/mpl/or.hpp: Added. |
| * StitchMarker/folly/boost/mpl/pair.hpp: Added. |
| * StitchMarker/folly/boost/mpl/placeholders.hpp: Added. |
| * StitchMarker/folly/boost/mpl/plus.hpp: Added. |
| * StitchMarker/folly/boost/mpl/pop_back_fwd.hpp: Added. |
| * StitchMarker/folly/boost/mpl/pop_front_fwd.hpp: Added. |
| * StitchMarker/folly/boost/mpl/prior.hpp: Added. |
| * StitchMarker/folly/boost/mpl/protect.hpp: Added. |
| * StitchMarker/folly/boost/mpl/push_back.hpp: Added. |
| * StitchMarker/folly/boost/mpl/push_back_fwd.hpp: Added. |
| * StitchMarker/folly/boost/mpl/push_front.hpp: Added. |
| * StitchMarker/folly/boost/mpl/push_front_fwd.hpp: Added. |
| * StitchMarker/folly/boost/mpl/quote.hpp: Added. |
| * StitchMarker/folly/boost/mpl/remove.hpp: Added. |
| * StitchMarker/folly/boost/mpl/remove_if.hpp: Added. |
| * StitchMarker/folly/boost/mpl/reverse_fold.hpp: Added. |
| * StitchMarker/folly/boost/mpl/same_as.hpp: Added. |
| * StitchMarker/folly/boost/mpl/sequence_tag.hpp: Added. |
| * StitchMarker/folly/boost/mpl/sequence_tag_fwd.hpp: Added. |
| * StitchMarker/folly/boost/mpl/size.hpp: Added. |
| * StitchMarker/folly/boost/mpl/size_fwd.hpp: Added. |
| * StitchMarker/folly/boost/mpl/tag.hpp: Added. |
| * StitchMarker/folly/boost/mpl/vector.hpp: Added. |
| * StitchMarker/folly/boost/mpl/vector/aux_/O1_size.hpp: Added. |
| * StitchMarker/folly/boost/mpl/vector/aux_/at.hpp: Added. |
| * StitchMarker/folly/boost/mpl/vector/aux_/back.hpp: Added. |
| * StitchMarker/folly/boost/mpl/vector/aux_/begin_end.hpp: Added. |
| * StitchMarker/folly/boost/mpl/vector/aux_/clear.hpp: Added. |
| * StitchMarker/folly/boost/mpl/vector/aux_/empty.hpp: Added. |
| * StitchMarker/folly/boost/mpl/vector/aux_/front.hpp: Added. |
| * StitchMarker/folly/boost/mpl/vector/aux_/include_preprocessed.hpp: Added. |
| * StitchMarker/folly/boost/mpl/vector/aux_/item.hpp: Added. |
| * StitchMarker/folly/boost/mpl/vector/aux_/iterator.hpp: Added. |
| * StitchMarker/folly/boost/mpl/vector/aux_/pop_back.hpp: Added. |
| * StitchMarker/folly/boost/mpl/vector/aux_/pop_front.hpp: Added. |
| * StitchMarker/folly/boost/mpl/vector/aux_/preprocessed/typeof_based/vector10.hpp: Added. |
| * StitchMarker/folly/boost/mpl/vector/aux_/preprocessed/typeof_based/vector20.hpp: Added. |
| * StitchMarker/folly/boost/mpl/vector/aux_/preprocessed/typeof_based/vector30.hpp: Added. |
| * StitchMarker/folly/boost/mpl/vector/aux_/push_back.hpp: Added. |
| * StitchMarker/folly/boost/mpl/vector/aux_/push_front.hpp: Added. |
| * StitchMarker/folly/boost/mpl/vector/aux_/size.hpp: Added. |
| * StitchMarker/folly/boost/mpl/vector/aux_/tag.hpp: Added. |
| * StitchMarker/folly/boost/mpl/vector/aux_/vector0.hpp: Added. |
| * StitchMarker/folly/boost/mpl/vector/vector0.hpp: Added. |
| * StitchMarker/folly/boost/mpl/vector/vector10.hpp: Added. |
| * StitchMarker/folly/boost/mpl/vector/vector20.hpp: Added. |
| * StitchMarker/folly/boost/mpl/vector/vector30.hpp: Added. |
| * StitchMarker/folly/boost/mpl/void.hpp: Added. |
| * StitchMarker/folly/boost/mpl/void_fwd.hpp: Added. |
| * StitchMarker/folly/boost/next_prior.hpp: Added. |
| * StitchMarker/folly/boost/noncopyable.hpp: Added. |
| * StitchMarker/folly/boost/operators.hpp: Added. |
| * StitchMarker/folly/boost/pending/integer_log2.hpp: Added. |
| * StitchMarker/folly/boost/predef.h: Added. |
| * StitchMarker/folly/boost/predef/architecture.h: Added. |
| * StitchMarker/folly/boost/predef/architecture/alpha.h: Added. |
| * StitchMarker/folly/boost/predef/architecture/arm.h: Added. |
| * StitchMarker/folly/boost/predef/architecture/blackfin.h: Added. |
| * StitchMarker/folly/boost/predef/architecture/convex.h: Added. |
| * StitchMarker/folly/boost/predef/architecture/ia64.h: Added. |
| * StitchMarker/folly/boost/predef/architecture/m68k.h: Added. |
| * StitchMarker/folly/boost/predef/architecture/mips.h: Added. |
| * StitchMarker/folly/boost/predef/architecture/parisc.h: Added. |
| * StitchMarker/folly/boost/predef/architecture/ppc.h: Added. |
| * StitchMarker/folly/boost/predef/architecture/pyramid.h: Added. |
| * StitchMarker/folly/boost/predef/architecture/rs6k.h: Added. |
| * StitchMarker/folly/boost/predef/architecture/sparc.h: Added. |
| * StitchMarker/folly/boost/predef/architecture/superh.h: Added. |
| * StitchMarker/folly/boost/predef/architecture/sys370.h: Added. |
| * StitchMarker/folly/boost/predef/architecture/sys390.h: Added. |
| * StitchMarker/folly/boost/predef/architecture/x86.h: Added. |
| * StitchMarker/folly/boost/predef/architecture/x86/32.h: Added. |
| * StitchMarker/folly/boost/predef/architecture/x86/64.h: Added. |
| * StitchMarker/folly/boost/predef/architecture/z.h: Added. |
| * StitchMarker/folly/boost/predef/compiler.h: Added. |
| * StitchMarker/folly/boost/predef/compiler/borland.h: Added. |
| * StitchMarker/folly/boost/predef/compiler/clang.h: Added. |
| * StitchMarker/folly/boost/predef/compiler/comeau.h: Added. |
| * StitchMarker/folly/boost/predef/compiler/compaq.h: Added. |
| * StitchMarker/folly/boost/predef/compiler/diab.h: Added. |
| * StitchMarker/folly/boost/predef/compiler/digitalmars.h: Added. |
| * StitchMarker/folly/boost/predef/compiler/dignus.h: Added. |
| * StitchMarker/folly/boost/predef/compiler/edg.h: Added. |
| * StitchMarker/folly/boost/predef/compiler/ekopath.h: Added. |
| * StitchMarker/folly/boost/predef/compiler/gcc.h: Added. |
| * StitchMarker/folly/boost/predef/compiler/gcc_xml.h: Added. |
| * StitchMarker/folly/boost/predef/compiler/greenhills.h: Added. |
| * StitchMarker/folly/boost/predef/compiler/hp_acc.h: Added. |
| * StitchMarker/folly/boost/predef/compiler/iar.h: Added. |
| * StitchMarker/folly/boost/predef/compiler/ibm.h: Added. |
| * StitchMarker/folly/boost/predef/compiler/intel.h: Added. |
| * StitchMarker/folly/boost/predef/compiler/kai.h: Added. |
| * StitchMarker/folly/boost/predef/compiler/llvm.h: Added. |
| * StitchMarker/folly/boost/predef/compiler/metaware.h: Added. |
| * StitchMarker/folly/boost/predef/compiler/metrowerks.h: Added. |
| * StitchMarker/folly/boost/predef/compiler/microtec.h: Added. |
| * StitchMarker/folly/boost/predef/compiler/mpw.h: Added. |
| * StitchMarker/folly/boost/predef/compiler/palm.h: Added. |
| * StitchMarker/folly/boost/predef/compiler/pgi.h: Added. |
| * StitchMarker/folly/boost/predef/compiler/sgi_mipspro.h: Added. |
| * StitchMarker/folly/boost/predef/compiler/sunpro.h: Added. |
| * StitchMarker/folly/boost/predef/compiler/tendra.h: Added. |
| * StitchMarker/folly/boost/predef/compiler/visualc.h: Added. |
| * StitchMarker/folly/boost/predef/compiler/watcom.h: Added. |
| * StitchMarker/folly/boost/predef/detail/_cassert.h: Added. |
| * StitchMarker/folly/boost/predef/detail/_exception.h: Added. |
| * StitchMarker/folly/boost/predef/detail/comp_detected.h: Added. |
| * StitchMarker/folly/boost/predef/detail/endian_compat.h: Added. |
| * StitchMarker/folly/boost/predef/detail/os_detected.h: Added. |
| * StitchMarker/folly/boost/predef/detail/test.h: Added. |
| * StitchMarker/folly/boost/predef/hardware.h: Added. |
| * StitchMarker/folly/boost/predef/hardware/simd.h: Added. |
| * StitchMarker/folly/boost/predef/hardware/simd/arm.h: Added. |
| * StitchMarker/folly/boost/predef/hardware/simd/arm/versions.h: Added. |
| * StitchMarker/folly/boost/predef/hardware/simd/ppc.h: Added. |
| * StitchMarker/folly/boost/predef/hardware/simd/ppc/versions.h: Added. |
| * StitchMarker/folly/boost/predef/hardware/simd/x86.h: Added. |
| * StitchMarker/folly/boost/predef/hardware/simd/x86/versions.h: Added. |
| * StitchMarker/folly/boost/predef/hardware/simd/x86_amd.h: Added. |
| * StitchMarker/folly/boost/predef/hardware/simd/x86_amd/versions.h: Added. |
| * StitchMarker/folly/boost/predef/language.h: Added. |
| * StitchMarker/folly/boost/predef/language/objc.h: Added. |
| * StitchMarker/folly/boost/predef/language/stdc.h: Added. |
| * StitchMarker/folly/boost/predef/language/stdcpp.h: Added. |
| * StitchMarker/folly/boost/predef/library.h: Added. |
| * StitchMarker/folly/boost/predef/library/c.h: Added. |
| * StitchMarker/folly/boost/predef/library/c/_prefix.h: Added. |
| * StitchMarker/folly/boost/predef/library/c/gnu.h: Added. |
| * StitchMarker/folly/boost/predef/library/c/uc.h: Added. |
| * StitchMarker/folly/boost/predef/library/c/vms.h: Added. |
| * StitchMarker/folly/boost/predef/library/c/zos.h: Added. |
| * StitchMarker/folly/boost/predef/library/std.h: Added. |
| * StitchMarker/folly/boost/predef/library/std/_prefix.h: Added. |
| * StitchMarker/folly/boost/predef/library/std/cxx.h: Added. |
| * StitchMarker/folly/boost/predef/library/std/dinkumware.h: Added. |
| * StitchMarker/folly/boost/predef/library/std/libcomo.h: Added. |
| * StitchMarker/folly/boost/predef/library/std/modena.h: Added. |
| * StitchMarker/folly/boost/predef/library/std/msl.h: Added. |
| * StitchMarker/folly/boost/predef/library/std/roguewave.h: Added. |
| * StitchMarker/folly/boost/predef/library/std/sgi.h: Added. |
| * StitchMarker/folly/boost/predef/library/std/stdcpp3.h: Added. |
| * StitchMarker/folly/boost/predef/library/std/stlport.h: Added. |
| * StitchMarker/folly/boost/predef/library/std/vacpp.h: Added. |
| * StitchMarker/folly/boost/predef/make.h: Added. |
| * StitchMarker/folly/boost/predef/os.h: Added. |
| * StitchMarker/folly/boost/predef/os/aix.h: Added. |
| * StitchMarker/folly/boost/predef/os/amigaos.h: Added. |
| * StitchMarker/folly/boost/predef/os/android.h: Added. |
| * StitchMarker/folly/boost/predef/os/beos.h: Added. |
| * StitchMarker/folly/boost/predef/os/bsd.h: Added. |
| * StitchMarker/folly/boost/predef/os/bsd/bsdi.h: Added. |
| * StitchMarker/folly/boost/predef/os/bsd/dragonfly.h: Added. |
| * StitchMarker/folly/boost/predef/os/bsd/free.h: Added. |
| * StitchMarker/folly/boost/predef/os/bsd/net.h: Added. |
| * StitchMarker/folly/boost/predef/os/bsd/open.h: Added. |
| * StitchMarker/folly/boost/predef/os/cygwin.h: Added. |
| * StitchMarker/folly/boost/predef/os/haiku.h: Added. |
| * StitchMarker/folly/boost/predef/os/hpux.h: Added. |
| * StitchMarker/folly/boost/predef/os/ios.h: Added. |
| * StitchMarker/folly/boost/predef/os/irix.h: Added. |
| * StitchMarker/folly/boost/predef/os/linux.h: Added. |
| * StitchMarker/folly/boost/predef/os/macos.h: Added. |
| * StitchMarker/folly/boost/predef/os/os400.h: Added. |
| * StitchMarker/folly/boost/predef/os/qnxnto.h: Added. |
| * StitchMarker/folly/boost/predef/os/solaris.h: Added. |
| * StitchMarker/folly/boost/predef/os/unix.h: Added. |
| * StitchMarker/folly/boost/predef/os/vms.h: Added. |
| * StitchMarker/folly/boost/predef/os/windows.h: Added. |
| * StitchMarker/folly/boost/predef/other.h: Added. |
| * StitchMarker/folly/boost/predef/other/endian.h: Added. |
| * StitchMarker/folly/boost/predef/platform.h: Added. |
| * StitchMarker/folly/boost/predef/platform/mingw.h: Added. |
| * StitchMarker/folly/boost/predef/platform/windows_desktop.h: Added. |
| * StitchMarker/folly/boost/predef/platform/windows_phone.h: Added. |
| * StitchMarker/folly/boost/predef/platform/windows_runtime.h: Added. |
| * StitchMarker/folly/boost/predef/platform/windows_store.h: Added. |
| * StitchMarker/folly/boost/predef/version.h: Added. |
| * StitchMarker/folly/boost/predef/version_number.h: Added. |
| * StitchMarker/folly/boost/preprocessor/arithmetic/add.hpp: Added. |
| * StitchMarker/folly/boost/preprocessor/arithmetic/dec.hpp: Added. |
| * StitchMarker/folly/boost/preprocessor/arithmetic/detail/div_base.hpp: Added. |
| * StitchMarker/folly/boost/preprocessor/arithmetic/inc.hpp: Added. |
| * StitchMarker/folly/boost/preprocessor/arithmetic/mod.hpp: Added. |
| * StitchMarker/folly/boost/preprocessor/arithmetic/sub.hpp: Added. |
| * StitchMarker/folly/boost/preprocessor/array/data.hpp: Added. |
| * StitchMarker/folly/boost/preprocessor/array/elem.hpp: Added. |
| * StitchMarker/folly/boost/preprocessor/array/size.hpp: Added. |
| * StitchMarker/folly/boost/preprocessor/cat.hpp: Added. |
| * StitchMarker/folly/boost/preprocessor/comma_if.hpp: Added. |
| * StitchMarker/folly/boost/preprocessor/comparison/less_equal.hpp: Added. |
| * StitchMarker/folly/boost/preprocessor/config/config.hpp: Added. |
| * StitchMarker/folly/boost/preprocessor/control/deduce_d.hpp: Added. |
| * StitchMarker/folly/boost/preprocessor/control/detail/while.hpp: Added. |
| * StitchMarker/folly/boost/preprocessor/control/expr_iif.hpp: Added. |
| * StitchMarker/folly/boost/preprocessor/control/if.hpp: Added. |
| * StitchMarker/folly/boost/preprocessor/control/iif.hpp: Added. |
| * StitchMarker/folly/boost/preprocessor/control/while.hpp: Added. |
| * StitchMarker/folly/boost/preprocessor/debug/error.hpp: Added. |
| * StitchMarker/folly/boost/preprocessor/detail/auto_rec.hpp: Added. |
| * StitchMarker/folly/boost/preprocessor/detail/check.hpp: Added. |
| * StitchMarker/folly/boost/preprocessor/detail/is_binary.hpp: Added. |
| * StitchMarker/folly/boost/preprocessor/empty.hpp: Added. |
| * StitchMarker/folly/boost/preprocessor/facilities/empty.hpp: Added. |
| * StitchMarker/folly/boost/preprocessor/facilities/expand.hpp: Added. |
| * StitchMarker/folly/boost/preprocessor/facilities/identity.hpp: Added. |
| * StitchMarker/folly/boost/preprocessor/facilities/overload.hpp: Added. |
| * StitchMarker/folly/boost/preprocessor/identity.hpp: Added. |
| * StitchMarker/folly/boost/preprocessor/inc.hpp: Added. |
| * StitchMarker/folly/boost/preprocessor/list/adt.hpp: Added. |
| * StitchMarker/folly/boost/preprocessor/list/detail/fold_left.hpp: Added. |
| * StitchMarker/folly/boost/preprocessor/list/detail/fold_right.hpp: Added. |
| * StitchMarker/folly/boost/preprocessor/list/fold_left.hpp: Added. |
| * StitchMarker/folly/boost/preprocessor/list/fold_right.hpp: Added. |
| * StitchMarker/folly/boost/preprocessor/list/reverse.hpp: Added. |
| * StitchMarker/folly/boost/preprocessor/logical/and.hpp: Added. |
| * StitchMarker/folly/boost/preprocessor/logical/bitand.hpp: Added. |
| * StitchMarker/folly/boost/preprocessor/logical/bool.hpp: Added. |
| * StitchMarker/folly/boost/preprocessor/logical/compl.hpp: Added. |
| * StitchMarker/folly/boost/preprocessor/logical/not.hpp: Added. |
| * StitchMarker/folly/boost/preprocessor/punctuation/comma.hpp: Added. |
| * StitchMarker/folly/boost/preprocessor/punctuation/comma_if.hpp: Added. |
| * StitchMarker/folly/boost/preprocessor/punctuation/paren.hpp: Added. |
| * StitchMarker/folly/boost/preprocessor/repeat.hpp: Added. |
| * StitchMarker/folly/boost/preprocessor/repetition/detail/for.hpp: Added. |
| * StitchMarker/folly/boost/preprocessor/repetition/enum_binary_params.hpp: Added. |
| * StitchMarker/folly/boost/preprocessor/repetition/enum_params.hpp: Added. |
| * StitchMarker/folly/boost/preprocessor/repetition/enum_trailing_params.hpp: Added. |
| * StitchMarker/folly/boost/preprocessor/repetition/for.hpp: Added. |
| * StitchMarker/folly/boost/preprocessor/repetition/repeat.hpp: Added. |
| * StitchMarker/folly/boost/preprocessor/repetition/repeat_from_to.hpp: Added. |
| * StitchMarker/folly/boost/preprocessor/seq/cat.hpp: Added. |
| * StitchMarker/folly/boost/preprocessor/seq/detail/is_empty.hpp: Added. |
| * StitchMarker/folly/boost/preprocessor/seq/elem.hpp: Added. |
| * StitchMarker/folly/boost/preprocessor/seq/enum.hpp: Added. |
| * StitchMarker/folly/boost/preprocessor/seq/fold_left.hpp: Added. |
| * StitchMarker/folly/boost/preprocessor/seq/for_each_i.hpp: Added. |
| * StitchMarker/folly/boost/preprocessor/seq/seq.hpp: Added. |
| * StitchMarker/folly/boost/preprocessor/seq/size.hpp: Added. |
| * StitchMarker/folly/boost/preprocessor/seq/transform.hpp: Added. |
| * StitchMarker/folly/boost/preprocessor/stringize.hpp: Added. |
| * StitchMarker/folly/boost/preprocessor/tuple/detail/is_single_return.hpp: Added. |
| * StitchMarker/folly/boost/preprocessor/tuple/eat.hpp: Added. |
| * StitchMarker/folly/boost/preprocessor/tuple/elem.hpp: Added. |
| * StitchMarker/folly/boost/preprocessor/tuple/rem.hpp: Added. |
| * StitchMarker/folly/boost/preprocessor/variadic/elem.hpp: Added. |
| * StitchMarker/folly/boost/preprocessor/variadic/size.hpp: Added. |
| * StitchMarker/folly/boost/random.hpp: Added. |
| * StitchMarker/folly/boost/random/additive_combine.hpp: Added. |
| * StitchMarker/folly/boost/random/bernoulli_distribution.hpp: Added. |
| * StitchMarker/folly/boost/random/beta_distribution.hpp: Added. |
| * StitchMarker/folly/boost/random/binomial_distribution.hpp: Added. |
| * StitchMarker/folly/boost/random/cauchy_distribution.hpp: Added. |
| * StitchMarker/folly/boost/random/chi_squared_distribution.hpp: Added. |
| * StitchMarker/folly/boost/random/detail/config.hpp: Added. |
| * StitchMarker/folly/boost/random/detail/const_mod.hpp: Added. |
| * StitchMarker/folly/boost/random/detail/disable_warnings.hpp: Added. |
| * StitchMarker/folly/boost/random/detail/enable_warnings.hpp: Added. |
| * StitchMarker/folly/boost/random/detail/generator_bits.hpp: Added. |
| * StitchMarker/folly/boost/random/detail/generator_seed_seq.hpp: Added. |
| * StitchMarker/folly/boost/random/detail/int_float_pair.hpp: Added. |
| * StitchMarker/folly/boost/random/detail/integer_log2.hpp: Added. |
| * StitchMarker/folly/boost/random/detail/large_arithmetic.hpp: Added. |
| * StitchMarker/folly/boost/random/detail/operators.hpp: Added. |
| * StitchMarker/folly/boost/random/detail/polynomial.hpp: Added. |
| * StitchMarker/folly/boost/random/detail/ptr_helper.hpp: Added. |
| * StitchMarker/folly/boost/random/detail/seed.hpp: Added. |
| * StitchMarker/folly/boost/random/detail/seed_impl.hpp: Added. |
| * StitchMarker/folly/boost/random/detail/signed_unsigned_tools.hpp: Added. |
| * StitchMarker/folly/boost/random/detail/uniform_int_float.hpp: Added. |
| * StitchMarker/folly/boost/random/detail/vector_io.hpp: Added. |
| * StitchMarker/folly/boost/random/discard_block.hpp: Added. |
| * StitchMarker/folly/boost/random/discrete_distribution.hpp: Added. |
| * StitchMarker/folly/boost/random/exponential_distribution.hpp: Added. |
| * StitchMarker/folly/boost/random/extreme_value_distribution.hpp: Added. |
| * StitchMarker/folly/boost/random/fisher_f_distribution.hpp: Added. |
| * StitchMarker/folly/boost/random/gamma_distribution.hpp: Added. |
| * StitchMarker/folly/boost/random/generate_canonical.hpp: Added. |
| * StitchMarker/folly/boost/random/geometric_distribution.hpp: Added. |
| * StitchMarker/folly/boost/random/hyperexponential_distribution.hpp: Added. |
| * StitchMarker/folly/boost/random/independent_bits.hpp: Added. |
| * StitchMarker/folly/boost/random/inversive_congruential.hpp: Added. |
| * StitchMarker/folly/boost/random/lagged_fibonacci.hpp: Added. |
| * StitchMarker/folly/boost/random/laplace_distribution.hpp: Added. |
| * StitchMarker/folly/boost/random/linear_congruential.hpp: Added. |
| * StitchMarker/folly/boost/random/linear_feedback_shift.hpp: Added. |
| * StitchMarker/folly/boost/random/lognormal_distribution.hpp: Added. |
| * StitchMarker/folly/boost/random/mersenne_twister.hpp: Added. |
| * StitchMarker/folly/boost/random/negative_binomial_distribution.hpp: Added. |
| * StitchMarker/folly/boost/random/non_central_chi_squared_distribution.hpp: Added. |
| * StitchMarker/folly/boost/random/normal_distribution.hpp: Added. |
| * StitchMarker/folly/boost/random/piecewise_constant_distribution.hpp: Added. |
| * StitchMarker/folly/boost/random/piecewise_linear_distribution.hpp: Added. |
| * StitchMarker/folly/boost/random/poisson_distribution.hpp: Added. |
| * StitchMarker/folly/boost/random/random_number_generator.hpp: Added. |
| * StitchMarker/folly/boost/random/ranlux.hpp: Added. |
| * StitchMarker/folly/boost/random/seed_seq.hpp: Added. |
| * StitchMarker/folly/boost/random/shuffle_order.hpp: Added. |
| * StitchMarker/folly/boost/random/shuffle_output.hpp: Added. |
| * StitchMarker/folly/boost/random/student_t_distribution.hpp: Added. |
| * StitchMarker/folly/boost/random/subtract_with_carry.hpp: Added. |
| * StitchMarker/folly/boost/random/taus88.hpp: Added. |
| * StitchMarker/folly/boost/random/traits.hpp: Added. |
| * StitchMarker/folly/boost/random/triangle_distribution.hpp: Added. |
| * StitchMarker/folly/boost/random/uniform_01.hpp: Added. |
| * StitchMarker/folly/boost/random/uniform_int.hpp: Added. |
| * StitchMarker/folly/boost/random/uniform_int_distribution.hpp: Added. |
| * StitchMarker/folly/boost/random/uniform_on_sphere.hpp: Added. |
| * StitchMarker/folly/boost/random/uniform_real.hpp: Added. |
| * StitchMarker/folly/boost/random/uniform_real_distribution.hpp: Added. |
| * StitchMarker/folly/boost/random/uniform_smallint.hpp: Added. |
| * StitchMarker/folly/boost/random/variate_generator.hpp: Added. |
| * StitchMarker/folly/boost/random/weibull_distribution.hpp: Added. |
| * StitchMarker/folly/boost/random/xor_combine.hpp: Added. |
| * StitchMarker/folly/boost/range/begin.hpp: Added. |
| * StitchMarker/folly/boost/range/concepts.hpp: Added. |
| * StitchMarker/folly/boost/range/config.hpp: Added. |
| * StitchMarker/folly/boost/range/const_iterator.hpp: Added. |
| * StitchMarker/folly/boost/range/detail/common.hpp: Added. |
| * StitchMarker/folly/boost/range/detail/extract_optional_type.hpp: Added. |
| * StitchMarker/folly/boost/range/detail/has_member_size.hpp: Added. |
| * StitchMarker/folly/boost/range/detail/implementation_help.hpp: Added. |
| * StitchMarker/folly/boost/range/detail/misc_concept.hpp: Added. |
| * StitchMarker/folly/boost/range/detail/msvc_has_iterator_workaround.hpp: Added. |
| * StitchMarker/folly/boost/range/detail/sfinae.hpp: Added. |
| * StitchMarker/folly/boost/range/difference_type.hpp: Added. |
| * StitchMarker/folly/boost/range/end.hpp: Added. |
| * StitchMarker/folly/boost/range/has_range_iterator.hpp: Added. |
| * StitchMarker/folly/boost/range/iterator.hpp: Added. |
| * StitchMarker/folly/boost/range/mutable_iterator.hpp: Added. |
| * StitchMarker/folly/boost/range/range_fwd.hpp: Added. |
| * StitchMarker/folly/boost/range/size.hpp: Added. |
| * StitchMarker/folly/boost/range/size_type.hpp: Added. |
| * StitchMarker/folly/boost/range/value_type.hpp: Added. |
| * StitchMarker/folly/boost/regex/pending/unicode_iterator.hpp: Added. |
| * StitchMarker/folly/boost/static_assert.hpp: Added. |
| * StitchMarker/folly/boost/throw_exception.hpp: Added. |
| * StitchMarker/folly/boost/type_traits.hpp: Added. |
| * StitchMarker/folly/boost/type_traits/add_const.hpp: Added. |
| * StitchMarker/folly/boost/type_traits/add_cv.hpp: Added. |
| * StitchMarker/folly/boost/type_traits/add_lvalue_reference.hpp: Added. |
| * StitchMarker/folly/boost/type_traits/add_pointer.hpp: Added. |
| * StitchMarker/folly/boost/type_traits/add_reference.hpp: Added. |
| * StitchMarker/folly/boost/type_traits/add_rvalue_reference.hpp: Added. |
| * StitchMarker/folly/boost/type_traits/add_volatile.hpp: Added. |
| * StitchMarker/folly/boost/type_traits/aligned_storage.hpp: Added. |
| * StitchMarker/folly/boost/type_traits/alignment_of.hpp: Added. |
| * StitchMarker/folly/boost/type_traits/common_type.hpp: Added. |
| * StitchMarker/folly/boost/type_traits/conditional.hpp: Added. |
| * StitchMarker/folly/boost/type_traits/conversion_traits.hpp: Added. |
| * StitchMarker/folly/boost/type_traits/copy_cv.hpp: Added. |
| * StitchMarker/folly/boost/type_traits/decay.hpp: Added. |
| * StitchMarker/folly/boost/type_traits/declval.hpp: Added. |
| * StitchMarker/folly/boost/type_traits/detail/config.hpp: Added. |
| * StitchMarker/folly/boost/type_traits/detail/has_binary_operator.hpp: Added. |
| * StitchMarker/folly/boost/type_traits/detail/has_postfix_operator.hpp: Added. |
| * StitchMarker/folly/boost/type_traits/detail/has_prefix_operator.hpp: Added. |
| * StitchMarker/folly/boost/type_traits/detail/is_function_ptr_helper.hpp: Added. |
| * StitchMarker/folly/boost/type_traits/detail/is_mem_fun_pointer_impl.hpp: Added. |
| * StitchMarker/folly/boost/type_traits/detail/mp_defer.hpp: Added. |
| * StitchMarker/folly/boost/type_traits/detail/yes_no_type.hpp: Added. |
| * StitchMarker/folly/boost/type_traits/extent.hpp: Added. |
| * StitchMarker/folly/boost/type_traits/floating_point_promotion.hpp: Added. |
| * StitchMarker/folly/boost/type_traits/function_traits.hpp: Added. |
| * StitchMarker/folly/boost/type_traits/has_bit_and.hpp: Added. |
| * StitchMarker/folly/boost/type_traits/has_bit_and_assign.hpp: Added. |
| * StitchMarker/folly/boost/type_traits/has_bit_or.hpp: Added. |
| * StitchMarker/folly/boost/type_traits/has_bit_or_assign.hpp: Added. |
| * StitchMarker/folly/boost/type_traits/has_bit_xor.hpp: Added. |
| * StitchMarker/folly/boost/type_traits/has_bit_xor_assign.hpp: Added. |
| * StitchMarker/folly/boost/type_traits/has_complement.hpp: Added. |
| * StitchMarker/folly/boost/type_traits/has_dereference.hpp: Added. |
| * StitchMarker/folly/boost/type_traits/has_divides.hpp: Added. |
| * StitchMarker/folly/boost/type_traits/has_divides_assign.hpp: Added. |
| * StitchMarker/folly/boost/type_traits/has_equal_to.hpp: Added. |
| * StitchMarker/folly/boost/type_traits/has_greater.hpp: Added. |
| * StitchMarker/folly/boost/type_traits/has_greater_equal.hpp: Added. |
| * StitchMarker/folly/boost/type_traits/has_left_shift.hpp: Added. |
| * StitchMarker/folly/boost/type_traits/has_left_shift_assign.hpp: Added. |
| * StitchMarker/folly/boost/type_traits/has_less.hpp: Added. |
| * StitchMarker/folly/boost/type_traits/has_less_equal.hpp: Added. |
| * StitchMarker/folly/boost/type_traits/has_logical_and.hpp: Added. |
| * StitchMarker/folly/boost/type_traits/has_logical_not.hpp: Added. |
| * StitchMarker/folly/boost/type_traits/has_logical_or.hpp: Added. |
| * StitchMarker/folly/boost/type_traits/has_minus.hpp: Added. |
| * StitchMarker/folly/boost/type_traits/has_minus_assign.hpp: Added. |
| * StitchMarker/folly/boost/type_traits/has_modulus.hpp: Added. |
| * StitchMarker/folly/boost/type_traits/has_modulus_assign.hpp: Added. |
| * StitchMarker/folly/boost/type_traits/has_multiplies.hpp: Added. |
| * StitchMarker/folly/boost/type_traits/has_multiplies_assign.hpp: Added. |
| * StitchMarker/folly/boost/type_traits/has_negate.hpp: Added. |
| * StitchMarker/folly/boost/type_traits/has_new_operator.hpp: Added. |
| * StitchMarker/folly/boost/type_traits/has_not_equal_to.hpp: Added. |
| * StitchMarker/folly/boost/type_traits/has_nothrow_assign.hpp: Added. |
| * StitchMarker/folly/boost/type_traits/has_nothrow_constructor.hpp: Added. |
| * StitchMarker/folly/boost/type_traits/has_nothrow_copy.hpp: Added. |
| * StitchMarker/folly/boost/type_traits/has_nothrow_destructor.hpp: Added. |
| * StitchMarker/folly/boost/type_traits/has_plus.hpp: Added. |
| * StitchMarker/folly/boost/type_traits/has_plus_assign.hpp: Added. |
| * StitchMarker/folly/boost/type_traits/has_post_decrement.hpp: Added. |
| * StitchMarker/folly/boost/type_traits/has_post_increment.hpp: Added. |
| * StitchMarker/folly/boost/type_traits/has_pre_decrement.hpp: Added. |
| * StitchMarker/folly/boost/type_traits/has_pre_increment.hpp: Added. |
| * StitchMarker/folly/boost/type_traits/has_right_shift.hpp: Added. |
| * StitchMarker/folly/boost/type_traits/has_right_shift_assign.hpp: Added. |
| * StitchMarker/folly/boost/type_traits/has_trivial_assign.hpp: Added. |
| * StitchMarker/folly/boost/type_traits/has_trivial_constructor.hpp: Added. |
| * StitchMarker/folly/boost/type_traits/has_trivial_copy.hpp: Added. |
| * StitchMarker/folly/boost/type_traits/has_trivial_destructor.hpp: Added. |
| * StitchMarker/folly/boost/type_traits/has_trivial_move_assign.hpp: Added. |
| * StitchMarker/folly/boost/type_traits/has_trivial_move_constructor.hpp: Added. |
| * StitchMarker/folly/boost/type_traits/has_unary_minus.hpp: Added. |
| * StitchMarker/folly/boost/type_traits/has_unary_plus.hpp: Added. |
| * StitchMarker/folly/boost/type_traits/has_virtual_destructor.hpp: Added. |
| * StitchMarker/folly/boost/type_traits/integral_constant.hpp: Added. |
| * StitchMarker/folly/boost/type_traits/integral_promotion.hpp: Added. |
| * StitchMarker/folly/boost/type_traits/intrinsics.hpp: Added. |
| * StitchMarker/folly/boost/type_traits/is_abstract.hpp: Added. |
| * StitchMarker/folly/boost/type_traits/is_arithmetic.hpp: Added. |
| * StitchMarker/folly/boost/type_traits/is_array.hpp: Added. |
| * StitchMarker/folly/boost/type_traits/is_assignable.hpp: Added. |
| * StitchMarker/folly/boost/type_traits/is_base_and_derived.hpp: Added. |
| * StitchMarker/folly/boost/type_traits/is_base_of.hpp: Added. |
| * StitchMarker/folly/boost/type_traits/is_class.hpp: Added. |
| * StitchMarker/folly/boost/type_traits/is_complex.hpp: Added. |
| * StitchMarker/folly/boost/type_traits/is_compound.hpp: Added. |
| * StitchMarker/folly/boost/type_traits/is_const.hpp: Added. |
| * StitchMarker/folly/boost/type_traits/is_constructible.hpp: Added. |
| * StitchMarker/folly/boost/type_traits/is_convertible.hpp: Added. |
| * StitchMarker/folly/boost/type_traits/is_copy_assignable.hpp: Added. |
| * StitchMarker/folly/boost/type_traits/is_copy_constructible.hpp: Added. |
| * StitchMarker/folly/boost/type_traits/is_default_constructible.hpp: Added. |
| * StitchMarker/folly/boost/type_traits/is_destructible.hpp: Added. |
| * StitchMarker/folly/boost/type_traits/is_empty.hpp: Added. |
| * StitchMarker/folly/boost/type_traits/is_enum.hpp: Added. |
| * StitchMarker/folly/boost/type_traits/is_final.hpp: Added. |
| * StitchMarker/folly/boost/type_traits/is_float.hpp: Added. |
| * StitchMarker/folly/boost/type_traits/is_floating_point.hpp: Added. |
| * StitchMarker/folly/boost/type_traits/is_function.hpp: Added. |
| * StitchMarker/folly/boost/type_traits/is_fundamental.hpp: Added. |
| * StitchMarker/folly/boost/type_traits/is_integral.hpp: Added. |
| * StitchMarker/folly/boost/type_traits/is_lvalue_reference.hpp: Added. |
| * StitchMarker/folly/boost/type_traits/is_member_function_pointer.hpp: Added. |
| * StitchMarker/folly/boost/type_traits/is_member_object_pointer.hpp: Added. |
| * StitchMarker/folly/boost/type_traits/is_member_pointer.hpp: Added. |
| * StitchMarker/folly/boost/type_traits/is_nothrow_move_assignable.hpp: Added. |
| * StitchMarker/folly/boost/type_traits/is_nothrow_move_constructible.hpp: Added. |
| * StitchMarker/folly/boost/type_traits/is_object.hpp: Added. |
| * StitchMarker/folly/boost/type_traits/is_pod.hpp: Added. |
| * StitchMarker/folly/boost/type_traits/is_pointer.hpp: Added. |
| * StitchMarker/folly/boost/type_traits/is_polymorphic.hpp: Added. |
| * StitchMarker/folly/boost/type_traits/is_reference.hpp: Added. |
| * StitchMarker/folly/boost/type_traits/is_rvalue_reference.hpp: Added. |
| * StitchMarker/folly/boost/type_traits/is_same.hpp: Added. |
| * StitchMarker/folly/boost/type_traits/is_scalar.hpp: Added. |
| * StitchMarker/folly/boost/type_traits/is_signed.hpp: Added. |
| * StitchMarker/folly/boost/type_traits/is_stateless.hpp: Added. |
| * StitchMarker/folly/boost/type_traits/is_union.hpp: Added. |
| * StitchMarker/folly/boost/type_traits/is_unsigned.hpp: Added. |
| * StitchMarker/folly/boost/type_traits/is_virtual_base_of.hpp: Added. |
| * StitchMarker/folly/boost/type_traits/is_void.hpp: Added. |
| * StitchMarker/folly/boost/type_traits/is_volatile.hpp: Added. |
| * StitchMarker/folly/boost/type_traits/make_signed.hpp: Added. |
| * StitchMarker/folly/boost/type_traits/make_unsigned.hpp: Added. |
| * StitchMarker/folly/boost/type_traits/make_void.hpp: Added. |
| * StitchMarker/folly/boost/type_traits/promote.hpp: Added. |
| * StitchMarker/folly/boost/type_traits/rank.hpp: Added. |
| * StitchMarker/folly/boost/type_traits/remove_all_extents.hpp: Added. |
| * StitchMarker/folly/boost/type_traits/remove_bounds.hpp: Added. |
| * StitchMarker/folly/boost/type_traits/remove_const.hpp: Added. |
| * StitchMarker/folly/boost/type_traits/remove_cv.hpp: Added. |
| * StitchMarker/folly/boost/type_traits/remove_extent.hpp: Added. |
| * StitchMarker/folly/boost/type_traits/remove_pointer.hpp: Added. |
| * StitchMarker/folly/boost/type_traits/remove_reference.hpp: Added. |
| * StitchMarker/folly/boost/type_traits/remove_volatile.hpp: Added. |
| * StitchMarker/folly/boost/type_traits/type_identity.hpp: Added. |
| * StitchMarker/folly/boost/type_traits/type_with_alignment.hpp: Added. |
| * StitchMarker/folly/boost/utility.hpp: Added. |
| * StitchMarker/folly/boost/utility/addressof.hpp: Added. |
| * StitchMarker/folly/boost/utility/base_from_member.hpp: Added. |
| * StitchMarker/folly/boost/utility/binary.hpp: Added. |
| * StitchMarker/folly/boost/utility/enable_if.hpp: Added. |
| * StitchMarker/folly/boost/utility/identity_type.hpp: Added. |
| * StitchMarker/folly/boost/version.hpp: Added. |
| * StitchMarker/folly/double-conversion/LICENSE: Added. |
| * StitchMarker/folly/double-conversion/README.md: Added. |
| * StitchMarker/folly/double-conversion/double-conversion/bignum-dtoa.cc: Added. |
| * StitchMarker/folly/double-conversion/double-conversion/bignum-dtoa.h: Added. |
| * StitchMarker/folly/double-conversion/double-conversion/bignum.cc: Added. |
| * StitchMarker/folly/double-conversion/double-conversion/bignum.h: Added. |
| (double_conversion::Bignum::Times10): |
| (double_conversion::Bignum::Equal): |
| (double_conversion::Bignum::LessEqual): |
| (double_conversion::Bignum::Less): |
| (double_conversion::Bignum::PlusEqual): |
| (double_conversion::Bignum::PlusLessEqual): |
| (double_conversion::Bignum::PlusLess): |
| (double_conversion::Bignum::EnsureCapacity): |
| (double_conversion::Bignum::BigitLength const): |
| * StitchMarker/folly/double-conversion/double-conversion/cached-powers.cc: Added. |
| * StitchMarker/folly/double-conversion/double-conversion/cached-powers.h: Added. |
| * StitchMarker/folly/double-conversion/double-conversion/diy-fp.cc: Added. |
| * StitchMarker/folly/double-conversion/double-conversion/diy-fp.h: Added. |
| (double_conversion::DiyFp::DiyFp): |
| (double_conversion::DiyFp::Subtract): |
| (double_conversion::DiyFp::Minus): |
| (double_conversion::DiyFp::Times): |
| (double_conversion::DiyFp::Normalize): |
| (double_conversion::DiyFp::f const): |
| (double_conversion::DiyFp::e const): |
| (double_conversion::DiyFp::set_f): |
| (double_conversion::DiyFp::set_e): |
| * StitchMarker/folly/double-conversion/double-conversion/double-conversion.cc: Added. |
| * StitchMarker/folly/double-conversion/double-conversion/double-conversion.h: Added. |
| (double_conversion::DoubleToStringConverter::DoubleToStringConverter): |
| (double_conversion::DoubleToStringConverter::ToShortest const): |
| (double_conversion::DoubleToStringConverter::ToShortestSingle const): |
| (double_conversion::StringToDoubleConverter::StringToDoubleConverter): |
| * StitchMarker/folly/double-conversion/double-conversion/fast-dtoa.cc: Added. |
| * StitchMarker/folly/double-conversion/double-conversion/fast-dtoa.h: Added. |
| * StitchMarker/folly/double-conversion/double-conversion/fixed-dtoa.cc: Added. |
| * StitchMarker/folly/double-conversion/double-conversion/fixed-dtoa.h: Added. |
| * StitchMarker/folly/double-conversion/double-conversion/ieee.h: Added. |
| (double_conversion::double_to_uint64): |
| (double_conversion::uint64_to_double): |
| (double_conversion::float_to_uint32): |
| (double_conversion::uint32_to_float): |
| (double_conversion::Double::Double): |
| (double_conversion::Double::AsDiyFp const): |
| (double_conversion::Double::AsNormalizedDiyFp const): |
| (double_conversion::Double::AsUint64 const): |
| (double_conversion::Double::NextDouble const): |
| (double_conversion::Double::PreviousDouble const): |
| (double_conversion::Double::Exponent const): |
| (double_conversion::Double::Significand const): |
| (double_conversion::Double::IsDenormal const): |
| (double_conversion::Double::IsSpecial const): |
| (double_conversion::Double::IsNan const): |
| (double_conversion::Double::IsInfinite const): |
| (double_conversion::Double::Sign const): |
| (double_conversion::Double::UpperBoundary const): |
| (double_conversion::Double::NormalizedBoundaries const): |
| (double_conversion::Double::LowerBoundaryIsCloser const): |
| (double_conversion::Double::value const): |
| (double_conversion::Double::SignificandSizeForOrderOfMagnitude): |
| (double_conversion::Double::Infinity): |
| (double_conversion::Double::NaN): |
| (double_conversion::Double::DiyFpToUint64): |
| (double_conversion::Single::Single): |
| (double_conversion::Single::AsDiyFp const): |
| (double_conversion::Single::AsUint32 const): |
| (double_conversion::Single::Exponent const): |
| (double_conversion::Single::Significand const): |
| (double_conversion::Single::IsDenormal const): |
| (double_conversion::Single::IsSpecial const): |
| (double_conversion::Single::IsNan const): |
| (double_conversion::Single::IsInfinite const): |
| (double_conversion::Single::Sign const): |
| (double_conversion::Single::NormalizedBoundaries const): |
| (double_conversion::Single::UpperBoundary const): |
| (double_conversion::Single::LowerBoundaryIsCloser const): |
| (double_conversion::Single::value const): |
| (double_conversion::Single::Infinity): |
| (double_conversion::Single::NaN): |
| * StitchMarker/folly/double-conversion/double-conversion/strtod.cc: Added. |
| * StitchMarker/folly/double-conversion/double-conversion/strtod.h: Added. |
| * StitchMarker/folly/double-conversion/double-conversion/utils.h: Added. |
| (abort_noreturn): |
| (double_conversion::Max): |
| (double_conversion::Min): |
| (double_conversion::StrLength): |
| (double_conversion::Vector::Vector): |
| (double_conversion::Vector::SubVector): |
| (double_conversion::Vector::length const): |
| (double_conversion::Vector::is_empty const): |
| (double_conversion::Vector::start const): |
| (double_conversion::Vector::operator[] const): |
| (double_conversion::Vector::first): |
| (double_conversion::Vector::last): |
| (double_conversion::StringBuilder::StringBuilder): |
| (double_conversion::StringBuilder::~StringBuilder): |
| (double_conversion::StringBuilder::size const): |
| (double_conversion::StringBuilder::position const): |
| (double_conversion::StringBuilder::Reset): |
| (double_conversion::StringBuilder::AddCharacter): |
| (double_conversion::StringBuilder::AddString): |
| (double_conversion::StringBuilder::AddSubstring): |
| (double_conversion::StringBuilder::AddPadding): |
| (double_conversion::StringBuilder::Finalize): |
| (double_conversion::StringBuilder::is_finalized const): |
| (double_conversion::BitCast): |
| * StitchMarker/folly/folly/ApplyTuple.h: Added. |
| (folly::detail::apply_tuple::sum): |
| (folly::detail::apply_tuple::makeCallable): |
| (folly::detail::apply_tuple::call): |
| (folly::detail::apply_tuple::forwardTuple): |
| (folly::applyTuple): |
| (folly::detail::apply_tuple::Uncurry::Uncurry): |
| (folly::detail::apply_tuple::Uncurry::operator() const): |
| (folly::uncurry): |
| * StitchMarker/folly/folly/Assume.cpp: Added. |
| (folly::detail::assume_check): |
| * StitchMarker/folly/folly/Assume.h: Added. |
| (folly::assume): |
| (folly::assume_unreachable): |
| * StitchMarker/folly/folly/AtomicStruct.h: Added. |
| * StitchMarker/folly/folly/Baton.h: Added. |
| (folly::Baton::Baton): |
| (folly::Baton::~Baton): |
| (folly::Baton::reset): |
| (folly::Baton::post): |
| (folly::Baton::wait): |
| (folly::Baton::timed_wait): |
| (folly::Baton::try_wait const): |
| (folly::Baton::spinWaitForEarlyDelivery): |
| * StitchMarker/folly/folly/Benchmark.cpp: Added. |
| (folly::benchmarks): |
| (folly::BENCHMARK): |
| (folly::getGlobalBenchmarkBaselineIndex): |
| (folly::detail::addBenchmarkImpl): |
| (folly::estimateTime): |
| (folly::runBenchmarkGetNSPerIteration): |
| (folly::humanReadable): |
| (folly::readableTime): |
| (folly::metricReadable): |
| (folly::printBenchmarkResultsAsTable): |
| (folly::printBenchmarkResults): |
| (folly::runBenchmarks): |
| * StitchMarker/folly/folly/Benchmark.h: Added. |
| (folly::runBenchmarksOnFlag): |
| (folly::BenchmarkSuspender::BenchmarkSuspender): |
| (folly::BenchmarkSuspender::operator=): |
| (folly::BenchmarkSuspender::~BenchmarkSuspender): |
| (folly::BenchmarkSuspender::dismiss): |
| (folly::BenchmarkSuspender::rehire): |
| (folly::BenchmarkSuspender::dismissing): |
| (folly::BenchmarkSuspender::operator bool const): |
| (folly::BenchmarkSuspender::tally): |
| (folly::addBenchmark): |
| (folly::doNotOptimizeDependencySink): |
| (folly::doNotOptimizeAway): |
| (folly::makeUnpredictable): |
| * StitchMarker/folly/folly/Bits.h: Added. |
| (folly::findFirstSet): |
| (folly::findLastSet): |
| (folly::nextPowTwo): |
| (folly::prevPowTwo): |
| (folly::isPowTwo): |
| (folly::popcount): |
| (folly::detail::EndianInt::swap): |
| (folly::detail::EndianInt::big): |
| (folly::detail::EndianInt::little): |
| (folly::Endian::swap): |
| (folly::Endian::big): |
| (folly::Endian::little): |
| (folly::BitIterator::bitsPerBlock): |
| (folly::BitIterator::BitIterator): |
| (folly::BitIterator::bitOffset const): |
| (folly::BitIterator::advanceToNextBlock): |
| (folly::BitIterator::operator=): |
| (folly::BitIterator::advanceInBlock): |
| (folly::BitIterator::dereference const): |
| (folly::BitIterator::advance): |
| (folly::BitIterator::increment): |
| (folly::BitIterator::decrement): |
| (folly::BitIterator::equal const): |
| (folly::BitIterator::distance_to const): |
| (folly::makeBitIterator): |
| (folly::loadUnaligned): |
| (folly::storeUnaligned): |
| * StitchMarker/folly/folly/CPortability.h: Added. |
| * StitchMarker/folly/folly/CallOnce.h: Added. |
| (folly::call_once): |
| (folly::call_once_impl_no_inline): |
| * StitchMarker/folly/folly/ConcurrentSkipList-inl.h: Added. |
| (folly::detail::SkipListNode::create): |
| (folly::detail::SkipListNode::destroy): |
| (folly::detail::SkipListNode::copyHead): |
| (folly::detail::SkipListNode::skip const): |
| (folly::detail::SkipListNode::next): |
| (folly::detail::SkipListNode::setSkip): |
| (folly::detail::SkipListNode::data): |
| (folly::detail::SkipListNode::data const): |
| (folly::detail::SkipListNode::maxLayer const): |
| (folly::detail::SkipListNode::height const): |
| (folly::detail::SkipListNode::acquireGuard): |
| (folly::detail::SkipListNode::fullyLinked const): |
| (folly::detail::SkipListNode::markedForRemoval const): |
| (folly::detail::SkipListNode::isHeadNode const): |
| (folly::detail::SkipListNode::setIsHeadNode): |
| (folly::detail::SkipListNode::setFullyLinked): |
| (folly::detail::SkipListNode::setMarkedForRemoval): |
| (folly::detail::SkipListNode::SkipListNode): |
| (folly::detail::SkipListNode::~SkipListNode): |
| (folly::detail::SkipListNode::getFlags const): |
| (folly::detail::SkipListNode::setFlags): |
| (folly::detail::SkipListRandomHeight::instance): |
| (folly::detail::SkipListRandomHeight::getHeight const): |
| (folly::detail::SkipListRandomHeight::getSizeLimit const): |
| (folly::detail::SkipListRandomHeight::SkipListRandomHeight): |
| (folly::detail::SkipListRandomHeight::initLookupTable): |
| (folly::detail::SkipListRandomHeight::randomProb): |
| * StitchMarker/folly/folly/ConcurrentSkipList.h: Added. |
| (folly::ConcurrentSkipList::ConcurrentSkipList): |
| (folly::ConcurrentSkipList::create): |
| (folly::ConcurrentSkipList::createInstance): |
| (folly::ConcurrentSkipList::~ConcurrentSkipList): |
| (folly::ConcurrentSkipList::greater): |
| (folly::ConcurrentSkipList::less): |
| (folly::ConcurrentSkipList::findInsertionPoint): |
| (folly::ConcurrentSkipList::size const): |
| (folly::ConcurrentSkipList::height const): |
| (folly::ConcurrentSkipList::maxLayer const): |
| (folly::ConcurrentSkipList::incrementSize): |
| (folly::ConcurrentSkipList::find): |
| (folly::ConcurrentSkipList::lockNodesForChange): |
| (folly::ConcurrentSkipList::addOrGetData): |
| (folly::ConcurrentSkipList::remove): |
| (folly::ConcurrentSkipList::first const): |
| (folly::ConcurrentSkipList::last const): |
| (folly::ConcurrentSkipList::okToDelete): |
| (folly::ConcurrentSkipList::findInsertionPointGetMaxLayer const): |
| (folly::ConcurrentSkipList::findNode const): |
| (folly::ConcurrentSkipList::findNodeDownRight const): |
| (folly::ConcurrentSkipList::findNodeRightDown const): |
| (folly::ConcurrentSkipList::lower_bound const): |
| (folly::ConcurrentSkipList::growHeight): |
| (folly::ConcurrentSkipList::recycle): |
| (folly::detail::csl_iterator::csl_iterator): |
| (folly::detail::csl_iterator::nodeSize const): |
| (folly::detail::csl_iterator::good const): |
| (folly::detail::csl_iterator::increment): |
| (folly::detail::csl_iterator::equal const): |
| (folly::detail::csl_iterator::dereference const): |
| * StitchMarker/folly/folly/Conv.cpp: Added. |
| (folly::makeConversionError): |
| * StitchMarker/folly/folly/Conv.h: Added. |
| (folly::ConversionError::ConversionError): |
| (folly::ConversionError::errorCode const): |
| (folly::detail::enforceWhitespaceErr): |
| (folly::detail::enforceWhitespace): |
| (folly::tryTo): |
| (folly::to): |
| (folly::detail::getLastElement): |
| (folly::detail::LastElementImpl::call): |
| (folly::detail::digitsEnough): |
| (folly::detail::unsafeTelescope128): |
| (folly::digits10): |
| (folly::uint64ToBufferUnsafe): |
| (folly::toAppend): |
| (folly::estimateSpaceNeeded): |
| (folly::sizeof): |
| (folly::detail::estimateSpaceToReserve): |
| (folly::detail::reserveInTarget): |
| (folly::detail::reserveInTargetDelim): |
| (folly::detail::toAppendStrImpl): |
| (folly::detail::sizeof): |
| (folly::detail::toAppendDelimStrImpl): |
| (folly::toAppendFit): |
| (folly::toAppendDelim): |
| (folly::toAppendDelimFit): |
| (folly::toDelim): |
| (folly::parseTo): |
| (folly::detail::checkConversion): |
| (folly::detail::errorValue): |
| (folly::detail::decltype): |
| (folly::detail::CheckTrailingSpace::operator() const): |
| (folly::detail::ReturnUnit::operator() const): |
| (folly::detail::parseToWrap): |
| (folly::detail::ExpectedErrorType<decltype): |
| * StitchMarker/folly/folly/CppAttributes.h: Added. |
| * StitchMarker/folly/folly/CpuId.h: Added. |
| (folly::CpuId::CpuId): |
| * StitchMarker/folly/folly/Demangle.cpp: Added. |
| * StitchMarker/folly/folly/Demangle.h: Added. |
| (folly::demangle): |
| * StitchMarker/folly/folly/Exception.h: Added. |
| (folly::throwSystemErrorExplicit): |
| (folly::throwSystemError): |
| (folly::checkPosixError): |
| (folly::checkKernelError): |
| (folly::checkUnixError): |
| (folly::checkUnixErrorExplicit): |
| (folly::checkFopenError): |
| (folly::checkFopenErrorExplicit): |
| * StitchMarker/folly/folly/ExceptionString.h: Added. |
| (folly::exceptionStr): |
| * StitchMarker/folly/folly/ExceptionWrapper-inl.h: Added. |
| (folly::Class::): |
| (folly::exception_wrapper::arg_type_<Ret): |
| (folly::exception_wrapper::noop_): |
| (folly::exception_wrapper::uninit_type_): |
| (folly::exception_wrapper::Buffer::Buffer): |
| (folly::exception_wrapper::as_exception_or_null_): |
| (folly::exception_wrapper::ExceptionPtr::as_int_): |
| (folly::exception_wrapper::ExceptionPtr::has_exception_ const): |
| (folly::exception_wrapper::ExceptionPtr::as_exception_ const): |
| (folly::exception_wrapper::ExceptionPtr::as_type_ const): |
| (folly::exception_wrapper::ExceptionPtr::copy_): |
| (folly::exception_wrapper::ExceptionPtr::move_): |
| (folly::exception_wrapper::ExceptionPtr::delete_): |
| (folly::exception_wrapper::ExceptionPtr::throw_): |
| (folly::exception_wrapper::ExceptionPtr::type_): |
| (folly::exception_wrapper::ExceptionPtr::get_exception_): |
| (folly::exception_wrapper::ExceptionPtr::get_exception_ptr_): |
| (folly::exception_wrapper::InPlace<Ex>::copy_): |
| (folly::exception_wrapper::InPlace<Ex>::move_): |
| (folly::exception_wrapper::InPlace<Ex>::delete_): |
| (folly::exception_wrapper::InPlace<Ex>::throw_): |
| (folly::exception_wrapper::InPlace<Ex>::type_): |
| (folly::exception_wrapper::InPlace<Ex>::get_exception_): |
| (folly::exception_wrapper::InPlace<Ex>::get_exception_ptr_): |
| (folly::exception_wrapper::SharedPtr::Impl<Ex>::throw_ const): |
| (folly::exception_wrapper::SharedPtr::copy_): |
| (folly::exception_wrapper::SharedPtr::move_): |
| (folly::exception_wrapper::SharedPtr::delete_): |
| (folly::exception_wrapper::SharedPtr::throw_): |
| (folly::exception_wrapper::SharedPtr::type_): |
| (folly::exception_wrapper::SharedPtr::get_exception_): |
| (folly::exception_wrapper::SharedPtr::get_exception_ptr_): |
| (folly::exception_wrapper::exception_wrapper): |
| (folly::vptr_): |
| (folly::exception_wrapper::operator=): |
| (folly::exception_wrapper::~exception_wrapper): |
| (folly::exception_wrapper_detail::dont_slice): |
| (folly::FOLLY_REQUIRES_DEF): |
| (folly::exception_wrapper::reset): |
| (folly::exception_wrapper::what const): |
| (folly::exception_wrapper::class_name const): |
| (folly::exception_wrapper::throw_exception const): |
| (folly::exception_wrapper::HandleReduce::FOLLY_REQUIRES const): |
| (folly::exception_wrapper::HandleStdExceptReduce::FOLLY_REQUIRES const): |
| (folly::exception_wrapper::handle_): |
| (folly::exception_wrapper_detail::catch_fn::operator()): |
| (folly::exception_wrapper_detail::catch_): |
| (folly::exception_wrapper::with_exception_): |
| (folly::exception_wrapper::with_exception): |
| (folly::exception_wrapper::with_exception const): |
| (folly::exception_wrapper::handle): |
| (folly::exception_wrapper::handle const): |
| * StitchMarker/folly/folly/ExceptionWrapper.h: Added. |
| (folly::exception_wrapper_detail::fold): |
| (folly::make_exception_wrapper): |
| (folly::operator<<): |
| (folly::detail::try_and_catch_): |
| (folly::try_and_catch): |
| * StitchMarker/folly/folly/Executor.h: Added. |
| (folly::Executor::getNumPriorities const): |
| (folly::Executor::addPtr): |
| (folly::Executor::KeepAlive::KeepAlive): |
| (folly::Executor::KeepAlive::reset): |
| (folly::Executor::KeepAlive::operator bool const): |
| (folly::Executor::KeepAlive::Deleter::operator()): |
| (folly::Executor::getKeepAliveToken): |
| (folly::Executor::makeKeepAlive): |
| * StitchMarker/folly/folly/Expected.h: Added. |
| (folly::expected_detail::doEmplaceAssign): |
| (folly::expected_detail::getStorageType): |
| (folly::expected_detail::Error>): |
| (folly::expected_detail::ExpectedUnion::noexcept): |
| (folly::expected_detail::ExpectedUnion::ExpectedUnion): |
| (folly::expected_detail::ExpectedUnion::operator=): |
| (folly::expected_detail::ExpectedUnion::~ExpectedUnion): |
| (folly::expected_detail::ExpectedUnion::value): |
| (folly::expected_detail::ExpectedUnion::value const): |
| (folly::expected_detail::ExpectedUnion::error): |
| (folly::expected_detail::ExpectedUnion::error const): |
| (folly::expected_detail::CopyConstructible::noexcept): |
| (folly::expected_detail::MoveConstructible::noexcept): |
| (folly::expected_detail::CopyAssignable::noexcept): |
| (folly::expected_detail::MoveAssignable::noexcept): |
| (folly::expected_detail::expected_detail_ExpectedHelper::ExpectedHelper::return_): |
| (folly::expected_detail::expected_detail_ExpectedHelper::ExpectedHelper::FOLLY_REQUIRES_TRAILING): |
| (folly::expected_detail::expected_detail_ExpectedHelper::ExpectedHelper::then_): |
| (folly::unexpected): |
| (folly::BadExpectedAccess::BadExpectedAccess): |
| (folly::FOLLY_REQUIRES_TRAILING): |
| (folly::makeUnexpected): |
| (folly::operator==): |
| (folly::operator<): |
| (folly::noexcept): |
| (folly::makeExpected): |
| * StitchMarker/folly/folly/FBString.h: Added. |
| (fbstring_detail::copy_n): |
| (fbstring_detail::podFill): |
| (fbstring_detail::podCopy): |
| (fbstring_detail::podMove): |
| (fbstring_detail::assume_unreachable): |
| (fbstring_core::fbstring_core): |
| (fbstring_core::swap): |
| (fbstring_core::data const): |
| (fbstring_core::mutableData): |
| (fbstring_core::c_str const): |
| (fbstring_core::shrink): |
| (fbstring_core::reserve): |
| (fbstring_core::push_back): |
| (fbstring_core::size const): |
| (fbstring_core::capacity const): |
| (fbstring_core::isShared const): |
| (fbstring_core::reset): |
| (fbstring_core::RefCounted::getDataOffset): |
| (fbstring_core::RefCounted::fromData): |
| (fbstring_core::RefCounted::refs): |
| (fbstring_core::RefCounted::incrementRefs): |
| (fbstring_core::RefCounted::decrementRefs): |
| (fbstring_core::RefCounted::create): |
| (fbstring_core::RefCounted::reallocate): |
| (fbstring_core::category const): |
| (fbstring_core::MediumLarge::capacity const): |
| (fbstring_core::MediumLarge::setCapacity): |
| (fbstring_core::smallSize const): |
| (fbstring_core::setSmallSize): |
| (fbstring_core<Char>::copySmall): |
| (fbstring_core<Char>::copyMedium): |
| (fbstring_core<Char>::copyLarge): |
| (fbstring_core<Char>::initSmall): |
| (fbstring_core<Char>::initMedium): |
| (fbstring_core<Char>::initLarge): |
| (fbstring_core<Char>::unshare): |
| (fbstring_core<Char>::mutableDataLarge): |
| (fbstring_core<Char>::reserveLarge): |
| (fbstring_core<Char>::reserveMedium): |
| (fbstring_core<Char>::reserveSmall): |
| (fbstring_core<Char>::expandNoinit): |
| (fbstring_core<Char>::shrinkSmall): |
| (fbstring_core<Char>::shrinkMedium): |
| (fbstring_core<Char>::shrinkLarge): |
| (dummy_fbstring_core::dummy_fbstring_core): |
| (dummy_fbstring_core::swap): |
| (dummy_fbstring_core::data const): |
| (dummy_fbstring_core::mutableData): |
| (dummy_fbstring_core::shrink): |
| (dummy_fbstring_core::expandNoinit): |
| (dummy_fbstring_core::push_back): |
| (dummy_fbstring_core::size const): |
| (dummy_fbstring_core::capacity const): |
| (dummy_fbstring_core::isShared const): |
| (dummy_fbstring_core::reserve): |
| (S>::traitsLength): |
| (=): |
| (S>::resize): |
| (S>::append): |
| (S>::assign): |
| (S>::getlineImpl): |
| (S>::find const): |
| (S>::insertImplDiscr): |
| (S>::insertImpl): |
| (S>::replaceImplDiscr): |
| (S>::replaceAliased): |
| (S>::replaceImpl): |
| (S>::rfind const): |
| (S>::find_first_of const): |
| (S>::find_last_of const): |
| (S>::find_first_not_of const): |
| (S>::find_last_not_of const): |
| (operator+): |
| (operator==): |
| (operator!=): |
| (operator<): |
| (operator>): |
| (operator<=): |
| (operator>=): |
| (swap): |
| (operator>>): |
| (operator<<): |
| * StitchMarker/folly/folly/FBVector.h: Added. |
| (folly::fbvector::Impl::Impl): |
| (folly::fbvector::Impl::~Impl): |
| (folly::fbvector::Impl::D_allocate): |
| (folly::fbvector::Impl::swapData): |
| (folly::fbvector::Impl::init): |
| (folly::fbvector::Impl::set): |
| (folly::fbvector::Impl::reset): |
| (folly::fbvector::swap): |
| (folly::fbvector::M_allocate): |
| (folly::fbvector::M_construct): |
| (folly::fbvector::S_construct): |
| (folly::fbvector::S_construct_a): |
| (folly::fbvector::M_uninitialized_fill_n_e): |
| (folly::fbvector::D_uninitialized_fill_n_a): |
| (folly::fbvector::S_uninitialized_fill_n_a): |
| (folly::fbvector::S_uninitialized_fill_n): |
| (folly::fbvector::M_uninitialized_copy_e): |
| (folly::fbvector::M_uninitialized_move_e): |
| (folly::fbvector::D_uninitialized_copy_a): |
| (folly::fbvector::D_uninitialized_move_a): |
| (folly::fbvector::S_uninitialized_copy_a): |
| (folly::fbvector::S_uninitialized_copy): |
| (folly::fbvector::S_uninitialized_copy_bits): |
| (folly::fbvector::S_copy_n): |
| (folly::fbvector::M_relocate): |
| (folly::fbvector::relocate_move): |
| (folly::fbvector::relocate_move_or_memcpy): |
| (folly::fbvector::relocate_move_or_copy): |
| (folly::fbvector::fbvector): |
| (folly::fbvector::operator=): |
| (folly::fbvector::assign): |
| (folly::fbvector::moveFrom): |
| (folly::fbvector::dataIsInternalAndNotVT): |
| (folly::fbvector::dataIsInternal): |
| (folly::fbvector::resize): |
| (folly::fbvector::reserve): |
| (folly::fbvector::reserve_in_place): |
| (folly::fbvector::operator[]): |
| (folly::fbvector::operator[] const): |
| (folly::fbvector::at const): |
| (folly::fbvector::at): |
| (folly::fbvector::front): |
| (folly::fbvector::front const): |
| (folly::fbvector::back): |
| (folly::fbvector::back const): |
| (folly::fbvector::emplace_back): |
| (folly::fbvector::push_back): |
| (folly::fbvector::pop_back): |
| (folly::fbvector::computePushBackCapacity const): |
| (folly::fbvector::erase): |
| (folly::fbvector::isValid): |
| (folly::fbvector::computeInsertCapacity): |
| (folly::fbvector::make_window): |
| (folly::fbvector::wrap_frame): |
| (folly::fbvector::insert_use_fresh): |
| (folly::fbvector::do_real_insert): |
| (folly::fbvector::emplace): |
| (folly::fbvector::insert): |
| (folly::fbvector::operator== const): |
| (folly::fbvector::operator!= const): |
| (folly::fbvector::operator< const): |
| (folly::fbvector::operator> const): |
| (folly::fbvector::operator<= const): |
| (folly::fbvector::operator>= const): |
| (folly::Allocator>::emplace_back_aux): |
| (folly::compactResize): |
| (folly::relinquish): |
| (folly::attach): |
| * StitchMarker/folly/folly/File.h: Added. |
| (folly::File::fd const): |
| (folly::File::operator bool const): |
| * StitchMarker/folly/folly/FileUtil.h: Added. |
| (folly::readFile): |
| (folly::writeFile): |
| * StitchMarker/folly/folly/Foreach.h: Added. |
| (folly::detail::notThereYet): |
| (folly::detail::downTo): |
| * StitchMarker/folly/folly/Format-inl.h: Added. |
| (folly::detail::uintToHex): |
| (folly::detail::uintToHexLower): |
| (folly::detail::uintToHexUpper): |
| (folly::detail::uintToOctal): |
| (folly::detail::uintToBinary): |
| (folly::>::BaseFormatter): |
| (folly::>::operator const): |
| (folly::writeTo): |
| (folly::format_value::formatString): |
| (folly::format_value::formatNumber): |
| (folly::format_value::formatFormatter): |
| (folly::FormatValue<bool>::FormatValue): |
| (folly::FormatValue<bool>::format const): |
| (folly::FormatValue<double>::FormatValue): |
| (folly::FormatValue<double>::format const): |
| (folly::FormatValue<float>::FormatValue): |
| (folly::FormatValue<float>::format const): |
| (folly::FormatValue<std::nullptr_t>::FormatValue): |
| (folly::FormatValue<std::nullptr_t>::format const): |
| (folly::TryFormatValue::formatOrFail): |
| (folly::detail::KeyFromStringPiece<std::string>::convert): |
| (folly::detail::KeyFromStringPiece<fbstring>::convert): |
| (folly::detail::KeyFromStringPiece<StringPiece>::convert): |
| (folly::detail::KeyableTraitsAssoc::at): |
| (folly::toAppend): |
| * StitchMarker/folly/folly/Format.cpp: Added. |
| (folly::FormatValue<double>::formatHelper const): |
| (folly::FormatArg::initSlow): |
| (folly::FormatArg::validate const): |
| (folly::detail::insertThousandsGroupingUnsafe): |
| * StitchMarker/folly/folly/Format.h: Added. |
| (folly::BaseFormatter::appendTo const): |
| (folly::BaseFormatter::str const): |
| (folly::BaseFormatter::fbstr const): |
| (folly::BaseFormatter::asDerived const): |
| (folly::BaseFormatter::doFormatFrom const): |
| (folly::BaseFormatter::doFormat const): |
| (folly::BaseFormatter::getSizeArgFrom const): |
| (folly::BaseFormatter::getValue const): |
| (folly::BaseFormatter::getSizeArg const): |
| (folly::BaseFormatter::getFormatValue const): |
| (folly::Formatter::Formatter): |
| (folly::Formatter::doFormatArg const): |
| (folly::operator<<): |
| (folly::sformat): |
| (folly::vformat): |
| (folly::svformat): |
| (folly::detail::DefaultValueWrapper::DefaultValueWrapper): |
| (folly::defaulted): |
| (folly::format): |
| (folly::sformatChecked): |
| (folly::vformatChecked): |
| (folly::svformatChecked): |
| (folly::formatChecked): |
| * StitchMarker/folly/folly/FormatArg.h: Added. |
| (folly::BadFormatArg::BadFormatArg): |
| (folly::FormatArg::FormatArg): |
| (folly::FormatArg::enforce const): |
| (folly::FormatArg::keyEmpty const): |
| (folly::FormatArg::setNextIntKey): |
| (folly::FormatArg::setNextKey): |
| (folly::FormatArg::errorStr const): |
| (folly::FormatArg::error const): |
| (folly::FormatArg::splitKey): |
| (folly::FormatArg::doSplitKey): |
| (folly::FormatArg::splitIntKey): |
| * StitchMarker/folly/folly/FormatTables.cpp: Added. |
| * StitchMarker/folly/folly/FormatTraits.h: Added. |
| (folly::detail::IndexableTraitsSeq::at): |
| (folly::detail::IndexableTraitsAssoc::at): |
| * StitchMarker/folly/folly/Function.h: Added. |
| (folly::detail::function::isNullPtrFn): |
| (folly::detail::function::uninitNoop): |
| (folly::detail::function::FunctionTraits<ReturnType): |
| (folly::detail::function::execSmall): |
| (folly::detail::function::execBig): |
| (folly::detail::function::invoke): |
| (folly::operator==): |
| (folly::operator!=): |
| (folly::FunctionRef<ReturnType): |
| * StitchMarker/folly/folly/Hash.h: Added. |
| (folly::hash::hash_128_to_64): |
| (folly::hash::hash_combine_generic): |
| (folly::hash::hash_range): |
| (folly::hash::StdHasher::hash): |
| (folly::hash::hash_combine): |
| (folly::hash::twang_mix64): |
| (folly::hash::twang_unmix64): |
| (folly::hash::twang_32from64): |
| (folly::hash::jenkins_rev_mix32): |
| (folly::hash::jenkins_rev_unmix32): |
| (folly::hash::fnv32): |
| (folly::hash::fnv32_buf): |
| (folly::hash::fnv64): |
| (folly::hash::fnv64_buf): |
| (folly::hash::fnva64_buf): |
| (folly::hash::fnva64): |
| (folly::hash::hsieh_hash32_buf): |
| (folly::hash::hsieh_hash32): |
| (folly::hash::hsieh_hash32_str): |
| (folly::Hash::operator() const): |
| (folly::hasher<bool>::operator() const): |
| (folly::hasher<int32_t>::operator() const): |
| (folly::hasher<uint32_t>::operator() const): |
| (folly::hasher<int16_t>::operator() const): |
| (folly::hasher<uint16_t>::operator() const): |
| (folly::hasher<int8_t>::operator() const): |
| (folly::hasher<uint8_t>::operator() const): |
| (folly::hasher<char>::operator() const): |
| (folly::hasher<int64_t>::operator() const): |
| (folly::hasher<uint64_t>::operator() const): |
| (folly::hasher<std::string>::operator() const): |
| (folly::TupleHasher::operator() const): |
| * StitchMarker/folly/folly/Indestructible.h: Added. |
| * StitchMarker/folly/folly/IndexedMemPool.h: Added. |
| (folly::IndexedMemPoolTraits::eagerRecycle): |
| (folly::IndexedMemPoolTraits::initialize): |
| (folly::IndexedMemPoolTraits::cleanup): |
| (folly::IndexedMemPoolTraits::onAllocate): |
| (folly::IndexedMemPoolTraits::onRecycle): |
| (folly::IndexedMemPool::maxIndexForCapacity): |
| (folly::IndexedMemPool::capacityForMaxIndex): |
| (folly::IndexedMemPool::IndexedMemPool): |
| (folly::IndexedMemPool::~IndexedMemPool): |
| (folly::IndexedMemPool::capacity): |
| (folly::IndexedMemPool::maxAllocatedIndex const): |
| (folly::IndexedMemPool::allocIndex): |
| (folly::IndexedMemPool::allocElem): |
| (folly::IndexedMemPool::recycleIndex): |
| (folly::IndexedMemPool::operator[]): |
| (folly::IndexedMemPool::operator[] const): |
| (folly::IndexedMemPool::locateElem const): |
| (folly::IndexedMemPool::isAllocated const): |
| (folly::IndexedMemPool::Slot::Slot): |
| (folly::IndexedMemPool::TaggedPtr::size const): |
| (folly::IndexedMemPool::TaggedPtr::withSize const): |
| (folly::IndexedMemPool::TaggedPtr::withSizeIncr const): |
| (folly::IndexedMemPool::TaggedPtr::withSizeDecr const): |
| (folly::IndexedMemPool::TaggedPtr::withIdx const): |
| (folly::IndexedMemPool::TaggedPtr::withEmpty const): |
| (folly::IndexedMemPool::slotIndex const): |
| (folly::IndexedMemPool::slot): |
| (folly::IndexedMemPool::slot const): |
| (folly::IndexedMemPool::globalPush): |
| (folly::IndexedMemPool::localPush): |
| (folly::IndexedMemPool::globalPop): |
| (folly::IndexedMemPool::localPop): |
| (folly::IndexedMemPool::localHead): |
| (folly::IndexedMemPool::markAllocated): |
| (folly::detail::IndexedMemPoolRecycler::IndexedMemPoolRecycler): |
| (folly::detail::IndexedMemPoolRecycler::operator() const): |
| * StitchMarker/folly/folly/Likely.h: Added. |
| * StitchMarker/folly/folly/LockTraits.h: Added. |
| (folly::lock_shared_or_unique): |
| (folly::try_lock_shared_or_unique_for): |
| (folly::unlock_shared_or_unique): |
| (folly::LockPolicyExclusive::lock): |
| (folly::LockPolicyExclusive::try_lock_for): |
| (folly::LockPolicyExclusive::unlock): |
| (folly::LockPolicyShared::lock): |
| (folly::LockPolicyShared::try_lock_for): |
| (folly::LockPolicyShared::unlock): |
| (folly::LockPolicyShareable::lock): |
| (folly::LockPolicyShareable::try_lock_for): |
| (folly::LockPolicyShareable::unlock): |
| (folly::LockPolicyUpgrade::lock): |
| (folly::LockPolicyUpgrade::try_lock_for): |
| (folly::LockPolicyUpgrade::unlock): |
| (folly::LockPolicyFromUpgradeToExclusive::lock): |
| (folly::LockPolicyFromUpgradeToExclusive::try_lock_for): |
| (folly::LockPolicyFromExclusiveToUpgrade::lock): |
| (folly::LockPolicyFromExclusiveToUpgrade::try_lock_for): |
| (folly::LockPolicyFromUpgradeToShared::lock): |
| (folly::LockPolicyFromUpgradeToShared::try_lock_for): |
| (folly::LockPolicyFromExclusiveToShared::lock): |
| (folly::LockPolicyFromExclusiveToShared::try_lock_for): |
| * StitchMarker/folly/folly/Malloc.h: Added. |
| * StitchMarker/folly/folly/Memory.h: Added. |
| (folly::make_unique): |
| (folly::f): |
| (folly::to_shared_ptr): |
| (folly::to_weak_ptr): |
| (folly::detail::SysFree): |
| (folly::allocate_sys_buffer): |
| (folly::SysAlloc::allocate): |
| (folly::SysAlloc::deallocate): |
| (folly::StlAllocator::StlAllocator): |
| (folly::StlAllocator::allocate): |
| (folly::StlAllocator::deallocate): |
| (folly::StlAllocator::max_size const): |
| (folly::StlAllocator::address const): |
| (folly::StlAllocator::construct): |
| (folly::StlAllocator::destroy): |
| (folly::StlAllocator::alloc const): |
| (folly::StlAllocator::operator!= const): |
| (folly::StlAllocator::operator== const): |
| (folly::rebind_allocator): |
| (folly::allocator_delete::allocator_delete): |
| (folly::allocator_delete::get_allocator const): |
| (folly::allocator_delete::operator() const): |
| (folly::make_stl_allocator): |
| (folly::allocate_unique): |
| (folly::allocate_shared): |
| * StitchMarker/folly/folly/MicroSpinLock.h: Added. |
| (folly::MicroSpinLock::init): |
| (folly::MicroSpinLock::try_lock): |
| (folly::MicroSpinLock::lock): |
| (folly::MicroSpinLock::unlock): |
| (folly::MicroSpinLock::payload): |
| (folly::MicroSpinLock::cas): |
| * StitchMarker/folly/folly/Portability.h: Added. |
| * StitchMarker/folly/folly/Preprocessor.h: Added. |
| * StitchMarker/folly/folly/ProducerConsumerQueue.h: Added. |
| (folly::ProducerConsumerQueue::ProducerConsumerQueue): |
| (folly::ProducerConsumerQueue::~ProducerConsumerQueue): |
| (folly::ProducerConsumerQueue::write): |
| (folly::ProducerConsumerQueue::read): |
| (folly::ProducerConsumerQueue::frontPtr): |
| (folly::ProducerConsumerQueue::popFront): |
| (folly::ProducerConsumerQueue::isEmpty const): |
| (folly::ProducerConsumerQueue::isFull const): |
| (folly::ProducerConsumerQueue::sizeGuess const): |
| * StitchMarker/folly/folly/RWSpinLock.h: Added. |
| (folly::RWSpinLock::RWSpinLock): |
| (folly::RWSpinLock::lock): |
| (folly::RWSpinLock::unlock): |
| (folly::RWSpinLock::lock_shared): |
| (folly::RWSpinLock::unlock_shared): |
| (folly::RWSpinLock::unlock_and_lock_shared): |
| (folly::RWSpinLock::lock_upgrade): |
| (folly::RWSpinLock::unlock_upgrade): |
| (folly::RWSpinLock::unlock_upgrade_and_lock): |
| (folly::RWSpinLock::unlock_upgrade_and_lock_shared): |
| (folly::RWSpinLock::unlock_and_lock_upgrade): |
| (folly::RWSpinLock::try_lock): |
| (folly::RWSpinLock::try_lock_shared): |
| (folly::RWSpinLock::try_unlock_upgrade_and_lock): |
| (folly::RWSpinLock::try_lock_upgrade): |
| (folly::RWSpinLock::bits const): |
| (folly::RWSpinLock::ReadHolder::ReadHolder): |
| (folly::RWSpinLock::ReadHolder::operator=): |
| (folly::RWSpinLock::ReadHolder::~ReadHolder): |
| (folly::RWSpinLock::ReadHolder::reset): |
| (folly::RWSpinLock::ReadHolder::swap): |
| (folly::RWSpinLock::UpgradedHolder::UpgradedHolder): |
| (folly::RWSpinLock::UpgradedHolder::operator =): |
| (folly::RWSpinLock::UpgradedHolder::~UpgradedHolder): |
| (folly::RWSpinLock::UpgradedHolder::reset): |
| (folly::RWSpinLock::UpgradedHolder::swap): |
| (folly::RWSpinLock::WriteHolder::WriteHolder): |
| (folly::RWSpinLock::WriteHolder::operator =): |
| (folly::RWSpinLock::WriteHolder::~WriteHolder): |
| (folly::RWSpinLock::WriteHolder::reset): |
| (folly::RWSpinLock::WriteHolder::swap): |
| (folly::detail::RWTicketIntTrait<64>::make128): |
| (folly::detail::RWTicketIntTrait<64>::fromInteger): |
| (folly::detail::RWTicketIntTrait<64>::toInteger): |
| (folly::detail::RWTicketIntTrait<64>::addParallel): |
| (folly::detail::RWTicketIntTrait<32>::make128): |
| (folly::detail::RWTicketIntTrait<32>::fromInteger): |
| (folly::detail::RWTicketIntTrait<32>::toInteger): |
| (folly::detail::RWTicketIntTrait<32>::addParallel): |
| (folly::RWTicketSpinLockT::load_acquire): |
| (folly::RWTicketSpinLockT::store_release): |
| (folly::RWTicketSpinLockT::RWTicketSpinLockT): |
| (folly::RWTicketSpinLockT::lock): |
| (folly::RWTicketSpinLockT::try_lock): |
| (folly::RWTicketSpinLockT::writeLockAggressive): |
| (folly::RWTicketSpinLockT::writeLockNice): |
| (folly::RWTicketSpinLockT::unlock_and_lock_shared): |
| (folly::RWTicketSpinLockT::unlock): |
| (folly::RWTicketSpinLockT::lock_shared): |
| (folly::RWTicketSpinLockT::try_lock_shared): |
| (folly::RWTicketSpinLockT::unlock_shared): |
| (folly::RWTicketSpinLockT::ReadHolder::ReadHolder): |
| (folly::RWTicketSpinLockT::ReadHolder::~ReadHolder): |
| (folly::RWTicketSpinLockT::ReadHolder::reset): |
| (folly::RWTicketSpinLockT::ReadHolder::swap): |
| (folly::RWTicketSpinLockT::WriteHolder::WriteHolder): |
| (folly::RWTicketSpinLockT::WriteHolder::~WriteHolder): |
| (folly::RWTicketSpinLockT::WriteHolder::reset): |
| (folly::RWTicketSpinLockT::WriteHolder::swap): |
| * StitchMarker/folly/folly/Random-inl.h: Added. |
| (folly::detail::SeedData::SeedData): |
| * StitchMarker/folly/folly/Random.cpp: Added. |
| (folly::Random::secureRandom): |
| (folly::ThreadLocalPRNG::LocalInstancePRNG::LocalInstancePRNG): |
| (folly::ThreadLocalPRNG::ThreadLocalPRNG): |
| (folly::ThreadLocalPRNG::getImpl): |
| * StitchMarker/folly/folly/Random.h: Added. |
| (folly::ThreadLocalPRNG::operator()): |
| (folly::ThreadLocalPRNG::min): |
| (folly::ThreadLocalPRNG::max): |
| (folly::Random::secureRandom): |
| (folly::Random::rand32): |
| (folly::Random::rand64): |
| (folly::Random::oneIn): |
| (folly::Random::randDouble01): |
| (folly::Random::randDouble): |
| (folly::randomNumberSeed): |
| * StitchMarker/folly/folly/Range.h: Added. |
| (folly::detail::value_before): |
| (folly::Range::Range): |
| (folly::Range::clear): |
| (folly::Range::assign): |
| (folly::Range::reset): |
| (folly::Range::size const): |
| (folly::Range::walk_size const): |
| (folly::Range::empty const): |
| (folly::Range::data const): |
| (folly::Range::start const): |
| (folly::Range::begin const): |
| (folly::Range::end const): |
| (folly::Range::cbegin const): |
| (folly::Range::cend const): |
| (folly::Range::front): |
| (folly::Range::back): |
| (folly::Range::front const): |
| (folly::Range::back const): |
| (folly::Range::str const): |
| (folly::Range::toString const): |
| (folly::Range::fbstr const): |
| (folly::Range::toFbstring const): |
| (folly::Range::castToConst const): |
| (folly::Range::compare const): |
| (folly::Range::operator[]): |
| (folly::Range::operator[] const): |
| (folly::Range::at): |
| (folly::Range::at const): |
| (folly::Range::hash const): |
| (folly::Range::advance): |
| (folly::Range::subtract): |
| (folly::Range::subpiece const): |
| (folly::Range::uncheckedAdvance): |
| (folly::Range::uncheckedSubtract): |
| (folly::Range::uncheckedSubpiece const): |
| (folly::Range::pop_front): |
| (folly::Range::pop_back): |
| (folly::Range::find const): |
| (folly::Range::rfind const): |
| (folly::Range::find_first_of const): |
| (folly::Range::contains const): |
| (folly::Range::swap): |
| (folly::Range::startsWith const): |
| (folly::Range::endsWith const): |
| (folly::Range::equals const): |
| (folly::Range::erase): |
| (folly::Range::removePrefix): |
| (folly::Range::removeSuffix): |
| (folly::Range::replaceAt): |
| (folly::Range::replaceAll): |
| (folly::Range::split_step): |
| (folly::swap): |
| (folly::range): |
| (folly::operator<<): |
| (folly::operator==): |
| (folly::operator<): |
| (folly::operator>): |
| (folly::operator<=): |
| (folly::operator>=): |
| (folly::qfind): |
| (folly::detail::qfind_first_byte_of): |
| (folly::qfind_first_of): |
| (folly::AsciiCaseSensitive::operator() const): |
| (folly::AsciiCaseInsensitive::operator() const): |
| (folly::rfind): |
| (folly::hasher<folly::Range<T::operator() const): |
| * StitchMarker/folly/folly/ScopeGuard.cpp: Added. |
| * StitchMarker/folly/folly/ScopeGuard.h: Added. |
| (folly::ScopeGuardImpl::noexcept): |
| (folly::ScopeGuardImpl::ScopeGuardImpl): |
| (folly::ScopeGuardImpl::function_): |
| (folly::noexcept): |
| (folly::detail::ScopeGuardForNewException::ScopeGuardForNewException): |
| (folly::detail::ScopeGuardForNewException::noexcept): |
| (folly::detail::operator+): |
| * StitchMarker/folly/folly/SharedMutex.cpp: Added. |
| * StitchMarker/folly/folly/SharedMutex.h: Added. |
| (folly::SharedMutexImpl::~SharedMutexImpl): |
| (folly::SharedMutexImpl::lock): |
| (folly::SharedMutexImpl::try_lock): |
| (folly::SharedMutexImpl::try_lock_for): |
| (folly::SharedMutexImpl::try_lock_until): |
| (folly::SharedMutexImpl::unlock): |
| (folly::SharedMutexImpl::lock_shared): |
| (folly::SharedMutexImpl::try_lock_shared): |
| (folly::SharedMutexImpl::try_lock_shared_for): |
| (folly::SharedMutexImpl::try_lock_shared_until): |
| (folly::SharedMutexImpl::unlock_shared): |
| (folly::SharedMutexImpl::unlock_and_lock_shared): |
| (folly::SharedMutexImpl::lock_upgrade): |
| (folly::SharedMutexImpl::try_lock_upgrade): |
| (folly::SharedMutexImpl::try_lock_upgrade_for): |
| (folly::SharedMutexImpl::try_lock_upgrade_until): |
| (folly::SharedMutexImpl::unlock_upgrade): |
| (folly::SharedMutexImpl::unlock_upgrade_and_lock): |
| (folly::SharedMutexImpl::unlock_upgrade_and_lock_shared): |
| (folly::SharedMutexImpl::unlock_and_lock_upgrade): |
| (folly::SharedMutexImpl::WaitForever::canBlock): |
| (folly::SharedMutexImpl::WaitForever::canTimeOut): |
| (folly::SharedMutexImpl::WaitForever::shouldTimeOut): |
| (folly::SharedMutexImpl::WaitForever::doWait): |
| (folly::SharedMutexImpl::WaitNever::canBlock): |
| (folly::SharedMutexImpl::WaitNever::canTimeOut): |
| (folly::SharedMutexImpl::WaitNever::shouldTimeOut): |
| (folly::SharedMutexImpl::WaitNever::doWait): |
| (folly::SharedMutexImpl::WaitForDuration::WaitForDuration): |
| (folly::SharedMutexImpl::WaitForDuration::deadline): |
| (folly::SharedMutexImpl::WaitForDuration::canBlock): |
| (folly::SharedMutexImpl::WaitForDuration::canTimeOut): |
| (folly::SharedMutexImpl::WaitForDuration::shouldTimeOut): |
| (folly::SharedMutexImpl::WaitForDuration::doWait): |
| (folly::SharedMutexImpl::WaitUntilDeadline::canBlock): |
| (folly::SharedMutexImpl::WaitUntilDeadline::canTimeOut): |
| (folly::SharedMutexImpl::WaitUntilDeadline::shouldTimeOut): |
| (folly::SharedMutexImpl::WaitUntilDeadline::doWait): |
| (folly::SharedMutexImpl::lockExclusiveImpl): |
| (folly::SharedMutexImpl::waitForZeroBits): |
| (folly::SharedMutexImpl::yieldWaitForZeroBits): |
| (folly::SharedMutexImpl::futexWaitForZeroBits): |
| (folly::SharedMutexImpl::wakeRegisteredWaiters): |
| (folly::SharedMutexImpl::wakeRegisteredWaitersImpl): |
| (folly::SharedMutexImpl::futexWakeAll): |
| (folly::SharedMutexImpl::deferredReader): |
| (folly::SharedMutexImpl::tokenfulSlotValue): |
| (folly::SharedMutexImpl::tokenlessSlotValue): |
| (folly::SharedMutexImpl::slotValueIsThis): |
| (folly::SharedMutexImpl::applyDeferredReaders): |
| (folly::SharedMutexImpl::lockSharedImpl): |
| (folly::SharedMutexImpl::cleanupTokenlessSharedDeferred): |
| (folly::SharedMutexImpl::tryUnlockSharedDeferred): |
| (folly::SharedMutexImpl::unlockSharedInline): |
| (folly::SharedMutexImpl::lockUpgradeImpl): |
| (folly::SharedMutexImpl::ReadHolder::ReadHolder): |
| (folly::SharedMutexImpl::ReadHolder::~ReadHolder): |
| (folly::SharedMutexImpl::ReadHolder::unlock): |
| (folly::SharedMutexImpl::UpgradeHolder::UpgradeHolder): |
| (folly::SharedMutexImpl::UpgradeHolder::~UpgradeHolder): |
| (folly::SharedMutexImpl::UpgradeHolder::unlock): |
| (folly::SharedMutexImpl::WriteHolder::WriteHolder): |
| (folly::SharedMutexImpl::WriteHolder::~WriteHolder): |
| (folly::SharedMutexImpl::WriteHolder::unlock): |
| (folly::SharedMutexImpl::acquireRead): |
| (folly::SharedMutexImpl::acquireReadWrite): |
| (folly::SharedMutexImpl::releaseRead): |
| (folly::SharedMutexImpl::releaseReadWrite): |
| (folly::tryUnlockTokenlessSharedDeferred): |
| (folly::lockSharedImpl): |
| * StitchMarker/folly/folly/Singleton-inl.h: Added. |
| (folly::detail::SingletonHolder<T>::singleton): |
| (folly::detail::SingletonHolder<T>::registerSingleton): |
| (folly::detail::SingletonHolder<T>::registerSingletonMock): |
| (folly::detail::SingletonHolder<T>::get): |
| (folly::detail::SingletonHolder<T>::get_weak): |
| (folly::detail::SingletonHolder<T>::try_get): |
| (folly::detail::SingletonHolder<T>::try_get_fast): |
| (folly::detail::SingletonHolder<T>::hasLiveInstance): |
| (folly::detail::SingletonHolder<T>::preDestroyInstance): |
| (folly::detail::SingletonHolder<T>::destroyInstance): |
| (folly::detail::SingletonHolder<T>::SingletonHolder): |
| (folly::detail::SingletonHolder<T>::creationStarted): |
| (folly::detail::SingletonHolder<T>::createInstance): |
| * StitchMarker/folly/folly/Singleton.h: Added. |
| (folly::detail::TypeDescriptor::TypeDescriptor): |
| (folly::detail::TypeDescriptor::operator=): |
| (folly::detail::TypeDescriptor::name const): |
| (folly::detail::TypeDescriptor::operator== const): |
| (folly::detail::TypeDescriptorHasher::operator() const): |
| (folly::detail::SingletonHolderBase::SingletonHolderBase): |
| (folly::detail::SingletonHolderBase::type const): |
| (folly::SingletonVault::ScopedExpunger::ScopedExpunger): |
| (folly::SingletonVault::ScopedExpunger::~ScopedExpunger): |
| (folly::SingletonVault::ScopedExpunger::expunge): |
| (folly::SingletonVault::SingletonVault): |
| (folly::SingletonVault::registeredSingletonCount const): |
| (folly::SingletonVault::livingSingletonCount const): |
| (folly::SingletonVault::singleton): |
| (folly::SingletonVault::stackTraceGetter): |
| (folly::SingletonVault::setType): |
| (folly::SingletonVault::stateCheck): |
| (folly::LeakySingleton::LeakySingleton): |
| (folly::LeakySingleton::get): |
| (folly::LeakySingleton::make_mock): |
| (folly::LeakySingleton::Entry::Entry): |
| (folly::LeakySingleton::entryInstance): |
| (folly::LeakySingleton::instance): |
| (folly::LeakySingleton::createInstance): |
| * StitchMarker/folly/folly/SingletonThreadLocal.h: Added. |
| (folly::SingletonThreadLocal::SingletonThreadLocal): |
| (folly::SingletonThreadLocal::get): |
| (folly::SingletonThreadLocal::localPtr): |
| (folly::SingletonThreadLocal::Wrapper::Wrapper): |
| (folly::SingletonThreadLocal::Wrapper::~Wrapper): |
| (folly::SingletonThreadLocal::Wrapper::operator*): |
| * StitchMarker/folly/folly/String-inl.h: Added. |
| (folly::cEscape): |
| (folly::cUnescape): |
| (folly::uriEscape): |
| (folly::uriUnescape): |
| (folly::detail::delimSize): |
| (folly::detail::atDelim): |
| (folly::detail::delimFront): |
| (folly::detail::internalSplit): |
| (folly::detail::prepareDelim): |
| (folly::detail::splitFixed): |
| (folly::split): |
| (folly::splitTo): |
| (folly::sizeof): |
| (folly::detail::internalJoinAppend): |
| (folly::detail::internalJoin): |
| (folly::join): |
| (folly::backslashify): |
| (folly::humanify): |
| (folly::hexlify): |
| (folly::unhexlify): |
| (folly::hexDump): |
| * StitchMarker/folly/folly/String.cpp: Added. |
| (folly::is_oddspace): |
| (folly::ltrimWhitespace): |
| (folly::rtrimWhitespace): |
| (folly::stringPrintf): |
| (folly::stringVPrintf): |
| (folly::stringAppendf): |
| (folly::stringVAppendf): |
| (folly::prettyPrint): |
| (folly::prettyToDouble): |
| (folly::hexDump): |
| (folly::errnoStr): |
| (folly::toLowerAscii): |
| (folly::detail::hexDumpLine): |
| (folly::stripLeftMargin): |
| * StitchMarker/folly/folly/String.h: Added. |
| (folly::toStdString): |
| (folly::cEscape): |
| (folly::cUnescape): |
| (folly::uriEscape): |
| (folly::uriUnescape): |
| (folly::backslashify): |
| (folly::humanify): |
| (folly::hexlify): |
| (folly::unhexlify): |
| (folly::decltype): |
| (folly::join): |
| (folly::trimWhitespace): |
| (folly::skipWhitespace): |
| (folly::toLowerAscii): |
| (folly::UTF8Range::UTF8Range): |
| * StitchMarker/folly/folly/Synchronized.h: Added. |
| (folly::Synchronized::Synchronized): |
| (folly::Synchronized::noexcept): |
| (folly::Synchronized::operator=): |
| (folly::Synchronized::contextualLock): |
| (folly::Synchronized::contextualLock const): |
| (folly::Synchronized::contextualRLock const): |
| (folly::Synchronized::operator->): |
| (folly::Synchronized::operator-> const): |
| (folly::Synchronized::timedAcquire): |
| (folly::Synchronized::timedAcquire const): |
| (folly::Synchronized::asConst const): |
| (folly::Synchronized::swap): |
| (folly::Synchronized::copy const): |
| (folly::LockedPtrBase::~LockedPtrBase): |
| (folly::LockedPtrBase::unlock): |
| (folly::LockedPtrBase::LockedPtrBase): |
| (folly::LockedPtrBase::getSynchronized): |
| (folly::LockedPtrBase::releaseLock): |
| (folly::LockedPtrBase::reacquireLock): |
| (folly::ScopedUnlocker::ScopedUnlocker): |
| (folly::ScopedUnlocker::~ScopedUnlocker): |
| (folly::ScopedUnlocker::getSynchronized const): |
| (folly::LockedPtr::LockedPtr): |
| (folly::LockedPtr::~LockedPtr): |
| (folly::LockedPtr::isNull const): |
| (folly::LockedPtr::operator bool const): |
| (folly::LockedPtr::operator-> const): |
| (folly::LockedPtr::operator* const): |
| (folly::LockedPtr::scopedUnlock): |
| (folly::LockedPtr::moveFromUpgradeToWrite): |
| (folly::LockedPtr::moveFromWriteToUpgrade): |
| (folly::LockedPtr::moveFromUpgradeToRead): |
| (folly::LockedPtr::moveFromWriteToRead): |
| (folly::LockedGuardPtr::LockedGuardPtr): |
| (folly::LockedGuardPtr::~LockedGuardPtr): |
| (folly::LockedGuardPtr::operator-> const): |
| (folly::LockedGuardPtr::operator* const): |
| (folly::acquireLocked): |
| (folly::acquireLockedPair): |
| (folly::swap): |
| * StitchMarker/folly/folly/ThreadId.h: Added. |
| (folly::getCurrentThreadID): |
| (folly::getOSThreadID): |
| * StitchMarker/folly/folly/ThreadLocal.h: Added. |
| (folly::ThreadLocal::ThreadLocal): |
| (folly::ThreadLocal::get const): |
| (folly::ThreadLocal::operator-> const): |
| (folly::ThreadLocal::operator* const): |
| (folly::ThreadLocal::reset): |
| (folly::ThreadLocal::accessAllThreads const): |
| (folly::ThreadLocal::makeTlp const): |
| (folly::ThreadLocalPtr::ThreadLocalPtr): |
| (folly::ThreadLocalPtr::operator=): |
| (folly::ThreadLocalPtr::~ThreadLocalPtr): |
| (folly::ThreadLocalPtr::get const): |
| (folly::ThreadLocalPtr::operator-> const): |
| (folly::ThreadLocalPtr::operator* const): |
| (folly::ThreadLocalPtr::release): |
| (folly::ThreadLocalPtr::reset): |
| (folly::ThreadLocalPtr::operator bool const): |
| (folly::ThreadLocalPtr::Accessor::Iterator::increment): |
| (folly::ThreadLocalPtr::Accessor::Iterator::decrement): |
| (folly::ThreadLocalPtr::Accessor::Iterator::dereference const): |
| (folly::ThreadLocalPtr::Accessor::Iterator::equal const): |
| (folly::ThreadLocalPtr::Accessor::Iterator::Iterator): |
| (folly::ThreadLocalPtr::Accessor::Iterator::valid const): |
| (folly::ThreadLocalPtr::Accessor::Iterator::incrementToValid): |
| (folly::ThreadLocalPtr::Accessor::Iterator::decrementToValid): |
| (folly::ThreadLocalPtr::Accessor::~Accessor): |
| (folly::ThreadLocalPtr::Accessor::begin const): |
| (folly::ThreadLocalPtr::Accessor::end const): |
| (folly::ThreadLocalPtr::Accessor::Accessor): |
| (folly::ThreadLocalPtr::Accessor::release): |
| (folly::ThreadLocalPtr::accessAllThreads const): |
| (folly::ThreadLocalPtr::destroy): |
| * StitchMarker/folly/folly/Traits.h: Added. |
| (folly::Ignore::Ignore): |
| (folly::Ignore::operator= const): |
| (folly::Bools::size): |
| (folly::detail::is_negative_impl::check): |
| (folly::detail::less_than_impl): |
| (folly::detail::greater_than_impl): |
| (folly::is_negative): |
| (folly::is_non_positive): |
| (folly::is_positive): |
| (folly::is_non_negative): |
| (folly::less_than): |
| (folly::greater_than): |
| * StitchMarker/folly/folly/UncaughtExceptions.h: Added. |
| * StitchMarker/folly/folly/Unit.h: Added. |
| (folly::Unit::operator== const): |
| (folly::Unit::operator!= const): |
| * StitchMarker/folly/folly/Utility.h: Added. |
| (folly::noexcept): |
| (folly::in_place): |
| (folly::in_place_type): |
| (folly::in_place_index): |
| * StitchMarker/folly/folly/concurrency/CacheLocality.cpp: Added. |
| (folly::getSystemLocalityInfo): |
| (folly::CacheLocality::system<std::atomic>): |
| (folly::parseLeadingNumber): |
| (folly::CacheLocality::readFromSysfsTree): |
| (folly::CacheLocality::readFromSysfs): |
| (folly::CacheLocality::uniform): |
| (folly::Getcpu::resolveVdsoFunc): |
| (folly::SimpleAllocator::SimpleAllocator): |
| (folly::sz_): |
| (folly::SimpleAllocator::~SimpleAllocator): |
| (folly::SimpleAllocator::allocateHard): |
| * StitchMarker/folly/folly/concurrency/CacheLocality.h: Added. |
| (folly::SequentialThreadId::get): |
| (folly::HashingThreadId::get): |
| (folly::FallbackGetcpu::getcpu): |
| (folly::AccessSpreader::current): |
| (folly::AccessSpreader::pickGetcpuFunc): |
| (folly::AccessSpreader::degenerateGetcpu): |
| (folly::AccessSpreader::initialize): |
| (folly::SimpleAllocator::allocate): |
| (folly::SimpleAllocator::deallocate): |
| (folly::CoreAllocator::Allocator::sizeClass): |
| (folly::CoreAllocator::Allocator::allocate): |
| (folly::CoreAllocator::Allocator::deallocate): |
| (folly::CoreAllocator::get): |
| (folly::getCoreAllocator): |
| (folly::getCoreAllocatorStl): |
| * StitchMarker/folly/folly/concurrency/test/CacheLocalityBenchmark.cpp: Added. |
| (BENCHMARK): |
| (contentionAtWidth): |
| (atomicIncrBaseline): |
| (contentionAtWidthGetcpu): |
| (contentionAtWidthThreadLocal): |
| (contentionAtWidthPthreadSelf): |
| (main): |
| * StitchMarker/folly/folly/detail/AtomicUtils.h: Added. |
| (folly::detail::default_failure_memory_order): |
| * StitchMarker/folly/folly/detail/BitIteratorDetail.h: Added. |
| (folly::bititerator_detail::BitReference::BitReference): |
| (folly::bititerator_detail::BitReference::operator bool const): |
| (folly::bititerator_detail::BitReference::operator=): |
| (folly::bititerator_detail::BitReference::set): |
| (folly::bititerator_detail::BitReference::clear): |
| (folly::bititerator_detail::BitReference::flip): |
| * StitchMarker/folly/folly/detail/FileUtilDetail.h: Added. |
| (folly::fileutil_detail::wrapNoInt): |
| (folly::fileutil_detail::incr): |
| (folly::fileutil_detail::wrapFull): |
| (folly::fileutil_detail::wrapvFull): |
| * StitchMarker/folly/folly/detail/Futex.cpp: Added. |
| (folly::detail::Futex<std::atomic>::futexWake): |
| (folly::detail::Futex<EmulatedFutexAtomic>::futexWake): |
| (folly::detail::Futex<std::atomic>::futexWaitImpl): |
| (folly::detail::Futex<EmulatedFutexAtomic>::futexWaitImpl): |
| * StitchMarker/folly/folly/detail/Futex.h: Added. |
| (folly::detail::Futex::Futex): |
| (folly::detail::Futex::futexWait): |
| (folly::detail::Futex::futexWaitUntil): |
| * StitchMarker/folly/folly/detail/MallocImpl.cpp: Added. |
| * StitchMarker/folly/folly/detail/MallocImpl.h: Added. |
| * StitchMarker/folly/folly/detail/MemoryIdler.h: Added. |
| (folly::detail::MemoryIdler::getVariationTimeout): |
| (folly::detail::MemoryIdler::futexWait): |
| * StitchMarker/folly/folly/detail/RangeCommon.h: Added. |
| (folly::detail::StringPieceLite::StringPieceLite): |
| (folly::detail::StringPieceLite::data const): |
| (folly::detail::StringPieceLite::begin const): |
| (folly::detail::StringPieceLite::end const): |
| (folly::detail::StringPieceLite::size const): |
| (folly::detail::StringPieceLite::empty const): |
| (folly::detail::StringPieceLite::operator[] const): |
| (folly::detail::StringPieceLite::operator Range const): |
| (folly::detail::qfind_first_byte_of_std): |
| (folly::detail::qfind_first_byte_of_nosse): |
| * StitchMarker/folly/folly/detail/RangeSse42.h: Added. |
| * StitchMarker/folly/folly/detail/Sleeper.h: Added. |
| (folly::detail::Sleeper::Sleeper): |
| (folly::detail::Sleeper::wait): |
| * StitchMarker/folly/folly/detail/StaticSingletonManager.cpp: Added. |
| (folly::detail::StaticSingletonManager::instance): |
| * StitchMarker/folly/folly/detail/StaticSingletonManager.h: Added. |
| (folly::detail::StaticSingletonManager::create): |
| (folly::detail::StaticSingletonManager::StaticSingletonManager): |
| (folly::detail::StaticSingletonManager::EntryIf::~EntryIf): |
| (folly::detail::createGlobal): |
| * StitchMarker/folly/folly/detail/ThreadLocalDetail.cpp: Added. |
| (folly::threadlocal_detail::StaticMetaBase::StaticMetaBase): |
| (folly::threadlocal_detail::StaticMetaBase::onThreadExit): |
| (folly::threadlocal_detail::StaticMetaBase::allocate): |
| (folly::threadlocal_detail::StaticMetaBase::destroy): |
| (folly::threadlocal_detail::StaticMetaBase::reserve): |
| (folly::threadlocal_detail::StaticMetaBase::initAtFork): |
| (folly::threadlocal_detail::StaticMetaBase::registerAtFork): |
| * StitchMarker/folly/folly/detail/ThreadLocalDetail.h: Added. |
| (folly::threadlocal_detail::ElementWrapper::dispose): |
| (folly::threadlocal_detail::ElementWrapper::release): |
| (folly::threadlocal_detail::ElementWrapper::set): |
| (folly::threadlocal_detail::ElementWrapper::cleanup): |
| (folly::threadlocal_detail::PthreadKeyUnregister::~PthreadKeyUnregister): |
| (folly::threadlocal_detail::PthreadKeyUnregister::registerKey): |
| (folly::threadlocal_detail::PthreadKeyUnregister::PthreadKeyUnregister): |
| (folly::threadlocal_detail::PthreadKeyUnregister::registerKeyImpl): |
| (folly::threadlocal_detail::StaticMetaBase::EntryID::EntryID): |
| (folly::threadlocal_detail::StaticMetaBase::EntryID::operator=): |
| (folly::threadlocal_detail::StaticMetaBase::EntryID::getOrInvalid): |
| (folly::threadlocal_detail::StaticMetaBase::EntryID::getOrAllocate): |
| (folly::threadlocal_detail::StaticMetaBase::~StaticMetaBase): |
| (folly::threadlocal_detail::StaticMetaBase::push_back): |
| (folly::threadlocal_detail::StaticMetaBase::erase): |
| (folly::threadlocal_detail::StaticMeta::StaticMeta): |
| (folly::threadlocal_detail::StaticMeta::instance): |
| (folly::threadlocal_detail::StaticMeta::get): |
| (folly::threadlocal_detail::StaticMeta::getThreadEntrySlow): |
| (folly::threadlocal_detail::StaticMeta::getThreadEntry): |
| (folly::threadlocal_detail::StaticMeta::preFork): |
| (folly::threadlocal_detail::StaticMeta::onForkParent): |
| (folly::threadlocal_detail::StaticMeta::onForkChild): |
| * StitchMarker/folly/folly/detail/UncaughtExceptionCounter.h: Added. |
| * StitchMarker/folly/folly/experimental/AsymmetricMemoryBarrier.cpp: Added. |
| (folly::asymmetricHeavyBarrier): |
| * StitchMarker/folly/folly/experimental/AsymmetricMemoryBarrier.h: Added. |
| (folly::asymmetricLightBarrier): |
| * StitchMarker/folly/folly/experimental/ReadMostlySharedPtr.h: Added. |
| (folly::detail::ReadMostlySharedPtrCore::get): |
| (folly::detail::ReadMostlySharedPtrCore::getShared): |
| (folly::detail::ReadMostlySharedPtrCore::incref): |
| (folly::detail::ReadMostlySharedPtrCore::decref): |
| (folly::detail::ReadMostlySharedPtrCore::increfWeak): |
| (folly::detail::ReadMostlySharedPtrCore::decrefWeak): |
| (folly::detail::ReadMostlySharedPtrCore::useCount const): |
| (folly::detail::ReadMostlySharedPtrCore::ReadMostlySharedPtrCore): |
| (folly::ReadMostlyMainPtr::ReadMostlyMainPtr): |
| (folly::ReadMostlyMainPtr::operator== const): |
| (folly::ReadMostlyMainPtr::reset): |
| (folly::ReadMostlyMainPtr::get const): |
| (folly::ReadMostlyMainPtr::getStdShared const): |
| (folly::ReadMostlyMainPtr::operator* const): |
| (folly::ReadMostlyMainPtr::operator-> const): |
| (folly::ReadMostlyMainPtr::getShared const): |
| (folly::ReadMostlyMainPtr::operator bool const): |
| (folly::ReadMostlyWeakPtr::ReadMostlyWeakPtr): |
| (folly::ReadMostlyWeakPtr::operator=): |
| (folly::ReadMostlyWeakPtr::lock): |
| (folly::ReadMostlyWeakPtr::reset): |
| (folly::ReadMostlySharedPtr::ReadMostlySharedPtr): |
| (folly::ReadMostlySharedPtr::operator=): |
| (folly::ReadMostlySharedPtr::operator== const): |
| (folly::ReadMostlySharedPtr::reset): |
| (folly::ReadMostlySharedPtr::get const): |
| (folly::ReadMostlySharedPtr::getStdShared const): |
| (folly::ReadMostlySharedPtr::operator* const): |
| (folly::ReadMostlySharedPtr::operator-> const): |
| (folly::ReadMostlySharedPtr::use_count const): |
| (folly::ReadMostlySharedPtr::unique const): |
| (folly::ReadMostlySharedPtr::operator bool const): |
| (folly::operator==): |
| (folly::operator!=): |
| * StitchMarker/folly/folly/experimental/TLRefCount.h: Added. |
| (folly::TLRefCount::TLRefCount): |
| (folly::TLRefCount::collectGuard_): |
| (folly::TLRefCount::operator* const): |
| (folly::TLRefCount::useGlobal): |
| (folly::TLRefCount::LocalRefCount::LocalRefCount): |
| (folly::TLRefCount::LocalRefCount::~LocalRefCount): |
| (folly::TLRefCount::LocalRefCount::collect): |
| (folly::TLRefCount::LocalRefCount::operator++): |
| (folly::TLRefCount::LocalRefCount::operator--): |
| (folly::TLRefCount::LocalRefCount::update): |
| * StitchMarker/folly/folly/experimental/flat_combining/FlatCombining.h: Added. |
| (folly::FlatCombining::Rec::Rec): |
| (folly::FlatCombining::Rec::setValid): |
| (folly::FlatCombining::Rec::clearValid): |
| (folly::FlatCombining::Rec::isValid const): |
| (folly::FlatCombining::Rec::setDone): |
| (folly::FlatCombining::Rec::clearDone): |
| (folly::FlatCombining::Rec::isDone const): |
| (folly::FlatCombining::Rec::awaitDone): |
| (folly::FlatCombining::Rec::setDisconnected): |
| (folly::FlatCombining::Rec::clearDisconnected): |
| (folly::FlatCombining::Rec::isDisconnected const): |
| (folly::FlatCombining::Rec::setIndex): |
| (folly::FlatCombining::Rec::getIndex const): |
| (folly::FlatCombining::Rec::setNext): |
| (folly::FlatCombining::Rec::getNext const): |
| (folly::FlatCombining::Rec::setLast): |
| (folly::FlatCombining::Rec::getLast const): |
| (folly::FlatCombining::Rec::getReq): |
| (folly::FlatCombining::Rec::setFn): |
| (folly::FlatCombining::Rec::clearFn): |
| (folly::FlatCombining::Rec::getFn): |
| (folly::FlatCombining::Rec::complete): |
| (folly::FlatCombining::FlatCombining): |
| (folly::FlatCombining::~FlatCombining): |
| (folly::FlatCombining::drainAll): |
| (folly::FlatCombining::acquireExclusive): |
| (folly::FlatCombining::tryExclusive): |
| (folly::FlatCombining::releaseExclusive): |
| (folly::FlatCombining::holdLock): |
| (folly::FlatCombining::requestNoFC): |
| (folly::FlatCombining::requestFC): |
| (folly::FlatCombining::allocRec): |
| (folly::FlatCombining::freeRec): |
| (folly::FlatCombining::getNumUncombined const): |
| (folly::FlatCombining::getNumCombined const): |
| (folly::FlatCombining::getNumPasses const): |
| (folly::FlatCombining::getNumSessions const): |
| (folly::FlatCombining::requestOp): |
| (folly::FlatCombining::pushRec): |
| (folly::FlatCombining::getRecsHead): |
| (folly::FlatCombining::nextIndex): |
| (folly::FlatCombining::clearPending): |
| (folly::FlatCombining::setPending): |
| (folly::FlatCombining::isPending const): |
| (folly::FlatCombining::awaitPending): |
| (folly::FlatCombining::combiningSession): |
| (folly::FlatCombining::tryCombining): |
| (folly::FlatCombining::dedicatedCombining): |
| (folly::FlatCombining::awaitDone): |
| (folly::FlatCombining::awaitDoneTryLock): |
| (folly::FlatCombining::shutdown): |
| (folly::FlatCombining::combinedOp): |
| (folly::FlatCombining::processReq): |
| (folly::FlatCombining::combiningPass): |
| * StitchMarker/folly/folly/experimental/flat_combining/test/FlatCombiningBenchmark.cpp: Added. |
| (BENCHMARK_RELATIVE): |
| (benchmarkSetup): |
| (TEST): |
| (test): |
| * StitchMarker/folly/folly/experimental/flat_combining/test/FlatCombiningExamples.h: Added. |
| (folly::Data::Data): |
| (folly::Data::getVal): |
| (folly::Data::add): |
| (folly::Data::fetchAdd): |
| (folly::FcSimpleExample::FcSimpleExample): |
| (folly::FcSimpleExample::getVal): |
| (folly::FcSimpleExample::addNoFC): |
| (folly::FcSimpleExample::add): |
| (folly::FcSimpleExample::fetchAddNoFC): |
| (folly::FcSimpleExample::fetchAdd): |
| (folly::Req::setType): |
| (folly::Req::getType): |
| (folly::Req::setVal): |
| (folly::Req::getVal): |
| (folly::Req::setRes): |
| (folly::Req::getRes): |
| (folly::FcCustomExample::FcCustomExample): |
| (folly::FcCustomExample::getVal): |
| (folly::FcCustomExample::addNoFC): |
| (folly::FcCustomExample::add): |
| (folly::FcCustomExample::fetchAddNoFC): |
| (folly::FcCustomExample::fetchAdd): |
| (folly::FcCustomExample::combinedOp): |
| * StitchMarker/folly/folly/experimental/flat_combining/test/FlatCombiningTestHelpers.h: Added. |
| (folly::test::doWork): |
| (folly::test::fc_test): |
| (folly::test::run_test): |
| * StitchMarker/folly/folly/experimental/hazptr/bench/HazptrBench-Amb-Tc.cpp: Added. |
| (main): |
| * StitchMarker/folly/folly/experimental/hazptr/bench/HazptrBench-NoAmb-NoTc.cpp: Added. |
| (main): |
| * StitchMarker/folly/folly/experimental/hazptr/bench/HazptrBench-NoAmb-Tc.cpp: Added. |
| (main): |
| * StitchMarker/folly/folly/experimental/hazptr/bench/HazptrBench-OneDomain.cpp: Added. |
| (main): |
| * StitchMarker/folly/folly/experimental/hazptr/bench/HazptrBench.h: Added. |
| (folly::hazptr::run_once): |
| (folly::hazptr::bench): |
| (folly::hazptr::listBench): |
| (folly::hazptr::holderBench): |
| (folly::hazptr::retireBench): |
| (folly::hazptr::benches): |
| * StitchMarker/folly/folly/experimental/hazptr/debug.h: Added. |
| * StitchMarker/folly/folly/experimental/hazptr/example/SWMRList.h: Added. |
| (folly::hazptr::SWMRListSet::Reclaimer::operator()): |
| (folly::hazptr::SWMRListSet::Node::Node): |
| (folly::hazptr::SWMRListSet::Node::~Node): |
| (folly::hazptr::SWMRListSet::locate_lower_bound const): |
| (folly::hazptr::SWMRListSet::SWMRListSet): |
| (folly::hazptr::SWMRListSet::~SWMRListSet): |
| (folly::hazptr::SWMRListSet::add): |
| (folly::hazptr::SWMRListSet::remove): |
| (folly::hazptr::SWMRListSet::contains const): |
| * StitchMarker/folly/folly/experimental/hazptr/hazptr-impl.h: Added. |
| (folly::hazptr::D>::retire): |
| (folly::hazptr::hazptr_holder::hazptr_holder): |
| (folly::hazptr::hazptr_holder::~hazptr_holder): |
| (folly::hazptr::default_hazptr_domain): |
| (folly::hazptr::hazptr_obj::getObjPtr const): |
| (folly::hazptr::hazptr_domain::~hazptr_domain): |
| (folly::hazptr::hazptr_domain::hazptrAcquire): |
| (folly::hazptr::hazptr_domain::pushRetired): |
| (folly::hazptr::hazptr_domain::reachedThreshold): |
| (folly::hazptr::hazptr_domain::objRetire): |
| (folly::hazptr::hazptr_domain::tryBulkReclaim): |
| (folly::hazptr::hazptr_domain::bulkReclaim): |
| (folly::hazptr::hazptr_stats::~hazptr_stats): |
| (folly::hazptr::hazptr_stats::light): |
| (folly::hazptr::hazptr_stats::heavy): |
| (folly::hazptr::hazptr_stats::seq_cst): |
| (folly::hazptr::hazptr_stats): |
| (folly::hazptr::hazptr_mb::light): |
| (folly::hazptr::hazptr_mb::heavy): |
| (folly::hazptr::hazptr_tc_entry::fill): |
| (folly::hazptr::hazptr_tc_entry::get): |
| (folly::hazptr::hazptr_tc_entry::evict): |
| (folly::hazptr::hazptr_tc::hazptr_tc): |
| (folly::hazptr::hazptr_tc::~hazptr_tc): |
| (folly::hazptr::hazptr_tc::get): |
| (folly::hazptr::hazptr_tc::put): |
| (folly::hazptr::hazptr_tc): |
| (folly::hazptr::hazptr_priv::hazptr_priv): |
| (folly::hazptr::hazptr_priv::~hazptr_priv): |
| (folly::hazptr::hazptr_priv::push): |
| (folly::hazptr::hazptr_priv::pushAllToDomain): |
| (folly::hazptr::hazptr_priv): |
| * StitchMarker/folly/folly/experimental/hazptr/hazptr.h: Added. |
| (folly::hazptr::hazptr_obj_base::retire): |
| * StitchMarker/folly/folly/experimental/hazptr/memory_resource.h: Added. |
| (folly::hazptr::default_mr_ptr): |
| (folly::hazptr::get_default_resource): |
| (folly::hazptr::set_default_resource): |
| (folly::hazptr::new_delete_resource): |
| * StitchMarker/folly/folly/experimental/logging/README.md: Added. |
| * StitchMarker/folly/folly/experimental/test/ReadMostlySharedPtrBenchmark.cpp: Added. |
| (benchmark): |
| (BENCHMARK): |
| (main): |
| * StitchMarker/folly/folly/experimental/test/RefCountBenchmark.cpp: Added. |
| (folly::shutdown): |
| (folly::benchmark): |
| (folly::BENCHMARK): |
| (main): |
| * StitchMarker/folly/folly/folly-config.h: Added. |
| * StitchMarker/folly/folly/hash/SpookyHashV1.h: Added. |
| (folly::hash::SpookyHashV1::Hash64): |
| (folly::hash::SpookyHashV1::Hash32): |
| (folly::hash::SpookyHashV1::Rot64): |
| (folly::hash::SpookyHashV1::Mix): |
| (folly::hash::SpookyHashV1::EndPartial): |
| (folly::hash::SpookyHashV1::End): |
| (folly::hash::SpookyHashV1::ShortMix): |
| (folly::hash::SpookyHashV1::ShortEnd): |
| * StitchMarker/folly/folly/hash/SpookyHashV2.h: Added. |
| (folly::hash::SpookyHashV2::Hash64): |
| (folly::hash::SpookyHashV2::Hash32): |
| (folly::hash::SpookyHashV2::Rot64): |
| (folly::hash::SpookyHashV2::Mix): |
| (folly::hash::SpookyHashV2::EndPartial): |
| (folly::hash::SpookyHashV2::End): |
| (folly::hash::SpookyHashV2::ShortMix): |
| (folly::hash::SpookyHashV2::ShortEnd): |
| * StitchMarker/folly/folly/portability/Asm.h: Added. |
| (folly::asm_volatile_memory): |
| (folly::asm_volatile_pause): |
| * StitchMarker/folly/folly/portability/BitsFunctexcept.h: Added. |
| * StitchMarker/folly/folly/portability/Builtins.h: Added. |
| (__builtin___clear_cache): |
| (__builtin_clz): |
| (__builtin_clzl): |
| (__builtin_clzll): |
| (__builtin_ctzll): |
| (__builtin_ffs): |
| (__builtin_ffsl): |
| (__builtin_ffsll): |
| (__builtin_popcount): |
| (__builtin_popcountll): |
| (__builtin_return_address): |
| * StitchMarker/folly/folly/portability/Config.h: Added. |
| * StitchMarker/folly/folly/portability/Constexpr.h: Added. |
| (folly::constexpr_max): |
| (folly::constexpr_min): |
| (folly::constexpr_abs): |
| (folly::detail::constexpr_strlen_internal): |
| (folly::constexpr_strlen): |
| * StitchMarker/folly/folly/portability/Fcntl.h: Added. |
| * StitchMarker/folly/folly/portability/GFlags.h: Added. |
| * StitchMarker/folly/folly/portability/GTest.h: Added. |
| * StitchMarker/folly/folly/portability/IOVec.h: Added. |
| * StitchMarker/folly/folly/portability/Malloc.h: Added. |
| * StitchMarker/folly/folly/portability/Math.h: Added. |
| (folly::nextafter): |
| * StitchMarker/folly/folly/portability/Memory.cpp: Added. |
| (folly::detail::aligned_malloc): |
| (folly::detail::aligned_free): |
| * StitchMarker/folly/folly/portability/Memory.h: Added. |
| * StitchMarker/folly/folly/portability/PThread.h: Added. |
| (operator==): |
| (operator!=): |
| (operator<): |
| (operator!): |
| (pthread_attr_getstack): |
| (pthread_attr_setstack): |
| (pthread_attr_getguardsize): |
| (std::hash<pthread_t>::operator() const): |
| * StitchMarker/folly/folly/portability/README.md: Added. |
| * StitchMarker/folly/folly/portability/Semaphore.h: Added. |
| * StitchMarker/folly/folly/portability/String.h: Added. |
| * StitchMarker/folly/folly/portability/SysMembarrier.h: Added. |
| * StitchMarker/folly/folly/portability/SysMman.h: Added. |
| * StitchMarker/folly/folly/portability/SysResource.h: Added. |
| * StitchMarker/folly/folly/portability/SysSyscall.h: Added. |
| * StitchMarker/folly/folly/portability/SysTime.h: Added. |
| * StitchMarker/folly/folly/portability/SysTypes.h: Added. |
| * StitchMarker/folly/folly/portability/SysUio.h: Added. |
| * StitchMarker/folly/folly/portability/Time.h: Added. |
| * StitchMarker/folly/folly/portability/Unistd.h: Added. |
| * StitchMarker/folly/folly/portability/Windows.h: Added. |
| * StitchMarker/folly/folly/stats/Histogram-defs.h: Added. |
| (folly::detail::BucketT>::HistogramBuckets): |
| (folly::detail::BucketType>::getBucketIdx const): |
| (folly::detail::BucketType>::computeTotalCount const): |
| (folly::detail::BucketType>::getPercentileBucketIdx const): |
| (folly::detail::BucketType>::getPercentileEstimate const): |
| (folly::Histogram<T>::debugString const): |
| (folly::Histogram<T>::toTSV const): |
| * StitchMarker/folly/folly/stats/Histogram.h: Added. |
| (folly::detail::HistogramBuckets::getBucketSize const): |
| (folly::detail::HistogramBuckets::getMin const): |
| (folly::detail::HistogramBuckets::getMax const): |
| (folly::detail::HistogramBuckets::getNumBuckets const): |
| (folly::detail::HistogramBuckets::getByValue): |
| (folly::detail::HistogramBuckets::getByValue const): |
| (folly::detail::HistogramBuckets::getByIndex): |
| (folly::detail::HistogramBuckets::getByIndex const): |
| (folly::detail::HistogramBuckets::getBucketMin const): |
| (folly::detail::HistogramBuckets::getBucketMax const): |
| (folly::detail::HistogramBuckets::begin const): |
| (folly::detail::HistogramBuckets::begin): |
| (folly::detail::HistogramBuckets::end const): |
| (folly::detail::HistogramBuckets::end): |
| (folly::Histogram::Histogram): |
| (folly::Histogram::FOLLY_DISABLE_UNDEFINED_BEHAVIOR_SANITIZER): |
| (folly::Histogram::removeRepeatedValue): |
| (folly::Histogram::clear): |
| (folly::Histogram::subtract): |
| (folly::Histogram::merge): |
| (folly::Histogram::copy): |
| (folly::Histogram::getBucketSize const): |
| (folly::Histogram::getMin const): |
| (folly::Histogram::getMax const): |
| (folly::Histogram::getNumBuckets const): |
| (folly::Histogram::getBucketByIndex const): |
| (folly::Histogram::getBucketMin const): |
| (folly::Histogram::getBucketMax const): |
| (folly::Histogram::computeTotalCount const): |
| (folly::Histogram::getPercentileBucketIdx const): |
| (folly::Histogram::getPercentileEstimate const): |
| (folly::Histogram::CountFromBucket::operator() const): |
| (folly::Histogram::AvgFromBucket::operator() const): |
| * StitchMarker/folly/folly/stats/detail/Bucket.h: Added. |
| (folly::detail::avgHelper): |
| (folly::detail::rateHelper): |
| (folly::detail::Bucket::Bucket): |
| (folly::detail::Bucket::clear): |
| (folly::detail::Bucket::add): |
| (folly::detail::Bucket::operator+=): |
| (folly::detail::Bucket::operator-=): |
| (folly::detail::Bucket::avg const): |
| * StitchMarker/folly/folly/test/BatonBenchmark.cpp: Added. |
| (BENCHMARK): |
| (main): |
| * StitchMarker/folly/folly/test/BatonTestHelpers.h: Added. |
| (folly::test::run_basic_test): |
| (folly::test::run_pingpong_test): |
| (folly::test::run_basic_timed_wait_tests): |
| (folly::test::run_timed_wait_tmo_tests): |
| (folly::test::run_timed_wait_regular_test): |
| (folly::test::run_try_wait_tests): |
| (folly::test::run_multi_producer_tests): |
| * StitchMarker/folly/folly/test/CallOnceBenchmark.cpp: Added. |
| (bm_impl): |
| (BENCHMARK): |
| (main): |
| * StitchMarker/folly/folly/test/ConcurrentSkipListBenchmark.cpp: Added. |
| (main): |
| * StitchMarker/folly/folly/test/DeterministicSchedule.cpp: Added. |
| (folly::test::DeterministicSchedule::DeterministicSchedule): |
| (folly::test::DeterministicSchedule::~DeterministicSchedule): |
| (folly::test::std::function<size_t): |
| (folly::test::UniformSubset::UniformSubset): |
| (folly::test::UniformSubset::operator()): |
| (folly::test::UniformSubset::adjustPermSize): |
| (folly::test::UniformSubset::shufflePrefix): |
| (folly::test::DeterministicSchedule::beforeSharedAccess): |
| (folly::test::DeterministicSchedule::afterSharedAccess): |
| (folly::test::DeterministicSchedule::getRandNumber): |
| (folly::test::DeterministicSchedule::getcpu): |
| (folly::test::DeterministicSchedule::setAuxAct): |
| (folly::test::DeterministicSchedule::setAuxChk): |
| (folly::test::DeterministicSchedule::clearAuxChk): |
| (folly::test::DeterministicSchedule::beforeThreadCreate): |
| (folly::test::DeterministicSchedule::afterThreadCreate): |
| (folly::test::DeterministicSchedule::beforeThreadExit): |
| (folly::test::DeterministicSchedule::join): |
| (folly::test::DeterministicSchedule::callAux): |
| (folly::test::DeterministicSchedule::post): |
| (folly::test::DeterministicSchedule::tryWait): |
| (folly::test::DeterministicSchedule::wait): |
| (folly::detail::Futex<DeterministicAtomic>::futexWaitImpl): |
| (folly::detail::Futex<DeterministicAtomic>::futexWake): |
| (folly::CacheLocality::system<test::DeterministicAtomic>): |
| (folly::AccessSpreader<test::DeterministicAtomic>::pickGetcpuFunc): |
| * StitchMarker/folly/folly/test/DeterministicSchedule.h: Added. |
| (folly::test::DeterministicSchedule::thread): |
| (folly::test::DeterministicMutex::lock): |
| (folly::test::DeterministicMutex::try_lock): |
| (folly::test::DeterministicMutex::unlock): |
| * StitchMarker/folly/folly/test/ProducerConsumerQueueBenchmark.cpp: Added. |
| (main): |
| * StitchMarker/folly/folly/test/ThreadLocalBenchmark.cpp: Added. |
| (PThreadGetSpecific::PThreadGetSpecific): |
| (PThreadGetSpecific::get const): |
| (PThreadGetSpecific::reset): |
| (PThreadGetSpecific::OnThreadExit): |
| (main): |
| * StitchMarker/folly/glog/AUTHORS: Added. |
| * StitchMarker/folly/glog/CONTRIBUTORS: Added. |
| * StitchMarker/folly/glog/COPYING: Added. |
| * StitchMarker/folly/glog/README: Added. |
| * StitchMarker/folly/glog/src/base/commandlineflags.h: Added. |
| * StitchMarker/folly/glog/src/base/googleinit.h: Added. |
| (GoogleInitializer::GoogleInitializer): |
| * StitchMarker/folly/glog/src/base/mutex.h: Added. |
| (MUTEX_NAMESPACE::Mutex::WriterLock): |
| (MUTEX_NAMESPACE::Mutex::WriterUnlock): |
| (MUTEX_NAMESPACE::Mutex::AssertHeld): |
| (MUTEX_NAMESPACE::Mutex::SetIsSafe): |
| (MUTEX_NAMESPACE::Mutex::Mutex): |
| (MUTEX_NAMESPACE::Mutex::~Mutex): |
| (MUTEX_NAMESPACE::Mutex::Lock): |
| (MUTEX_NAMESPACE::Mutex::Unlock): |
| (MUTEX_NAMESPACE::Mutex::TryLock): |
| (MUTEX_NAMESPACE::Mutex::ReaderLock): |
| (MUTEX_NAMESPACE::Mutex::ReaderUnlock): |
| (MUTEX_NAMESPACE::MutexLock::MutexLock): |
| (MUTEX_NAMESPACE::MutexLock::~MutexLock): |
| (MUTEX_NAMESPACE::ReaderMutexLock::ReaderMutexLock): |
| (MUTEX_NAMESPACE::ReaderMutexLock::~ReaderMutexLock): |
| (MUTEX_NAMESPACE::WriterMutexLock::WriterMutexLock): |
| (MUTEX_NAMESPACE::WriterMutexLock::~WriterMutexLock): |
| * StitchMarker/folly/glog/src/config.h: Added. |
| * StitchMarker/folly/glog/src/config.h.cmake.in: Added. |
| * StitchMarker/folly/glog/src/config.h.in: Added. |
| * StitchMarker/folly/glog/src/glog/log_severity.h: Added. |
| * StitchMarker/folly/glog/src/glog/logging.h: Added. |
| (google::CheckOpString::CheckOpString): |
| (google::CheckOpString::operator bool const): |
| (google::GetReferenceableValue): |
| (operator<<): |
| (google::MakeCheckOpValueString): |
| (google::MakeCheckOpString): |
| (google::LogAtLevel): |
| (google::CheckNotNull): |
| (google::operator<<): |
| * StitchMarker/folly/glog/src/glog/logging.h.in: Added. |
| * StitchMarker/folly/glog/src/glog/raw_logging.h: Added. |
| (google::RawLogStub__): |
| * StitchMarker/folly/glog/src/glog/raw_logging.h.in: Added. |
| * StitchMarker/folly/glog/src/glog/vlog_is_on.h: Added. |
| * StitchMarker/folly/glog/src/glog/vlog_is_on.h.in: Added. |
| * StitchMarker/folly/glog/src/logging.cc: Added. |
| * StitchMarker/folly/glog/src/raw_logging.cc: Added. |
| * StitchMarker/folly/glog/src/utilities.cc: Added. |
| * StitchMarker/folly/glog/src/utilities.h: Added. |
| (glog_internal_namespace_::sync_val_compare_and_swap): |
| (glog_internal_namespace_::CrashReason::CrashReason): |
| * StitchMarker/folly/glog/src/vlog_is_on.cc: Added. |
| * StitchMarker/folly/gtest/README.md: Added. |
| * StitchMarker/folly/gtest/googletest/LICENSE: Added. |
| * StitchMarker/folly/gtest/googletest/README.md: Added. |
| * StitchMarker/folly/gtest/googletest/include/gtest/gtest-death-test.h: Added. |
| * StitchMarker/folly/gtest/googletest/include/gtest/gtest-message.h: Added. |
| (testing::operator <<): |
| (testing::internal::StreamableToString): |
| * StitchMarker/folly/gtest/googletest/include/gtest/gtest-param-test.h: Added. |
| (TEST_P): |
| (testing::Range): |
| (testing::ValuesIn): |
| (testing::Values): |
| (testing::Bool): |
| (testing::Combine): |
| * StitchMarker/folly/gtest/googletest/include/gtest/gtest-param-test.h.pump: Added. |
| * StitchMarker/folly/gtest/googletest/include/gtest/gtest-printers.h: Added. |
| (testing::internal2::TypeWithoutFormatter::PrintValue): |
| (testing::internal2::operator<<): |
| (testing_internal::DefaultPrintNonContainerTo): |
| (testing::internal::FormatForComparison::Format): |
| (testing::internal::FormatForComparisonFailureMessage): |
| (testing::internal::DefaultPrintTo): |
| (testing::internal::PrintTo): |
| (testing::internal::PrintRawArrayTo): |
| (testing::internal::UniversalPrinter::Print): |
| (testing::internal::UniversalPrintArray): |
| (testing::internal::UniversalPrinter<T::Print): |
| (testing::internal::UniversalTersePrinter::Print): |
| (testing::internal::UniversalTersePrinter<T::Print): |
| (testing::internal::UniversalTersePrinter<char::Print): |
| (testing::internal::UniversalTersePrinter<wchar_t::Print): |
| (testing::internal::UniversalTersePrint): |
| (testing::internal::UniversalPrint): |
| (testing::internal::TuplePolicy::get): |
| (testing::internal::TuplePrefixPrinter::PrintPrefixTo): |
| (testing::internal::TuplePrefixPrinter::TersePrintPrefixToStrings): |
| (testing::internal::TuplePrefixPrinter<0>::PrintPrefixTo): |
| (testing::internal::TuplePrefixPrinter<0>::TersePrintPrefixToStrings): |
| (testing::internal::PrintTupleTo): |
| (testing::internal::UniversalTersePrintTupleFieldsToStrings): |
| (testing::PrintToString): |
| * StitchMarker/folly/gtest/googletest/include/gtest/gtest-spi.h: Added. |
| * StitchMarker/folly/gtest/googletest/include/gtest/gtest-test-part.h: Added. |
| (testing::TestPartResultReporterInterface::~TestPartResultReporterInterface): |
| * StitchMarker/folly/gtest/googletest/include/gtest/gtest-typed-test.h: Added. |
| (TYPED_TEST): |
| (TYPED_TEST_P): |
| * StitchMarker/folly/gtest/googletest/include/gtest/gtest.h: Added. |
| (testing::TestProperty::TestProperty): |
| (testing::TestProperty::key const): |
| (testing::TestProperty::value const): |
| (testing::TestProperty::SetValue): |
| (testing::Environment::~Environment): |
| (testing::Environment::SetUp): |
| (testing::Environment::TearDown): |
| (testing::Environment::Setup): |
| (testing::TestEventListener::~TestEventListener): |
| (testing::EmptyTestEventListener::OnTestProgramStart): |
| (testing::EmptyTestEventListener::OnTestIterationStart): |
| (testing::EmptyTestEventListener::OnEnvironmentsSetUpStart): |
| (testing::EmptyTestEventListener::OnEnvironmentsSetUpEnd): |
| (testing::EmptyTestEventListener::OnTestCaseStart): |
| (testing::EmptyTestEventListener::OnTestStart): |
| (testing::EmptyTestEventListener::OnTestPartResult): |
| (testing::EmptyTestEventListener::OnTestEnd): |
| (testing::EmptyTestEventListener::OnTestCaseEnd): |
| (testing::EmptyTestEventListener::OnEnvironmentsTearDownStart): |
| (testing::EmptyTestEventListener::OnEnvironmentsTearDownEnd): |
| (testing::EmptyTestEventListener::OnTestIterationEnd): |
| (testing::EmptyTestEventListener::OnTestProgramEnd): |
| (testing::AddGlobalTestEnvironment): |
| (testing::internal::CmpHelperEQFailure): |
| (testing::internal::CmpHelperEQ): |
| (testing::internal::EqHelper::Compare): |
| (testing::internal::EqHelper<true>::Compare): |
| (testing::internal::CmpHelperOpFailure): |
| (testing::internal::CmpHelperFloatingPointEQ): |
| (testing::WithParamInterface::~WithParamInterface): |
| (testing::WithParamInterface::GetParam const): |
| (testing::WithParamInterface::SetParam): |
| (testing::StaticAssertTypeEq): |
| (RUN_ALL_TESTS): |
| * StitchMarker/folly/gtest/googletest/include/gtest/gtest_pred_impl.h: Added. |
| (AssertPred1Helper): |
| (AssertPred2Helper): |
| (AssertPred3Helper): |
| (AssertPred4Helper): |
| (AssertPred5Helper): |
| * StitchMarker/folly/gtest/googletest/include/gtest/gtest_prod.h: Added. |
| * StitchMarker/folly/gtest/googletest/include/gtest/internal/custom/gtest-port.h: Added. |
| * StitchMarker/folly/gtest/googletest/include/gtest/internal/custom/gtest-printers.h: Added. |
| * StitchMarker/folly/gtest/googletest/include/gtest/internal/custom/gtest.h: Added. |
| * StitchMarker/folly/gtest/googletest/include/gtest/internal/gtest-death-test-internal.h: Added. |
| * StitchMarker/folly/gtest/googletest/include/gtest/internal/gtest-filepath.h: Added. |
| * StitchMarker/folly/gtest/googletest/include/gtest/internal/gtest-internal.h: Added. |
| (testing::internal::FloatingPoint::FloatingPoint): |
| (testing::internal::FloatingPoint::ReinterpretBits): |
| (testing::internal::FloatingPoint::Infinity): |
| (testing::internal::FloatingPoint::bits const): |
| (testing::internal::FloatingPoint::exponent_bits const): |
| (testing::internal::FloatingPoint::fraction_bits const): |
| (testing::internal::FloatingPoint::sign_bit const): |
| (testing::internal::FloatingPoint::is_nan const): |
| (testing::internal::FloatingPoint::AlmostEquals const): |
| (testing::internal::FloatingPoint::SignAndMagnitudeToBiased): |
| (testing::internal::FloatingPoint::DistanceBetweenSignAndMagnitudeNumbers): |
| (testing::internal::FloatingPoint<float>::Max): |
| (testing::internal::FloatingPoint<double>::Max): |
| (testing::internal::GetTypeId): |
| (testing::internal::TestFactoryBase::~TestFactoryBase): |
| (testing::internal::TestFactoryBase::TestFactoryBase): |
| (testing::internal::TestFactoryImpl::CreateTest): |
| (testing::internal::CodeLocation::CodeLocation): |
| (testing::internal::SkipComma): |
| (testing::internal::GetPrefixUntilComma): |
| (testing::internal::TypeParameterizedTest::Register): |
| (testing::internal::TypeParameterizedTestCase::Register): |
| (testing::internal::AlwaysFalse): |
| (testing::internal::IsContainerTest): |
| (testing::internal::ArrayEq): |
| (testing::internal::ArrayAwareFind): |
| (testing::internal::CopyArray): |
| (testing::internal::NativeArray::NativeArray): |
| (testing::internal::NativeArray::~NativeArray): |
| (testing::internal::NativeArray::size const): |
| (testing::internal::NativeArray::begin const): |
| (testing::internal::NativeArray::end const): |
| (testing::internal::NativeArray::operator== const): |
| (testing::internal::NativeArray::InitCopy): |
| (testing::internal::NativeArray::InitRef): |
| * StitchMarker/folly/gtest/googletest/include/gtest/internal/gtest-linked_ptr.h: Added. |
| (testing::internal::linked_ptr_internal::join_new): |
| (testing::internal::linked_ptr_internal::GTEST_LOCK_EXCLUDED_): |
| (testing::internal::linked_ptr::linked_ptr): |
| (testing::internal::linked_ptr::~linked_ptr): |
| (testing::internal::linked_ptr::operator=): |
| (testing::internal::linked_ptr::reset): |
| (testing::internal::linked_ptr::get const): |
| (testing::internal::linked_ptr::operator-> const): |
| (testing::internal::linked_ptr::operator* const): |
| (testing::internal::linked_ptr::operator== const): |
| (testing::internal::linked_ptr::operator!= const): |
| (testing::internal::linked_ptr::depart): |
| (testing::internal::linked_ptr::capture): |
| (testing::internal::linked_ptr::copy): |
| (testing::internal::operator==): |
| (testing::internal::operator!=): |
| (testing::internal::make_linked_ptr): |
| * StitchMarker/folly/gtest/googletest/include/gtest/internal/gtest-param-util-generated.h: Added. |
| (testing::internal::ValueArray1::ValueArray1): |
| (testing::internal::ValueArray1::operator ParamGenerator<T> const): |
| (testing::internal::ValueArray2::ValueArray2): |
| (testing::internal::ValueArray2::operator ParamGenerator<T> const): |
| (testing::internal::ValueArray3::ValueArray3): |
| (testing::internal::ValueArray3::operator ParamGenerator<T> const): |
| (testing::internal::ValueArray4::ValueArray4): |
| (testing::internal::ValueArray4::operator ParamGenerator<T> const): |
| (testing::internal::ValueArray5::ValueArray5): |
| (testing::internal::ValueArray5::operator ParamGenerator<T> const): |
| (testing::internal::ValueArray6::ValueArray6): |
| (testing::internal::ValueArray6::operator ParamGenerator<T> const): |
| (testing::internal::ValueArray7::ValueArray7): |
| (testing::internal::ValueArray7::operator ParamGenerator<T> const): |
| (testing::internal::ValueArray8::ValueArray8): |
| (testing::internal::ValueArray8::operator ParamGenerator<T> const): |
| (testing::internal::ValueArray9::ValueArray9): |
| (testing::internal::ValueArray9::operator ParamGenerator<T> const): |
| (testing::internal::ValueArray10::ValueArray10): |
| (testing::internal::ValueArray10::operator ParamGenerator<T> const): |
| (testing::internal::ValueArray11::ValueArray11): |
| (testing::internal::ValueArray11::operator ParamGenerator<T> const): |
| (testing::internal::ValueArray12::ValueArray12): |
| (testing::internal::ValueArray12::operator ParamGenerator<T> const): |
| (testing::internal::ValueArray13::ValueArray13): |
| (testing::internal::ValueArray13::operator ParamGenerator<T> const): |
| (testing::internal::ValueArray14::ValueArray14): |
| (testing::internal::ValueArray14::operator ParamGenerator<T> const): |
| (testing::internal::ValueArray15::ValueArray15): |
| (testing::internal::ValueArray15::operator ParamGenerator<T> const): |
| (testing::internal::ValueArray16::ValueArray16): |
| (testing::internal::ValueArray16::operator ParamGenerator<T> const): |
| (testing::internal::ValueArray17::ValueArray17): |
| (testing::internal::ValueArray17::operator ParamGenerator<T> const): |
| (testing::internal::ValueArray18::ValueArray18): |
| (testing::internal::ValueArray18::operator ParamGenerator<T> const): |
| (testing::internal::ValueArray19::ValueArray19): |
| (testing::internal::ValueArray19::operator ParamGenerator<T> const): |
| (testing::internal::ValueArray20::ValueArray20): |
| (testing::internal::ValueArray20::operator ParamGenerator<T> const): |
| (testing::internal::ValueArray21::ValueArray21): |
| (testing::internal::ValueArray21::operator ParamGenerator<T> const): |
| (testing::internal::ValueArray22::ValueArray22): |
| (testing::internal::ValueArray22::operator ParamGenerator<T> const): |
| (testing::internal::ValueArray23::ValueArray23): |
| (testing::internal::ValueArray23::operator ParamGenerator<T> const): |
| (testing::internal::ValueArray24::ValueArray24): |
| (testing::internal::ValueArray24::operator ParamGenerator<T> const): |
| (testing::internal::ValueArray25::ValueArray25): |
| (testing::internal::ValueArray25::operator ParamGenerator<T> const): |
| (testing::internal::ValueArray26::ValueArray26): |
| (testing::internal::ValueArray26::operator ParamGenerator<T> const): |
| (testing::internal::ValueArray27::ValueArray27): |
| (testing::internal::ValueArray27::operator ParamGenerator<T> const): |
| (testing::internal::ValueArray28::ValueArray28): |
| (testing::internal::ValueArray28::operator ParamGenerator<T> const): |
| (testing::internal::ValueArray29::ValueArray29): |
| (testing::internal::ValueArray29::operator ParamGenerator<T> const): |
| (testing::internal::ValueArray30::ValueArray30): |
| (testing::internal::ValueArray30::operator ParamGenerator<T> const): |
| (testing::internal::ValueArray31::ValueArray31): |
| (testing::internal::ValueArray31::operator ParamGenerator<T> const): |
| (testing::internal::ValueArray32::ValueArray32): |
| (testing::internal::ValueArray32::operator ParamGenerator<T> const): |
| (testing::internal::ValueArray33::ValueArray33): |
| (testing::internal::ValueArray33::operator ParamGenerator<T> const): |
| (testing::internal::ValueArray34::ValueArray34): |
| (testing::internal::ValueArray34::operator ParamGenerator<T> const): |
| (testing::internal::ValueArray35::ValueArray35): |
| (testing::internal::ValueArray35::operator ParamGenerator<T> const): |
| (testing::internal::ValueArray36::ValueArray36): |
| (testing::internal::ValueArray36::operator ParamGenerator<T> const): |
| (testing::internal::ValueArray37::ValueArray37): |
| (testing::internal::ValueArray37::operator ParamGenerator<T> const): |
| (testing::internal::ValueArray38::ValueArray38): |
| (testing::internal::ValueArray38::operator ParamGenerator<T> const): |
| (testing::internal::ValueArray39::ValueArray39): |
| (testing::internal::ValueArray39::operator ParamGenerator<T> const): |
| (testing::internal::ValueArray40::ValueArray40): |
| (testing::internal::ValueArray40::operator ParamGenerator<T> const): |
| (testing::internal::ValueArray41::ValueArray41): |
| (testing::internal::ValueArray41::operator ParamGenerator<T> const): |
| (testing::internal::ValueArray42::ValueArray42): |
| (testing::internal::ValueArray42::operator ParamGenerator<T> const): |
| (testing::internal::ValueArray43::ValueArray43): |
| (testing::internal::ValueArray43::operator ParamGenerator<T> const): |
| (testing::internal::ValueArray44::ValueArray44): |
| (testing::internal::ValueArray44::operator ParamGenerator<T> const): |
| (testing::internal::ValueArray45::ValueArray45): |
| (testing::internal::ValueArray45::operator ParamGenerator<T> const): |
| (testing::internal::ValueArray46::ValueArray46): |
| (testing::internal::ValueArray46::operator ParamGenerator<T> const): |
| (testing::internal::ValueArray47::ValueArray47): |
| (testing::internal::ValueArray47::operator ParamGenerator<T> const): |
| (testing::internal::ValueArray48::ValueArray48): |
| (testing::internal::ValueArray48::operator ParamGenerator<T> const): |
| (testing::internal::ValueArray49::ValueArray49): |
| (testing::internal::ValueArray49::operator ParamGenerator<T> const): |
| (testing::internal::ValueArray50::ValueArray50): |
| (testing::internal::ValueArray50::operator ParamGenerator<T> const): |
| (testing::internal::CartesianProductGenerator2::CartesianProductGenerator2): |
| (testing::internal::CartesianProductGenerator2::~CartesianProductGenerator2): |
| (testing::internal::CartesianProductGenerator2::Begin const): |
| (testing::internal::CartesianProductGenerator2::End const): |
| (testing::internal::CartesianProductGenerator2::Iterator::Iterator): |
| (testing::internal::CartesianProductGenerator2::Iterator::~Iterator): |
| (testing::internal::CartesianProductGenerator2::Iterator::BaseGenerator const): |
| (testing::internal::CartesianProductGenerator2::Iterator::Advance): |
| (testing::internal::CartesianProductGenerator2::Iterator::Clone const): |
| (testing::internal::CartesianProductGenerator2::Iterator::Current const): |
| (testing::internal::CartesianProductGenerator2::Iterator::Equals const): |
| (testing::internal::CartesianProductGenerator2::Iterator::ComputeCurrentValue): |
| (testing::internal::CartesianProductGenerator2::Iterator::AtEnd const): |
| (testing::internal::CartesianProductGenerator3::CartesianProductGenerator3): |
| (testing::internal::CartesianProductGenerator3::~CartesianProductGenerator3): |
| (testing::internal::CartesianProductGenerator3::Begin const): |
| (testing::internal::CartesianProductGenerator3::End const): |
| (testing::internal::CartesianProductGenerator3::Iterator::Iterator): |
| (testing::internal::CartesianProductGenerator3::Iterator::~Iterator): |
| (testing::internal::CartesianProductGenerator3::Iterator::BaseGenerator const): |
| (testing::internal::CartesianProductGenerator3::Iterator::Advance): |
| (testing::internal::CartesianProductGenerator3::Iterator::Clone const): |
| (testing::internal::CartesianProductGenerator3::Iterator::Current const): |
| (testing::internal::CartesianProductGenerator3::Iterator::Equals const): |
| (testing::internal::CartesianProductGenerator3::Iterator::ComputeCurrentValue): |
| (testing::internal::CartesianProductGenerator3::Iterator::AtEnd const): |
| (testing::internal::CartesianProductGenerator4::CartesianProductGenerator4): |
| (testing::internal::CartesianProductGenerator4::~CartesianProductGenerator4): |
| (testing::internal::CartesianProductGenerator4::Begin const): |
| (testing::internal::CartesianProductGenerator4::End const): |
| (testing::internal::CartesianProductGenerator4::Iterator::Iterator): |
| (testing::internal::CartesianProductGenerator4::Iterator::~Iterator): |
| (testing::internal::CartesianProductGenerator4::Iterator::BaseGenerator const): |
| (testing::internal::CartesianProductGenerator4::Iterator::Advance): |
| (testing::internal::CartesianProductGenerator4::Iterator::Clone const): |
| (testing::internal::CartesianProductGenerator4::Iterator::Current const): |
| (testing::internal::CartesianProductGenerator4::Iterator::Equals const): |
| (testing::internal::CartesianProductGenerator4::Iterator::ComputeCurrentValue): |
| (testing::internal::CartesianProductGenerator4::Iterator::AtEnd const): |
| (testing::internal::CartesianProductGenerator5::CartesianProductGenerator5): |
| (testing::internal::CartesianProductGenerator5::~CartesianProductGenerator5): |
| (testing::internal::CartesianProductGenerator5::Begin const): |
| (testing::internal::CartesianProductGenerator5::End const): |
| (testing::internal::CartesianProductGenerator5::Iterator::Iterator): |
| (testing::internal::CartesianProductGenerator5::Iterator::~Iterator): |
| (testing::internal::CartesianProductGenerator5::Iterator::BaseGenerator const): |
| (testing::internal::CartesianProductGenerator5::Iterator::Advance): |
| (testing::internal::CartesianProductGenerator5::Iterator::Clone const): |
| (testing::internal::CartesianProductGenerator5::Iterator::Current const): |
| (testing::internal::CartesianProductGenerator5::Iterator::Equals const): |
| (testing::internal::CartesianProductGenerator5::Iterator::ComputeCurrentValue): |
| (testing::internal::CartesianProductGenerator5::Iterator::AtEnd const): |
| (testing::internal::CartesianProductGenerator6::CartesianProductGenerator6): |
| (testing::internal::CartesianProductGenerator6::~CartesianProductGenerator6): |
| (testing::internal::CartesianProductGenerator6::Begin const): |
| (testing::internal::CartesianProductGenerator6::End const): |
| (testing::internal::CartesianProductGenerator6::Iterator::Iterator): |
| (testing::internal::CartesianProductGenerator6::Iterator::~Iterator): |
| (testing::internal::CartesianProductGenerator6::Iterator::BaseGenerator const): |
| (testing::internal::CartesianProductGenerator6::Iterator::Advance): |
| (testing::internal::CartesianProductGenerator6::Iterator::Clone const): |
| (testing::internal::CartesianProductGenerator6::Iterator::Current const): |
| (testing::internal::CartesianProductGenerator6::Iterator::Equals const): |
| (testing::internal::CartesianProductGenerator6::Iterator::ComputeCurrentValue): |
| (testing::internal::CartesianProductGenerator6::Iterator::AtEnd const): |
| (testing::internal::CartesianProductGenerator7::CartesianProductGenerator7): |
| (testing::internal::CartesianProductGenerator7::~CartesianProductGenerator7): |
| (testing::internal::CartesianProductGenerator7::Begin const): |
| (testing::internal::CartesianProductGenerator7::End const): |
| (testing::internal::CartesianProductGenerator7::Iterator::Iterator): |
| (testing::internal::CartesianProductGenerator7::Iterator::~Iterator): |
| (testing::internal::CartesianProductGenerator7::Iterator::BaseGenerator const): |
| (testing::internal::CartesianProductGenerator7::Iterator::Advance): |
| (testing::internal::CartesianProductGenerator7::Iterator::Clone const): |
| (testing::internal::CartesianProductGenerator7::Iterator::Current const): |
| (testing::internal::CartesianProductGenerator7::Iterator::Equals const): |
| (testing::internal::CartesianProductGenerator7::Iterator::ComputeCurrentValue): |
| (testing::internal::CartesianProductGenerator7::Iterator::AtEnd const): |
| (testing::internal::CartesianProductGenerator8::CartesianProductGenerator8): |
| (testing::internal::CartesianProductGenerator8::~CartesianProductGenerator8): |
| (testing::internal::CartesianProductGenerator8::Begin const): |
| (testing::internal::CartesianProductGenerator8::End const): |
| (testing::internal::CartesianProductGenerator8::Iterator::Iterator): |
| (testing::internal::CartesianProductGenerator8::Iterator::~Iterator): |
| (testing::internal::CartesianProductGenerator8::Iterator::BaseGenerator const): |
| (testing::internal::CartesianProductGenerator8::Iterator::Advance): |
| (testing::internal::CartesianProductGenerator8::Iterator::Clone const): |
| (testing::internal::CartesianProductGenerator8::Iterator::Current const): |
| (testing::internal::CartesianProductGenerator8::Iterator::Equals const): |
| (testing::internal::CartesianProductGenerator8::Iterator::ComputeCurrentValue): |
| (testing::internal::CartesianProductGenerator8::Iterator::AtEnd const): |
| (testing::internal::CartesianProductGenerator9::CartesianProductGenerator9): |
| (testing::internal::CartesianProductGenerator9::~CartesianProductGenerator9): |
| (testing::internal::CartesianProductGenerator9::Begin const): |
| (testing::internal::CartesianProductGenerator9::End const): |
| (testing::internal::CartesianProductGenerator9::Iterator::Iterator): |
| (testing::internal::CartesianProductGenerator9::Iterator::~Iterator): |
| (testing::internal::CartesianProductGenerator9::Iterator::BaseGenerator const): |
| (testing::internal::CartesianProductGenerator9::Iterator::Advance): |
| (testing::internal::CartesianProductGenerator9::Iterator::Clone const): |
| (testing::internal::CartesianProductGenerator9::Iterator::Current const): |
| (testing::internal::CartesianProductGenerator9::Iterator::Equals const): |
| (testing::internal::CartesianProductGenerator9::Iterator::ComputeCurrentValue): |
| (testing::internal::CartesianProductGenerator9::Iterator::AtEnd const): |
| (testing::internal::CartesianProductGenerator10::CartesianProductGenerator10): |
| (testing::internal::CartesianProductGenerator10::~CartesianProductGenerator10): |
| (testing::internal::CartesianProductGenerator10::Begin const): |
| (testing::internal::CartesianProductGenerator10::End const): |
| (testing::internal::CartesianProductGenerator10::Iterator::Iterator): |
| (testing::internal::CartesianProductGenerator10::Iterator::~Iterator): |
| (testing::internal::CartesianProductGenerator10::Iterator::BaseGenerator const): |
| (testing::internal::CartesianProductGenerator10::Iterator::Advance): |
| (testing::internal::CartesianProductGenerator10::Iterator::Clone const): |
| (testing::internal::CartesianProductGenerator10::Iterator::Current const): |
| (testing::internal::CartesianProductGenerator10::Iterator::Equals const): |
| (testing::internal::CartesianProductGenerator10::Iterator::ComputeCurrentValue): |
| (testing::internal::CartesianProductGenerator10::Iterator::AtEnd const): |
| (testing::internal::CartesianProductHolder2::CartesianProductHolder2): |
| (testing::internal::CartesianProductHolder2::operator ParamGenerator< ::testing::tuple<T1, T2> > const): |
| (testing::internal::CartesianProductHolder3::CartesianProductHolder3): |
| (testing::internal::CartesianProductHolder3::operator ParamGenerator< ::testing::tuple<T1, T2, T3> > const): |
| (testing::internal::CartesianProductHolder4::CartesianProductHolder4): |
| (testing::internal::CartesianProductHolder4::operator ParamGenerator< ::testing::tuple<T1, T2, T3, T4> > const): |
| (testing::internal::CartesianProductHolder5::CartesianProductHolder5): |
| (testing::internal::CartesianProductHolder5::operator ParamGenerator< ::testing::tuple<T1, T2, T3, T4, T5> > const): |
| (testing::internal::CartesianProductHolder6::CartesianProductHolder6): |
| (testing::internal::CartesianProductHolder6::operator ParamGenerator< ::testing::tuple<T1, T2, T3, T4, T5, T6> > const): |
| (testing::internal::CartesianProductHolder7::CartesianProductHolder7): |
| (testing::internal::CartesianProductHolder7:: const): |
| (testing::internal::CartesianProductHolder8::CartesianProductHolder8): |
| (testing::internal::CartesianProductHolder8:: const): |
| (testing::internal::CartesianProductHolder9::CartesianProductHolder9): |
| (testing::internal::CartesianProductHolder9:: const): |
| (testing::internal::CartesianProductHolder10::CartesianProductHolder10): |
| (testing::internal::CartesianProductHolder10:: const): |
| * StitchMarker/folly/gtest/googletest/include/gtest/internal/gtest-param-util-generated.h.pump: Added. |
| * StitchMarker/folly/gtest/googletest/include/gtest/internal/gtest-param-util.h: Added. |
| (testing::TestParamInfo::TestParamInfo): |
| (testing::PrintToStringParamName::operator() const): |
| (testing::internal::ParamIteratorInterface::~ParamIteratorInterface): |
| (testing::internal::ParamIterator::ParamIterator): |
| (testing::internal::ParamIterator::operator=): |
| (testing::internal::ParamIterator::operator* const): |
| (testing::internal::ParamIterator::operator-> const): |
| (testing::internal::ParamIterator::operator++): |
| (testing::internal::ParamIterator::operator== const): |
| (testing::internal::ParamIterator::operator!= const): |
| (testing::internal::ParamGeneratorInterface::~ParamGeneratorInterface): |
| (testing::internal::ParamGenerator::ParamGenerator): |
| (testing::internal::ParamGenerator::operator=): |
| (testing::internal::ParamGenerator::begin const): |
| (testing::internal::ParamGenerator::end const): |
| (testing::internal::RangeGenerator::RangeGenerator): |
| (testing::internal::RangeGenerator::~RangeGenerator): |
| (testing::internal::RangeGenerator::Begin const): |
| (testing::internal::RangeGenerator::End const): |
| (testing::internal::RangeGenerator::Iterator::Iterator): |
| (testing::internal::RangeGenerator::Iterator::~Iterator): |
| (testing::internal::RangeGenerator::Iterator::BaseGenerator const): |
| (testing::internal::RangeGenerator::Iterator::Advance): |
| (testing::internal::RangeGenerator::Iterator::Clone const): |
| (testing::internal::RangeGenerator::Iterator::Current const): |
| (testing::internal::RangeGenerator::Iterator::Equals const): |
| (testing::internal::RangeGenerator::CalculateEndIndex): |
| (testing::internal::ValuesInIteratorRangeGenerator::ValuesInIteratorRangeGenerator): |
| (testing::internal::ValuesInIteratorRangeGenerator::~ValuesInIteratorRangeGenerator): |
| (testing::internal::ValuesInIteratorRangeGenerator::Begin const): |
| (testing::internal::ValuesInIteratorRangeGenerator::End const): |
| (testing::internal::ValuesInIteratorRangeGenerator::Iterator::Iterator): |
| (testing::internal::ValuesInIteratorRangeGenerator::Iterator::~Iterator): |
| (testing::internal::ValuesInIteratorRangeGenerator::Iterator::BaseGenerator const): |
| (testing::internal::ValuesInIteratorRangeGenerator::Iterator::Advance): |
| (testing::internal::ValuesInIteratorRangeGenerator::Iterator::Clone const): |
| (testing::internal::ValuesInIteratorRangeGenerator::Iterator::Current const): |
| (testing::internal::ValuesInIteratorRangeGenerator::Iterator::Equals const): |
| (testing::internal::DefaultParamName): |
| (testing::internal::GetParamNameGen): |
| (testing::internal::ParameterizedTestFactory::ParameterizedTestFactory): |
| (testing::internal::ParameterizedTestFactory::CreateTest): |
| (testing::internal::TestMetaFactoryBase::~TestMetaFactoryBase): |
| (testing::internal::TestMetaFactory::TestMetaFactory): |
| (testing::internal::TestMetaFactory::CreateTestFactory): |
| (testing::internal::ParameterizedTestCaseInfoBase::~ParameterizedTestCaseInfoBase): |
| (testing::internal::ParameterizedTestCaseInfoBase::ParameterizedTestCaseInfoBase): |
| (testing::internal::ParameterizedTestCaseInfo::ParameterizedTestCaseInfo): |
| (testing::internal::ParameterizedTestCaseInfo::GetTestCaseName const): |
| (testing::internal::ParameterizedTestCaseInfo::GetTestCaseTypeId const): |
| (testing::internal::ParameterizedTestCaseInfo::AddTestPattern): |
| (testing::internal::ParameterizedTestCaseInfo::AddTestCaseInstantiation): |
| (testing::internal::ParameterizedTestCaseInfo::RegisterTests): |
| (testing::internal::ParameterizedTestCaseInfo::TestInfo::TestInfo): |
| (testing::internal::ParameterizedTestCaseInfo::InstantiationInfo::InstantiationInfo): |
| (testing::internal::ParameterizedTestCaseInfo::IsValidParamName): |
| (testing::internal::ParameterizedTestCaseRegistry::ParameterizedTestCaseRegistry): |
| (testing::internal::ParameterizedTestCaseRegistry::~ParameterizedTestCaseRegistry): |
| (testing::internal::ParameterizedTestCaseRegistry::GetTestCasePatternHolder): |
| (testing::internal::ParameterizedTestCaseRegistry::RegisterTests): |
| * StitchMarker/folly/gtest/googletest/include/gtest/internal/gtest-port-arch.h: Added. |
| * StitchMarker/folly/gtest/googletest/include/gtest/internal/gtest-port.h: Added. |
| (testing::internal::scoped_ptr::scoped_ptr): |
| (testing::internal::scoped_ptr::~scoped_ptr): |
| (testing::internal::scoped_ptr::operator* const): |
| (testing::internal::scoped_ptr::operator-> const): |
| (testing::internal::scoped_ptr::get const): |
| (testing::internal::scoped_ptr::release): |
| (testing::internal::scoped_ptr::reset): |
| (testing::internal::scoped_ptr::swap): |
| (testing::internal::LogToStderr): |
| (testing::internal::FlushInfoLog): |
| (testing::internal::move): |
| (testing::internal::ImplicitCast_): |
| (testing::internal::DownCast_): |
| (testing::internal::CheckedDowncastToActualType): |
| (testing::internal::SleepMilliseconds): |
| (testing::internal::Notification::Notification): |
| (testing::internal::Notification::~Notification): |
| (testing::internal::Notification::Notify): |
| (testing::internal::Notification::WaitForNotification): |
| (testing::internal::ThreadWithParamBase::~ThreadWithParamBase): |
| (testing::internal::ThreadFuncWithCLinkage): |
| (testing::internal::ThreadWithParam::ThreadWithParam): |
| (testing::internal::ThreadWithParam::~ThreadWithParam): |
| (testing::internal::ThreadWithParam::Join): |
| (testing::internal::ThreadWithParam::Run): |
| (testing::internal::GTestMutexLock::GTestMutexLock): |
| (testing::internal::GTestMutexLock::~GTestMutexLock): |
| (testing::internal::ThreadLocalValueHolderBase::~ThreadLocalValueHolderBase): |
| (testing::internal::ThreadLocalBase::ThreadLocalBase): |
| (testing::internal::ThreadLocalBase::~ThreadLocalBase): |
| (testing::internal::ThreadWithParam::RunnableImpl::RunnableImpl): |
| (testing::internal::ThreadWithParam::RunnableImpl::~RunnableImpl): |
| (testing::internal::ThreadWithParam::RunnableImpl::Run): |
| (testing::internal::ThreadLocal::ThreadLocal): |
| (testing::internal::ThreadLocal::~ThreadLocal): |
| (testing::internal::ThreadLocal::pointer): |
| (testing::internal::ThreadLocal::pointer const): |
| (testing::internal::ThreadLocal::get const): |
| (testing::internal::ThreadLocal::set): |
| (testing::internal::ThreadLocal::ValueHolder::ValueHolder): |
| (testing::internal::ThreadLocal::ValueHolder::pointer): |
| (testing::internal::ThreadLocal::GetOrCreateValue const): |
| (testing::internal::ThreadLocal::NewValueForCurrentThread const): |
| (testing::internal::ThreadLocal::ValueHolderFactory::ValueHolderFactory): |
| (testing::internal::ThreadLocal::ValueHolderFactory::~ValueHolderFactory): |
| (testing::internal::ThreadLocal::DefaultValueHolderFactory::DefaultValueHolderFactory): |
| (testing::internal::ThreadLocal::DefaultValueHolderFactory::MakeNewHolder const): |
| (testing::internal::ThreadLocal::InstanceValueHolderFactory::InstanceValueHolderFactory): |
| (testing::internal::ThreadLocal::InstanceValueHolderFactory::MakeNewHolder const): |
| (testing::internal::MutexBase::Lock): |
| (testing::internal::MutexBase::Unlock): |
| (testing::internal::MutexBase::AssertHeld const): |
| (testing::internal::Mutex::Mutex): |
| (testing::internal::Mutex::~Mutex): |
| (testing::internal::DeleteThreadLocalValue): |
| (testing::internal::ThreadLocal::CreateKey): |
| (testing::internal::Mutex::Lock): |
| (testing::internal::Mutex::Unlock): |
| (testing::internal::Mutex::AssertHeld const): |
| (testing::internal::IsAlpha): |
| (testing::internal::IsAlNum): |
| (testing::internal::IsDigit): |
| (testing::internal::IsLower): |
| (testing::internal::IsSpace): |
| (testing::internal::IsUpper): |
| (testing::internal::IsXDigit): |
| (testing::internal::ToLower): |
| (testing::internal::ToUpper): |
| (testing::internal::StripTrailingSpaces): |
| (testing::internal::posix::IsATTY): |
| (testing::internal::posix::StrCaseCmp): |
| (testing::internal::posix::StrDup): |
| (testing::internal::posix::FileNo): |
| (testing::internal::posix::Stat): |
| (testing::internal::posix::RmDir): |
| (testing::internal::posix::IsDir): |
| (testing::internal::posix::StrNCpy): |
| (testing::internal::posix::ChDir): |
| (testing::internal::posix::FOpen): |
| (testing::internal::posix::FReopen): |
| (testing::internal::posix::FDOpen): |
| (testing::internal::posix::FClose): |
| (testing::internal::posix::Read): |
| (testing::internal::posix::Write): |
| (testing::internal::posix::Close): |
| (testing::internal::posix::StrError): |
| (testing::internal::posix::GetEnv): |
| (testing::internal::posix::Abort): |
| * StitchMarker/folly/gtest/googletest/include/gtest/internal/gtest-string.h: Added. |
| * StitchMarker/folly/gtest/googletest/include/gtest/internal/gtest-type-util.h: Added. |
| (testing::internal::GetTypeName): |
| * StitchMarker/folly/gtest/googletest/include/gtest/internal/gtest-type-util.h.pump: Added. |
| * StitchMarker/folly/gtest/googletest/src/gtest-filepath.cc: Added. |
| * StitchMarker/folly/gtest/googletest/src/gtest-internal-inl.h: Added. |
| (testing::internal::GetRandomSeedFromFlag): |
| (testing::internal::GetNextRandomSeed): |
| (testing::internal::GTestFlagSaver::GTestFlagSaver): |
| (testing::internal::GTestFlagSaver::~GTestFlagSaver): |
| (testing::internal::CountIf): |
| (testing::internal::ForEach): |
| (testing::internal::GetElementOr): |
| (testing::internal::ShuffleRange): |
| (testing::internal::Shuffle): |
| (testing::internal::Delete): |
| (testing::internal::TestPropertyKeyIs::TestPropertyKeyIs): |
| (testing::internal::TestPropertyKeyIs::operator() const): |
| (testing::internal::OsStackTraceGetterInterface::OsStackTraceGetterInterface): |
| (testing::internal::OsStackTraceGetterInterface::~OsStackTraceGetterInterface): |
| (testing::internal::OsStackTraceGetter::OsStackTraceGetter): |
| (testing::internal::GetUnitTestImpl): |
| (testing::internal::TestResultAccessor::RecordProperty): |
| (testing::internal::TestResultAccessor::ClearTestPartResults): |
| (testing::internal::TestResultAccessor::test_part_results): |
| * StitchMarker/folly/gtest/googletest/src/gtest-port.cc: Added. |
| * StitchMarker/folly/gtest/googletest/src/gtest-printers.cc: Added. |
| * StitchMarker/folly/gtest/googletest/src/gtest-test-part.cc: Added. |
| * StitchMarker/folly/gtest/googletest/src/gtest.cc: Added. |
| * StitchMarker/folly/gtest/googletest/src/gtest_main.cc: Added. |
| * StitchMarker/ogiroux.sh: Added. Build script. |
| * StitchMarker/ogiroux/include/details/config.hpp: Added. |
| * StitchMarker/ogiroux/include/semaphore: Added. |
| * StitchMarker/ogiroux/lib/semaphore.cpp: Added. |
| (cuda::std::experimental::v1::details::__semaphore_fixalign): |
| (cuda::std::experimental::v1::details::__semaphore_readint): |
| (cuda::std::experimental::v1::details::__semaphore_wait): |
| (cuda::std::experimental::v1::details::__semaphore_wait_timed): |
| (cuda::std::experimental::v1::details::__semaphore_wake_one): |
| (cuda::std::experimental::v1::details::__semaphore_wake_all): |
| * StitchMarker/ogiroux/test.cpp: Added. |
| (main): |
| * StitchMarker/ogiroux/test.hpp: Added. |
| * StitchMarker/ogiroux/test_defs.cpp: Added. |
| (start_gpu_threads): |
| (stop_gpu_threads): |
| (max_gpu_threads): |
| (get_cpu_time): |
| (user_time_consumed): |
| (system_time_consumed): |
| (set_affinity): |
| (unfair_lock::lock): |
| (unfair_lock::unlock): |
| (make64): |
| (work_item_struct::do_it): |
| (allocate_work_item): |
| (free_work_item): |
| (report): |
| (run_core): |
| (run_scenario): |
| (allocate_heap): |
| (free_heap): |
| (run_scenario_singlethreaded): |
| (run_scenario_uncontended): |
| (run_scenario_shortest): |
| (run_scenario_short): |
| (run_scenario_long): |
| (run_scenario_phaser): |
| (run_scenarios_inner): |
| (run_barrier_scenarios): |
| (run_mutex_scenarios): |
| (run_and_report_scenarios): |
| (null_mutex::lock): |
| (null_mutex::unlock): |
| (run_calibration): |
| (print_headers): |
| * StitchMarker/wtf.sh: Added. Build script. |
| * StitchMarker/wtf/ASCIICType.h: Added. |
| (WTF::isASCII): |
| (WTF::isASCIILower): |
| (WTF::toASCIILowerUnchecked): |
| (WTF::isASCIIAlpha): |
| (WTF::isASCIIDigit): |
| (WTF::isASCIIAlphanumeric): |
| (WTF::isASCIIHexDigit): |
| (WTF::isASCIIBinaryDigit): |
| (WTF::isASCIIOctalDigit): |
| (WTF::isASCIIPrintable): |
| (WTF::isASCIISpace): |
| (WTF::isASCIIUpper): |
| (WTF::toASCIILower): |
| (WTF::toASCIIUpper): |
| (WTF::toASCIIHexValue): |
| (WTF::lowerNibbleToASCIIHexDigit): |
| (WTF::upperNibbleToASCIIHexDigit): |
| (WTF::lowerNibbleToLowercaseASCIIHexDigit): |
| (WTF::upperNibbleToLowercaseASCIIHexDigit): |
| (WTF::isASCIIAlphaCaselessEqual): |
| * StitchMarker/wtf/Assertions.cpp: Added. |
| (WTFCrashWithInfo): |
| (WTF::resetAccumulatedLogs): |
| (WTF::getAndResetAccumulatedLogs): |
| * StitchMarker/wtf/Assertions.h: Added. |
| (UNREACHABLE_FOR_PLATFORM): |
| (WTF::isIntegralType): |
| (compilerFenceForCrash): |
| * StitchMarker/wtf/Atomics.h: Added. |
| (WTF::hasFence): |
| (WTF::Atomic::load const): |
| (WTF::Atomic::loadRelaxed const): |
| (WTF::Atomic::loadFullyFenced const): |
| (WTF::Atomic::store): |
| (WTF::Atomic::storeRelaxed): |
| (WTF::Atomic::storeFullyFenced): |
| (WTF::Atomic::compareExchangeWeak): |
| (WTF::Atomic::compareExchangeWeakRelaxed): |
| (WTF::Atomic::compareExchangeStrong): |
| (WTF::Atomic::exchangeAdd): |
| (WTF::Atomic::exchangeAnd): |
| (WTF::Atomic::exchangeOr): |
| (WTF::Atomic::exchangeSub): |
| (WTF::Atomic::exchangeXor): |
| (WTF::Atomic::exchange): |
| (WTF::Atomic::transaction): |
| (WTF::Atomic::transactionRelaxed): |
| (WTF::Atomic::Atomic): |
| (WTF::atomicLoad): |
| (WTF::atomicLoadFullyFenced): |
| (WTF::atomicStore): |
| (WTF::atomicStoreFullyFenced): |
| (WTF::atomicCompareExchangeWeak): |
| (WTF::atomicCompareExchangeWeakRelaxed): |
| (WTF::atomicCompareExchangeStrong): |
| (WTF::atomicExchangeAdd): |
| (WTF::atomicExchangeAnd): |
| (WTF::atomicExchangeOr): |
| (WTF::atomicExchangeSub): |
| (WTF::atomicExchangeXor): |
| (WTF::atomicExchange): |
| (WTF::compilerFence): |
| (WTF::arm_dmb): |
| (WTF::arm_dmb_st): |
| (WTF::arm_isb): |
| (WTF::loadLoadFence): |
| (WTF::loadStoreFence): |
| (WTF::storeLoadFence): |
| (WTF::storeStoreFence): |
| (WTF::memoryBarrierAfterLock): |
| (WTF::memoryBarrierBeforeUnlock): |
| (WTF::crossModifyingCodeFence): |
| (WTF::x86_ortop): |
| (WTF::x86_cpuid): |
| (WTF::nullDependency): |
| (WTF::dependency): |
| (WTF::DependencyWith::DependencyWith): |
| (WTF::dependencyWith): |
| (WTF::consume): |
| (WTF::ensurePointer): |
| * StitchMarker/wtf/CheckedArithmetic.h: Added. |
| (WTF::CrashOnOverflow::overflowed): |
| (WTF::CrashOnOverflow::clearOverflow): |
| (WTF::CrashOnOverflow::crash): |
| (WTF::CrashOnOverflow::hasOverflowed const): |
| (WTF::RecordOverflow::RecordOverflow): |
| (WTF::RecordOverflow::overflowed): |
| (WTF::RecordOverflow::clearOverflow): |
| (WTF::RecordOverflow::crash): |
| (WTF::RecordOverflow::hasOverflowed const): |
| (WTF::isInBounds): |
| (WTF::convertSafely): |
| (WTF::safeAdd): |
| (WTF::safeSub): |
| (WTF::safeMultiply): |
| (WTF::safeEquals): |
| (WTF::Checked::Checked): |
| (WTF::Checked::operator=): |
| (WTF::Checked::operator++): |
| (WTF::Checked::operator--): |
| (WTF::Checked::operator! const): |
| (WTF::Checked::operator bool const): |
| (WTF::Checked::unsafeGet const): |
| (WTF::Checked::operator+=): |
| (WTF::Checked::operator-=): |
| (WTF::Checked::operator*=): |
| (WTF::Checked::operator==): |
| (WTF::Checked::operator!=): |
| (WTF::Checked::operator< const): |
| (WTF::Checked::operator<= const): |
| (WTF::Checked::operator> const): |
| (WTF::Checked::operator>= const): |
| (WTF::operator+): |
| (WTF::operator-): |
| (WTF::operator*): |
| (WTF::checkedSum): |
| (WTF::sumOverflows): |
| (WTF::differenceOverflows): |
| (WTF::checkedProduct): |
| (WTF::productOverflows): |
| * StitchMarker/wtf/ClockType.cpp: Added. |
| (WTF::printInternal): |
| * StitchMarker/wtf/ClockType.h: Added. |
| * StitchMarker/wtf/CommaPrinter.h: Added. |
| (WTF::CommaPrinter::CommaPrinter): |
| (WTF::CommaPrinter::dump const): |
| (WTF::CommaPrinter::didPrint const): |
| * StitchMarker/wtf/Compiler.h: Added. |
| * StitchMarker/wtf/Condition.h: Added. |
| (WTF::ConditionBase::waitUntil): |
| (WTF::ConditionBase::waitFor): |
| (WTF::ConditionBase::wait): |
| (WTF::ConditionBase::notifyOne): |
| (WTF::ConditionBase::notifyAll): |
| (WTF::Condition::Condition): |
| * StitchMarker/wtf/CryptographicallyRandomNumber.h: Added. |
| * StitchMarker/wtf/CurrentTime.cpp: Added. |
| (WTF::lowResUTCTime): |
| (WTF::highResUpTime): |
| (WTF::qpcAvailable): |
| (WTF::currentTime): |
| (WTF::monotonicallyIncreasingTime): |
| (WTF::currentCPUTime): |
| (WTF::sleep): |
| * StitchMarker/wtf/CurrentTime.h: Added. |
| (WTF::currentTimeMS): |
| (WTF::monotonicallyIncreasingTimeMS): |
| (WTF::sleepMS): |
| * StitchMarker/wtf/DataLog.cpp: Added. |
| (WTF::initializeLogFileOnce): |
| (WTF::initializeLogFile): |
| (WTF::setDataFile): |
| (WTF::dataFile): |
| (WTF::dataLogFV): |
| (WTF::dataLogF): |
| (WTF::dataLogFString): |
| * StitchMarker/wtf/DataLog.h: Added. |
| (WTF::dataLog): |
| (WTF::dataLogLn): |
| (WTF::dataLogIf): |
| (WTF::dataLogLnIf): |
| * StitchMarker/wtf/DateMath.cpp: Added. |
| (WTF::startsWithLettersIgnoringASCIICase): |
| (WTF::getLocalTime): |
| (WTF::isLeapYear): |
| (WTF::daysInYear): |
| (WTF::daysFrom1970ToYear): |
| (WTF::msToDays): |
| (WTF::appendTwoDigitNumber): |
| (WTF::msToYear): |
| (WTF::dayInYear): |
| (WTF::msToMilliseconds): |
| (WTF::msToMinutes): |
| (WTF::msToHours): |
| (WTF::monthFromDayInYear): |
| (WTF::checkMonth): |
| (WTF::dayInMonthFromDayInYear): |
| (WTF::dateToDaysFrom1970): |
| (WTF::maximumYearForDST): |
| (WTF::minimumYearForDST): |
| (WTF::equivalentYearForDST): |
| (WTF::timeZoneInformationForYearFunction): |
| (WTF::calculateUTCOffset): |
| (WTF::UnixTimeToFileTime): |
| (WTF::calculateDSTOffset): |
| (WTF::calculateLocalTimeOffset): |
| (WTF::initializeDates): |
| (WTF::ymdhmsToSeconds): |
| (WTF::skipSpacesAndComments): |
| (WTF::findMonth): |
| (WTF::parseInt): |
| (WTF::parseLong): |
| (WTF::parseES5DatePortion): |
| (WTF::parseES5TimePortion): |
| (WTF::parseES5DateFromNullTerminatedCharacters): |
| (WTF::parseDateFromNullTerminatedCharacters): |
| (WTF::timeClip): |
| (WTF::makeRFC2822DateString): |
| * StitchMarker/wtf/DateMath.h: Added. |
| (WTF::LocalTimeOffset::LocalTimeOffset): |
| (WTF::LocalTimeOffset::operator==): |
| (WTF::LocalTimeOffset::operator!=): |
| (WTF::jsCurrentTime): |
| * StitchMarker/wtf/Deque.h: Added. |
| (WTF::Deque::size const): |
| (WTF::Deque::isEmpty const): |
| (WTF::Deque::begin): |
| (WTF::Deque::end): |
| (WTF::Deque::begin const): |
| (WTF::Deque::end const): |
| (WTF::Deque::rbegin): |
| (WTF::Deque::rend): |
| (WTF::Deque::rbegin const): |
| (WTF::Deque::rend const): |
| (WTF::Deque::first): |
| (WTF::Deque::first const): |
| (WTF::Deque::last): |
| (WTF::Deque::last const): |
| (WTF::Deque::append): |
| (WTF::DequeIteratorBase::assign): |
| (WTF::DequeIterator::DequeIterator): |
| (WTF::DequeIterator::operator=): |
| (WTF::DequeIterator::operator* const): |
| (WTF::DequeIterator::operator-> const): |
| (WTF::DequeIterator::operator== const): |
| (WTF::DequeIterator::operator!= const): |
| (WTF::DequeIterator::operator++): |
| (WTF::DequeIterator::operator--): |
| (WTF::DequeConstIterator::DequeConstIterator): |
| (WTF::DequeConstIterator::operator=): |
| (WTF::DequeConstIterator::operator* const): |
| (WTF::DequeConstIterator::operator-> const): |
| (WTF::DequeConstIterator::operator== const): |
| (WTF::DequeConstIterator::operator!= const): |
| (WTF::DequeConstIterator::operator++): |
| (WTF::DequeConstIterator::operator--): |
| (WTF::inlineCapacity>::checkValidity const): |
| (WTF::inlineCapacity>::checkIndexValidity const): |
| (WTF::inlineCapacity>::invalidateIterators): |
| (WTF::inlineCapacity>::Deque): |
| (WTF::=): |
| (WTF::inlineCapacity>::destroyAll): |
| (WTF::inlineCapacity>::~Deque): |
| (WTF::inlineCapacity>::swap): |
| (WTF::inlineCapacity>::clear): |
| (WTF::inlineCapacity>::findIf): |
| (WTF::inlineCapacity>::expandCapacityIfNeeded): |
| (WTF::inlineCapacity>::expandCapacity): |
| (WTF::inlineCapacity>::takeFirst): |
| (WTF::inlineCapacity>::takeLast): |
| (WTF::inlineCapacity>::append): |
| (WTF::inlineCapacity>::prepend): |
| (WTF::inlineCapacity>::removeFirst): |
| (WTF::inlineCapacity>::removeLast): |
| (WTF::inlineCapacity>::remove): |
| (WTF::inlineCapacity>::removeAllMatching): |
| (WTF::inlineCapacity>::appendAndBubble): |
| (WTF::inlineCapacity>::addToIteratorsList): |
| (WTF::inlineCapacity>::removeFromIteratorsList): |
| (WTF::inlineCapacity>::DequeIteratorBase): |
| (WTF::inlineCapacity>::~DequeIteratorBase): |
| (WTF::inlineCapacity>::isEqual const): |
| (WTF::inlineCapacity>::increment): |
| (WTF::inlineCapacity>::decrement): |
| (WTF::inlineCapacity>::after const): |
| (WTF::inlineCapacity>::before const): |
| * StitchMarker/wtf/Expected.h: Added. |
| (WTF::UnexpectedType::UnexpectedType): |
| (WTF::UnexpectedType::value const): |
| (WTF::UnexpectedType::value): |
| (WTF::operator==): |
| (WTF::operator!=): |
| (WTF::operator<): |
| (WTF::operator>): |
| (WTF::operator<=): |
| (WTF::operator>=): |
| (WTF::makeUnexpected): |
| (WTF::ExpectedDetail::Throw): |
| (WTF::ExpectedDetail::destroy): |
| (WTF::ExpectedDetail::std::is_trivially_destructible<T>::value): |
| (WTF::ExpectedDetail::ConstexprBase::ConstexprBase): |
| (WTF::ExpectedDetail::Base::Base): |
| (WTF::ExpectedDetail::Base::~Base): |
| (WTF::Expected::Expected): |
| (WTF::Expected::operator=): |
| (WTF::Expected::swap): |
| (WTF::Expected::operator-> const): |
| (WTF::Expected::operator->): |
| (WTF::Expected::operator* const): |
| (WTF::Expected::operator*): |
| (WTF::Expected::operator bool const): |
| (WTF::Expected::hasValue const): |
| (WTF::Expected::value const): |
| (WTF::Expected::value): |
| (WTF::Expected::error const): |
| (WTF::Expected::error): |
| (WTF::Expected::getUnexpected const): |
| (WTF::Expected::valueOr const): |
| (WTF::Expected::valueOr): |
| (WTF::swap): |
| (WTF::makeExpected): |
| (WTF::makeExpectedFromError): |
| * StitchMarker/wtf/ExportMacros.h: Added. |
| * StitchMarker/wtf/FastMalloc.cpp: Added. |
| (WTF::fastSetMaxSingleAllocationSize): |
| (WTF::fastZeroedMalloc): |
| (WTF::fastStrDup): |
| (WTF::tryFastZeroedMalloc): |
| (WTF::isFastMallocEnabled): |
| (WTF::fastMallocGoodSize): |
| (WTF::fastAlignedMalloc): |
| (WTF::tryFastAlignedMalloc): |
| (WTF::fastAlignedFree): |
| (WTF::tryFastMalloc): |
| (WTF::fastMalloc): |
| (WTF::tryFastCalloc): |
| (WTF::fastCalloc): |
| (WTF::fastFree): |
| (WTF::fastRealloc): |
| (WTF::releaseFastMallocFreeMemory): |
| (WTF::releaseFastMallocFreeMemoryForThisThread): |
| (WTF::fastMallocStatistics): |
| (WTF::fastMallocSize): |
| * StitchMarker/wtf/FastMalloc.h: Added. |
| (WTF::TryMallocReturnValue::TryMallocReturnValue): |
| (WTF::TryMallocReturnValue::~TryMallocReturnValue): |
| (WTF::TryMallocReturnValue::getValue): |
| (WTF::FastAllocator::FastAllocator): |
| (WTF::FastAllocator::allocate): |
| (WTF::FastAllocator::deallocate): |
| (WTF::operator==): |
| (WTF::operator!=): |
| * StitchMarker/wtf/FastTLS.h: Added. |
| (WTF::fastTLSOffsetForKey): |
| * StitchMarker/wtf/FeatureDefines.h: Added. |
| * StitchMarker/wtf/FilePrintStream.cpp: Added. |
| (WTF::FilePrintStream::FilePrintStream): |
| (WTF::FilePrintStream::~FilePrintStream): |
| (WTF::FilePrintStream::open): |
| (WTF::FilePrintStream::vprintf): |
| (WTF::FilePrintStream::flush): |
| * StitchMarker/wtf/FilePrintStream.h: Added. |
| (WTF::FilePrintStream::file): |
| * StitchMarker/wtf/Forward.h: Added. |
| * StitchMarker/wtf/Function.h: Added. |
| (WTF::Function<Out): |
| * StitchMarker/wtf/FunctionDispatcher.cpp: Added. |
| (WTF::FunctionDispatcher::FunctionDispatcher): |
| (WTF::FunctionDispatcher::~FunctionDispatcher): |
| * StitchMarker/wtf/FunctionDispatcher.h: Added. |
| * StitchMarker/wtf/GetPtr.h: Added. |
| (WTF::getPtr): |
| * StitchMarker/wtf/HashFunctions.h: Added. |
| (WTF::intHash): |
| (WTF::pairIntHash): |
| (WTF::IntHash::hash): |
| (WTF::IntHash::equal): |
| (WTF::FloatHash::hash): |
| (WTF::FloatHash::equal): |
| (WTF::PairHash::hash): |
| (WTF::PairHash::equal): |
| (WTF::IntPairHash::hash): |
| (WTF::IntPairHash::equal): |
| (WTF::TupleHash::hash): |
| (WTF::TupleHash::equal): |
| (WTF::TupleHash::allTrue): |
| * StitchMarker/wtf/HashIterators.h: Added. |
| (WTF:: const const): |
| (WTF::HashTableConstKeysIterator::HashTableConstKeysIterator): |
| (WTF::HashTableConstKeysIterator::get const): |
| (WTF::HashTableConstKeysIterator::operator* const): |
| (WTF::HashTableConstKeysIterator::operator-> const): |
| (WTF::HashTableConstKeysIterator::operator++): |
| (WTF::HashTableConstValuesIterator::HashTableConstValuesIterator): |
| (WTF::HashTableConstValuesIterator::get const): |
| (WTF::HashTableConstValuesIterator::operator* const): |
| (WTF::HashTableConstValuesIterator::operator-> const): |
| (WTF::HashTableConstValuesIterator::operator++): |
| (WTF::HashTableKeysIterator::HashTableKeysIterator): |
| (WTF::HashTableKeysIterator::get const): |
| (WTF::HashTableKeysIterator::operator* const): |
| (WTF::HashTableKeysIterator::operator-> const): |
| (WTF::HashTableKeysIterator::operator++): |
| (WTF::HashTableKeysIterator::operator HashTableConstKeysIterator<HashTableType, KeyType, MappedType>): |
| (WTF::HashTableValuesIterator::HashTableValuesIterator): |
| (WTF::HashTableValuesIterator::get const): |
| (WTF::HashTableValuesIterator::operator* const): |
| (WTF::HashTableValuesIterator::operator-> const): |
| (WTF::HashTableValuesIterator::operator++): |
| (WTF::HashTableValuesIterator::operator HashTableConstValuesIterator<HashTableType, KeyType, MappedType>): |
| (WTF::operator==): |
| (WTF::operator!=): |
| * StitchMarker/wtf/HashMap.h: Added. |
| (WTF::KeyValuePairKeyExtractor::extract): |
| (WTF::HashMapTranslator::hash): |
| (WTF::HashMapTranslator::equal): |
| (WTF::HashMapTranslator::translate): |
| (WTF::HashMapEnsureTranslator::hash): |
| (WTF::HashMapEnsureTranslator::equal): |
| (WTF::HashMapEnsureTranslator::translate): |
| (WTF::HashMapTranslatorAdapter::hash): |
| (WTF::HashMapTranslatorAdapter::equal): |
| (WTF::HashMapTranslatorAdapter::translate): |
| (WTF::X>::swap): |
| (WTF::X>::size const): |
| (WTF::X>::capacity const): |
| (WTF::X>::isEmpty const): |
| (WTF::X>::begin): |
| (WTF::X>::end): |
| (WTF::X>::begin const): |
| (WTF::X>::end const): |
| (WTF::X>::find): |
| (WTF::X>::find const): |
| (WTF::X>::contains const): |
| (WTF::X>::get const): |
| (WTF::MappedTraitsArg>::inlineSet): |
| (WTF::MappedTraitsArg>::inlineAdd): |
| (WTF::MappedTraitsArg>::inlineEnsure): |
| (WTF::MappedTraitsArg>::set): |
| (WTF::MappedTraitsArg>::add): |
| (WTF::MappedTraitsArg>::fastAdd): |
| (WTF::MappedTraitsArg>::ensure): |
| (WTF::MappedTraits>::get const): |
| (WTF::MappedTraits>::fastGet const): |
| (WTF::X>::remove): |
| (WTF::X>::removeIf): |
| (WTF::X>::clear): |
| (WTF::MappedTraits>::take): |
| (WTF::X>::inlineGet const): |
| (WTF::X>::take): |
| (WTF::X>::checkConsistency const): |
| (WTF::X>::isValidKey): |
| (WTF::operator==): |
| (WTF::operator!=): |
| (WTF::copyToVector): |
| (WTF::copyKeysToVector): |
| (WTF::copyValuesToVector): |
| * StitchMarker/wtf/HashSet.h: Added. |
| (WTF::IdentityExtractor::extract): |
| (WTF::HashSetTranslator::hash): |
| (WTF::HashSetTranslator::equal): |
| (WTF::HashSetTranslator::translate): |
| (WTF::HashSetTranslatorAdapter::hash): |
| (WTF::HashSetTranslatorAdapter::equal): |
| (WTF::HashSetTranslatorAdapter::translate): |
| (WTF::V>::swap): |
| (WTF::V>::size const): |
| (WTF::V>::capacity const): |
| (WTF::V>::isEmpty const): |
| (WTF::V>::begin const): |
| (WTF::V>::end const): |
| (WTF::V>::find const): |
| (WTF::V>::contains const): |
| (WTF::Traits>::find const): |
| (WTF::Traits>::contains const): |
| (WTF::V>::add): |
| (WTF::V>::addVoid): |
| (WTF::Traits>::add): |
| (WTF::V>::remove): |
| (WTF::V>::removeIf): |
| (WTF::V>::clear): |
| (WTF::V>::take): |
| (WTF::V>::takeAny): |
| (WTF::Traits>::remove): |
| (WTF::Traits>::take): |
| (WTF::V>::isValidValue): |
| (WTF::copyToVector): |
| (WTF::= const): |
| * StitchMarker/wtf/HashTable.h: Added. |
| (WTF::addIterator): |
| (WTF::removeIterator): |
| (WTF::HashTableConstIterator::skipEmptyBuckets): |
| (WTF::HashTableConstIterator::HashTableConstIterator): |
| (WTF::HashTableConstIterator::~HashTableConstIterator): |
| (WTF::HashTableConstIterator::operator=): |
| (WTF::HashTableConstIterator::get const): |
| (WTF::HashTableConstIterator::operator* const): |
| (WTF::HashTableConstIterator::operator-> const): |
| (WTF::HashTableConstIterator::operator++): |
| (WTF::HashTableConstIterator::operator== const): |
| (WTF::HashTableConstIterator::operator!= const): |
| (WTF::HashTableConstIterator::checkValidity const): |
| (WTF::HashTableIterator::HashTableIterator): |
| (WTF::HashTableIterator::get const): |
| (WTF::HashTableIterator::operator* const): |
| (WTF::HashTableIterator::operator-> const): |
| (WTF::HashTableIterator::operator++): |
| (WTF::HashTableIterator::operator== const): |
| (WTF::HashTableIterator::operator!= const): |
| (WTF::HashTableIterator::operator const_iterator const): |
| (WTF::IdentityHashTranslator::hash): |
| (WTF::IdentityHashTranslator::equal): |
| (WTF::IdentityHashTranslator::translate): |
| (WTF::HashTableAddResult::HashTableAddResult): |
| (WTF::HashTableAddResult::operator bool const): |
| (WTF::HashTable::Stats::Stats): |
| (WTF::HashTable::Stats::recordCollisionAtCount): |
| (WTF::HashTable::Stats::dumpStats): |
| (WTF::HashTable::~HashTable): |
| (WTF::HashTable::begin): |
| (WTF::HashTable::end): |
| (WTF::HashTable::begin const): |
| (WTF::HashTable::end const): |
| (WTF::HashTable::size const): |
| (WTF::HashTable::capacity const): |
| (WTF::HashTable::isEmpty const): |
| (WTF::HashTable::add): |
| (WTF::HashTable::find): |
| (WTF::HashTable::find const): |
| (WTF::HashTable::contains const): |
| (WTF::HashTable::isEmptyBucket): |
| (WTF::HashTable::isDeletedBucket): |
| (WTF::HashTable::isEmptyOrDeletedBucket): |
| (WTF::HashTable::lookup): |
| (WTF::HashTable::checkTableConsistency): |
| (WTF::HashTable::internalCheckTableConsistency const): |
| (WTF::HashTable::internalCheckTableConsistencyExceptSize const): |
| (WTF::HashTable::internalCheckTableConsistencyExceptSize): |
| (WTF::HashTable::internalCheckTableConsistency): |
| (WTF::HashTable::lookupForWriting): |
| (WTF::HashTable::shouldExpand const): |
| (WTF::HashTable::mustRehashInPlace const): |
| (WTF::HashTable::shouldShrink const): |
| (WTF::HashTable::shrink): |
| (WTF::HashTable::deleteBucket): |
| (WTF::HashTable::makeLookupResult): |
| (WTF::HashTable::makeIterator): |
| (WTF::HashTable::makeConstIterator const): |
| (WTF::HashTable::makeKnownGoodIterator): |
| (WTF::HashTable::makeKnownGoodConstIterator const): |
| (WTF::HashTable::checkTableConsistencyExceptSize): |
| (WTF::HashTable::invalidateIterators): |
| (WTF::KeyTraits>::HashTable): |
| (WTF::doubleHash): |
| (WTF::KeyTraits>::checkKey): |
| (WTF::KeyTraits>::lookup): |
| (WTF::KeyTraits>::inlineLookup): |
| (WTF::KeyTraits>::lookupForWriting): |
| (WTF::KeyTraits>::fullLookupForWriting): |
| (WTF::KeyTraits>::addUniqueForInitialization): |
| (WTF::HashTableBucketInitializer<false>::initialize): |
| (WTF::HashTableBucketInitializer<true>::initialize): |
| (WTF::KeyTraits>::initializeBucket): |
| (WTF::KeyTraits>::add): |
| (WTF::KeyTraits>::addPassingHashCode): |
| (WTF::KeyTraits>::reinsert): |
| (WTF::KeyTraits>::find): |
| (WTF::KeyTraits>::find const): |
| (WTF::KeyTraits>::contains const): |
| (WTF::KeyTraits>::removeAndInvalidateWithoutEntryConsistencyCheck): |
| (WTF::KeyTraits>::removeAndInvalidate): |
| (WTF::KeyTraits>::remove): |
| (WTF::KeyTraits>::removeWithoutEntryConsistencyCheck): |
| (WTF::KeyTraits>::removeIf): |
| (WTF::KeyTraits>::allocateTable): |
| (WTF::KeyTraits>::deallocateTable): |
| (WTF::KeyTraits>::expand): |
| (WTF::KeyTraits>::rehash): |
| (WTF::KeyTraits>::clear): |
| (WTF::KeyTraits>::swap): |
| (WTF::=): |
| (WTF::KeyTraits>::checkTableConsistency const): |
| (WTF::KeyTraits>::checkTableConsistencyExceptSize const): |
| (WTF::KeyTraits>::invalidateIterators): |
| (WTF::HashTableConstIteratorAdapter::HashTableConstIteratorAdapter): |
| (WTF::HashTableConstIteratorAdapter::get const): |
| (WTF::HashTableConstIteratorAdapter::operator* const): |
| (WTF::HashTableConstIteratorAdapter::operator-> const): |
| (WTF::HashTableConstIteratorAdapter::operator++): |
| (WTF::HashTableIteratorAdapter::HashTableIteratorAdapter): |
| (WTF::HashTableIteratorAdapter::get const): |
| (WTF::HashTableIteratorAdapter::operator* const): |
| (WTF::HashTableIteratorAdapter::operator-> const): |
| (WTF::HashTableIteratorAdapter::operator++): |
| (WTF::HashTableIteratorAdapter::operator HashTableConstIteratorAdapter<HashTableType, ValueType>): |
| (WTF::operator==): |
| (WTF::operator!=): |
| * StitchMarker/wtf/HashTraits.h: Added. |
| (WTF::GenericHashTraits::emptyValue): |
| (WTF::GenericHashTraits::assignToEmpty): |
| (WTF::GenericHashTraits::peek): |
| (WTF::GenericHashTraits::take): |
| (WTF::FloatHashTraits::emptyValue): |
| (WTF::FloatHashTraits::constructDeletedValue): |
| (WTF::FloatHashTraits::isDeletedValue): |
| (WTF::UnsignedWithZeroKeyHashTraits::emptyValue): |
| (WTF::UnsignedWithZeroKeyHashTraits::constructDeletedValue): |
| (WTF::UnsignedWithZeroKeyHashTraits::isDeletedValue): |
| (WTF::SignedWithZeroKeyHashTraits::emptyValue): |
| (WTF::SignedWithZeroKeyHashTraits::constructDeletedValue): |
| (WTF::SignedWithZeroKeyHashTraits::isDeletedValue): |
| (WTF::StrongEnumHashTraits::emptyValue): |
| (WTF::StrongEnumHashTraits::constructDeletedValue): |
| (WTF::StrongEnumHashTraits::isDeletedValue): |
| (WTF::HashTraits<P::constructDeletedValue): |
| (WTF::HashTraits<P::isDeletedValue): |
| (WTF::SimpleClassHashTraits::constructDeletedValue): |
| (WTF::SimpleClassHashTraits::isDeletedValue): |
| (WTF::HashTraits<RefPtr<P>>::emptyValue): |
| (WTF::HashTraits<RefPtr<P>>::peek): |
| (WTF::HashTraits<RefPtr<P>>::customDeleteBucket): |
| (WTF::HashTraits<Ref<P>>::emptyValue): |
| (WTF::HashTraits<Ref<P>>::isEmptyValue): |
| (WTF::HashTraits<Ref<P>>::assignToEmpty): |
| (WTF::HashTraits<Ref<P>>::peek): |
| (WTF::HashTraits<Ref<P>>::take): |
| (WTF::isHashTraitsEmptyValue): |
| (WTF::hashTraitsDeleteBucket): |
| (WTF::PairHashTraits::emptyValue): |
| (WTF::PairHashTraits::constructDeletedValue): |
| (WTF::PairHashTraits::isDeletedValue): |
| (WTF::TupleHashTraits::allTrue): |
| (WTF::TupleHashTraits::emptyValue): |
| (WTF::TupleHashTraits::constructDeletedValue): |
| (WTF::TupleHashTraits::isDeletedValue): |
| (WTF::KeyValuePair::KeyValuePair): |
| (WTF::KeyValuePairHashTraits::emptyValue): |
| (WTF::KeyValuePairHashTraits::constructDeletedValue): |
| (WTF::KeyValuePairHashTraits::isDeletedValue): |
| (WTF::KeyValuePairHashTraits::customDeleteBucket): |
| (WTF::NullableHashTraits::emptyValue): |
| (WTF::CustomHashTraits::constructDeletedValue): |
| (WTF::CustomHashTraits::isDeletedValue): |
| (WTF::CustomHashTraits::emptyValue): |
| (WTF::CustomHashTraits::isEmptyValue): |
| * StitchMarker/wtf/Hasher.h: Added. |
| (WTF::StringHasher::StringHasher): |
| (WTF::StringHasher::addCharactersAssumingAligned): |
| (WTF::StringHasher::addCharacter): |
| (WTF::StringHasher::addCharacters): |
| (WTF::StringHasher::Converter): |
| (WTF::StringHasher::hashWithTop8BitsMasked const): |
| (WTF::StringHasher::hash const): |
| (WTF::StringHasher::computeHashAndMaskTop8Bits): |
| (WTF::StringHasher::computeHash): |
| (WTF::StringHasher::hashMemory): |
| (WTF::StringHasher::finalize): |
| (WTF::StringHasher::finalizeAndMaskTop8Bits): |
| (WTF::StringHasher::computeLiteralHash): |
| (WTF::StringHasher::computeLiteralHashAndMaskTop8Bits): |
| (WTF::StringHasher::defaultConverter): |
| (WTF::StringHasher::avalancheBits3): |
| (WTF::StringHasher::avalancheBits2): |
| (WTF::StringHasher::avalancheBits1): |
| (WTF::StringHasher::avalancheBits0): |
| (WTF::StringHasher::avalancheBits): |
| (WTF::StringHasher::avoidZero): |
| (WTF::StringHasher::processPendingCharacter const): |
| (WTF::StringHasher::calculateWithRemainingLastCharacter1): |
| (WTF::StringHasher::calculateWithRemainingLastCharacter0): |
| (WTF::StringHasher::calculateWithRemainingLastCharacter): |
| (WTF::StringHasher::calculate1): |
| (WTF::StringHasher::calculate0): |
| (WTF::StringHasher::calculate): |
| (WTF::StringHasher::computeLiteralHashImpl): |
| (WTF::IntegerHasher::add): |
| (WTF::IntegerHasher::hash const): |
| * StitchMarker/wtf/HexNumber.h: Added. |
| (WTF::Internal::hexDigitsForMode): |
| (WTF::appendByteAsHex): |
| (WTF::placeByteAsHexCompressIfPossible): |
| (WTF::placeByteAsHex): |
| (WTF::appendUnsignedAsHex): |
| (WTF::appendUnsigned64AsHex): |
| (WTF::appendUnsignedAsHexFixedSize): |
| * StitchMarker/wtf/IteratorRange.h: Added. |
| (WTF::IteratorRange::IteratorRange): |
| (WTF::IteratorRange::begin const): |
| (WTF::IteratorRange::end const): |
| (WTF::makeIteratorRange): |
| * StitchMarker/wtf/ListHashSet.h: Added. |
| (WTF::ListHashSet::begin): |
| (WTF::ListHashSet::end): |
| (WTF::ListHashSet::begin const): |
| (WTF::ListHashSet::end const): |
| (WTF::ListHashSet::rbegin): |
| (WTF::ListHashSet::rend): |
| (WTF::ListHashSet::rbegin const): |
| (WTF::ListHashSet::rend const): |
| (WTF::ListHashSetNode::ListHashSetNode): |
| (WTF::ListHashSetNodeHashFunctions::hash): |
| (WTF::ListHashSetNodeHashFunctions::equal): |
| (WTF::ListHashSetIterator::ListHashSetIterator): |
| (WTF::ListHashSetIterator::get const): |
| (WTF::ListHashSetIterator::operator* const): |
| (WTF::ListHashSetIterator::operator-> const): |
| (WTF::ListHashSetIterator::operator++): |
| (WTF::ListHashSetIterator::operator--): |
| (WTF::ListHashSetIterator::operator== const): |
| (WTF::ListHashSetIterator::operator!= const): |
| (WTF::ListHashSetIterator::operator const_iterator const): |
| (WTF::ListHashSetIterator::node): |
| (WTF::ListHashSetConstIterator::ListHashSetConstIterator): |
| (WTF::ListHashSetConstIterator::get const): |
| (WTF::ListHashSetConstIterator::operator* const): |
| (WTF::ListHashSetConstIterator::operator-> const): |
| (WTF::ListHashSetConstIterator::operator++): |
| (WTF::ListHashSetConstIterator::operator--): |
| (WTF::ListHashSetConstIterator::operator== const): |
| (WTF::ListHashSetConstIterator::operator!= const): |
| (WTF::ListHashSetConstIterator::node): |
| (WTF::ListHashSetTranslator::hash): |
| (WTF::ListHashSetTranslator::equal): |
| (WTF::ListHashSetTranslator::translate): |
| (WTF::U>::ListHashSet): |
| (WTF::=): |
| (WTF::U>::swap): |
| (WTF::U>::~ListHashSet): |
| (WTF::U>::size const): |
| (WTF::U>::capacity const): |
| (WTF::U>::isEmpty const): |
| (WTF::U>::first): |
| (WTF::U>::removeFirst): |
| (WTF::U>::takeFirst): |
| (WTF::U>::first const): |
| (WTF::U>::last): |
| (WTF::U>::last const): |
| (WTF::U>::removeLast): |
| (WTF::U>::takeLast): |
| (WTF::U>::find): |
| (WTF::U>::find const): |
| (WTF::ListHashSetTranslatorAdapter::hash): |
| (WTF::ListHashSetTranslatorAdapter::equal): |
| (WTF::U>::contains const): |
| (WTF::U>::add): |
| (WTF::U>::appendOrMoveToLast): |
| (WTF::U>::prependOrMoveToFirst): |
| (WTF::U>::insertBefore): |
| (WTF::U>::remove): |
| (WTF::U>::clear): |
| (WTF::U>::unlink): |
| (WTF::U>::unlinkAndDelete): |
| (WTF::U>::appendNode): |
| (WTF::U>::prependNode): |
| (WTF::U>::insertNodeBefore): |
| (WTF::U>::deleteAllNodes): |
| (WTF::U>::makeIterator): |
| (WTF::U>::makeConstIterator const): |
| * StitchMarker/wtf/Lock.cpp: Added. |
| (WTF::LockBase::lockSlow): |
| (WTF::LockBase::unlockSlow): |
| (WTF::LockBase::unlockFairlySlow): |
| (WTF::LockBase::safepointSlow): |
| * StitchMarker/wtf/Lock.h: Added. |
| (WTF::LockBase::lock): |
| (WTF::LockBase::tryLock): |
| (WTF::LockBase::try_lock): |
| (WTF::LockBase::unlock): |
| (WTF::LockBase::unlockFairly): |
| (WTF::LockBase::safepoint): |
| (WTF::LockBase::isHeld const): |
| (WTF::LockBase::isLocked const): |
| (WTF::LockBase::isFullyReset const): |
| (WTF::Lock::Lock): |
| * StitchMarker/wtf/LockAlgorithm.h: Added. |
| (WTF::LockAlgorithm::lockFastAssumingZero): |
| (WTF::LockAlgorithm::lockFast): |
| (WTF::LockAlgorithm::lock): |
| (WTF::LockAlgorithm::tryLock): |
| (WTF::LockAlgorithm::unlockFastAssumingZero): |
| (WTF::LockAlgorithm::unlockFast): |
| (WTF::LockAlgorithm::unlock): |
| (WTF::LockAlgorithm::unlockFairly): |
| (WTF::LockAlgorithm::safepointFast): |
| (WTF::LockAlgorithm::safepoint): |
| (WTF::LockAlgorithm::isLocked): |
| (WTF::LockAlgorithm::safepointSlow): |
| * StitchMarker/wtf/LockAlgorithmInlines.h: Added. |
| (WTF::hasParkedBit>::lockSlow): |
| (WTF::hasParkedBit>::unlockSlow): |
| * StitchMarker/wtf/LockedPrintStream.cpp: Added. |
| (WTF::LockedPrintStream::LockedPrintStream): |
| (WTF::LockedPrintStream::~LockedPrintStream): |
| (WTF::LockedPrintStream::vprintf): |
| (WTF::LockedPrintStream::flush): |
| (WTF::LockedPrintStream::begin): |
| (WTF::LockedPrintStream::end): |
| * StitchMarker/wtf/LockedPrintStream.h: Added. |
| * StitchMarker/wtf/Locker.h: Added. |
| (WTF::AbstractLocker::AbstractLocker): |
| (WTF::Locker::Locker): |
| (WTF::Locker::~Locker): |
| (WTF::Locker::tryLock): |
| (WTF::Locker::operator bool const): |
| (WTF::Locker::unlockEarly): |
| (WTF::Locker::operator=): |
| (WTF::Locker::lock): |
| (WTF::holdLock): |
| (WTF::tryHoldLock): |
| * StitchMarker/wtf/LoggingAccumulator.h: Added. |
| * StitchMarker/wtf/MainThread.cpp: Added. |
| (WTF::functionQueue): |
| (WTF::initializeMainThread): |
| (WTF::isMainThread): |
| (WTF::initializeMainThreadToProcessMainThread): |
| (WTF::initializeWebThread): |
| (WTF::canAccessThreadLocalDataForThread): |
| (WTF::dispatchFunctionsFromMainThread): |
| (WTF::callOnMainThread): |
| (WTF::setMainThreadCallbacksPaused): |
| (WTF::initializeGCThreads): |
| (WTF::registerGCThread): |
| (WTF::isMainThreadOrGCThread): |
| (WTF::mayBeGCThread): |
| * StitchMarker/wtf/MainThread.h: Added. |
| (WTF::isWebThread): |
| (WTF::isUIThread): |
| * StitchMarker/wtf/MallocPtr.h: Added. |
| (WTF::MallocPtr::MallocPtr): |
| (WTF::MallocPtr::~MallocPtr): |
| (WTF::MallocPtr::get const): |
| (WTF::MallocPtr::operator! const): |
| (WTF::MallocPtr::operator* const): |
| (WTF::MallocPtr::operator-> const): |
| (WTF::MallocPtr::operator=): |
| (WTF::MallocPtr::swap): |
| (WTF::MallocPtr::malloc): |
| (WTF::MallocPtr::realloc): |
| (WTF::adoptMallocPtr): |
| * StitchMarker/wtf/MathExtras.h: Added. |
| (std::isfinite): |
| (std::signbit): |
| (std::isinf): |
| (wtf_atan2): |
| (deg2rad): |
| (rad2deg): |
| (deg2grad): |
| (grad2deg): |
| (turn2deg): |
| (deg2turn): |
| (rad2grad): |
| (grad2rad): |
| (defaultMinimumForClamp): |
| (defaultMaximumForClamp): |
| (clampTo): |
| (clampToInteger): |
| (clampToUnsigned): |
| (clampToFloat): |
| (clampToPositiveInteger): |
| (clampToAccepting64): |
| (isWithinIntRange): |
| (normalizedFloat): |
| (hasOneBitSet): |
| (hasZeroOrOneBitsSet): |
| (hasTwoOrMoreBitsSet): |
| (getLSBSet): |
| (divideRoundedUp): |
| (timesThreePlusOneDividedByTwo): |
| (isNotZeroAndOrdered): |
| (isZeroOrUnordered): |
| (isGreaterThanNonZeroPowerOfTwo): |
| (isLessThan): |
| (isLessThanEqual): |
| (isGreaterThan): |
| (isGreaterThanEqual): |
| (wtf_pow): |
| (decomposeDouble): |
| (doubleToInteger): |
| (WTF::roundUpToPowerOfTwo): |
| (WTF::fastLog2): |
| (WTF::safeFPDivision): |
| (WTF::areEssentiallyEqual): |
| (WTF::nanPropagatingMin): |
| (WTF::nanPropagatingMax): |
| (WTF::isIntegral): |
| (WTF::incrementWithSaturation): |
| (WTF::leftShiftWithSaturation): |
| (WTF::nonEmptyRangesOverlap): |
| (WTF::rangesOverlap): |
| * StitchMarker/wtf/MonotonicTime.cpp: Added. |
| (WTF::MonotonicTime::now): |
| (WTF::MonotonicTime::approximateWallTime const): |
| (WTF::MonotonicTime::dump const): |
| * StitchMarker/wtf/MonotonicTime.h: Added. |
| (WTF::MonotonicTime::MonotonicTime): |
| (WTF::MonotonicTime::fromRawSeconds): |
| (WTF::MonotonicTime::infinity): |
| (WTF::MonotonicTime::nan): |
| (WTF::MonotonicTime::secondsSinceEpoch const): |
| (WTF::MonotonicTime::approximateMonotonicTime const): |
| (WTF::MonotonicTime::operator bool const): |
| (WTF::MonotonicTime::operator+ const): |
| (WTF::MonotonicTime::operator- const): |
| (WTF::MonotonicTime::operator% const): |
| (WTF::MonotonicTime::operator+=): |
| (WTF::MonotonicTime::operator-=): |
| (WTF::MonotonicTime::operator== const): |
| (WTF::MonotonicTime::operator!= const): |
| (WTF::MonotonicTime::operator< const): |
| (WTF::MonotonicTime::operator> const): |
| (WTF::MonotonicTime::operator<= const): |
| (WTF::MonotonicTime::operator>= const): |
| (std::isnan): |
| (std::isinf): |
| (std::isfinite): |
| * StitchMarker/wtf/NeverDestroyed.h: Added. |
| (WTF::NeverDestroyed::NeverDestroyed): |
| (WTF::NeverDestroyed::operator T&): |
| (WTF::NeverDestroyed::get): |
| (WTF::NeverDestroyed::operator const T& const): |
| (WTF::NeverDestroyed::get const): |
| (WTF::NeverDestroyed::storagePointer const): |
| (WTF::NeverDestroyed::MaybeRelax::MaybeRelax): |
| (WTF::LazyNeverDestroyed::construct): |
| (WTF::LazyNeverDestroyed::operator T&): |
| (WTF::LazyNeverDestroyed::get): |
| (WTF::LazyNeverDestroyed::operator->): |
| (WTF::LazyNeverDestroyed::operator const T& const): |
| (WTF::LazyNeverDestroyed::get const): |
| (WTF::LazyNeverDestroyed::operator-> const): |
| (WTF::LazyNeverDestroyed::storagePointer const): |
| (WTF::LazyNeverDestroyed::MaybeRelax::MaybeRelax): |
| (WTF::makeNeverDestroyed): |
| * StitchMarker/wtf/Noncopyable.h: Added. |
| * StitchMarker/wtf/NotFound.h: Added. |
| * StitchMarker/wtf/Optional.h: Added. |
| (std::detail_::is_assignable::has_assign): |
| (std::detail_::is_assignable::sizeof): |
| (std::detail_::has_overloaded_addressof::has_overload): |
| (std::detail_::has_overloaded_addressof::sizeof): |
| (std::detail_::TR2_OPTIONAL_REQUIRES): |
| (std::detail_::convert): |
| (std::nullopt_t::nullopt_t): |
| (std::bad_optional_access::bad_optional_access): |
| (std::optional_base::optional_base): |
| (std::optional_base::TR2_OPTIONAL_REQUIRES): |
| (std::optional_base::~optional_base): |
| (std::constexpr_optional_base::constexpr_optional_base): |
| (std::constexpr_optional_base::TR2_OPTIONAL_REQUIRES): |
| (std::optional::dataptr): |
| (std::optional::dataptr const): |
| (std::optional::contained_val const): |
| (std::optional::contained_val): |
| (std::optional::__NOEXCEPT_): |
| (std::optional::optional): |
| (std::optional::TR2_OPTIONAL_REQUIRES): |
| (std::optional::operator=): |
| (std::optional::emplace): |
| (std::optional::operator -> const): |
| (std::optional::operator ->): |
| (std::optional::operator * const): |
| (std::optional::operator *): |
| (std::optional::value const): |
| (std::optional::value): |
| (std::optional::value_or const): |
| (std::optional::value_or): |
| (std::optional<T::operator-> const): |
| (std::optional<T::operator* const): |
| (std::optional<T::value const): |
| (std::optional<T::value_or const): |
| (std::operator==): |
| (std::operator!=): |
| (std::operator<): |
| (std::operator>): |
| (std::operator<=): |
| (std::operator>=): |
| (std::__NOEXCEPT_): |
| (std::make_optional): |
| (WTF::valueOrCompute): |
| (std::hash<std::optional<T>>::operator() const): |
| * StitchMarker/wtf/ParkingLot.cpp: Added. |
| (WTF::ParkingLot::parkConditionallyImpl): |
| (WTF::ParkingLot::unparkOne): |
| (WTF::ParkingLot::unparkOneImpl): |
| (WTF::ParkingLot::unparkCount): |
| (WTF::ParkingLot::unparkAll): |
| (WTF::ParkingLot::forEachImpl): |
| * StitchMarker/wtf/ParkingLot.h: Added. |
| (WTF::ParkingLot::parkConditionally): |
| (WTF::ParkingLot::compareAndPark): |
| (WTF::ParkingLot::unparkOne): |
| (WTF::ParkingLot::forEach): |
| * StitchMarker/wtf/Platform.h: Added. |
| * StitchMarker/wtf/PlatformRegisters.h: Added. |
| (WTF::registersFromUContext): |
| * StitchMarker/wtf/PrintStream.cpp: Added. |
| (WTF::PrintStream::PrintStream): |
| (WTF::PrintStream::~PrintStream): |
| (WTF::PrintStream::printf): |
| (WTF::PrintStream::printfVariableFormat): |
| (WTF::PrintStream::flush): |
| (WTF::PrintStream::begin): |
| (WTF::PrintStream::end): |
| (WTF::printInternal): |
| (WTF::dumpCharacter): |
| * StitchMarker/wtf/PrintStream.h: Added. |
| (WTF::boolForPrinting): |
| (WTF::PrintStream::atomically): |
| (WTF::PrintStream::print): |
| (WTF::PrintStream::println): |
| (WTF::PrintStream::printImpl): |
| (WTF::printInternal): |
| (WTF::PointerDump::PointerDump): |
| (WTF::PointerDump::dump const): |
| (WTF::pointerDump): |
| (WTF::ValueInContext::ValueInContext): |
| (WTF::ValueInContext::dump const): |
| (WTF::inContext): |
| (WTF::PointerDumpInContext::PointerDumpInContext): |
| (WTF::PointerDumpInContext::dump const): |
| (WTF::pointerDumpInContext): |
| (WTF::ValueIgnoringContext::ValueIgnoringContext): |
| (WTF::ValueIgnoringContext::dump const): |
| (WTF::ignoringContext): |
| (WTF::>::unpack): |
| (WTF::FormatImpl::FormatImpl): |
| (WTF::FormatImpl::dump const): |
| * StitchMarker/wtf/ProcessID.h: Added. |
| (WTF::getCurrentProcessID): |
| * StitchMarker/wtf/RandomNumberSeed.h: Added. |
| (WTF::initializeRandomNumberGenerator): |
| * StitchMarker/wtf/RawPointer.h: Added. |
| (WTF::RawPointer::RawPointer): |
| (WTF::RawPointer::value const): |
| * StitchMarker/wtf/RecursiveLockAdapter.h: Added. |
| (WTF::RecursiveLockAdapter::RecursiveLockAdapter): |
| (WTF::RecursiveLockAdapter::lock): |
| (WTF::RecursiveLockAdapter::unlock): |
| (WTF::RecursiveLockAdapter::tryLock): |
| (WTF::RecursiveLockAdapter::isLocked const): |
| * StitchMarker/wtf/Ref.h: Added. |
| (WTF::adopted): |
| (WTF::Ref::~Ref): |
| (WTF::Ref::Ref): |
| (WTF::Ref::isHashTableDeletedValue const): |
| (WTF::Ref::hashTableDeletedValue): |
| (WTF::Ref::isHashTableEmptyValue const): |
| (WTF::Ref::hashTableEmptyValue): |
| (WTF::Ref::ptrAllowingHashTableEmptyValue const): |
| (WTF::Ref::ptrAllowingHashTableEmptyValue): |
| (WTF::Ref::assignToHashTableEmptyValue): |
| (WTF::Ref::operator-> const): |
| (WTF::Ref::get const): |
| (WTF::Ref::operator T& const): |
| (WTF::Ref::operator! const): |
| (WTF::=): |
| (WTF::Ref<T>::swap): |
| (WTF::swap): |
| (WTF::Ref<T>::replace): |
| (WTF::static_reference_cast): |
| (WTF::GetPtrHelper<Ref<T>>::getPtr): |
| (WTF::adoptRef): |
| (WTF::makeRef): |
| (WTF::is): |
| * StitchMarker/wtf/RefCounted.h: Added. |
| (WTF::RefCountedBase::ref const): |
| (WTF::RefCountedBase::hasOneRef const): |
| (WTF::RefCountedBase::refCount const): |
| (WTF::RefCountedBase::relaxAdoptionRequirement): |
| (WTF::RefCountedBase::RefCountedBase): |
| (WTF::RefCountedBase::~RefCountedBase): |
| (WTF::RefCountedBase::derefBase const): |
| (WTF::RefCountedBase::deletionHasBegun const): |
| (WTF::adopted): |
| (WTF::RefCounted::deref const): |
| (WTF::RefCounted::RefCounted): |
| (WTF::RefCounted::~RefCounted): |
| * StitchMarker/wtf/RefPtr.h: Added. |
| (WTF::refIfNotNull): |
| (WTF::derefIfNotNull): |
| (WTF::RefPtr::RefPtr): |
| (WTF::RefPtr::isHashTableDeletedValue const): |
| (WTF::RefPtr::~RefPtr): |
| (WTF::RefPtr::get const): |
| (WTF::RefPtr::releaseNonNull): |
| (WTF::RefPtr::releaseConstNonNull): |
| (WTF::RefPtr::operator* const): |
| (WTF::RefPtr::operator-> const): |
| (WTF::RefPtr::operator! const): |
| (WTF::RefPtr::operator UnspecifiedBoolType const): |
| (WTF::RefPtr::hashTableDeletedValue): |
| (WTF::RefPtr<T>::RefPtr): |
| (WTF::RefPtr<T>::leakRef): |
| (WTF::=): |
| (WTF::RefPtr<T>::swap): |
| (WTF::swap): |
| (WTF::operator==): |
| (WTF::operator!=): |
| (WTF::static_pointer_cast): |
| (WTF::adoptRef): |
| (WTF::makeRefPtr): |
| * StitchMarker/wtf/RetainPtr.h: Added. |
| (WTF::RetainPtr::RetainPtr): |
| (WTF::RetainPtr::isHashTableDeletedValue const): |
| (WTF::RetainPtr::get const): |
| (WTF::RetainPtr::operator-> const): |
| (WTF::RetainPtr::operator PtrType const): |
| (WTF::RetainPtr::operator bool const): |
| (WTF::RetainPtr::operator! const): |
| (WTF::RetainPtr::operator UnspecifiedBoolType const): |
| (WTF::RetainPtr::hashTableDeletedValue): |
| (WTF::RetainPtr::fromStorageTypeHelper const): |
| (WTF::RetainPtr::fromStorageType const): |
| (WTF::RetainPtr::toStorageType const): |
| (WTF::RetainPtr<T>::~RetainPtr): |
| (WTF::RetainPtr<T>::RetainPtr): |
| (WTF::RetainPtr<T>::clear): |
| (WTF::RetainPtr<T>::leakRef): |
| (WTF::RetainPtr<T>::autorelease): |
| (WTF::=): |
| (WTF::RetainPtr<T>::swap): |
| (WTF::swap): |
| (WTF::operator==): |
| (WTF::operator!=): |
| (WTF::adoptCF): |
| (WTF::adoptNS): |
| (WTF::retainPtr): |
| (WTF::RetainPtrObjectHashTraits::emptyValue): |
| (WTF::RetainPtrObjectHash::hash): |
| (WTF::RetainPtrObjectHash::equal): |
| (WTF::dynamic_objc_cast): |
| * StitchMarker/wtf/RunLoop.cpp: Added. |
| (WTF::RunLoop::Holder::Holder): |
| (WTF::RunLoop::Holder::runLoop): |
| (WTF::RunLoop::initializeMainRunLoop): |
| (WTF::RunLoop::current): |
| (WTF::RunLoop::main): |
| (WTF::RunLoop::isMain): |
| (WTF::RunLoop::performWork): |
| (WTF::RunLoop::dispatch): |
| * StitchMarker/wtf/RunLoop.h: Added. |
| (WTF::RunLoop::mainContext const): |
| (WTF::RunLoop::TimerBase::startRepeating): |
| (WTF::RunLoop::TimerBase::startOneShot): |
| (WTF::RunLoop::TimerBase::startInternal): |
| (WTF::RunLoop::Timer::Timer): |
| * StitchMarker/wtf/ScopedLambda.h: Added. |
| (WTF::ScopedLambda<ResultType): |
| (WTF::scopedLambda): |
| (WTF::scopedLambdaRef): |
| * StitchMarker/wtf/Seconds.cpp: Added. |
| (WTF::Seconds::operator+ const): |
| (WTF::Seconds::operator- const): |
| (WTF::Seconds::dump const): |
| (WTF::sleep): |
| * StitchMarker/wtf/Seconds.h: Added. |
| (WTF::Seconds::Seconds): |
| (WTF::Seconds::value const): |
| (WTF::Seconds::minutes const): |
| (WTF::Seconds::seconds const): |
| (WTF::Seconds::milliseconds const): |
| (WTF::Seconds::microseconds const): |
| (WTF::Seconds::nanoseconds const): |
| (WTF::Seconds::minutesAs const): |
| (WTF::Seconds::secondsAs const): |
| (WTF::Seconds::millisecondsAs const): |
| (WTF::Seconds::microsecondsAs const): |
| (WTF::Seconds::nanosecondsAs const): |
| (WTF::Seconds::fromMinutes): |
| (WTF::Seconds::fromHours): |
| (WTF::Seconds::fromMilliseconds): |
| (WTF::Seconds::fromMicroseconds): |
| (WTF::Seconds::fromNanoseconds): |
| (WTF::Seconds::infinity): |
| (WTF::Seconds::operator bool const): |
| (WTF::Seconds::operator+ const): |
| (WTF::Seconds::operator- const): |
| (WTF::Seconds::operator* const): |
| (WTF::Seconds::operator/ const): |
| (WTF::Seconds::operator% const): |
| (WTF::Seconds::operator+=): |
| (WTF::Seconds::operator-=): |
| (WTF::Seconds::operator*=): |
| (WTF::Seconds::operator/=): |
| (WTF::Seconds::operator%=): |
| (WTF::Seconds::operator== const): |
| (WTF::Seconds::operator!= const): |
| (WTF::Seconds::operator< const): |
| (WTF::Seconds::operator> const): |
| (WTF::Seconds::operator<= const): |
| (WTF::Seconds::operator>= const): |
| (WTF::seconds_literals::operator _min): |
| (WTF::seconds_literals::operator _h): |
| (WTF::seconds_literals::operator _s): |
| (WTF::seconds_literals::operator _ms): |
| (WTF::seconds_literals::operator _us): |
| (WTF::seconds_literals::operator _ns): |
| (std::isnan): |
| (std::isinf): |
| (std::isfinite): |
| * StitchMarker/wtf/StackBounds.cpp: Added. |
| (WTF::StackBounds::newThreadStackBounds): |
| (WTF::StackBounds::currentThreadStackBoundsInternal): |
| * StitchMarker/wtf/StackBounds.h: Added. |
| (WTF::StackBounds::emptyBounds): |
| (WTF::StackBounds::currentThreadStackBounds): |
| (WTF::StackBounds::origin const): |
| (WTF::StackBounds::end const): |
| (WTF::StackBounds::size const): |
| (WTF::StackBounds::isEmpty const): |
| (WTF::StackBounds::contains const): |
| (WTF::StackBounds::recursionLimit const): |
| (WTF::StackBounds::isGrowingDownward const): |
| (WTF::StackBounds::StackBounds): |
| (WTF::StackBounds::checkConsistency const): |
| * StitchMarker/wtf/StackStats.h: Added. |
| (WTF::StackStats::CheckPoint::CheckPoint): |
| (WTF::StackStats::PerThreadStats::PerThreadStats): |
| (WTF::StackStats::LayoutCheckPoint::LayoutCheckPoint): |
| (WTF::StackStats::probe): |
| * StitchMarker/wtf/StackTrace.cpp: Added. |
| (WTFGetBacktrace): |
| (WTF::StackTrace::instanceSize): |
| (WTF::StackTrace::captureStackTrace): |
| (WTF::StackTrace::demangle): |
| (WTF::StackTrace::dump const): |
| * StitchMarker/wtf/StackTrace.h: Added. |
| (WTF::StackTrace::StackTrace): |
| (WTF::StackTrace::size const): |
| (WTF::StackTrace::stack const): |
| (WTF::StackTrace::DemangleEntry::mangledName const): |
| (WTF::StackTrace::DemangleEntry::demangledName const): |
| (WTF::StackTrace::DemangleEntry::DemangleEntry): |
| * StitchMarker/wtf/StdLibExtras.h: Added. |
| (isPointerTypeAlignmentOkay): |
| (reinterpret_cast_ptr): |
| (WTF::isPointerAligned): |
| (WTF::is8ByteAligned): |
| (WTF::bitwise_cast): |
| (WTF::safeCast): |
| (WTF::bitCount): |
| (WTF::roundUpToMultipleOfImpl0): |
| (WTF::roundUpToMultipleOfImpl): |
| (WTF::roundUpToMultipleOf): |
| (WTF::binarySearchImpl): |
| (WTF::binarySearch): |
| (WTF::tryBinarySearch): |
| (WTF::approximateBinarySearch): |
| (WTF::insertIntoBoundedVector): |
| (WTF::isStatelessLambda): |
| (WTF::callStatelessLambda): |
| (WTF::checkAndSet): |
| (WTF::findBitInWord): |
| (WTF::Visitor::Visitor): |
| (WTF::Visitor<A>::Visitor): |
| (WTF::mergeDeduplicatedSorted): |
| (operator new): |
| (std::make_unique): |
| (std::exchange): |
| (std::move): |
| * StitchMarker/wtf/StringExtras.h: Added. |
| (strncasecmp): |
| (strcasecmp): |
| (strnstr): |
| * StitchMarker/wtf/StringPrintStream.h: Added. |
| (WTF::StringPrintStream::length const): |
| (WTF::toCString): |
| (WTF::toString): |
| * StitchMarker/wtf/SystemFree.h: Added. |
| (WTF::SystemFree::operator() const): |
| (WTF::SystemFree<T::operator() const): |
| * StitchMarker/wtf/ThreadGroup.h: Added. |
| (WTF::ThreadGroup::create): |
| (WTF::ThreadGroup::threads const): |
| (WTF::ThreadGroup::getLock): |
| (WTF::ThreadGroup::weakFromThis): |
| * StitchMarker/wtf/ThreadHolder.cpp: Added. |
| (WTF::ThreadHolder::~ThreadHolder): |
| * StitchMarker/wtf/ThreadHolder.h: Added. |
| (WTF::ThreadHolder::thread): |
| (WTF::ThreadHolder::ThreadHolder): |
| * StitchMarker/wtf/ThreadHolderPthreads.cpp: Added. |
| (WTF::ThreadHolder::initializeOnce): |
| (WTF::ThreadHolder::current): |
| (WTF::ThreadHolder::initialize): |
| (WTF::ThreadHolder::destruct): |
| * StitchMarker/wtf/ThreadMessage.h: Added. |
| (WTF::sendMessage): |
| * StitchMarker/wtf/ThreadSafeRefCounted.h: Added. |
| (WTF::ThreadSafeRefCountedBase::ref const): |
| (WTF::ThreadSafeRefCountedBase::hasOneRef const): |
| (WTF::ThreadSafeRefCountedBase::refCount const): |
| (WTF::ThreadSafeRefCountedBase::derefBase const): |
| (WTF::ThreadSafeRefCounted::deref const): |
| * StitchMarker/wtf/ThreadSpecific.h: Added. |
| (WTF::ThreadSpecific::Data::Data): |
| (WTF::threadSpecificKeyCreate): |
| (WTF::threadSpecificKeyDelete): |
| (WTF::threadSpecificSet): |
| (WTF::threadSpecificGet): |
| (WTF::canBeGCThread>::ThreadSpecific): |
| (WTF::canBeGCThread>::get): |
| (WTF::canBeGCThread>::set): |
| (WTF::canBeGCThread>::~ThreadSpecific): |
| (WTF::canBeGCThread>::destroy): |
| (WTF::canBeGCThread>::isSet): |
| (WTF::T): |
| (WTF::canBeGCThread>::operator): |
| (WTF::canBeGCThread>::replace): |
| * StitchMarker/wtf/Threading.cpp: Added. |
| (WTF::Thread::NewThreadContext::NewThreadContext): |
| (WTF::Thread::normalizeThreadName): |
| (WTF::Thread::entryPoint): |
| (WTF::Thread::create): |
| (WTF::Thread::currentMayBeNull): |
| (WTF::shouldRemoveThreadFromThreadGroup): |
| (WTF::Thread::didExit): |
| (WTF::Thread::addToThreadGroup): |
| (WTF::Thread::removeFromThreadGroup): |
| (WTF::Thread::setCurrentThreadIsUserInteractive): |
| (WTF::Thread::setCurrentThreadIsUserInitiated): |
| (WTF::Thread::setGlobalMaxQOSClass): |
| (WTF::Thread::adjustedQOSClass): |
| (WTF::Thread::dump const): |
| (WTF::initializeThreading): |
| * StitchMarker/wtf/Threading.h: Added. |
| (WTF::Thread::id const): |
| (WTF::Thread::operator==): |
| (WTF::Thread::operator!=): |
| (WTF::Thread::stack const): |
| (WTF::Thread::machThread): |
| (WTF::Thread::joinableState): |
| (WTF::Thread::didBecomeDetached): |
| (WTF::Thread::didJoin): |
| (WTF::Thread::hasExited): |
| (WTF::currentThread): |
| * StitchMarker/wtf/ThreadingPrimitives.h: Added. |
| (WTF::Mutex::impl): |
| * StitchMarker/wtf/ThreadingPthreads.cpp: Added. |
| (WTF::Thread::Thread): |
| (WTF::Thread::~Thread): |
| (WTF::getApproximateStackPointer): |
| (WTF::isOnAlternativeSignalStack): |
| (WTF::Thread::signalHandlerSuspendResume): |
| (WTF::Thread::initializePlatformThreading): |
| (WTF::Thread::initializeCurrentThreadEvenIfNonWTFCreated): |
| (WTF::wtfThreadEntryPoint): |
| (WTF::Thread::establishHandle): |
| (WTF::Thread::initializeCurrentThreadInternal): |
| (WTF::Thread::changePriority): |
| (WTF::Thread::waitForCompletion): |
| (WTF::Thread::detach): |
| (WTF::Thread::current): |
| (WTF::Thread::currentID): |
| (WTF::Thread::signal): |
| (WTF::Thread::suspend): |
| (WTF::Thread::resume): |
| (WTF::threadStateMetadata): |
| (WTF::Thread::getRegisters): |
| (WTF::Thread::establishPlatformSpecificHandle): |
| (WTF::Mutex::Mutex): |
| (WTF::Mutex::~Mutex): |
| (WTF::Mutex::lock): |
| (WTF::Mutex::tryLock): |
| (WTF::Mutex::unlock): |
| (WTF::ThreadCondition::ThreadCondition): |
| (WTF::ThreadCondition::~ThreadCondition): |
| (WTF::ThreadCondition::wait): |
| (WTF::ThreadCondition::timedWait): |
| (WTF::ThreadCondition::signal): |
| (WTF::ThreadCondition::broadcast): |
| (WTF::Thread::yield): |
| * StitchMarker/wtf/TimeWithDynamicClockType.cpp: Added. |
| (WTF::TimeWithDynamicClockType::now): |
| (WTF::TimeWithDynamicClockType::nowWithSameClock const): |
| (WTF::TimeWithDynamicClockType::wallTime const): |
| (WTF::TimeWithDynamicClockType::monotonicTime const): |
| (WTF::TimeWithDynamicClockType::approximateWallTime const): |
| (WTF::TimeWithDynamicClockType::approximateMonotonicTime const): |
| (WTF::TimeWithDynamicClockType::operator- const): |
| (WTF::TimeWithDynamicClockType::operator< const): |
| (WTF::TimeWithDynamicClockType::operator> const): |
| (WTF::TimeWithDynamicClockType::operator<= const): |
| (WTF::TimeWithDynamicClockType::operator>= const): |
| (WTF::TimeWithDynamicClockType::dump const): |
| (WTF::sleep): |
| (WTF::hasElapsed): |
| * StitchMarker/wtf/TimeWithDynamicClockType.h: Added. |
| (WTF::TimeWithDynamicClockType::TimeWithDynamicClockType): |
| (WTF::TimeWithDynamicClockType::fromRawSeconds): |
| (WTF::TimeWithDynamicClockType::secondsSinceEpoch const): |
| (WTF::TimeWithDynamicClockType::clockType const): |
| (WTF::TimeWithDynamicClockType::withSameClockAndRawSeconds const): |
| (WTF::TimeWithDynamicClockType::operator bool const): |
| (WTF::TimeWithDynamicClockType::operator+ const): |
| (WTF::TimeWithDynamicClockType::operator- const): |
| (WTF::TimeWithDynamicClockType::operator+=): |
| (WTF::TimeWithDynamicClockType::operator-=): |
| (WTF::TimeWithDynamicClockType::operator== const): |
| (WTF::TimeWithDynamicClockType::operator!= const): |
| (std::isnan): |
| (std::isinf): |
| (std::isfinite): |
| * StitchMarker/wtf/TypeCasts.h: Added. |
| (WTF::TypeCastTraits::isOfType): |
| (WTF::is): |
| (WTF::downcast): |
| * StitchMarker/wtf/ValueCheck.h: Added. |
| (WTF::ValueCheck::checkConsistency): |
| (WTF::ValueCheck<P::checkConsistency): |
| * StitchMarker/wtf/Variant.h: Added. |
| (WTF::in_place): |
| (WTF::__throw_bad_variant_access): |
| (WTF::=): |
| (WTF::__variant_storage::__get): |
| (WTF::__variant_storage::__get_rref): |
| (WTF::__variant_storage::__destroy): |
| (WTF::__storage_wrapper::__construct): |
| (WTF::__storage_wrapper::__storage_wrapper): |
| (WTF::__storage_wrapper::__get): |
| (WTF::__storage_wrapper::__get const): |
| (WTF::__storage_wrapper::__destroy): |
| (WTF::__storage_wrapper<_Type::__storage_wrapper): |
| (WTF::__storage_wrapper<_Type::__get): |
| (WTF::__storage_wrapper<_Type::__get const): |
| (WTF::__variant_base::~__variant_base): |
| (WTF::__backup_storage_ops::__move_construct_func): |
| (WTF::__backup_storage_ops::__destroy_func): |
| (WTF::__backup_storage::__backup_storage): |
| (WTF::__backup_storage::__destroy): |
| (WTF::__backup_storage::~__backup_storage): |
| (WTF::Variant<>::swap): |
| (WTF::__NOEXCEPT_): |
| (WTF::__variant_accessor::get): |
| (WTF::get): |
| (WTF::get_if): |
| (WTF::__visitor_table::__trampoline_func): |
| (WTF::visit): |
| (WTF::__arg_selector): |
| (WTF::__visit_helper2::__visit): |
| (WTF::operator==): |
| (WTF::operator!=): |
| (WTF::operator<): |
| (WTF::operator>): |
| (WTF::operator>=): |
| (WTF::operator<=): |
| (WTF::__hash_visitor::operator()): |
| (WTF::switchOn): |
| * StitchMarker/wtf/Vector.h: Added. |
| (WTF::VectorTypeOperations::destruct): |
| (WTF::VectorTypeOperations::initialize): |
| (WTF::VectorTypeOperations::move): |
| (WTF::VectorTypeOperations::moveOverlapping): |
| (WTF::VectorTypeOperations::uninitializedCopy): |
| (WTF::VectorTypeOperations::uninitializedFill): |
| (WTF::VectorTypeOperations::compare): |
| (WTF::VectorBufferBase::allocateBuffer): |
| (WTF::VectorBufferBase::tryAllocateBuffer): |
| (WTF::VectorBufferBase::shouldReallocateBuffer const): |
| (WTF::VectorBufferBase::reallocateBuffer): |
| (WTF::VectorBufferBase::deallocateBuffer): |
| (WTF::VectorBufferBase::buffer): |
| (WTF::VectorBufferBase::buffer const): |
| (WTF::VectorBufferBase::bufferMemoryOffset): |
| (WTF::VectorBufferBase::capacity const): |
| (WTF::VectorBufferBase::releaseBuffer): |
| (WTF::VectorBufferBase::VectorBufferBase): |
| (WTF::VectorBufferBase::~VectorBufferBase): |
| (WTF::VectorBuffer::VectorBuffer): |
| (WTF::VectorBuffer::~VectorBuffer): |
| (WTF::VectorBuffer::allocateBuffer): |
| (WTF::VectorBuffer::tryAllocateBuffer): |
| (WTF::VectorBuffer::deallocateBuffer): |
| (WTF::VectorBuffer::shouldReallocateBuffer const): |
| (WTF::VectorBuffer::reallocateBuffer): |
| (WTF::VectorBuffer::swap): |
| (WTF::VectorBuffer::restoreInlineBufferIfNeeded): |
| (WTF::VectorBuffer::endOfBuffer): |
| (WTF::VectorBuffer::releaseBuffer): |
| (WTF::VectorBuffer::swapInlineBuffer): |
| (WTF::VectorBuffer::swapInlineBuffers): |
| (WTF::VectorBuffer::inlineBuffer): |
| (WTF::VectorBuffer::inlineBuffer const): |
| (WTF::UnsafeVectorOverflow::overflowed): |
| (WTF::Vector::Vector): |
| (WTF::Vector::~Vector): |
| (WTF::Vector::size const): |
| (WTF::Vector::sizeMemoryOffset): |
| (WTF::Vector::capacity const): |
| (WTF::Vector::isEmpty const): |
| (WTF::Vector::at): |
| (WTF::Vector::at const): |
| (WTF::Vector::operator[]): |
| (WTF::Vector::operator[] const): |
| (WTF::Vector::data): |
| (WTF::Vector::data const): |
| (WTF::Vector::dataMemoryOffset): |
| (WTF::Vector::begin): |
| (WTF::Vector::end): |
| (WTF::Vector::begin const): |
| (WTF::Vector::end const): |
| (WTF::Vector::rbegin): |
| (WTF::Vector::rend): |
| (WTF::Vector::rbegin const): |
| (WTF::Vector::rend const): |
| (WTF::Vector::first): |
| (WTF::Vector::first const): |
| (WTF::Vector::last): |
| (WTF::Vector::last const): |
| (WTF::Vector::takeLast): |
| (WTF::Vector::shrinkToFit): |
| (WTF::Vector::clear): |
| (WTF::Vector::append): |
| (WTF::Vector::uncheckedAppend): |
| (WTF::Vector::removeLast): |
| (WTF::Vector::fill): |
| (WTF::Vector::swap): |
| (WTF::Vector::asanSetBufferSizeToFullCapacity): |
| (WTF::minCapacity>::Vector): |
| (WTF::=): |
| (WTF::typelessPointersAreEqual): |
| (WTF::minCapacity>::contains const): |
| (WTF::minCapacity>::findMatching const): |
| (WTF::minCapacity>::find const): |
| (WTF::minCapacity>::reverseFind const): |
| (WTF::minCapacity>::appendIfNotContains): |
| (WTF::minCapacity>::fill): |
| (WTF::minCapacity>::appendRange): |
| (WTF::minCapacity>::expandCapacity): |
| (WTF::minCapacity>::tryExpandCapacity): |
| (WTF::minCapacity>::resize): |
| (WTF::minCapacity>::resizeToFit): |
| (WTF::minCapacity>::shrink): |
| (WTF::minCapacity>::grow): |
| (WTF::minCapacity>::asanSetInitialBufferSizeTo): |
| (WTF::minCapacity>::asanSetBufferSizeToFullCapacity): |
| (WTF::minCapacity>::asanBufferSizeWillChangeTo): |
| (WTF::minCapacity>::reserveCapacity): |
| (WTF::minCapacity>::tryReserveCapacity): |
| (WTF::minCapacity>::reserveInitialCapacity): |
| (WTF::minCapacity>::shrinkCapacity): |
| (WTF::minCapacity>::append): |
| (WTF::minCapacity>::tryAppend): |
| (WTF::minCapacity>::constructAndAppend): |
| (WTF::minCapacity>::tryConstructAndAppend): |
| (WTF::minCapacity>::appendSlowCase): |
| (WTF::minCapacity>::constructAndAppendSlowCase): |
| (WTF::minCapacity>::tryConstructAndAppendSlowCase): |
| (WTF::minCapacity>::uncheckedAppend): |
| (WTF::minCapacity>::appendVector): |
| (WTF::minCapacity>::insert): |
| (WTF::minCapacity>::insertVector): |
| (WTF::minCapacity>::remove): |
| (WTF::minCapacity>::removeFirst): |
| (WTF::minCapacity>::removeFirstMatching): |
| (WTF::minCapacity>::removeAll): |
| (WTF::minCapacity>::removeAllMatching): |
| (WTF::minCapacity>::reverse): |
| (WTF::minCapacity>::map const): |
| (WTF::minCapacity>::releaseBuffer): |
| (WTF::minCapacity>::checkConsistency): |
| (WTF::swap): |
| (WTF::operator==): |
| (WTF::operator!=): |
| (WTF::ValueCheck<Vector<T>>::checkConsistency): |
| (WTF::removeRepeatedElements): |
| * StitchMarker/wtf/VectorTraits.h: Added. |
| * StitchMarker/wtf/WTFThreadData.cpp: Added. |
| (WTF::WTFThreadData::WTFThreadData): |
| (WTF::WTFThreadData::~WTFThreadData): |
| (WTF::WTFThreadData::createAndRegisterForGetspecificDirect): |
| * StitchMarker/wtf/WTFThreadData.h: Added. |
| (WTF::WTFThreadData::atomicStringTable): |
| (WTF::WTFThreadData::setCurrentAtomicStringTable): |
| (WTF::WTFThreadData::stack): |
| (WTF::WTFThreadData::stackStats): |
| (WTF::WTFThreadData::savedStackPointerAtVMEntry): |
| (WTF::WTFThreadData::setSavedStackPointerAtVMEntry): |
| (WTF::WTFThreadData::savedLastStackTop): |
| (WTF::WTFThreadData::setSavedLastStackTop): |
| (WTF::wtfThreadData): |
| * StitchMarker/wtf/WallTime.cpp: Added. |
| (WTF::WallTime::now): |
| (WTF::WallTime::approximateMonotonicTime const): |
| (WTF::WallTime::dump const): |
| * StitchMarker/wtf/WallTime.h: Added. |
| (WTF::WallTime::WallTime): |
| (WTF::WallTime::fromRawSeconds): |
| (WTF::WallTime::infinity): |
| (WTF::WallTime::secondsSinceEpoch const): |
| (WTF::WallTime::approximateWallTime const): |
| (WTF::WallTime::operator bool const): |
| (WTF::WallTime::operator+ const): |
| (WTF::WallTime::operator- const): |
| (WTF::WallTime::operator+=): |
| (WTF::WallTime::operator-=): |
| (WTF::WallTime::operator== const): |
| (WTF::WallTime::operator!= const): |
| (WTF::WallTime::operator< const): |
| (WTF::WallTime::operator> const): |
| (WTF::WallTime::operator<= const): |
| (WTF::WallTime::operator>= const): |
| (std::isnan): |
| (std::isinf): |
| (std::isfinite): |
| * StitchMarker/wtf/WeakRandom.h: Added. |
| (WTF::WeakRandom::WeakRandom): |
| (WTF::WeakRandom::setSeed): |
| (WTF::WeakRandom::seed const): |
| (WTF::WeakRandom::get): |
| (WTF::WeakRandom::getUint32): |
| (WTF::WeakRandom::lowOffset): |
| (WTF::WeakRandom::highOffset): |
| (WTF::WeakRandom::advance): |
| * StitchMarker/wtf/WordLock.cpp: Added. |
| (WTF::WordLockBase::lockSlow): |
| (WTF::WordLockBase::unlockSlow): |
| * StitchMarker/wtf/WordLock.h: Added. |
| (WTF::WordLockBase::lock): |
| (WTF::WordLockBase::unlock): |
| (WTF::WordLockBase::isHeld const): |
| (WTF::WordLockBase::isLocked const): |
| (WTF::WordLockBase::isFullyReset const): |
| (WTF::WordLock::WordLock): |
| * StitchMarker/wtf/benchmarks/ConditionSpeedTest.cpp: Added. |
| (main): |
| * StitchMarker/wtf/benchmarks/LockFairnessTest.cpp: Added. |
| (main): |
| * StitchMarker/wtf/benchmarks/LockSpeedTest.cpp: Added. |
| (main): |
| * StitchMarker/wtf/benchmarks/ToyLocks.h: Added. |
| * StitchMarker/wtf/dependencies/bmalloc/Algorithm.h: Added. |
| (bmalloc::max): |
| (bmalloc::min): |
| (bmalloc::mask): |
| (bmalloc::test): |
| (bmalloc::isPowerOfTwo): |
| (bmalloc::roundUpToMultipleOf): |
| (bmalloc::roundDownToMultipleOf): |
| (bmalloc::divideRoundingUp): |
| (bmalloc::roundUpToMultipleOfNonPowerOfTwo): |
| (bmalloc::sizeOf): |
| (bmalloc::bitCount): |
| (bmalloc::clzl): |
| (bmalloc::clzl<1>): |
| (bmalloc::__builtin_clzl): |
| (bmalloc::log2): |
| * StitchMarker/wtf/dependencies/bmalloc/AllocationKind.h: Added. |
| * StitchMarker/wtf/dependencies/bmalloc/Allocator.cpp: Added. |
| (bmalloc::Allocator::Allocator): |
| (bmalloc::Allocator::~Allocator): |
| (bmalloc::Allocator::tryAllocate): |
| (bmalloc::Allocator::allocate): |
| (bmalloc::Allocator::allocateImpl): |
| (bmalloc::Allocator::reallocate): |
| (bmalloc::Allocator::scavenge): |
| (bmalloc::Allocator::refillAllocatorSlowCase): |
| (bmalloc::Allocator::refillAllocator): |
| (bmalloc::Allocator::allocateLarge): |
| (bmalloc::Allocator::allocateLogSizeClass): |
| (bmalloc::Allocator::allocateSlowCase): |
| * StitchMarker/wtf/dependencies/bmalloc/Allocator.h: Added. |
| (bmalloc::Allocator::allocateFastCase): |
| (bmalloc::Allocator::allocate): |
| * StitchMarker/wtf/dependencies/bmalloc/AsyncTask.h: Added. |
| (bmalloc::AsyncTask::willRun): |
| (bmalloc::AsyncTask::willRunSoon): |
| (bmalloc::Function>::AsyncTask): |
| (bmalloc::Function>::~AsyncTask): |
| (bmalloc::Function>::run): |
| (bmalloc::Function>::runSoon): |
| (bmalloc::Function>::threadEntryPoint): |
| (bmalloc::Function>::threadRunLoop): |
| * StitchMarker/wtf/dependencies/bmalloc/AvailableMemory.h: Added. |
| (bmalloc::MemoryStatus::MemoryStatus): |
| (bmalloc::memoryFootprint): |
| (bmalloc::percentAvailableMemoryInUse): |
| (bmalloc::isUnderMemoryPressure): |
| * StitchMarker/wtf/dependencies/bmalloc/BAssert.h: Added. |
| * StitchMarker/wtf/dependencies/bmalloc/BExport.h: Added. |
| * StitchMarker/wtf/dependencies/bmalloc/BPlatform.h: Added. |
| * StitchMarker/wtf/dependencies/bmalloc/BumpAllocator.h: Added. |
| (bmalloc::BumpAllocator::size): |
| (bmalloc::BumpAllocator::isNull): |
| (bmalloc::BumpAllocator::canAllocate): |
| (bmalloc::BumpAllocator::BumpAllocator): |
| (bmalloc::BumpAllocator::init): |
| (bmalloc::BumpAllocator::allocate): |
| (bmalloc::BumpAllocator::refill): |
| (bmalloc::BumpAllocator::clear): |
| * StitchMarker/wtf/dependencies/bmalloc/BumpRange.h: Added. |
| * StitchMarker/wtf/dependencies/bmalloc/Cache.cpp: Added. |
| (bmalloc::Cache::scavenge): |
| (bmalloc::Cache::Cache): |
| (bmalloc::Cache::tryAllocateSlowCaseNullCache): |
| (bmalloc::Cache::allocateSlowCaseNullCache): |
| (bmalloc::Cache::deallocateSlowCaseNullCache): |
| (bmalloc::Cache::reallocateSlowCaseNullCache): |
| * StitchMarker/wtf/dependencies/bmalloc/Cache.h: Added. |
| (bmalloc::Cache::allocator): |
| (bmalloc::Cache::deallocator): |
| (bmalloc::Cache::tryAllocate): |
| (bmalloc::Cache::allocate): |
| (bmalloc::Cache::deallocate): |
| (bmalloc::Cache::reallocate): |
| * StitchMarker/wtf/dependencies/bmalloc/Chunk.h: Added. |
| (bmalloc::Chunk::ref): |
| (bmalloc::Chunk::deref): |
| (bmalloc::Chunk::refCount): |
| (bmalloc::Chunk::bytes): |
| (bmalloc::Chunk::lines): |
| (bmalloc::Chunk::pages): |
| (bmalloc::Chunk::freePages): |
| (bmalloc::ChunkHash::hash): |
| (bmalloc::forEachPage): |
| (bmalloc::Chunk::Chunk): |
| (bmalloc::Chunk::get): |
| (bmalloc::Chunk::offset): |
| (bmalloc::Chunk::address): |
| (bmalloc::Chunk::page): |
| (bmalloc::Chunk::line): |
| (bmalloc::SmallLine::begin): |
| (bmalloc::SmallLine::end): |
| (bmalloc::SmallPage::begin): |
| (bmalloc::Object::Object): |
| (bmalloc::Object::address): |
| (bmalloc::Object::line): |
| (bmalloc::Object::page): |
| * StitchMarker/wtf/dependencies/bmalloc/Deallocator.cpp: Added. |
| (bmalloc::Deallocator::Deallocator): |
| (bmalloc::Deallocator::~Deallocator): |
| (bmalloc::Deallocator::scavenge): |
| (bmalloc::Deallocator::processObjectLog): |
| (bmalloc::Deallocator::deallocateSlowCase): |
| * StitchMarker/wtf/dependencies/bmalloc/Deallocator.h: Added. |
| (bmalloc::Deallocator::lineCache): |
| (bmalloc::Deallocator::deallocateFastCase): |
| (bmalloc::Deallocator::deallocate): |
| * StitchMarker/wtf/dependencies/bmalloc/DebugHeap.cpp: Added. |
| (bmalloc::DebugHeap::DebugHeap): |
| (bmalloc::DebugHeap::malloc): |
| (bmalloc::DebugHeap::memalign): |
| (bmalloc::DebugHeap::realloc): |
| (bmalloc::DebugHeap::free): |
| * StitchMarker/wtf/dependencies/bmalloc/DebugHeap.h: Added. |
| * StitchMarker/wtf/dependencies/bmalloc/Environment.cpp: Added. |
| (bmalloc::isMallocEnvironmentVariableSet): |
| (bmalloc::isLibgmallocEnabled): |
| (bmalloc::isSanitizerEnabled): |
| (bmalloc::Environment::Environment): |
| (bmalloc::Environment::computeIsDebugHeapEnabled): |
| * StitchMarker/wtf/dependencies/bmalloc/Environment.h: Added. |
| (bmalloc::Environment::isDebugHeapEnabled): |
| * StitchMarker/wtf/dependencies/bmalloc/FixedVector.h: Added. |
| (bmalloc::FixedVector::begin const): |
| (bmalloc::FixedVector::end const): |
| (bmalloc::FixedVector::size const): |
| (bmalloc::FixedVector::capacity const): |
| (bmalloc::FixedVector::clear): |
| (bmalloc::FixedVector::isEmpty): |
| (bmalloc::Capacity>::FixedVector): |
| (bmalloc::Capacity>::operator): |
| (bmalloc::Capacity>::push): |
| (bmalloc::Capacity>::pop): |
| (bmalloc::Capacity>::shrink): |
| * StitchMarker/wtf/dependencies/bmalloc/Gigacage.cpp: Added. |
| (Gigacage::Callback::Callback): |
| (Gigacage::Callback::function): |
| (Gigacage::Callbacks::Callbacks): |
| (Gigacage::ensureGigacage): |
| (Gigacage::disableGigacage): |
| (Gigacage::addDisableCallback): |
| (Gigacage::removeDisableCallback): |
| (Gigacage::shouldBeEnabled): |
| * StitchMarker/wtf/dependencies/bmalloc/Gigacage.h: Added. |
| (Gigacage::caged): |
| (Gigacage::isCaged): |
| * StitchMarker/wtf/dependencies/bmalloc/Heap.cpp: Added. |
| (bmalloc::Heap::Heap): |
| (bmalloc::Heap::usingGigacage): |
| (bmalloc::Heap::initializeLineMetadata): |
| (bmalloc::Heap::initializePageMetadata): |
| (bmalloc::Heap::concurrentScavenge): |
| (bmalloc::Heap::scavenge): |
| (bmalloc::Heap::scheduleScavengerIfUnderMemoryPressure): |
| (bmalloc::Heap::scheduleScavenger): |
| (bmalloc::Heap::deallocateLineCache): |
| (bmalloc::Heap::allocateSmallChunk): |
| (bmalloc::Heap::deallocateSmallChunk): |
| (bmalloc::Heap::allocateSmallPage): |
| (bmalloc::Heap::deallocateSmallLine): |
| (bmalloc::Heap::allocateSmallBumpRangesByMetadata): |
| (bmalloc::Heap::allocateSmallBumpRangesByObject): |
| (bmalloc::Heap::splitAndAllocate): |
| (bmalloc::Heap::tryAllocateLarge): |
| (bmalloc::Heap::allocateLarge): |
| (bmalloc::Heap::isLarge): |
| (bmalloc::Heap::largeSize): |
| (bmalloc::Heap::shrinkLarge): |
| (bmalloc::Heap::deallocateLarge): |
| * StitchMarker/wtf/dependencies/bmalloc/Heap.h: Added. |
| (bmalloc::Heap::mutex): |
| (bmalloc::Heap::kind const): |
| (bmalloc::Heap::debugHeap): |
| (bmalloc::Heap::LargeObjectHash::hash): |
| (bmalloc::Heap::allocateSmallBumpRanges): |
| (bmalloc::Heap::derefSmallLine): |
| * StitchMarker/wtf/dependencies/bmalloc/HeapKind.h: Added. |
| * StitchMarker/wtf/dependencies/bmalloc/Inline.h: Added. |
| * StitchMarker/wtf/dependencies/bmalloc/LargeMap.cpp: Added. |
| (bmalloc::LargeMap::remove): |
| (bmalloc::LargeMap::add): |
| * StitchMarker/wtf/dependencies/bmalloc/LargeMap.h: Added. |
| (bmalloc::LargeMap::begin): |
| (bmalloc::LargeMap::end): |
| (bmalloc::LargeMap::ranges): |
| * StitchMarker/wtf/dependencies/bmalloc/LargeRange.h: Added. |
| (bmalloc::LargeRange::LargeRange): |
| (bmalloc::LargeRange::physicalSize const): |
| (bmalloc::LargeRange::setPhysicalSize): |
| (bmalloc::LargeRange::operator< const): |
| (bmalloc::canMerge): |
| (bmalloc::merge): |
| (bmalloc::LargeRange::split const): |
| * StitchMarker/wtf/dependencies/bmalloc/LineMetadata.h: Added. |
| * StitchMarker/wtf/dependencies/bmalloc/List.h: Added. |
| (bmalloc::ListNode::ListNode): |
| (bmalloc::List::iterator::iterator): |
| (bmalloc::List::iterator::operator*): |
| (bmalloc::List::iterator::operator->): |
| (bmalloc::List::iterator::operator!=): |
| (bmalloc::List::iterator::operator++): |
| (bmalloc::List::List): |
| (bmalloc::List::isEmpty): |
| (bmalloc::List::head): |
| (bmalloc::List::tail): |
| (bmalloc::List::begin): |
| (bmalloc::List::end): |
| (bmalloc::List::push): |
| (bmalloc::List::pushFront): |
| (bmalloc::List::pop): |
| (bmalloc::List::popFront): |
| (bmalloc::List::insertAfter): |
| (bmalloc::List::remove): |
| * StitchMarker/wtf/dependencies/bmalloc/Logging.cpp: Added. |
| (bmalloc::logVMFailure): |
| (bmalloc::reportAssertionFailureWithMessage): |
| * StitchMarker/wtf/dependencies/bmalloc/Logging.h: Added. |
| * StitchMarker/wtf/dependencies/bmalloc/Map.h: Added. |
| (bmalloc::Map::size): |
| (bmalloc::Map::capacity): |
| (bmalloc::Map::get): |
| (bmalloc::Map::set): |
| (bmalloc::Map::remove): |
| (bmalloc::Map::shouldGrow): |
| (bmalloc::Map::shouldShrink): |
| (bmalloc::Map::find): |
| (bmalloc::Hash>::rehash): |
| * StitchMarker/wtf/dependencies/bmalloc/Mutex.h: Added. |
| (bmalloc::Mutex::Mutex): |
| * StitchMarker/wtf/dependencies/bmalloc/Object.h: Added. |
| (bmalloc::Object::Object): |
| (bmalloc::Object::chunk): |
| (bmalloc::Object::offset): |
| (bmalloc::Object::operator+): |
| (bmalloc::Object::operator-): |
| (bmalloc::Object::operator<=): |
| * StitchMarker/wtf/dependencies/bmalloc/ObjectType.cpp: Added. |
| (bmalloc::objectType): |
| * StitchMarker/wtf/dependencies/bmalloc/ObjectType.h: Added. |
| (bmalloc::mightBeLarge): |
| * StitchMarker/wtf/dependencies/bmalloc/PerHeapKind.h: Added. |
| (bmalloc::PerHeapKindBase::PerHeapKindBase): |
| (bmalloc::PerHeapKindBase::size): |
| (bmalloc::PerHeapKindBase::at): |
| (bmalloc::PerHeapKindBase::at const): |
| (bmalloc::PerHeapKindBase::operator[]): |
| (bmalloc::PerHeapKindBase::operator[] const): |
| (bmalloc::StaticPerHeapKind::StaticPerHeapKind): |
| (bmalloc::PerHeapKind::PerHeapKind): |
| (bmalloc::PerHeapKind::~PerHeapKind): |
| * StitchMarker/wtf/dependencies/bmalloc/PerProcess.h: Added. |
| (bmalloc::PerProcess::mutex): |
| (bmalloc::PerProcess<T>::getFastCase): |
| (bmalloc::PerProcess<T>::get): |
| (bmalloc::PerProcess<T>::getSlowCase): |
| * StitchMarker/wtf/dependencies/bmalloc/PerThread.h: Added. |
| (bmalloc::PerThreadStorage<PerHeapKind<Cache>>::get): |
| (bmalloc::PerThreadStorage<PerHeapKind<Cache>>::init): |
| (bmalloc::PerThreadStorage::get): |
| (bmalloc::PerThreadStorage::init): |
| (bmalloc::PerThread<T>::getFastCase): |
| (bmalloc::PerThread<T>::get): |
| (bmalloc::PerThread<T>::destructor): |
| (bmalloc::PerThread<T>::getSlowCase): |
| * StitchMarker/wtf/dependencies/bmalloc/Range.h: Added. |
| (bmalloc::Range::Range): |
| (bmalloc::Range::begin const): |
| (bmalloc::Range::end const): |
| (bmalloc::Range::size const): |
| (bmalloc::Range::operator! const): |
| (bmalloc::Range::operator bool const): |
| (bmalloc::Range::operator< const): |
| (bmalloc::canMerge): |
| (bmalloc::merge): |
| * StitchMarker/wtf/dependencies/bmalloc/Scavenger.cpp: Added. |
| (bmalloc::Scavenger::Scavenger): |
| (bmalloc::Scavenger::scavenge): |
| * StitchMarker/wtf/dependencies/bmalloc/Scavenger.h: Added. |
| (bmalloc::Scavenger::setScavengerThreadQOSClass): |
| (bmalloc::Scavenger::requestedScavengerThreadQOSClass const): |
| * StitchMarker/wtf/dependencies/bmalloc/ScopeExit.h: Added. |
| (bmalloc::ScopeExit::ScopeExit): |
| (bmalloc::ScopeExit::~ScopeExit): |
| (bmalloc::makeScopeExit): |
| * StitchMarker/wtf/dependencies/bmalloc/Sizes.h: Added. |
| (bmalloc::Sizes::maskSizeClass): |
| (bmalloc::Sizes::maskObjectSize): |
| (bmalloc::Sizes::logSizeClass): |
| (bmalloc::Sizes::logObjectSize): |
| (bmalloc::Sizes::sizeClass): |
| (bmalloc::Sizes::objectSize): |
| (bmalloc::Sizes::pageSize): |
| * StitchMarker/wtf/dependencies/bmalloc/SmallLine.h: Added. |
| (bmalloc::SmallLine::refCount): |
| (bmalloc::SmallLine::ref): |
| (bmalloc::SmallLine::deref): |
| * StitchMarker/wtf/dependencies/bmalloc/SmallPage.h: Added. |
| (bmalloc::SmallPage::refCount): |
| (bmalloc::SmallPage::sizeClass): |
| (bmalloc::SmallPage::setSizeClass): |
| (bmalloc::SmallPage::hasFreeLines const): |
| (bmalloc::SmallPage::setHasFreeLines): |
| (bmalloc::SmallPage::hasPhysicalPages): |
| (bmalloc::SmallPage::setHasPhysicalPages): |
| (bmalloc::SmallPage::slide const): |
| (bmalloc::SmallPage::setSlide): |
| (bmalloc::SmallPage::ref): |
| (bmalloc::SmallPage::deref): |
| * StitchMarker/wtf/dependencies/bmalloc/StaticMutex.cpp: Added. |
| (bmalloc::StaticMutex::lockSlowCase): |
| * StitchMarker/wtf/dependencies/bmalloc/StaticMutex.h: Added. |
| (bmalloc::sleep): |
| (bmalloc::waitUntilFalse): |
| (bmalloc::StaticMutex::init): |
| (bmalloc::StaticMutex::try_lock): |
| (bmalloc::StaticMutex::lock): |
| (bmalloc::StaticMutex::unlock): |
| * StitchMarker/wtf/dependencies/bmalloc/Syscall.h: Added. |
| * StitchMarker/wtf/dependencies/bmalloc/VMAllocate.h: Added. |
| (bmalloc::vmPageSize): |
| (bmalloc::vmPageShift): |
| (bmalloc::vmSize): |
| (bmalloc::vmValidate): |
| (bmalloc::vmPageSizePhysical): |
| (bmalloc::vmValidatePhysical): |
| (bmalloc::tryVMAllocate): |
| (bmalloc::vmAllocate): |
| (bmalloc::vmDeallocate): |
| (bmalloc::vmRevokePermissions): |
| (bmalloc::vmDeallocatePhysicalPages): |
| (bmalloc::vmAllocatePhysicalPages): |
| (bmalloc::vmDeallocatePhysicalPagesSloppy): |
| (bmalloc::vmAllocatePhysicalPagesSloppy): |
| * StitchMarker/wtf/dependencies/bmalloc/VMHeap.cpp: Added. |
| (bmalloc::VMHeap::VMHeap): |
| (bmalloc::VMHeap::tryAllocateLargeChunk): |
| * StitchMarker/wtf/dependencies/bmalloc/VMHeap.h: Added. |
| * StitchMarker/wtf/dependencies/bmalloc/Vector.h: Added. |
| (bmalloc::Vector::begin): |
| (bmalloc::Vector::end): |
| (bmalloc::Vector::size): |
| (bmalloc::Vector::capacity): |
| (bmalloc::Vector::last): |
| (bmalloc::Vector::pop): |
| (bmalloc::Vector::initialCapacity): |
| (bmalloc::Vector<T>::Vector): |
| (bmalloc::Vector<T>::~Vector): |
| (bmalloc::Vector<T>::operator): |
| (bmalloc::Vector<T>::push): |
| (bmalloc::Vector<T>::pop): |
| (bmalloc::Vector<T>::insert): |
| (bmalloc::Vector<T>::remove): |
| (bmalloc::Vector<T>::grow): |
| (bmalloc::Vector<T>::shrink): |
| (bmalloc::Vector<T>::resize): |
| (bmalloc::Vector<T>::reallocateBuffer): |
| (bmalloc::Vector<T>::shrinkCapacity): |
| (bmalloc::Vector<T>::growCapacity): |
| (bmalloc::Vector<T>::shrinkToFit): |
| * StitchMarker/wtf/dependencies/bmalloc/Zone.cpp: Added. |
| (bmalloc::remoteRead): |
| (bmalloc::good_size): |
| (bmalloc::check): |
| (bmalloc::print): |
| (bmalloc::log): |
| (bmalloc::force_lock): |
| (bmalloc::force_unlock): |
| (bmalloc::statistics): |
| (bmalloc::zoneSize): |
| (bmalloc::enumerator): |
| (bmalloc::Zone::Zone): |
| * StitchMarker/wtf/dependencies/bmalloc/Zone.h: Added. |
| (bmalloc::Zone::ranges): |
| (bmalloc::Zone::addRange): |
| * StitchMarker/wtf/dependencies/bmalloc/bmalloc.h: Added. |
| (bmalloc::api::tryMalloc): |
| (bmalloc::api::malloc): |
| (bmalloc::api::tryMemalign): |
| (bmalloc::api::memalign): |
| (bmalloc::api::realloc): |
| (bmalloc::api::tryLargeMemalignVirtual): |
| (bmalloc::api::free): |
| (bmalloc::api::freeLargeVirtual): |
| (bmalloc::api::scavengeThisThread): |
| (bmalloc::api::scavenge): |
| (bmalloc::api::isEnabled): |
| (bmalloc::api::availableMemory): |
| (bmalloc::api::memoryFootprint): |
| (bmalloc::api::percentAvailableMemoryInUse): |
| (bmalloc::api::setScavengerThreadQOSClass): |
| * StitchMarker/wtf/dependencies/config.h: Added. |
| * StitchMarker/wtf/dependencies/icu/unicode/bytestream.h: Added. |
| (StringByteSink::StringByteSink): |
| (StringByteSink::Append): |
| * StitchMarker/wtf/dependencies/icu/unicode/chariter.h: Added. |
| (ForwardCharacterIterator::operator!= const): |
| (CharacterIterator::setToStart): |
| (CharacterIterator::setToEnd): |
| (CharacterIterator::startIndex const): |
| (CharacterIterator::endIndex const): |
| (CharacterIterator::getIndex const): |
| (CharacterIterator::getLength const): |
| * StitchMarker/wtf/dependencies/icu/unicode/localpointer.h: Added. |
| (LocalPointerBase::LocalPointerBase): |
| (LocalPointerBase::~LocalPointerBase): |
| (LocalPointerBase::isNull const): |
| (LocalPointerBase::isValid const): |
| (LocalPointerBase::operator== const): |
| (LocalPointerBase::operator!= const): |
| (LocalPointerBase::getAlias const): |
| (LocalPointerBase::operator* const): |
| (LocalPointerBase::operator-> const): |
| (LocalPointerBase::orphan): |
| (LocalPointerBase::adoptInstead): |
| (LocalPointer::LocalPointer): |
| (LocalPointer::~LocalPointer): |
| (LocalPointer::adoptInstead): |
| (LocalPointer::adoptInsteadAndCheckErrorCode): |
| (LocalArray::LocalArray): |
| (LocalArray::~LocalArray): |
| (LocalArray::adoptInstead): |
| (LocalArray::operator[] const): |
| * StitchMarker/wtf/dependencies/icu/unicode/parseerr.h: Added. |
| * StitchMarker/wtf/dependencies/icu/unicode/platform.h: Added. |
| * StitchMarker/wtf/dependencies/icu/unicode/ptypes.h: Added. |
| * StitchMarker/wtf/dependencies/icu/unicode/putil.h: Added. |
| * StitchMarker/wtf/dependencies/icu/unicode/rep.h: Added. |
| (Replaceable::Replaceable): |
| (Replaceable::length const): |
| (Replaceable::charAt const): |
| (Replaceable::char32At const): |
| * StitchMarker/wtf/dependencies/icu/unicode/std_string.h: Added. |
| * StitchMarker/wtf/dependencies/icu/unicode/strenum.h: Added. |
| * StitchMarker/wtf/dependencies/icu/unicode/stringpiece.h: Added. |
| (operator!=): |
| * StitchMarker/wtf/dependencies/icu/unicode/ubrk.h: Added. |
| * StitchMarker/wtf/dependencies/icu/unicode/ucasemap.h: Added. |
| * StitchMarker/wtf/dependencies/icu/unicode/uchar.h: Added. |
| * StitchMarker/wtf/dependencies/icu/unicode/uconfig.h: Added. |
| * StitchMarker/wtf/dependencies/icu/unicode/uenum.h: Added. |
| * StitchMarker/wtf/dependencies/icu/unicode/uiter.h: Added. |
| * StitchMarker/wtf/dependencies/icu/unicode/uloc.h: Added. |
| * StitchMarker/wtf/dependencies/icu/unicode/umachine.h: Added. |
| * StitchMarker/wtf/dependencies/icu/unicode/unistr.h: Added. |
| (UnicodeString::pinIndex const): |
| (UnicodeString::pinIndices const): |
| (UnicodeString::getArrayStart): |
| (UnicodeString::getArrayStart const): |
| (UnicodeString::UnicodeString): |
| (UnicodeString::hasShortLength const): |
| (UnicodeString::getShortLength const): |
| (UnicodeString::length const): |
| (UnicodeString::getCapacity const): |
| (UnicodeString::hashCode const): |
| (UnicodeString::isBogus const): |
| (UnicodeString::isWritable const): |
| (UnicodeString::isBufferWritable const): |
| (UnicodeString::getBuffer const): |
| (UnicodeString::doCompare const): |
| (UnicodeString::operator== const): |
| (UnicodeString::operator!= const): |
| (UnicodeString::operator> const): |
| (UnicodeString::operator< const): |
| (UnicodeString::operator>= const): |
| (UnicodeString::operator<= const): |
| (UnicodeString::compare const): |
| (UnicodeString::compareBetween const): |
| (UnicodeString::doCompareCodePointOrder const): |
| (UnicodeString::compareCodePointOrder const): |
| (UnicodeString::compareCodePointOrderBetween const): |
| (UnicodeString::doCaseCompare const): |
| (UnicodeString::caseCompare const): |
| (UnicodeString::caseCompareBetween const): |
| (UnicodeString::indexOf const): |
| (UnicodeString::lastIndexOf const): |
| (UnicodeString::startsWith const): |
| (UnicodeString::endsWith const): |
| (UnicodeString::replace): |
| (UnicodeString::replaceBetween): |
| (UnicodeString::findAndReplace): |
| (UnicodeString::doExtract const): |
| (UnicodeString::extract const): |
| (UnicodeString::extractBetween const): |
| (UnicodeString::tempSubStringBetween const): |
| (UnicodeString::doCharAt const): |
| (UnicodeString::charAt const): |
| (UnicodeString::operator[] const): |
| (UnicodeString::isEmpty const): |
| (UnicodeString::setZeroLength): |
| (UnicodeString::setShortLength): |
| (UnicodeString::setLength): |
| (UnicodeString::setToEmpty): |
| (UnicodeString::setArray): |
| (UnicodeString::operator= ): |
| (UnicodeString::setTo): |
| (UnicodeString::append): |
| (UnicodeString::operator+= ): |
| (UnicodeString::insert): |
| (UnicodeString::remove): |
| (UnicodeString::removeBetween): |
| (UnicodeString::retainBetween): |
| (UnicodeString::truncate): |
| (UnicodeString::reverse): |
| * StitchMarker/wtf/dependencies/icu/unicode/uobject.h: Added. |
| * StitchMarker/wtf/dependencies/icu/unicode/urename.h: Added. |
| * StitchMarker/wtf/dependencies/icu/unicode/ustring.h: Added. |
| * StitchMarker/wtf/dependencies/icu/unicode/utext.h: Added. |
| * StitchMarker/wtf/dependencies/icu/unicode/utf.h: Added. |
| * StitchMarker/wtf/dependencies/icu/unicode/utf16.h: Added. |
| * StitchMarker/wtf/dependencies/icu/unicode/utf8.h: Added. |
| * StitchMarker/wtf/dependencies/icu/unicode/utf_old.h: Added. |
| * StitchMarker/wtf/dependencies/icu/unicode/utypes.h: Added. |
| (operator new): |
| (operator new[]): |
| (operator delete): |
| (operator delete[]): |
| (U_SUCCESS): |
| (U_FAILURE): |
| * StitchMarker/wtf/dependencies/icu/unicode/uvernum.h: Added. |
| * StitchMarker/wtf/dependencies/icu/unicode/uversion.h: Added. |
| * StitchMarker/wtf/dependencies/unicode.cpp: Added. |
| * StitchMarker/wtf/dtoa.cpp: Added. |
| (WTF::storeInc): |
| (WTF::BigInt::BigInt): |
| (WTF::BigInt::clear): |
| (WTF::BigInt::size const): |
| (WTF::BigInt::resize): |
| (WTF::BigInt::words): |
| (WTF::BigInt::words const): |
| (WTF::BigInt::append): |
| (WTF::multadd): |
| (WTF::hi0bits): |
| (WTF::lo0bits): |
| (WTF::i2b): |
| (WTF::mult): |
| (WTF::P5Node::P5Node): |
| (WTF::pow5mult): |
| (WTF::lshift): |
| (WTF::cmp): |
| (WTF::diff): |
| (WTF::d2b): |
| (WTF::quorem): |
| (WTF::dtoa): |
| * StitchMarker/wtf/dtoa.h: Added. |
| (WTF::parseDouble): |
| * StitchMarker/wtf/dtoa/COPYING: Added. |
| * StitchMarker/wtf/dtoa/LICENSE: Added. |
| * StitchMarker/wtf/dtoa/README: Added. |
| * StitchMarker/wtf/dtoa/bignum-dtoa.cc: Added. |
| * StitchMarker/wtf/dtoa/bignum-dtoa.h: Added. |
| * StitchMarker/wtf/dtoa/bignum.cc: Added. |
| * StitchMarker/wtf/dtoa/bignum.h: Added. |
| (WTF::double_conversion::Bignum::Times10): |
| (WTF::double_conversion::Bignum::Equal): |
| (WTF::double_conversion::Bignum::LessEqual): |
| (WTF::double_conversion::Bignum::Less): |
| (WTF::double_conversion::Bignum::PlusEqual): |
| (WTF::double_conversion::Bignum::PlusLessEqual): |
| (WTF::double_conversion::Bignum::PlusLess): |
| (WTF::double_conversion::Bignum::EnsureCapacity): |
| (WTF::double_conversion::Bignum::BigitLength const): |
| * StitchMarker/wtf/dtoa/cached-powers.cc: Added. |
| * StitchMarker/wtf/dtoa/cached-powers.h: Added. |
| * StitchMarker/wtf/dtoa/diy-fp.cc: Added. |
| * StitchMarker/wtf/dtoa/diy-fp.h: Added. |
| (WTF::double_conversion::DiyFp::DiyFp): |
| (WTF::double_conversion::DiyFp::Subtract): |
| (WTF::double_conversion::DiyFp::Minus): |
| (WTF::double_conversion::DiyFp::Times): |
| (WTF::double_conversion::DiyFp::Normalize): |
| (WTF::double_conversion::DiyFp::f const): |
| (WTF::double_conversion::DiyFp::e const): |
| (WTF::double_conversion::DiyFp::set_f): |
| (WTF::double_conversion::DiyFp::set_e): |
| * StitchMarker/wtf/dtoa/double-conversion.cc: Added. |
| * StitchMarker/wtf/dtoa/double-conversion.h: Added. |
| (WTF::double_conversion::DoubleToStringConverter::DoubleToStringConverter): |
| * StitchMarker/wtf/dtoa/double.h: Added. |
| (WTF::double_conversion::double_to_uint64): |
| (WTF::double_conversion::uint64_to_double): |
| (WTF::double_conversion::Double::Double): |
| (WTF::double_conversion::Double::AsDiyFp const): |
| (WTF::double_conversion::Double::AsNormalizedDiyFp const): |
| (WTF::double_conversion::Double::AsUint64 const): |
| (WTF::double_conversion::Double::NextDouble const): |
| (WTF::double_conversion::Double::Exponent const): |
| (WTF::double_conversion::Double::Significand const): |
| (WTF::double_conversion::Double::IsDenormal const): |
| (WTF::double_conversion::Double::IsSpecial const): |
| (WTF::double_conversion::Double::IsNan const): |
| (WTF::double_conversion::Double::IsInfinite const): |
| (WTF::double_conversion::Double::Sign const): |
| (WTF::double_conversion::Double::UpperBoundary const): |
| (WTF::double_conversion::Double::NormalizedBoundaries const): |
| (WTF::double_conversion::Double::value const): |
| (WTF::double_conversion::Double::SignificandSizeForOrderOfMagnitude): |
| (WTF::double_conversion::Double::Infinity): |
| (WTF::double_conversion::Double::NaN): |
| (WTF::double_conversion::Double::DiyFpToUint64): |
| * StitchMarker/wtf/dtoa/fast-dtoa.cc: Added. |
| * StitchMarker/wtf/dtoa/fast-dtoa.h: Added. |
| * StitchMarker/wtf/dtoa/fixed-dtoa.cc: Added. |
| * StitchMarker/wtf/dtoa/fixed-dtoa.h: Added. |
| * StitchMarker/wtf/dtoa/strtod.cc: Added. |
| * StitchMarker/wtf/dtoa/strtod.h: Added. |
| * StitchMarker/wtf/dtoa/utils.h: Added. |
| (WTF::double_conversion::Max): |
| (WTF::double_conversion::Min): |
| (WTF::double_conversion::StrLength): |
| (WTF::double_conversion::BufferReference::BufferReference): |
| (WTF::double_conversion::BufferReference::SubBufferReference): |
| (WTF::double_conversion::BufferReference::length const): |
| (WTF::double_conversion::BufferReference::is_empty const): |
| (WTF::double_conversion::BufferReference::start const): |
| (WTF::double_conversion::BufferReference::operator[] const): |
| (WTF::double_conversion::BufferReference::first): |
| (WTF::double_conversion::BufferReference::last): |
| (WTF::double_conversion::StringBuilder::StringBuilder): |
| (WTF::double_conversion::StringBuilder::~StringBuilder): |
| (WTF::double_conversion::StringBuilder::size const): |
| (WTF::double_conversion::StringBuilder::position const): |
| (WTF::double_conversion::StringBuilder::SetPosition): |
| (WTF::double_conversion::StringBuilder::Reset): |
| (WTF::double_conversion::StringBuilder::AddCharacter): |
| (WTF::double_conversion::StringBuilder::AddString): |
| (WTF::double_conversion::StringBuilder::AddSubstring): |
| (WTF::double_conversion::StringBuilder::AddPadding): |
| (WTF::double_conversion::StringBuilder::Finalize): |
| (WTF::double_conversion::StringBuilder::is_finalized const): |
| (WTF::double_conversion::BitCast): |
| * StitchMarker/wtf/generic/MainThreadGeneric.cpp: Added. |
| (WTF::MainThreadDispatcher::MainThreadDispatcher): |
| (WTF::MainThreadDispatcher::schedule): |
| (WTF::MainThreadDispatcher::fired): |
| (WTF::initializeMainThreadPlatform): |
| (WTF::scheduleDispatchFunctionsOnMainThread): |
| * StitchMarker/wtf/generic/RunLoopGeneric.cpp: Added. |
| (WTF::RunLoop::TimerBase::ScheduledTask::create): |
| (WTF::RunLoop::TimerBase::ScheduledTask::ScheduledTask): |
| (WTF::RunLoop::TimerBase::ScheduledTask::fired): |
| (WTF::RunLoop::TimerBase::ScheduledTask::scheduledTimePoint const): |
| (WTF::RunLoop::TimerBase::ScheduledTask::updateReadyTime): |
| (WTF::RunLoop::TimerBase::ScheduledTask::EarliestSchedule::operator()): |
| (WTF::RunLoop::TimerBase::ScheduledTask::isActive const): |
| (WTF::RunLoop::TimerBase::ScheduledTask::deactivate): |
| (WTF::RunLoop::RunLoop): |
| (WTF::RunLoop::~RunLoop): |
| (WTF::RunLoop::populateTasks): |
| (WTF::RunLoop::runImpl): |
| (WTF::RunLoop::run): |
| (WTF::RunLoop::iterate): |
| (WTF::RunLoop::stop): |
| (WTF::RunLoop::wakeUp): |
| (WTF::RunLoop::schedule): |
| (WTF::RunLoop::scheduleAndWakeUp): |
| (WTF::RunLoop::dispatchAfter): |
| (WTF::RunLoop::TimerBase::TimerBase): |
| (WTF::RunLoop::TimerBase::~TimerBase): |
| (WTF::RunLoop::TimerBase::start): |
| (WTF::RunLoop::TimerBase::stop): |
| (WTF::RunLoop::TimerBase::isActive const): |
| (WTF::RunLoop::TimerBase::secondsUntilFire const): |
| * StitchMarker/wtf/text/ASCIIFastPath.h: Added. |
| (WTF::isAlignedTo): |
| (WTF::isAlignedToMachineWord): |
| (WTF::alignToMachineWord): |
| (WTF::isAllASCII): |
| (WTF::charactersAreAllASCII): |
| (WTF::copyLCharsFromUCharSource): |
| * StitchMarker/wtf/text/AtomicString.cpp: Added. |
| (WTF::AtomicString::convertASCIICase const): |
| (WTF::AtomicString::convertToASCIILowercase const): |
| (WTF::AtomicString::convertToASCIIUppercase const): |
| (WTF::AtomicString::number): |
| (WTF::AtomicString::fromUTF8Internal): |
| (WTF::AtomicString::show const): |
| (WTF::AtomicString::init): |
| * StitchMarker/wtf/text/AtomicString.h: Added. |
| (WTF::AtomicString::AtomicString): |
| (WTF::AtomicString::operator=): |
| (WTF::AtomicString::isHashTableDeletedValue const): |
| (WTF::AtomicString::existingHash const): |
| (WTF::AtomicString::operator const String& const): |
| (WTF::AtomicString::string const): |
| (WTF::AtomicString::impl const): |
| (WTF::AtomicString::is8Bit const): |
| (WTF::AtomicString::characters8 const): |
| (WTF::AtomicString::characters16 const): |
| (WTF::AtomicString::length const): |
| (WTF::AtomicString::operator[] const): |
| (WTF::AtomicString::contains const): |
| (WTF::AtomicString::containsIgnoringASCIICase const): |
| (WTF::AtomicString::find const): |
| (WTF::AtomicString::findIgnoringASCIICase const): |
| (WTF::AtomicString::startsWith const): |
| (WTF::AtomicString::startsWithIgnoringASCIICase const): |
| (WTF::AtomicString::endsWith const): |
| (WTF::AtomicString::endsWithIgnoringASCIICase const): |
| (WTF::AtomicString::toInt const): |
| (WTF::AtomicString::toDouble const): |
| (WTF::AtomicString::toFloat const): |
| (WTF::AtomicString::percentage const): |
| (WTF::AtomicString::isNull const): |
| (WTF::AtomicString::isEmpty const): |
| (WTF::AtomicString::operator NSString* const): |
| (WTF::operator==): |
| (WTF::operator!=): |
| (WTF::nullAtom): |
| (WTF::emptyAtom): |
| (WTF::starAtom): |
| (WTF::xmlAtom): |
| (WTF::xmlnsAtom): |
| (WTF::AtomicString::fromUTF8): |
| (WTF::equalLettersIgnoringASCIICase): |
| (WTF::equalIgnoringASCIICase): |
| (WTF::IntegerToStringConversionTrait<AtomicString>::flush): |
| * StitchMarker/wtf/text/AtomicStringImpl.cpp: Added. |
| (WTF::AtomicStringTableLocker::AtomicStringTableLocker): |
| (WTF::stringTable): |
| (WTF::addToStringTable): |
| (WTF::CStringTranslator::hash): |
| (WTF::CStringTranslator::equal): |
| (WTF::CStringTranslator::translate): |
| (WTF::AtomicStringImpl::add): |
| (WTF::HashTranslatorCharBuffer::HashTranslatorCharBuffer): |
| (WTF::UCharBufferTranslator::hash): |
| (WTF::UCharBufferTranslator::equal): |
| (WTF::UCharBufferTranslator::translate): |
| (WTF::HashAndUTF8CharactersTranslator::hash): |
| (WTF::HashAndUTF8CharactersTranslator::equal): |
| (WTF::HashAndUTF8CharactersTranslator::translate): |
| (WTF::SubstringTranslator::translate): |
| (WTF::SubstringTranslator8::hash): |
| (WTF::SubstringTranslator8::equal): |
| (WTF::SubstringTranslator16::hash): |
| (WTF::SubstringTranslator16::equal): |
| (WTF::LCharBufferTranslator::hash): |
| (WTF::LCharBufferTranslator::equal): |
| (WTF::LCharBufferTranslator::translate): |
| (WTF::BufferFromStaticDataTranslator::hash): |
| (WTF::BufferFromStaticDataTranslator::equal): |
| (WTF::BufferFromStaticDataTranslator::translate): |
| (WTF::AtomicStringImpl::addLiteral): |
| (WTF::addSymbol): |
| (WTF::addStatic): |
| (WTF::AtomicStringImpl::addSlowCase): |
| (WTF::AtomicStringImpl::remove): |
| (WTF::AtomicStringImpl::lookUpSlowCase): |
| (WTF::AtomicStringImpl::addUTF8): |
| (WTF::AtomicStringImpl::lookUp): |
| (WTF::AtomicStringImpl::isInAtomicStringTable): |
| * StitchMarker/wtf/text/AtomicStringImpl.h: Added. |
| (WTF::AtomicStringImpl::lookUp): |
| (WTF::AtomicStringImpl::add): |
| (WTF::AtomicStringImpl::addWithStringTableProvider): |
| (WTF::ValueCheck<AtomicStringImpl::checkConsistency): |
| * StitchMarker/wtf/text/AtomicStringTable.cpp: Added. |
| (WTF::AtomicStringTable::create): |
| (WTF::AtomicStringTable::~AtomicStringTable): |
| (WTF::AtomicStringTable::destroy): |
| * StitchMarker/wtf/text/AtomicStringTable.h: Added. |
| * StitchMarker/wtf/text/CString.cpp: Added. |
| (WTF::CStringBuffer::createUninitialized): |
| (WTF::CString::CString): |
| (WTF::CString::init): |
| (WTF::CString::mutableData): |
| (WTF::CString::newUninitialized): |
| (WTF::CString::copyBufferIfNeeded): |
| (WTF::CString::isSafeToSendToAnotherThread const): |
| (WTF::operator==): |
| (WTF::CString::hash const): |
| (WTF::operator<): |
| (WTF::CStringHash::equal): |
| * StitchMarker/wtf/text/CString.h: Added. |
| (WTF::CStringBuffer::data): |
| (WTF::CStringBuffer::length const): |
| (WTF::CStringBuffer::CStringBuffer): |
| (WTF::CStringBuffer::mutableData): |
| (WTF::CString::CString): |
| (WTF::CString::data const): |
| (WTF::CString::length const): |
| (WTF::CString::isNull const): |
| (WTF::CString::buffer const): |
| (WTF::CString::isHashTableDeletedValue const): |
| (WTF::operator!=): |
| (WTF::CStringHash::hash): |
| * StitchMarker/wtf/text/ConversionMode.h: Added. |
| * StitchMarker/wtf/text/IntegerToStringConversion.h: Added. |
| (WTF::numberToStringImpl): |
| (WTF::numberToStringSigned): |
| (WTF::numberToStringUnsigned): |
| (WTF::writeNumberToBufferImpl): |
| (WTF::writeNumberToBufferSigned): |
| (WTF::writeNumberToBufferUnsigned): |
| (WTF::lengthOfNumberAsStringImpl): |
| (WTF::lengthOfNumberAsStringSigned): |
| (WTF::lengthOfNumberAsStringUnsigned): |
| * StitchMarker/wtf/text/LChar.h: Added. |
| * StitchMarker/wtf/text/LineBreakIteratorPoolICU.h: Added. |
| (WTF::LineBreakIteratorPool::sharedPool): |
| (WTF::LineBreakIteratorPool::makeLocaleWithBreakKeyword): |
| (WTF::LineBreakIteratorPool::take): |
| (WTF::LineBreakIteratorPool::put): |
| * StitchMarker/wtf/text/NullTextBreakIterator.h: Added. |
| (WTF::NullTextBreakIterator::preceding const): |
| (WTF::NullTextBreakIterator::following const): |
| (WTF::NullTextBreakIterator::isBoundary const): |
| (WTF::NullTextBreakIterator::setText): |
| * StitchMarker/wtf/text/StringBuffer.h: Added. |
| (WTF::StringBuffer::StringBuffer): |
| (WTF::StringBuffer::~StringBuffer): |
| (WTF::StringBuffer::shrink): |
| (WTF::StringBuffer::resize): |
| (WTF::StringBuffer::length const): |
| (WTF::StringBuffer::characters): |
| (WTF::StringBuffer::operator[]): |
| (WTF::StringBuffer::release): |
| * StitchMarker/wtf/text/StringBuilder.cpp: Added. |
| (WTF::expandedCapacity): |
| (WTF::StringBuilder::reifyString const): |
| (WTF::StringBuilder::resize): |
| (WTF::StringBuilder::allocateBuffer): |
| (WTF::StringBuilder::allocateBufferUpConvert): |
| (WTF::StringBuilder::reallocateBuffer<LChar>): |
| (WTF::StringBuilder::reallocateBuffer<UChar>): |
| (WTF::StringBuilder::reserveCapacity): |
| (WTF::StringBuilder::appendUninitialized): |
| (WTF::StringBuilder::appendUninitializedSlow): |
| (WTF::StringBuilder::append): |
| (WTF::StringBuilder::appendNumber): |
| (WTF::StringBuilder::appendECMAScriptNumber): |
| (WTF::StringBuilder::appendFixedWidthNumber): |
| (WTF::StringBuilder::canShrink const): |
| (WTF::StringBuilder::shrinkToFit): |
| (WTF::appendQuotedJSONStringInternalSlow): |
| (WTF::appendQuotedJSONStringInternal): |
| (WTF::StringBuilder::appendQuotedJSONString): |
| * StitchMarker/wtf/text/StringBuilder.h: Added. |
| (WTF::StringBuilder::StringBuilder): |
| (WTF::StringBuilder::append): |
| (WTF::StringBuilder::appendLiteral): |
| (WTF::StringBuilder::toString): |
| (WTF::StringBuilder::toStringPreserveCapacity const): |
| (WTF::StringBuilder::toAtomicString const): |
| (WTF::StringBuilder::length const): |
| (WTF::StringBuilder::isEmpty const): |
| (WTF::StringBuilder::capacity const): |
| (WTF::StringBuilder::operator[] const): |
| (WTF::StringBuilder::characters8 const): |
| (WTF::StringBuilder::characters16 const): |
| (WTF::StringBuilder::is8Bit const): |
| (WTF::StringBuilder::clear): |
| (WTF::StringBuilder::swap): |
| (WTF::StringBuilder::getBufferCharacters<LChar>): |
| (WTF::StringBuilder::getBufferCharacters<UChar>): |
| (WTF::equal): |
| (WTF::operator==): |
| (WTF::operator!=): |
| (WTF::IntegerToStringConversionTrait<StringBuilder>::flush): |
| * StitchMarker/wtf/text/StringCommon.h: Added. |
| (WTF::loadUnaligned): |
| (WTF::equal): |
| (WTF::equalCommon): |
| (WTF::equalIgnoringASCIICase): |
| (WTF::equalIgnoringASCIICaseCommon): |
| (WTF::startsWith): |
| (WTF::startsWithIgnoringASCIICase): |
| (WTF::endsWith): |
| (WTF::endsWithIgnoringASCIICase): |
| (WTF::findIgnoringASCIICase): |
| (WTF::findInner): |
| (WTF::find): |
| (WTF::findCommon): |
| (WTF::equalLettersIgnoringASCIICase): |
| (WTF::hasPrefixWithLettersIgnoringASCIICaseCommon): |
| (WTF::equalLettersIgnoringASCIICaseCommonWithoutLength): |
| (WTF::startsWithLettersIgnoringASCIICaseCommonWithoutLength): |
| (WTF::equalLettersIgnoringASCIICaseCommon): |
| (WTF::startsWithLettersIgnoringASCIICaseCommon): |
| * StitchMarker/wtf/text/StringConcatenate.h: Added. |
| (WTF::StringTypeAdapter<char>::StringTypeAdapter<char>): |
| (WTF::StringTypeAdapter<char>::length): |
| (WTF::StringTypeAdapter<char>::is8Bit): |
| (WTF::StringTypeAdapter<char>::writeTo const): |
| (WTF::StringTypeAdapter<char>::toString const): |
| (WTF::StringTypeAdapter<UChar>::StringTypeAdapter<UChar>): |
| (WTF::StringTypeAdapter<UChar>::length const): |
| (WTF::StringTypeAdapter<UChar>::is8Bit const): |
| (WTF::StringTypeAdapter<UChar>::writeTo const): |
| (WTF::StringTypeAdapter<UChar>::toString const): |
| (WTF::StringTypeAdapter<char::StringTypeAdapter): |
| (WTF::StringTypeAdapter<ASCIILiteral>::StringTypeAdapter): |
| (WTF::StringTypeAdapter<Vector<char>>::StringTypeAdapter): |
| (WTF::StringTypeAdapter<Vector<char>>::length const): |
| (WTF::StringTypeAdapter<Vector<char>>::is8Bit const): |
| (WTF::StringTypeAdapter<Vector<char>>::writeTo const): |
| (WTF::StringTypeAdapter<Vector<char>>::toString const): |
| (WTF::StringTypeAdapter<String>::StringTypeAdapter<String>): |
| (WTF::StringTypeAdapter<String>::length const): |
| (WTF::StringTypeAdapter<String>::is8Bit const): |
| (WTF::StringTypeAdapter<String>::writeTo const): |
| (WTF::StringTypeAdapter<String>::toString const): |
| (WTF::StringTypeAdapter<AtomicString>::StringTypeAdapter): |
| (WTF::sumWithOverflow): |
| (WTF::are8Bit): |
| (WTF::makeStringAccumulator): |
| (WTF::tryMakeStringFromAdapters): |
| (WTF::tryMakeString): |
| (WTF::makeString): |
| * StitchMarker/wtf/text/StringHash.h: Added. |
| (WTF::HashTraits<String>::isEmptyValue): |
| (WTF::HashTraits<String>::customDeleteBucket): |
| (WTF::StringHash::hash): |
| (WTF::StringHash::equal): |
| (WTF::ASCIICaseInsensitiveHash::foldCase): |
| (WTF::ASCIICaseInsensitiveHash::hash): |
| (WTF::ASCIICaseInsensitiveHash::equal): |
| (WTF::AlreadyHashed::hash): |
| (WTF::AlreadyHashed::avoidDeletedValue): |
| (WTF::ASCIICaseInsensitiveStringViewHashTranslator::hash): |
| (WTF::ASCIICaseInsensitiveStringViewHashTranslator::equal): |
| * StitchMarker/wtf/text/StringImpl.cpp: Added. |
| (WTF::StringStats::removeString): |
| (WTF::StringStats::printStats): |
| (WTF::StringImpl::~StringImpl): |
| (WTF::StringImpl::destroy): |
| (WTF::StringImpl::createFromLiteral): |
| (WTF::StringImpl::createWithoutCopying): |
| (WTF::StringImpl::createUninitializedInternal): |
| (WTF::StringImpl::createUninitializedInternalNonEmpty): |
| (WTF::StringImpl::createUninitialized): |
| (WTF::StringImpl::reallocateInternal): |
| (WTF::StringImpl::reallocate): |
| (WTF::StringImpl::createInternal): |
| (WTF::StringImpl::create): |
| (WTF::StringImpl::create8BitIfPossible): |
| (WTF::StringImpl::containsOnlyWhitespace): |
| (WTF::StringImpl::substring): |
| (WTF::StringImpl::characterStartingAt): |
| (WTF::StringImpl::convertToLowercaseWithoutLocale): |
| (WTF::StringImpl::convertToLowercaseWithoutLocaleStartingAtFailingIndex8Bit): |
| (WTF::StringImpl::convertToUppercaseWithoutLocale): |
| (WTF::needsTurkishCasingRules): |
| (WTF::StringImpl::convertToLowercaseWithLocale): |
| (WTF::StringImpl::convertToUppercaseWithLocale): |
| (WTF::StringImpl::foldCase): |
| (WTF::StringImpl::convertASCIICase): |
| (WTF::StringImpl::convertToASCIILowercase): |
| (WTF::StringImpl::convertToASCIIUppercase): |
| (WTF::StringImpl::stripMatchedCharacters): |
| (WTF::UCharPredicate::UCharPredicate): |
| (WTF::UCharPredicate::operator() const): |
| (WTF::SpaceOrNewlinePredicate::operator() const): |
| (WTF::StringImpl::stripWhiteSpace): |
| (WTF::StringImpl::removeCharacters): |
| (WTF::StringImpl::simplifyMatchedCharactersToSpace): |
| (WTF::StringImpl::simplifyWhiteSpace): |
| (WTF::StringImpl::toIntStrict): |
| (WTF::StringImpl::toUIntStrict): |
| (WTF::StringImpl::toInt64Strict): |
| (WTF::StringImpl::toUInt64Strict): |
| (WTF::StringImpl::toIntPtrStrict): |
| (WTF::StringImpl::toInt): |
| (WTF::StringImpl::toUInt): |
| (WTF::StringImpl::toInt64): |
| (WTF::StringImpl::toUInt64): |
| (WTF::StringImpl::toIntPtr): |
| (WTF::StringImpl::toDouble): |
| (WTF::StringImpl::toFloat): |
| (WTF::equalCompatibilityCaseless): |
| (WTF::StringImpl::find): |
| (WTF::StringImpl::findIgnoringCase): |
| (WTF::findIgnoringCaseInner): |
| (WTF::StringImpl::findIgnoringASCIICase const): |
| (WTF::StringImpl::reverseFind): |
| (WTF::reverseFindInner): |
| (WTF::reverseFindIgnoringCaseInner): |
| (WTF::StringImpl::reverseFindIgnoringCase): |
| (WTF::equalInner): |
| (WTF::StringImpl::startsWith const): |
| (WTF::StringImpl::startsWithIgnoringASCIICase const): |
| (WTF::StringImpl::hasInfixStartingAt const): |
| (WTF::StringImpl::endsWith): |
| (WTF::StringImpl::endsWithIgnoringASCIICase const): |
| (WTF::StringImpl::endsWith const): |
| (WTF::StringImpl::hasInfixEndingAt const): |
| (WTF::StringImpl::replace): |
| (WTF::equal): |
| (WTF::equalInternal): |
| (WTF::equalIgnoringNullity): |
| (WTF::equalIgnoringASCIICase): |
| (WTF::equalIgnoringASCIICaseNonNull): |
| (WTF::StringImpl::defaultWritingDirection): |
| (WTF::StringImpl::adopt): |
| (WTF::StringImpl::sizeInBytes const): |
| (WTF::putUTF8Triple): |
| (WTF::StringImpl::utf8Impl): |
| (WTF::StringImpl::utf8ForCharacters): |
| (WTF::StringImpl::utf8ForRange const): |
| (WTF::StringImpl::utf8 const): |
| (WTF::StringImpl::hashSlowCase const): |
| (WTF::StringImpl::concurrentHash const): |
| * StitchMarker/wtf/text/StringImpl.h: Added. |
| (WTF::StringStats::add8BitString): |
| (WTF::StringStats::add16BitString): |
| (WTF::StringImplShape::StringImplShape): |
| (WTF::StringImpl::StringImpl): |
| (WTF::StringImpl::create8BitIfPossible): |
| (WTF::StringImpl::create): |
| (WTF::StringImpl::createSubstringSharingImpl): |
| (WTF::StringImpl::createFromLiteral): |
| (WTF::StringImpl::tryCreateUninitialized): |
| (WTF::StringImpl::flagsOffset): |
| (WTF::StringImpl::flagIs8Bit): |
| (WTF::StringImpl::flagIsAtomic): |
| (WTF::StringImpl::flagIsSymbol): |
| (WTF::StringImpl::maskStringKind): |
| (WTF::StringImpl::dataOffset): |
| (WTF::StringImpl::adopt): |
| (WTF::StringImpl::length const): |
| (WTF::StringImpl::lengthMemoryOffset): |
| (WTF::StringImpl::is8Bit const): |
| (WTF::StringImpl::characters8 const): |
| (WTF::StringImpl::characters16 const): |
| (WTF::StringImpl::cost const): |
| (WTF::StringImpl::costDuringGC): |
| (WTF::StringImpl::stringKind const): |
| (WTF::StringImpl::isSymbol const): |
| (WTF::StringImpl::isAtomic const): |
| (WTF::StringImpl::setIsAtomic): |
| (WTF::StringImpl::isSubString const): |
| (WTF::StringImpl::setHash const): |
| (WTF::StringImpl::rawHash const): |
| (WTF::StringImpl::hasHash const): |
| (WTF::StringImpl::existingHash const): |
| (WTF::StringImpl::hash const): |
| (WTF::StringImpl::isStatic const): |
| (WTF::StringImpl::refCount const): |
| (WTF::StringImpl::hasOneRef const): |
| (WTF::StringImpl::hasAtLeastOneRef const): |
| (WTF::StringImpl::ref): |
| (WTF::StringImpl::deref): |
| (WTF::StringImpl::StaticStringImpl::StaticStringImpl): |
| (WTF::StringImpl::StaticStringImpl::operator StringImpl&): |
| (WTF::StringImpl::empty): |
| (WTF::StringImpl::copyChars): |
| (WTF::StringImpl::at const): |
| (WTF::StringImpl::operator[] const): |
| (WTF::StringImpl::find): |
| (WTF::StringImpl::findIgnoringCase): |
| (WTF::StringImpl::startsWith): |
| (WTF::StringImpl::startsWith const): |
| (WTF::StringImpl::endsWith const): |
| (WTF::StringImpl::replace): |
| (WTF::StringImpl::stringStats): |
| (WTF::StringImpl::allocationSize): |
| (WTF::StringImpl::tailOffset): |
| (WTF::StringImpl::requiresCopy const): |
| (WTF::StringImpl::tailPointer const): |
| (WTF::StringImpl::tailPointer): |
| (WTF::StringImpl::substringBuffer const): |
| (WTF::StringImpl::substringBuffer): |
| (WTF::StringImpl::bufferOwnership const): |
| (WTF::StringImpl::assertHashIsCorrect): |
| (WTF::ValueCheck<StringImpl::checkConsistency): |
| (WTF::StringImpl::constructInternal<LChar>): |
| (WTF::StringImpl::constructInternal<UChar>): |
| (WTF::StringImpl::characters<LChar> const): |
| (WTF::StringImpl::characters<UChar> const): |
| (WTF::equal): |
| (WTF::find): |
| (WTF::reverseFindLineTerminator): |
| (WTF::reverseFind): |
| (WTF::equalIgnoringNullity): |
| (WTF::codePointCompare): |
| (WTF::codePointCompare8): |
| (WTF::codePointCompare16): |
| (WTF::codePointCompare8To16): |
| (WTF::isSpaceOrNewline): |
| (WTF::lengthOfNullTerminatedString): |
| (WTF::StringImpl::isolatedCopy const): |
| (WTF::equalIgnoringASCIICase): |
| (WTF::startsWithLettersIgnoringASCIICase): |
| (WTF::equalLettersIgnoringASCIICase): |
| * StitchMarker/wtf/text/StringOperators.h: Added. |
| (WTF::StringAppend::StringAppend): |
| (WTF::StringAppend::operator String const): |
| (WTF::StringAppend::operator AtomicString const): |
| (WTF::StringAppend::is8Bit): |
| (WTF::StringAppend::writeTo): |
| (WTF::StringAppend::length): |
| (WTF::operator+): |
| * StitchMarker/wtf/text/StringView.cpp: Added. |
| (WTF::StringView::containsIgnoringASCIICase const): |
| (WTF::StringView::findIgnoringASCIICase const): |
| (WTF::StringView::startsWith const): |
| (WTF::StringView::startsWithIgnoringASCIICase const): |
| (WTF::StringView::endsWith const): |
| (WTF::StringView::endsWithIgnoringASCIICase const): |
| (WTF::StringView::utf8 const): |
| (WTF::StringView::find const): |
| (WTF::StringView::SplitResult::Iterator::findNextSubstring): |
| (WTF::StringView::SplitResult::Iterator::operator++): |
| (WTF::StringView::GraphemeClusters::Iterator::Impl::Impl): |
| (WTF::StringView::GraphemeClusters::Iterator::Impl::operator++): |
| (WTF::StringView::GraphemeClusters::Iterator::Impl::operator* const): |
| (WTF::StringView::GraphemeClusters::Iterator::Impl::operator== const): |
| (WTF::StringView::GraphemeClusters::Iterator::Impl::computeIndexEnd): |
| (WTF::StringView::GraphemeClusters::Iterator::Iterator): |
| (WTF::StringView::GraphemeClusters::Iterator::~Iterator): |
| (WTF::StringView::GraphemeClusters::Iterator::operator++): |
| (WTF::StringView::GraphemeClusters::Iterator::operator* const): |
| (WTF::StringView::GraphemeClusters::Iterator::operator== const): |
| (WTF::StringView::GraphemeClusters::Iterator::operator!= const): |
| (WTF::StringView::UnderlyingString::UnderlyingString): |
| (WTF::StringView::invalidate): |
| (WTF::StringView::underlyingStringIsValid const): |
| (WTF::StringView::adoptUnderlyingString): |
| (WTF::StringView::setUnderlyingString): |
| * StitchMarker/wtf/text/StringView.h: Added. |
| (WTF::StringView::left const): |
| (WTF::StringView::right const): |
| (WTF::StringView::underlyingStringIsValid const): |
| (WTF::StringView::setUnderlyingString): |
| (WTF::operator==): |
| (WTF::operator!=): |
| (WTF::StringView::StringView): |
| (WTF::StringView::~StringView): |
| (WTF::StringView::operator=): |
| (WTF::StringView::initialize): |
| (WTF::StringView::clear): |
| (WTF::StringView::empty): |
| (WTF::StringView::characters8 const): |
| (WTF::StringView::characters16 const): |
| (WTF::StringView::UpconvertedCharacters::operator const UChar* const): |
| (WTF::StringView::UpconvertedCharacters::get const): |
| (WTF::StringView::upconvertedCharacters const): |
| (WTF::StringView::isNull const): |
| (WTF::StringView::isEmpty const): |
| (WTF::StringView::length const): |
| (WTF::StringView::operator bool const): |
| (WTF::StringView::is8Bit const): |
| (WTF::StringView::substring const): |
| (WTF::StringView::operator[] const): |
| (WTF::StringView::contains const): |
| (WTF::StringView::getCharactersWithUpconvert const): |
| (WTF::StringView::UpconvertedCharacters::UpconvertedCharacters): |
| (WTF::StringView::toString const): |
| (WTF::StringView::toAtomicString const): |
| (WTF::StringView::toExistingAtomicString const): |
| (WTF::StringView::toFloat const): |
| (WTF::StringView::toInt const): |
| (WTF::StringView::toIntStrict const): |
| (WTF::StringView::toStringWithoutCopying const): |
| (WTF::StringView::find const): |
| (WTF::StringView::reverseFind const): |
| (WTF::StringView::invalidate): |
| (WTF::StringTypeAdapter<StringView>::StringTypeAdapter<StringView>): |
| (WTF::StringTypeAdapter<StringView>::length): |
| (WTF::StringTypeAdapter<StringView>::is8Bit): |
| (WTF::StringTypeAdapter<StringView>::writeTo): |
| (WTF::StringTypeAdapter<StringView>::toString const): |
| (WTF::append): |
| (WTF::equal): |
| (WTF::equalIgnoringASCIICase): |
| (WTF::StringView::graphemeClusters const): |
| (WTF::StringView::codePoints const): |
| (WTF::StringView::codeUnits const): |
| (WTF::StringView::GraphemeClusters::GraphemeClusters): |
| (WTF::StringView::GraphemeClusters::begin const): |
| (WTF::StringView::GraphemeClusters::end const): |
| (WTF::StringView::CodePoints::CodePoints): |
| (WTF::StringView::CodePoints::Iterator::Iterator): |
| (WTF::StringView::CodePoints::Iterator::operator++): |
| (WTF::StringView::CodePoints::Iterator::operator=): |
| (WTF::StringView::CodePoints::Iterator::operator* const): |
| (WTF::StringView::CodePoints::Iterator::operator== const): |
| (WTF::StringView::CodePoints::Iterator::operator!= const): |
| (WTF::StringView::CodePoints::begin const): |
| (WTF::StringView::CodePoints::end const): |
| (WTF::StringView::CodeUnits::CodeUnits): |
| (WTF::StringView::CodeUnits::Iterator::Iterator): |
| (WTF::StringView::CodeUnits::Iterator::operator++): |
| (WTF::StringView::CodeUnits::Iterator::operator* const): |
| (WTF::StringView::CodeUnits::Iterator::operator== const): |
| (WTF::StringView::CodeUnits::Iterator::operator!= const): |
| (WTF::StringView::CodeUnits::begin const): |
| (WTF::StringView::CodeUnits::end const): |
| (WTF::StringView::split const): |
| (WTF::StringView::SplitResult::SplitResult): |
| (WTF::StringView::SplitResult::begin const): |
| (WTF::StringView::SplitResult::end const): |
| (WTF::StringView::SplitResult::Iterator::Iterator): |
| (WTF::StringView::SplitResult::Iterator::operator* const): |
| (WTF::StringView::SplitResult::Iterator::operator== const): |
| (WTF::StringView::SplitResult::Iterator::operator!= const): |
| (WTF::equalLettersIgnoringASCIICase): |
| * StitchMarker/wtf/text/SymbolImpl.cpp: Added. |
| (WTF::SymbolImpl::nextHashForSymbol): |
| (WTF::SymbolImpl::create): |
| (WTF::SymbolImpl::createNullSymbol): |
| (WTF::PrivateSymbolImpl::create): |
| (WTF::PrivateSymbolImpl::createNullSymbol): |
| (WTF::RegisteredSymbolImpl::create): |
| * StitchMarker/wtf/text/SymbolImpl.h: Added. |
| (WTF::SymbolImpl::hashForSymbol const): |
| (WTF::SymbolImpl::isNullSymbol const): |
| (WTF::SymbolImpl::isRegistered const): |
| (WTF::SymbolImpl::isPrivate const): |
| (WTF::SymbolImpl::StaticSymbolImpl::StaticSymbolImpl): |
| (WTF::SymbolImpl::StaticSymbolImpl::operator SymbolImpl&): |
| (WTF::SymbolImpl::SymbolImpl): |
| (WTF::PrivateSymbolImpl::PrivateSymbolImpl): |
| (WTF::RegisteredSymbolImpl::symbolRegistry const): |
| (WTF::RegisteredSymbolImpl::clearSymbolRegistry): |
| (WTF::RegisteredSymbolImpl::RegisteredSymbolImpl): |
| (WTF::StringImpl::symbolAwareHash const): |
| (WTF::StringImpl::existingSymbolAwareHash const): |
| (WTF::SymbolImpl::symbolRegistry const): |
| (WTF::SymbolImpl::asRegisteredSymbolImpl): |
| (WTF::ValueCheck<SymbolImpl::checkConsistency): |
| * StitchMarker/wtf/text/SymbolRegistry.cpp: Added. |
| (WTF::SymbolRegistry::~SymbolRegistry): |
| (WTF::SymbolRegistry::symbolForKey): |
| (WTF::SymbolRegistry::remove): |
| * StitchMarker/wtf/text/SymbolRegistry.h: Added. |
| (WTF::SymbolRegistryKey::hash const): |
| (WTF::SymbolRegistryKey::impl const): |
| (WTF::SymbolRegistryKey::isHashTableDeletedValue const): |
| (WTF::SymbolRegistryKey::hashTableDeletedValue): |
| (WTF::DefaultHash<SymbolRegistryKey>::Hash::hash): |
| (WTF::DefaultHash<SymbolRegistryKey>::Hash::equal): |
| (WTF::HashTraits<SymbolRegistryKey>::isEmptyValue): |
| (WTF::SymbolRegistryKey::SymbolRegistryKey): |
| * StitchMarker/wtf/text/TextBreakIterator.cpp: Added. |
| (WTF::mapModeToBackingIterator): |
| (WTF::TextBreakIterator::TextBreakIterator): |
| (WTF::initializeIterator): |
| (WTF::setTextForIterator): |
| (WTF::setContextAwareTextForIterator): |
| (WTF::wordBreakIterator): |
| (WTF::sentenceBreakIterator): |
| (WTF::acquireLineBreakIterator): |
| (WTF::releaseLineBreakIterator): |
| (WTF::openLineBreakIterator): |
| (WTF::closeLineBreakIterator): |
| (WTF::getNonSharedCharacterBreakIterator): |
| (WTF::cacheNonSharedCharacterBreakIterator): |
| (WTF::NonSharedCharacterBreakIterator::NonSharedCharacterBreakIterator): |
| (WTF::NonSharedCharacterBreakIterator::~NonSharedCharacterBreakIterator): |
| (WTF::isWordTextBreak): |
| (WTF::numGraphemeClusters): |
| (WTF::numCharactersInGraphemeClusters): |
| * StitchMarker/wtf/text/TextBreakIterator.h: Added. |
| (WTF::TextBreakIterator::preceding const): |
| (WTF::TextBreakIterator::following const): |
| (WTF::TextBreakIterator::isBoundary const): |
| (WTF::TextBreakIterator::setText): |
| (WTF::TextBreakIterator::mode const): |
| (WTF::TextBreakIterator::locale const): |
| (WTF::TextBreakIteratorCache::singleton): |
| (WTF::TextBreakIteratorCache::take): |
| (WTF::TextBreakIteratorCache::put): |
| (WTF::TextBreakIteratorCache::TextBreakIteratorCache): |
| (WTF::CachedTextBreakIterator::CachedTextBreakIterator): |
| (WTF::CachedTextBreakIterator::~CachedTextBreakIterator): |
| (WTF::CachedTextBreakIterator::preceding const): |
| (WTF::CachedTextBreakIterator::following const): |
| (WTF::CachedTextBreakIterator::isBoundary const): |
| (WTF::LazyLineBreakIterator::LazyLineBreakIterator): |
| (WTF::LazyLineBreakIterator::~LazyLineBreakIterator): |
| (WTF::LazyLineBreakIterator::stringView const): |
| (WTF::LazyLineBreakIterator::mode const): |
| (WTF::LazyLineBreakIterator::lastCharacter const): |
| (WTF::LazyLineBreakIterator::secondToLastCharacter const): |
| (WTF::LazyLineBreakIterator::setPriorContext): |
| (WTF::LazyLineBreakIterator::updatePriorContext): |
| (WTF::LazyLineBreakIterator::resetPriorContext): |
| (WTF::LazyLineBreakIterator::priorContextLength const): |
| (WTF::LazyLineBreakIterator::get): |
| (WTF::LazyLineBreakIterator::resetStringAndReleaseIterator): |
| (WTF::NonSharedCharacterBreakIterator::operator UBreakIterator* const): |
| * StitchMarker/wtf/text/TextBreakIteratorInternalICU.h: Added. |
| * StitchMarker/wtf/text/UniquedStringImpl.h: Added. |
| (WTF::UniquedStringImpl::UniquedStringImpl): |
| (WTF::ValueCheck<UniquedStringImpl::checkConsistency): |
| * StitchMarker/wtf/text/WTFString.cpp: Added. |
| (WTF::String::String): |
| (WTF::String::append): |
| (WTF::codePointCompare): |
| (WTF::String::insert): |
| (WTF::String::characterStartingAt const): |
| (WTF::String::truncate): |
| (WTF::String::removeInternal): |
| (WTF::String::remove): |
| (WTF::String::substring const): |
| (WTF::String::substringSharingImpl const): |
| (WTF::String::convertToASCIILowercase const): |
| (WTF::String::convertToASCIIUppercase const): |
| (WTF::String::convertToLowercaseWithoutLocale const): |
| (WTF::String::convertToLowercaseWithoutLocaleStartingAtFailingIndex8Bit const): |
| (WTF::String::convertToUppercaseWithoutLocale const): |
| (WTF::String::convertToLowercaseWithLocale const): |
| (WTF::String::convertToUppercaseWithLocale const): |
| (WTF::String::stripWhiteSpace const): |
| (WTF::String::simplifyWhiteSpace const): |
| (WTF::String::removeCharacters const): |
| (WTF::String::foldCase const): |
| (WTF::String::percentage const): |
| (WTF::String::charactersWithNullTermination const): |
| (WTF::String::format): |
| (WTF::String::number): |
| (WTF::String::numberToStringECMAScript): |
| (WTF::String::numberToStringFixedWidth): |
| (WTF::String::toIntStrict const): |
| (WTF::String::toUIntStrict const): |
| (WTF::String::toInt64Strict const): |
| (WTF::String::toUInt64Strict const): |
| (WTF::String::toIntPtrStrict const): |
| (WTF::String::toInt const): |
| (WTF::String::toUInt const): |
| (WTF::String::toInt64 const): |
| (WTF::String::toUInt64 const): |
| (WTF::String::toIntPtr const): |
| (WTF::String::toDouble const): |
| (WTF::String::toFloat const): |
| (WTF::String::isolatedCopy const): |
| (WTF::String::isolatedCopy): |
| (WTF::String::isSafeToSendToAnotherThread const): |
| (WTF::String::split const): |
| (WTF::String::ascii const): |
| (WTF::String::latin1 const): |
| (WTF::String::utf8 const): |
| (WTF::String::make8BitFrom16BitSource): |
| (WTF::String::make16BitFrom8BitSource): |
| (WTF::String::fromUTF8): |
| (WTF::String::fromUTF8WithLatin1Fallback): |
| (WTF::isCharacterAllowedInBase): |
| (WTF::toIntegralType): |
| (WTF::lengthOfCharactersAsInteger): |
| (WTF::charactersToIntStrict): |
| (WTF::charactersToUIntStrict): |
| (WTF::charactersToInt64Strict): |
| (WTF::charactersToUInt64Strict): |
| (WTF::charactersToIntPtrStrict): |
| (WTF::charactersToInt): |
| (WTF::charactersToUInt): |
| (WTF::charactersToInt64): |
| (WTF::charactersToUInt64): |
| (WTF::charactersToIntPtr): |
| (WTF::toDoubleType): |
| (WTF::charactersToDouble): |
| (WTF::charactersToFloat): |
| (WTF::emptyString): |
| (String::show const): |
| (string): |
| (asciiDebug): |
| * StitchMarker/wtf/text/WTFString.h: Added. |
| (WTF::String::String): |
| (WTF::String::operator=): |
| (WTF::String::~String): |
| (WTF::String::swap): |
| (WTF::String::adopt): |
| (WTF::String::isNull const): |
| (WTF::String::isEmpty const): |
| (WTF::String::impl const): |
| (WTF::String::releaseImpl): |
| (WTF::String::length const): |
| (WTF::String::characters8 const): |
| (WTF::String::characters16 const): |
| (WTF::String::is8Bit const): |
| (WTF::String::sizeInBytes const): |
| (WTF::String::at const): |
| (WTF::String::operator[] const): |
| (WTF::String::find const): |
| (WTF::String::findIgnoringASCIICase const): |
| (WTF::String::reverseFind const): |
| (WTF::String::findIgnoringCase const): |
| (WTF::String::reverseFindIgnoringCase const): |
| (WTF::String::contains const): |
| (WTF::String::containsIgnoringASCIICase const): |
| (WTF::String::startsWith const): |
| (WTF::String::startsWithIgnoringASCIICase const): |
| (WTF::String::hasInfixStartingAt const): |
| (WTF::String::endsWith const): |
| (WTF::String::endsWithIgnoringASCIICase const): |
| (WTF::String::hasInfixEndingAt const): |
| (WTF::String::append): |
| (WTF::String::replace): |
| (WTF::String::replaceWithLiteral): |
| (WTF::String::left const): |
| (WTF::String::right const): |
| (WTF::String::createUninitialized): |
| (WTF::String::split const): |
| (WTF::String::make8BitFrom16BitSource): |
| (WTF::String::fromUTF8): |
| (WTF::String::fromUTF8WithLatin1Fallback): |
| (WTF::String::defaultWritingDirection const): |
| (WTF::String::containsOnlyWhitespace const): |
| (WTF::String::isHashTableDeletedValue const): |
| (WTF::String::existingHash const): |
| (WTF::String::characterAt const): |
| (WTF::String::clearImplIfNotShared): |
| (WTF::operator==): |
| (WTF::operator!=): |
| (WTF::equalIgnoringNullity): |
| (WTF::operator!): |
| (WTF::swap): |
| (WTF::String::characters<LChar> const): |
| (WTF::String::characters<UChar> const): |
| (WTF::String::containsOnlyLatin1 const): |
| (WTF::String::operator NSString * const): |
| (WTF::nsStringNilIfEmpty): |
| (WTF::String::containsOnlyASCII const): |
| (WTF::codePointCompareLessThan): |
| (WTF::appendNumber): |
| (WTF::isAllSpecialCharacters): |
| (WTF::isSpecialCharacter const): |
| (WTF::ASCIILiteral::ASCIILiteral): |
| (WTF::ASCIILiteral::operator const char*): |
| (WTF::equalLettersIgnoringASCIICase): |
| (WTF::equalIgnoringASCIICase): |
| (WTF::startsWithLettersIgnoringASCIICase): |
| (WTF::IntegerToStringConversionTrait<String>::flush): |
| * StitchMarker/wtf/text/icu/TextBreakIteratorICU.h: Added. |
| (WTF::caretRules): |
| (WTF::TextBreakIteratorICU::set8BitText): |
| (WTF::TextBreakIteratorICU::TextBreakIteratorICU): |
| (WTF::TextBreakIteratorICU::operator=): |
| (WTF::TextBreakIteratorICU::~TextBreakIteratorICU): |
| (WTF::TextBreakIteratorICU::setText): |
| (WTF::TextBreakIteratorICU::preceding const): |
| (WTF::TextBreakIteratorICU::following const): |
| (WTF::TextBreakIteratorICU::isBoundary const): |
| * StitchMarker/wtf/text/icu/UTextProvider.cpp: Added. |
| (WTF::fixPointer): |
| (WTF::uTextCloneImpl): |
| * StitchMarker/wtf/text/icu/UTextProvider.h: Added. |
| (WTF::uTextProviderContext): |
| (WTF::initializeContextAwareUTextProvider): |
| (WTF::uTextAccessPinIndex): |
| (WTF::uTextAccessInChunkOrOutOfRange): |
| * StitchMarker/wtf/text/icu/UTextProviderLatin1.cpp: Added. |
| (WTF::uTextLatin1Clone): |
| (WTF::uTextLatin1NativeLength): |
| (WTF::uTextLatin1Access): |
| (WTF::uTextLatin1Extract): |
| (WTF::uTextLatin1MapOffsetToNative): |
| (WTF::uTextLatin1MapNativeIndexToUTF16): |
| (WTF::uTextLatin1Close): |
| (WTF::openLatin1UTextProvider): |
| (WTF::textLatin1ContextAwareGetCurrentContext): |
| (WTF::textLatin1ContextAwareMoveInPrimaryContext): |
| (WTF::textLatin1ContextAwareSwitchToPrimaryContext): |
| (WTF::textLatin1ContextAwareMoveInPriorContext): |
| (WTF::textLatin1ContextAwareSwitchToPriorContext): |
| (WTF::uTextLatin1ContextAwareClone): |
| (WTF::uTextLatin1ContextAwareNativeLength): |
| (WTF::uTextLatin1ContextAwareAccess): |
| (WTF::uTextLatin1ContextAwareExtract): |
| (WTF::uTextLatin1ContextAwareClose): |
| (WTF::openLatin1ContextAwareUTextProvider): |
| * StitchMarker/wtf/text/icu/UTextProviderLatin1.h: Added. |
| * StitchMarker/wtf/text/icu/UTextProviderUTF16.cpp: Added. |
| (WTF::textUTF16ContextAwareGetCurrentContext): |
| (WTF::textUTF16ContextAwareMoveInPrimaryContext): |
| (WTF::textUTF16ContextAwareSwitchToPrimaryContext): |
| (WTF::textUTF16ContextAwareMoveInPriorContext): |
| (WTF::textUTF16ContextAwareSwitchToPriorContext): |
| (WTF::uTextUTF16ContextAwareClone): |
| (WTF::uTextUTF16ContextAwareNativeLength): |
| (WTF::uTextUTF16ContextAwareAccess): |
| (WTF::uTextUTF16ContextAwareExtract): |
| (WTF::uTextUTF16ContextAwareClose): |
| (WTF::openUTF16ContextAwareUTextProvider): |
| * StitchMarker/wtf/text/icu/UTextProviderUTF16.h: Added. |
| * StitchMarker/wtf/text/unix/TextBreakIteratorInternalICUUnix.cpp: Added. |
| (WTF::currentSearchLocaleID): |
| (WTF::currentTextBreakLocaleID): |
| * StitchMarker/wtf/unicode/CharacterNames.h: Added. |
| * StitchMarker/wtf/unicode/UTF8.cpp: Added. |
| (WTF::Unicode::inlineUTF8SequenceLengthNonASCII): |
| (WTF::Unicode::inlineUTF8SequenceLength): |
| (WTF::Unicode::UTF8SequenceLength): |
| (WTF::Unicode::decodeUTF8Sequence): |
| (WTF::Unicode::convertLatin1ToUTF8): |
| (WTF::Unicode::convertUTF16ToUTF8): |
| (WTF::Unicode::isLegalUTF8): |
| (WTF::Unicode::readUTF8Sequence): |
| (WTF::Unicode::convertUTF8ToUTF16): |
| (WTF::Unicode::calculateStringHashAndLengthFromUTF8MaskingTop8Bits): |
| (WTF::Unicode::equalUTF16WithUTF8): |
| (WTF::Unicode::equalLatin1WithUTF8): |
| * StitchMarker/wtf/unicode/UTF8.h: Added. |
| |
| 2017-08-22 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Commit the change meant to be included in the previous commit. |
| |
| * Speedometer/resources/main.js: |
| (startBenchmark): |
| |
| 2017-08-22 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Speedometer 2.0: Make it possible to change the iteration count via query string |
| https://bugs.webkit.org/show_bug.cgi?id=175811 |
| |
| Reviewed by Saam Barati. |
| |
| Added the support for specifying the iteration count by "iterationCount" query parameter, and replaced "ms" |
| query parameter by "unit=ms". |
| |
| Finally, reduced the number of iterations from 20 to 10 to reduce the time needed to run the benchmark |
| since Speedometer 2.0 contains more than twice the number of libraries and frameworks than Speedometer 1.0. |
| |
| * Speedometer/resources/main.js: |
| (window.benchmarkClient.didFinishLastIteration): |
| (startBenchmark): |
| |
| 2017-08-22 Mathias Bynens <mathias@qiwi.be> |
| |
| Speedometer: Add missing stylesheet to Angular example |
| https://bugs.webkit.org/show_bug.cgi?id=175820 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| * Speedometer/resources/todomvc/architecture-examples/angular/dist/styles.d41d8cd98f00b204e980.bundle.css: Added. |
| |
| 2017-08-22 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Speedometer 2.0: Add button to select and unselect all tests to InteractiveRunner.html |
| https://bugs.webkit.org/show_bug.cgi?id=175816 |
| |
| Reviewed by Saam Barati. |
| |
| Added buttons to select and unselect all subtests to aid debugging. |
| |
| * Speedometer/InteractiveRunner.html: |
| (createUIForSuites): |
| |
| 2017-08-18 Ryosuke Niwa <rniwa@webkit.org> |
| |
| REGRESSION(r219640): Speedometer no longer runs on Safari 7 |
| https://bugs.webkit.org/show_bug.cgi?id=175749 |
| |
| Reviewed by Joseph Pecoraro. |
| |
| Use regular string instead of template literal to make the script compatible with older versions of Safari. |
| |
| * Speedometer/resources/benchmark-runner.js: |
| (BenchmarkRunner.prototype._runTest): |
| |
| 2017-08-17 Mathias Bynens <mathias@qiwi.be> |
| |
| Speedometer: Update to modern Vue.js version |
| https://bugs.webkit.org/show_bug.cgi?id=175660 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| * Speedometer/resources/todomvc/architecture-examples/vuejs-cli/README.md: Documented build process. |
| * Speedometer/resources/todomvc/architecture-examples/vuejs-cli/config/index.js: Forced relative URLs to avoid breaking the interactive runner. |
| * Speedometer/resources/todomvc/architecture-examples/vuejs-cli/dist/*: Updated per build steps. |
| * Speedometer/resources/todomvc/architecture-examples/vuejs-cli/package-lock.json: Added to pin dependencies and make builds deterministic. |
| * Speedometer/resources/todomvc/architecture-examples/vuejs-cli/package.json: Update to modern Vue.js version. |
| * Speedometer/resources/todomvc/architecture-examples/vuejs-cli/src/components/Todos.vue: Fix markup error. |
| |
| 2017-08-17 Mathias Bynens <mathias@qiwi.be> |
| |
| Speedometer: Update to modern React/Redux version |
| https://bugs.webkit.org/show_bug.cgi?id=175669 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| * Speedometer/resources/todomvc/architecture-examples/react-redux/README.md: Documented build steps. |
| * Speedometer/resources/todomvc/architecture-examples/react-redux/dist/*: Updated per build instructions. |
| * Speedometer/resources/todomvc/architecture-examples/react-redux/package-lock.json: Pinned dependencies to make builds deterministic. |
| * Speedometer/resources/todomvc/architecture-examples/react-redux/package.json: Fixed build command. |
| * Speedometer/resources/todomvc/architecture-examples/react-redux/public/index.html: Made title consistent. |
| |
| 2017-08-17 Michael Saboff <msaboff@apple.com> |
| |
| Add a Unicode test to RexBench that matches non-BMP characters |
| https://bugs.webkit.org/show_bug.cgi?id=175697 |
| |
| Reviewed by JF Bastien. |
| |
| Added a new sub test that simulates 5 card stud poker. This test uses the Unicode playing |
| cards code points, U+1F0A1..U+1F0DE, as the card representation. The scoring of hands is |
| done using three regular expressions, one to check for a flush, one to check for straights |
| and one to check for pairs, three of a kind and four of a kind. |
| |
| * RexBench/UniPoker: Added. |
| * RexBench/UniPoker/benchmark.js: Added. |
| (UniPokerBenchmark): |
| (UniPokerBenchmark.prototype.setup.): |
| (UniPokerBenchmark.prototype.setup.Math.random): |
| (UniPokerBenchmark.prototype.setup): |
| (UniPokerBenchmark.prototype.runOnce): |
| (UniPokerBenchmark.prototype.validate): |
| * RexBench/UniPoker/expected.js: Added. |
| (PlayerExpectation): |
| (PlayerExpectation.prototype.validate): |
| * RexBench/UniPoker/poker.js: Added. |
| (CardDeck): |
| (CardDeck.prototype.newDeck): |
| (CardDeck.prototype.shuffle): |
| (CardDeck.prototype.dealOneCard): |
| (CardDeck.cardRank): |
| (CardDeck.cardName): |
| (Hand): |
| (Hand.prototype.clear): |
| (Hand.prototype.takeCard): |
| (Hand.prototype.score): |
| (Hand.prototype.get rank): |
| (Hand.prototype.toString): |
| (Player): |
| (Player.prototype.scoreHand): |
| (Player.prototype.wonHand): |
| (Player.prototype.get name): |
| (Player.prototype.get hand): |
| (Player.prototype.get wins): |
| (Player.prototype.get handTypeCounts): |
| (playHands): |
| * RexBench/about.html: |
| * RexBench/cli.js: |
| * RexBench/glue.js: |
| (driver.reportResult): |
| * RexBench/index.html: |
| * RexBench/unipoker_benchmark.js: Added. |
| |
| 2017-08-16 Mathias Bynens <mathias@qiwi.be> |
| |
| Speedometer: Update Angular 1 TodoMVC example to v1.6.5 |
| https://bugs.webkit.org/show_bug.cgi?id=175623 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| * Speedometer/resources/todomvc/architecture-examples/angularjs/index.html: Made title consistent. |
| * Speedometer/resources/todomvc/architecture-examples/angularjs/node_modules/angular-resource/angular-resource.min.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/angularjs/node_modules/angular-resource/angular-resource.min.js.map: Added. |
| * Speedometer/resources/todomvc/architecture-examples/angularjs/node_modules/angular-route/angular-route.min.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/angularjs/node_modules/angular-route/angular-route.min.js.map: Added. |
| * Speedometer/resources/todomvc/architecture-examples/angularjs/node_modules/angular/angular.min.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/angularjs/node_modules/angular/angular.min.js.map: Added. |
| * Speedometer/resources/todomvc/architecture-examples/angularjs/node_modules/todomvc-app-css/package.json: Updated per build steps. |
| * Speedometer/resources/todomvc/architecture-examples/angularjs/node_modules/todomvc-common/package.json: Updated per build steps. |
| * Speedometer/resources/todomvc/architecture-examples/angularjs/package-lock.json: Added to pin dependencies. |
| * Speedometer/resources/todomvc/architecture-examples/angularjs/package.json: Updated per build steps. |
| * Speedometer/resources/todomvc/architecture-examples/angularjs/readme.md: Document the build process. |
| |
| 2017-08-16 Mathias Bynens <mathias@qiwi.be> |
| |
| Speedometer: Document Backbone example |
| https://bugs.webkit.org/show_bug.cgi?id=175626 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| * Speedometer/resources/todomvc/architecture-examples/backbone/index.html: Made title consistent. |
| * Speedometer/resources/todomvc/architecture-examples/backbone/node_modules/backbone/backbone-min.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/backbone/node_modules/backbone/backbone-min.map: Added. |
| * Speedometer/resources/todomvc/architecture-examples/backbone/node_modules/jquery/dist/jquery.js: Updated per build steps. |
| * Speedometer/resources/todomvc/architecture-examples/backbone/node_modules/jquery/dist/jquery.min.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/backbone/node_modules/jquery/dist/jquery.min.map: Added. |
| * Speedometer/resources/todomvc/architecture-examples/backbone/node_modules/todomvc-app-css/index.css: Updated per build steps. |
| * Speedometer/resources/todomvc/architecture-examples/backbone/node_modules/underscore/underscore-min.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/backbone/node_modules/underscore/underscore-min.map: Added. |
| * Speedometer/resources/todomvc/architecture-examples/backbone/package-lock.json: Added. |
| * Speedometer/resources/todomvc/architecture-examples/backbone/readme.md: Documented build steps. |
| |
| 2017-08-15 Michael Saboff <msaboff@apple.com> |
| |
| Add Offline Assembler parsing test to RexBench |
| https://bugs.webkit.org/show_bug.cgi?id=175581 |
| |
| Reviewed by Saam Barati. |
| |
| This is a port of the JavaScriptCore offline assmebler's lexer, parser, AST and |
| supporting code from Ruby to JavaScript turned into a benchmark. The benchmark |
| timing includes parsing through AST. The validation processing time is not |
| part of the benchmark measurement. |
| |
| The input data is the current tip of tree LLInt .asm source files. Those file |
| were converted to JavaScript using the python script, convert_asm_to_js.py. |
| There is also a new JavaScript file, generate_expected.js, to create the |
| expected output JavaScript file. |
| |
| * RexBench/OfflineAssembler: Added. |
| * RexBench/OfflineAssembler/ast.js: Added. |
| * RexBench/OfflineAssembler/instructions.js: Added. |
| * RexBench/OfflineAssembler/parser.js: Added. |
| * RexBench/OfflineAssembler/registers.js: Added. |
| These are JavaScript translation of the Ruby Offline Assembler. Code not |
| needed for the benchmark was not translated and therefore missing. |
| |
| * RexBench/OfflineAssembler/InitBytecodes.asm: Added. |
| * RexBench/OfflineAssembler/InitBytecodes.js: Added. |
| * RexBench/OfflineAssembler/LowLevelInterpreter.asm: Added. |
| * RexBench/OfflineAssembler/LowLevelInterpreter.js: Added. |
| * RexBench/OfflineAssembler/LowLevelInterpreter32_64.asm: Added. |
| * RexBench/OfflineAssembler/LowLevelInterpreter32_64.js: Added. |
| * RexBench/OfflineAssembler/LowLevelInterpreter64.asm: Added. |
| * RexBench/OfflineAssembler/LowLevelInterpreter64.js: Added. |
| Copies of the current LLInt source and conversion to JavaScript. |
| |
| * RexBench/OfflineAssembler/file.js: Added. |
| (File): |
| (File.open): |
| (File.prototype.read): |
| Mock File class used to simulate filesystem access. |
| |
| * RexBench/OfflineAssembler/expected.js: Added. |
| Expected output of the AST dumped and split into individual lines. |
| |
| * RexBench/OfflineAssembler/benchmark.js: Added. |
| (OfflineAssemblerBenchmark): |
| (OfflineAssemblerBenchmark.prototype.runOnce): |
| (OfflineAssemblerBenchmark.prototype.validate): |
| Benchmark sub class for this test. |
| |
| * RexBench/OfflineAssembler/convert_asm_to_js.py: Added. |
| (convertFile): |
| Converts .asm into .js files compatible to the benchmark. |
| |
| * RexBench/OfflineAssembler/generate_expected.js: Added. |
| Converts AST output into the expected file format. |
| |
| * RexBench/about.html: Added description of this sub-benchmark test. |
| |
| * RexBench/cli.js: |
| * RexBench/glue.js: |
| * RexBench/index.html: |
| * RexBench/offline_assembler_benchmark.js: Added. |
| Updates to add this sub-benchmark. |
| |
| 2017-08-09 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| font-fallback-font-family.html is failing on perf bots |
| https://bugs.webkit.org/show_bug.cgi?id=174989 |
| |
| Unreviewed. |
| |
| * Layout/resources/font-fallback-font-family.html: |
| |
| 2017-08-09 Michael Saboff <msaboff@apple.com> |
| |
| Unreviewed build fix. |
| |
| Added missing files. |
| |
| * RexBench/Octane2/benchmark.js: Added. |
| (Octane2RegExpBenchmark): |
| (Octane2RegExpBenchmark.prototype.setup.): |
| (Octane2RegExpBenchmark.prototype.setup.Math.random): |
| (Octane2RegExpBenchmark.prototype.setup): |
| (Octane2RegExpBenchmark.prototype.runOnce): |
| (Octane2RegExpBenchmark.prototype.tearDown): |
| * RexBench/SunSpider/benchmark.js: Added. |
| (RegexDNABenchmark): |
| (RegexDNABenchmark.prototype.runOnce): |
| (RegexDNABenchmark.prototype.validate): |
| |
| 2017-08-09 Michael Saboff <msaboff@apple.com> |
| |
| Rex Bench doesn't work from the command line |
| https://bugs.webkit.org/show_bug.cgi?id=175349 |
| |
| Reviewed by Saam Barati. |
| |
| Fixed cli.js to have the same set of benchmarks and .js files as the web |
| page driver. |
| |
| Refactored the way benchmarks are run using a new Benchmark base class. That |
| class will run the benchmark as well. Eliminated the various runBenchmark() |
| functions that were used for individual tests. This refactoring was threaded |
| into the web page driver as well. Changed the iteration counts on many of the |
| individual benchmarks. Also changed the inner loop count for the flight |
| planner test. |
| |
| Eliminated Octane2/base.js as it isn't needed to run Octane2/RegExp with the |
| new test harness. Eliminated other dead code in Octane2/regexp.js. |
| |
| * RexBench/Basic/benchmark.js: |
| (BasicBenchmark): |
| (BasicBenchmark.prototype.runIteration): Deleted. |
| (runBenchmark): Deleted. |
| * RexBench/FlightPlanner/benchmark.js: |
| (FlightPlannerBenchmark): |
| (FlightPlannerBenchmark.prototype.runOnce): |
| (this.performance.performance.now.currentTime): Deleted. |
| (else.this.preciseTime.currentTime): Deleted. |
| (else.currentTime): Deleted. |
| (FlightPlannerBenchmark.prototype.runIteration): Deleted. |
| (FlightPlannerBenchmark.prototype.checkResults): Deleted. |
| (runBenchmark): Deleted. |
| * RexBench/Octane2/base.js: Removed. |
| * RexBench/Octane2/regexp.js: |
| * RexBench/basic_benchmark.js: |
| * RexBench/benchmark.js: Added. |
| (this.performance.performance.now.currentTime): |
| (else.this.preciseTime.currentTime): |
| (else.currentTime): |
| (Benchmark): |
| (Benchmark.prototype.runIterations): |
| (Benchmark.prototype.setup): |
| (Benchmark.prototype.runOnce): |
| (Benchmark.prototype.validate): |
| (Benchmark.prototype.tearDown): |
| * RexBench/cli.js: |
| * RexBench/flightplan_benchmark.js: |
| * RexBench/flightplan_unicode_benchmark.js: |
| * RexBench/octane2_benchmark.js: |
| * RexBench/stats.js: |
| (Stats.prototype.toString.return.span.0.span.span): |
| * RexBench/sunspider_benchmark.js: |
| |
| 2017-08-07 Michael Saboff <msaboff@apple.com> |
| |
| Use more accurate Russian keywords for RexBench/FlightPlanner Unicode mode |
| https://bugs.webkit.org/show_bug.cgi?id=175298 |
| |
| Reviewed by Saam Barati. |
| |
| With the help of Alexey Proskuryakov updated the Russian keywords. |
| |
| * RexBench/FlightPlanner/use_unicode.js: |
| |
| 2017-08-07 Mathias Bynens <mathias@qiwi.be> |
| |
| Speedometer: Update to modern production Ember version |
| https://bugs.webkit.org/show_bug.cgi?id=175278 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/README.md: Added. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/index.html: Made title consistent. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/source/README.md: Documented build process. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/source/app/components/.gitkeep: Added. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/source/app/index.html: Made title consistent. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/source/app/instance-initializers/global.js: Removed. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/source/app/models/.gitkeep: Added. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/source/app/router.js: Update to latest version. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/source/app/routes/.gitkeep: Added. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/source/app/services/repo.js: Update to latest version |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/source/app/styles/app.css: Added. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/source/app/templates/components/.gitkeep: Added. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/source/bower.json: Update to latest version. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/source/config/environment.js: Update to latest version. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/source/dist/*: Added generated files per build instructions. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/source/package-lock.json: Pinned dependencies. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/source/package.json: Update to latest version. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/source/tests/.jshintrc: Removed. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/source/tests/helpers/module-for-acceptance.js: Updated to latest version. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/source/tests/helpers/start-app.js: Updated to latest version. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/source/tests/index.html: Updated to latest version. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/source/tests/integration/.gitkeep: Added. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/source/tests/unit/.gitkeep: Added. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/source/vendor/.gitkeep: Added. |
| |
| 2017-08-07 Michael Saboff <msaboff@apple.com> |
| |
| REGRESSION(r220307): Perf bot failure trying to run RexBench tests |
| https://bugs.webkit.org/show_bug.cgi?id=175289 |
| |
| Reviewed by Filip Pizlo. |
| |
| Add RexBench to the list of benchmarks we skip on the perf bots. |
| |
| * Skipped: |
| |
| 2017-08-04 Michael Saboff <msaboff@apple.com> |
| |
| Create a new JavaScript RegExp benchmark |
| https://bugs.webkit.org/show_bug.cgi?id=175225 |
| |
| Reviewed by JF Bastien. |
| |
| This is a new benchmark for Regular Expressions. It borrows regex-dna from |
| SunSpider, the regexp test from Octane2, the BASIC parser from ARES-6/Basic, |
| and adds a new flight planner benchmark that uses RegExp's for textual parsing. |
| |
| There needs to be some additions and changes to some of the textual content. |
| This includes adding more BASIC programs to the Basic test and increasing |
| keyword usage in the Flight Planner to increase the 16-bit coverage. |
| |
| The intent is to grow this benchmark by adding a JavaScript implementation of the |
| offline assembler lexer and parser as well as adding some targeted micro benchmark |
| tests. |
| |
| * RexBench: Added. |
| * RexBench/Basic: Added. |
| * RexBench/Basic/ast.js: Added. |
| * RexBench/Basic/basic.js: Added. |
| * RexBench/Basic/benchmark.js: Added. |
| * RexBench/Basic/caseless_map.js: Added. |
| * RexBench/Basic/lexer.js: Added. |
| * RexBench/Basic/number.js: Added. |
| * RexBench/Basic/parser.js: Added. |
| * RexBench/Basic/random.js: Added. |
| * RexBench/Basic/state.js: Added. |
| * RexBench/Basic/stress-test.js: Added. |
| * RexBench/Basic/util.js: Added. |
| * RexBench/FlightPlanner: Added. |
| * RexBench/FlightPlanner/airways.js: Added. |
| * RexBench/FlightPlanner/benchmark.js: Added. |
| * RexBench/FlightPlanner/convert-nfdc.py: Added. |
| * RexBench/FlightPlanner/expectations.js: Added. |
| * RexBench/FlightPlanner/flight_planner.js: Added. |
| * RexBench/FlightPlanner/use_unicode.js: Added. |
| * RexBench/FlightPlanner/waypoints.js: Added. |
| * RexBench/Octane2: Added. |
| * RexBench/Octane2/base.js: Added. |
| * RexBench/Octane2/regexp.js: Added. |
| * RexBench/SunSpider: Added. |
| * RexBench/SunSpider/regex-dna.js: Added. |
| * RexBench/about.html: Added. |
| * RexBench/basic_benchmark.js: Added. |
| * RexBench/cli.js: Added. |
| * RexBench/driver.js: Added. |
| * RexBench/flightplan_benchmark.js: Added. |
| * RexBench/flightplan_unicode_benchmark.js: Added. |
| * RexBench/glue.js: Added. |
| * RexBench/index.html: Added. |
| * RexBench/octane2_benchmark.js: Added. |
| * RexBench/results.js: Added. |
| * RexBench/stats.js: Added. |
| * RexBench/styles.css: Added. |
| * RexBench/sunspider_benchmark.js: Added. |
| |
| 2017-07-31 Mathias Bynens <mathias@qiwi.be> |
| |
| Speedometer 2.0: Remove <base> from Angular 4 test |
| https://bugs.webkit.org/show_bug.cgi?id=175004 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| * Speedometer/resources/todomvc/architecture-examples/angular/dist/index.html: Remove <base>. |
| * Speedometer/resources/todomvc/architecture-examples/angular/src/index.html: Remove <base>. |
| |
| 2017-07-29 Mathias Bynens <mathias@chromium.org> |
| |
| Speedometer 2.0: Document vanilla/es2015 build process |
| https://bugs.webkit.org/show_bug.cgi?id=174894 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| * Speedometer/resources/todomvc/vanilla-examples/es2015/README.md: Added. |
| * Speedometer/resources/todomvc/vanilla-examples/es2015/index.html: Made title consistent. |
| |
| 2017-07-27 Mathias Bynens <mathias@chromium.org> |
| |
| Speedometer 2.0: Document Angular 4 build process |
| https://bugs.webkit.org/show_bug.cgi?id=174896 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| This patch documents the build process for the Angular 4 example, pins the dependencies (so |
| that builds are deterministic), and updates the generated files accordingly. |
| |
| * Speedometer/resources/todomvc/architecture-examples/angular/README.md: Added. |
| * Speedometer/resources/todomvc/architecture-examples/angular/dist/*: Update per build instructions. |
| * Speedometer/resources/todomvc/architecture-examples/angular/e2e/app.e2e-spec.ts: Removed unused file. |
| * Speedometer/resources/todomvc/architecture-examples/angular/e2e/app.po.ts: Removed unused file. |
| * Speedometer/resources/todomvc/architecture-examples/angular/e2e/tsconfig.e2e.json: Removed unused file. |
| * Speedometer/resources/todomvc/architecture-examples/angular/package.json: Remove unneeded scripts. |
| * Speedometer/resources/todomvc/architecture-examples/angular/package-lock.json: Added to pin dependencies. |
| * Speedometer/resources/todomvc/architecture-examples/angular/src/app/app.component.ts: Updated. |
| * Speedometer/resources/todomvc/architecture-examples/angular/src/environments/environment.ts: Updated. |
| * Speedometer/resources/todomvc/architecture-examples/angular/src/index.html: Made title consistent. |
| |
| 2017-07-25 Mathias Bynens <mathias@qiwi.be> |
| |
| Speedometer 2.0: Document es2015-babel-webpack build process |
| https://bugs.webkit.org/show_bug.cgi?id=174252 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| * Speedometer/resources/todomvc/vanilla-examples/es2015-babel-webpack/README.md: Added build docs. |
| * Speedometer/resources/todomvc/vanilla-examples/es2015-babel-webpack/dist/*: Update generated build files. |
| * Speedometer/resources/todomvc/vanilla-examples/es2015-babel-webpack/package.json: Remove unused items. |
| * Speedometer/resources/todomvc/vanilla-examples/es2015-babel-webpack/package-lock.json: Added lockfile. |
| * Speedometer/resources/todomvc/vanilla-examples/es2015-babel-webpack/src/index.html: Make title consistent. |
| |
| 2017-07-18 Matt Kotsenas <mattkot@microsoft.com> |
| |
| Add performance.mark()s around each test step |
| https://bugs.webkit.org/show_bug.cgi?id=174530 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| Add `performance.mark()` around each test step to make analysis |
| simpler. Now each test step can be investigated via dev tools, ETW, etc. |
| |
| * Speedometer/resources/benchmark-runner.js: |
| (BenchmarkRunner.prototype._writeMark): |
| (BenchmarkRunner.prototype._runTest): |
| (BenchmarkRunner.prototype._runTestAndRecordResults): |
| |
| 2017-07-14 Saam Barati <sbarati@apple.com> |
| |
| Fix ambiguous description text in ARES-6 about the data the benchmark measures |
| https://bugs.webkit.org/show_bug.cgi?id=174510 |
| |
| Rubber stamped by Filip Pizlo. |
| |
| * ARES-6/about.html: |
| |
| 2017-07-07 Mathias Bynens <mathias@qiwi.be> |
| |
| Speedometer 2.0: Fix vanilla JS example |
| https://bugs.webkit.org/show_bug.cgi?id=174246 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| Previously, all TODO items were assigned an ID of `null`. This patch |
| fixes that bug. Manually deleting items now works again. |
| |
| * Speedometer/resources/todomvc/vanilla-examples/vanillajs/index.html: Made title consistent. |
| * Speedometer/resources/todomvc/vanilla-examples/vanillajs/js/store.js: Fixed bug with deleting items. |
| * Speedometer/resources/todomvc/vanilla-examples/vanillajs/readme.md: Added docs. |
| |
| 2017-07-06 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| [Cocoa] Improve performance of font lookups |
| https://bugs.webkit.org/show_bug.cgi?id=173960 |
| <rdar://problem/31996891> |
| |
| Reviewed by Darin Adler. |
| |
| * Layout/font-fallback-font-family.html: Added. |
| * Layout/resources/font-fallback-font-family.html: Added. |
| |
| 2017-06-10 Dan Bernstein <mitz@apple.com> |
| |
| Reverted r218056 because it made the IDE reindex constantly. |
| |
| * MediaTime/Configurations/DebugRelease.xcconfig: |
| |
| 2017-06-10 Dan Bernstein <mitz@apple.com> |
| |
| [Xcode] With Xcode 9 developer beta, everything rebuilds when switching between command-line and IDE |
| https://bugs.webkit.org/show_bug.cgi?id=173223 |
| |
| Reviewed by Sam Weinig. |
| |
| The rebuilds were happening due to a difference in the compiler options that the IDE and |
| xcodebuild were specifying. Only the IDE was passing the -index-store-path option. To make |
| xcodebuild pass that option, too, set CLANG_INDEX_STORE_ENABLE to YES if it is unset, and |
| specify an appropriate path in CLANG_INDEX_STORE_PATH. |
| |
| * MediaTime/Configurations/DebugRelease.xcconfig: |
| |
| 2017-06-07 Saam Barati <sbarati@apple.com> |
| |
| ARES-6 incorrectly measures Worst 4 Iterations |
| https://bugs.webkit.org/show_bug.cgi?id=172960 |
| |
| Reviewed by Mark Lam. |
| |
| Version 1.0 of ARES-6 was accidentally measuring the first |
| 4 iterations, instead of the worst 4. This patch fixes the |
| bug and bumps the version to 1.0.1. |
| |
| * ARES-6/glue.js: |
| (driver.reportResult): |
| * ARES-6/results.js: |
| (Results.prototype.reportResult): |
| |
| 2017-06-06 Saam Barati <sbarati@apple.com> |
| |
| Add a version number to ARES-6 |
| https://bugs.webkit.org/show_bug.cgi?id=172962 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * ARES-6/glue.js: |
| (driver.reportResult): |
| |
| 2017-06-01 Saam Barati <sbarati@apple.com> |
| |
| Ensure a good experience for ARES-6 error reporting |
| https://bugs.webkit.org/show_bug.cgi?id=171699 |
| |
| Reviewed by Filip Pizlo and Jon Davis. |
| |
| This patch fixes a bug where we would silently fail running ARES-6. The bug |
| was that we were calling reportError with the wrong |this| value. |
| I also cleaned up a bit of the code around error reporting. We |
| now indicate which test failed, and update the status to reflect |
| that a failure happened. |
| |
| This patch also modifies the CSS a bit to work better on smaller |
| screened devices. The CSS prevents the status from having a line |
| break both when an error is reported and when we're running the |
| benchmark. |
| |
| * ARES-6/driver.js: |
| (Driver): |
| (Driver.prototype.reportError): |
| * ARES-6/results.js: |
| (Results.prototype.reportError): |
| (Results): |
| * ARES-6/styles.css: |
| (.start): |
| (#status): |
| (.failed): |
| (#status.failed): |
| (.test .failed:before): |
| (#magic): |
| (@media only screen and (max-width: 784px)): |
| (.test): |
| (p): |
| (@media only screen and (max-width: 320px)): |
| |
| 2017-05-19 Ryosuke Niwa <rniwa@webkit.org> |
| |
| REGRESSION(r217118): Speedometer 2.0: Flight.js test is broken |
| https://bugs.webkit.org/show_bug.cgi?id=172394 |
| |
| Reviewed by Chris Dumez. |
| |
| Fixed the bug that we were never clearing window.checkLoadedTimeoutId. |
| |
| * Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/requirejs/require.js: |
| (newContext.checkLoaded): |
| |
| 2017-05-19 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| Add SixSpeed benchmark to PerformanceTests |
| https://bugs.webkit.org/show_bug.cgi?id=172326 |
| |
| Reviewed by Sam Weinig. |
| |
| This patch imports SixSpeed benchmark into WebKit tree. |
| It is a collection of ES6 microbenchmarks. While the scripts are very tiny, |
| it sometimes hits our missing care for optimization. So including it is useful. |
| |
| The benchmark is released under MIT license. |
| |
| * SixSpeed/LICENSE: Added. |
| * SixSpeed/REVISION: Added. |
| * SixSpeed/ReadMe.md: Added. |
| * SixSpeed/tests/.eslintrc: Added. |
| * SixSpeed/tests/arrow-args/arrow-args.es5: Added. |
| * SixSpeed/tests/arrow-args/arrow-args.es6: Added. |
| * SixSpeed/tests/arrow-declare/arrow-declare.es5: Added. |
| * SixSpeed/tests/arrow-declare/arrow-declare.es6: Added. |
| * SixSpeed/tests/arrow/arrow.es5: Added. |
| * SixSpeed/tests/arrow/arrow.es6: Added. |
| * SixSpeed/tests/bindings-compound/bindings-compound.es5: Added. |
| * SixSpeed/tests/bindings-compound/bindings-compound.es6: Added. |
| * SixSpeed/tests/bindings/bindings.es5: Added. |
| * SixSpeed/tests/bindings/bindings.es6: Added. |
| * SixSpeed/tests/classes/classes.es5: Added. |
| * SixSpeed/tests/classes/classes.es6: Added. |
| * SixSpeed/tests/defaults/defaults.es5: Added. |
| * SixSpeed/tests/defaults/defaults.es6: Added. |
| * SixSpeed/tests/destructuring-simple/destructuring-simple.es5: Added. |
| * SixSpeed/tests/destructuring-simple/destructuring-simple.es6: Added. |
| * SixSpeed/tests/destructuring/destructuring.es5: Added. |
| * SixSpeed/tests/destructuring/destructuring.es6: Added. |
| * SixSpeed/tests/for-of-array/for-of-array.es5: Added. |
| * SixSpeed/tests/for-of-array/for-of-array.es6: Added. |
| * SixSpeed/tests/for-of-object/for-of-object.es5: Added. |
| * SixSpeed/tests/for-of-object/for-of-object.es6: Added. |
| * SixSpeed/tests/generator/generator.es5: Added. |
| * SixSpeed/tests/generator/generator.es6: Added. |
| * SixSpeed/tests/map-set-lookup/map-set-lookup.es5: Added. |
| * SixSpeed/tests/map-set-lookup/map-set-lookup.es6: Added. |
| * SixSpeed/tests/map-set-object/map-set-object.es5: Added. |
| * SixSpeed/tests/map-set-object/map-set-object.es6: Added. |
| * SixSpeed/tests/map-set/map-set.es5: Added. |
| * SixSpeed/tests/map-set/map-set.es6: Added. |
| * SixSpeed/tests/map-string/map-string.es5: Added. |
| * SixSpeed/tests/map-string/map-string.es6: Added. |
| * SixSpeed/tests/new-target/defaults.es5: Added. |
| * SixSpeed/tests/new-target/defaults.es6: Added. |
| * SixSpeed/tests/object-assign/object-assign.es5: Added. |
| * SixSpeed/tests/object-assign/object-assign.es6: Added. |
| * SixSpeed/tests/object-literal-ext/object-literal-ext.es5: Added. |
| * SixSpeed/tests/object-literal-ext/object-literal-ext.es6: Added. |
| * SixSpeed/tests/regex-u/regex-u.es5: Added. |
| * SixSpeed/tests/regex-u/regex-u.es6: Added. |
| * SixSpeed/tests/rest/rest.es5: Added. |
| * SixSpeed/tests/rest/rest.es6: Added. |
| * SixSpeed/tests/spread-generator/spread-generator.es5: Added. |
| * SixSpeed/tests/spread-generator/spread-generator.es6: Added. |
| * SixSpeed/tests/spread-literal/spread-literal.es5: Added. |
| * SixSpeed/tests/spread-literal/spread-literal.es6: Added. |
| * SixSpeed/tests/spread/spread.es5: Added. |
| * SixSpeed/tests/spread/spread.es6: Added. |
| * SixSpeed/tests/super/super.es5: Added. |
| * SixSpeed/tests/super/super.es6: Added. |
| * SixSpeed/tests/template_string/template_string.es5: Added. |
| * SixSpeed/tests/template_string/template_string.es6: Added. |
| * SixSpeed/tests/template_string_tag/template_string_tag.es5: Added. |
| * SixSpeed/tests/template_string_tag/template_string_tag.es6: Added. |
| * SixSpeed/wrappers/wrapper.js: |
| (test): |
| |
| 2017-05-19 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Speedometer 2.0: Angular v1 test only deletes the second item |
| https://bugs.webkit.org/show_bug.cgi?id=172353 |
| |
| Reviewed by Antti Koivisto. |
| |
| Like jQuery and Inferno, run querySelector after removing each todo item. |
| |
| * Speedometer/InteractiveRunner.html: Tweaked CSS again. |
| * Speedometer/resources/tests.js: |
| |
| 2017-05-19 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Speedometer 2.0: Elem test isn't updating DOM during the measurement |
| https://bugs.webkit.org/show_bug.cgi?id=172343 |
| |
| Reviewed by Antti Koivisto. |
| |
| Elem test wasn't doing much work because it simply enqueues items into the work queue, which doesn't get |
| executed until the next requestAnimationFrame or setTimeout callback happens. |
| |
| Expose elm's work function as contentWindow.elemWork and make the first use of rAF a synchronous callback |
| just as it would when requestAnimationFrame isn't defined, and make the second use of rAF queue up to |
| an array of callbacks, and have the test runner manually invoke each callback. |
| |
| This increases the runtime of the Elm suite from 100ms to 300ms on Safari. |
| |
| * Speedometer/resources/tests.js: |
| (processElmWorkQueue): Added. A helper which processes Elm's work queue and manually invokes render callbacks. |
| * Speedometer/resources/todomvc/functional-prog-examples/elm/dist/elm.js: |
| |
| 2017-05-18 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Speedometer 2.0: Flight.js test is sometime broken |
| https://bugs.webkit.org/show_bug.cgi?id=172347 |
| |
| Reviewed by Antti Koivisto. |
| |
| The bug was caused by the test runner only waiting for #new-todo, which happens before all other states are |
| updated in the Flight.js dependency example. As done in Speedometer v1, insert a dummy element with id set |
| to appIsReady and wait for this element to appear in the benchmark harness. |
| |
| * Speedometer/resources/tests.js: Wait for #appIsReady. |
| * Speedometer/resources/todomvc/dependency-examples/flight/flight/app/js/main.js: Removed the superflous call |
| to console.log. |
| (checkReady): Added. Insert #appIsReady if checkLoaded is no longer running at 50ms interval. Because this |
| could happen asynchronously, we check the absense of checkLoadedTimeoutId Ωevery 10ms for 5 times for |
| the total duration of 50ms. If checkLoadedTimeoutId was never present, we call it ready. If we ever observed |
| the presence of checkLoadedTimeoutId, wait another 50ms and start over. |
| * Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/requirejs/require.js: |
| (.newContext.checkLoaded): Expose checkLoadedTimeoutId which is a timer ID used to check the dependency. |
| |
| 2017-05-19 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Speedometer 2.0: jQuery and Inferno tests don't delete all ToDo items |
| https://bugs.webkit.org/show_bug.cgi?id=172341 |
| |
| Reviewed by Antti Koivisto. |
| |
| The bug was caused by the fact TodoMVC examples for jQuery and Inferno JS create a new button |
| to delete the todo item each time todo items are rendered. |
| |
| Fixed the bug by dynamically look for .destroy using querySelector for each item. |
| |
| Also moved the deletion of the iframe from the end of each test suite to the beginning of each suite. |
| This will make debugging the issue like this easier on InteractiveRunner.html since the iframe |
| will stick around after stepping the last item in the suite. |
| |
| * Speedometer/InteractiveRunner.html: Tweaked the CSS to make buttons to "Step" and "Run" always visible |
| even if the list of suites and subtests are too long to fit in the viewport. |
| |
| * Speedometer/resources/benchmark-runner.js: |
| (BenchmarkRunner.prototype.step): |
| (BenchmarkRunner.prototype._runTestAndRecordResults): |
| |
| * Speedometer/resources/tests.js: Fixed the bug for jQuery and Inferno. In the case of jQuery |
| we also have to fix the code for checking every ToDo item as completed as well. |
| |
| 2017-05-19 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Speedometer 2.0: Vanilla JS test doesn't mark all todo items as completed |
| https://bugs.webkit.org/show_bug.cgi?id=172348 |
| |
| Reviewed by Antti Koivisto. |
| |
| The bug was caused by the in-memory store class using the milisecond precision timestamp as an ID. |
| Because we inserts 50 items all at once, this can result in multiple data items sharing a single ID. |
| |
| Fixed the bug by using a mononotically increasing ID instead. |
| |
| * Speedometer/resources/todomvc/vanilla-examples/vanillajs/js/store.js: |
| (Store.prototype.save): |
| |
| 2017-05-18 Ryosuke Niwa <rniwa@webkit.org> |
| |
| REGRESSION (r216694 - 216712): Performance test Speedometer/Full.html is failing |
| https://bugs.webkit.org/show_bug.cgi?id=172077 |
| |
| Reviewed by Chris Dumez. |
| |
| Rename Full.html to index.html to match the convention of other benchmarks. |
| |
| * Speedometer/index.html: Renamed from PerformanceTests/Speedometer/Full.html. |
| |
| 2017-05-18 Addy Osmani <addyosmani@gmail.com> |
| |
| Speedometer: check-in missing React TodoMVC dependency |
| https://bugs.webkit.org/show_bug.cgi?id=172213 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| * Speedometer/resources/todomvc/architecture-examples/react/index.html: fix director.min.js path. |
| * Speedometer/resources/todomvc/architecture-examples/react/node_modules/director/director.min.js: Added. |
| |
| 2017-05-17 Addy Osmani <addyosmani@gmail.com> |
| |
| Speedometer: adjust Ember TodoMVC to use full path |
| https://bugs.webkit.org/show_bug.cgi?id=172211 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| * Speedometer/resources/tests.js: use full path to Ember TodoMVC app. |
| |
| 2017-05-16 Addy Osmani <addyosmani@gmail.com> |
| |
| Update to Speedometer 2.0 w/updated frameworks + new workloads |
| https://bugs.webkit.org/show_bug.cgi?id=170513 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| Refresh test runner and fix apps to work with it. |
| |
| * Speedometer/InteractiveRunner.html: |
| (parseQueryString): Adds support for startAutomatically query parameter. |
| * Speedometer/resources/tests.js: |
| (triggerEnter): Refactor event triggering behavior for tests. |
| * Speedometer/resources/todomvc/architecture-examples/angular/dist/index.html: |
| (CSS): Drop reference to extraneous stylesheet in Angular TodoMVC. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/assets/todomvc.js: |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/index.html: |
| (base): Enable Ember TodoMVC to be run from any directory/level. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/source/app/services/memory.js: |
| (localStorageMemory): Correct import path and switch to window.localStorageMemory to fix Ember failures. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/source/app/services/repo.js: |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/tests/index.html: |
| * Speedometer/resources/todomvc/architecture-examples/jquery/index.html: |
| * Speedometer/resources/todomvc/architecture-examples/jquery/node_modules/director/LICENSE: Added. |
| (LICENSE): Add missing metadata and LICENSE files as part of director.js package for jQuery TodoMVC |
| * Speedometer/resources/todomvc/architecture-examples/jquery/node_modules/director/bower.json: Added. |
| * Speedometer/resources/todomvc/architecture-examples/jquery/node_modules/director/dist/director.js: Add missing |
| director.js dependency for jQuery TodoMVC implementation. |
| * Speedometer/resources/todomvc/architecture-examples/jquery/node_modules/director/dist/director.min.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/jquery/node_modules/director/dist/ender.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/jquery/node_modules/director/package.json: Added. |
| * Speedometer/resources/todomvc/functional-prog-examples/elm/index.html: Fix path to built Elm TodoMVC scripts. |
| |
| 2017-05-12 Addy Osmani <addyosmani@gmail.com> |
| |
| Speedometer: Add a React.js TodoMVC implementation |
| https://bugs.webkit.org/show_bug.cgi?id=171444 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| Adds a more recent React.js TodoMVC implemenation to Speedometer |
| |
| * Speedometer/resources/todomvc/architecture-examples/react/build.min.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/react/index.html: Added. |
| * Speedometer/resources/todomvc/architecture-examples/react/js/app.jsx: Added. |
| * Speedometer/resources/todomvc/architecture-examples/react/license.md: Added. |
| * Speedometer/resources/todomvc/architecture-examples/react/node_modules/classnames/LICENSE: Added. |
| * Speedometer/resources/todomvc/architecture-examples/react/node_modules/classnames/bind.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/react/node_modules/classnames/bower.json: Added. |
| * Speedometer/resources/todomvc/architecture-examples/react/node_modules/classnames/dedupe.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/react/node_modules/classnames/index.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/react/node_modules/classnames/package.json: Added. |
| * Speedometer/resources/todomvc/architecture-examples/react/node_modules/director/LICENSE: Added. |
| * Speedometer/resources/todomvc/architecture-examples/react/node_modules/director/bower.json: Added. |
| * Speedometer/resources/todomvc/architecture-examples/react/node_modules/director/package.json: Added. |
| * Speedometer/resources/todomvc/architecture-examples/react/node_modules/react-dom/LICENSE: Added. |
| * Speedometer/resources/todomvc/architecture-examples/react/node_modules/react-dom/dist/react-dom-server.min.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/react/node_modules/react-dom/dist/react-dom.min.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/react/node_modules/react-dom/index.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/react/node_modules/react/LICENSE: Added. |
| * Speedometer/resources/todomvc/architecture-examples/react/node_modules/react/README.md: Added. |
| * Speedometer/resources/todomvc/architecture-examples/react/node_modules/react/dist/react-with-addons.min.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/react/node_modules/react/dist/react.min.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/react/node_modules/react/package.json: Added. |
| * Speedometer/resources/todomvc/architecture-examples/react/node_modules/todomvc-app-css/index.css: Added. |
| * Speedometer/resources/todomvc/architecture-examples/react/node_modules/todomvc-common/base.css: Added. |
| * Speedometer/resources/todomvc/architecture-examples/react/node_modules/todomvc-common/base.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/react/npm-shrinkwrap.json: Added. |
| * Speedometer/resources/todomvc/architecture-examples/react/package.json: Added. |
| * Speedometer/resources/todomvc/architecture-examples/react/yarn.lock: Added. |
| |
| 2017-05-11 Addy Osmani <addyosmani@gmail.com> |
| |
| Speedometer: Update the Ember.js TodoMVC to a more recent version |
| https://bugs.webkit.org/show_bug.cgi?id=171342 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| Update the Ember TodoMVC app in Speedometer to latest |
| |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/assets/todomvc.css: Added. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/assets/todomvc.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/assets/vendor.css: Renamed from PerformanceTests/Speedometer/resources/todomvc/architecture-examples/emberjs/bower_components/todomvc-common/base.css. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/assets/vendor.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/bower.json: Removed. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/bower_components/ember-data/ember-data.js: Removed. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/bower_components/ember-localstorage-adapter/localstorage_adapter.js: Removed. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/bower_components/ember/ember.js: Removed. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/bower_components/handlebars/handlebars.js: Removed. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/bower_components/jquery/jquery.js: Removed. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/bower_components/todomvc-common/base.js: Removed. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/bower_components/todomvc-common/bg.png: Removed. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/crossdomain.xml: Added. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/index.html: |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/js/app.js: Removed. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/js/controllers/todo_controller.js: Removed. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/js/controllers/todos_controller.js: Removed. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/js/helpers/pluralize.js: Removed. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/js/models/todo.js: Removed. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/js/router.js: Removed. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/js/views/edit_todo_view.js: Removed. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/js/views/todos_view.js: Removed. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/readme.md: Removed. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/robots.txt: Added. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/source/.bowerrc: Added. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/source/.editorconfig: Added. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/source/.ember-cli: Added. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/source/.gitignore: Added. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/source/.jshintrc: Added. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/source/.travis.yml: Added. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/source/.watchmanconfig: Added. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/source/README.md: Added. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/source/app/app.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/source/app/components/.gitkeep: Added. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/source/app/components/todo-item.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/source/app/components/todo-list.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/source/app/controllers/active.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/source/app/controllers/application.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/source/app/controllers/completed.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/source/app/helpers/gt.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/source/app/helpers/pluralize.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/source/app/index.html: Added. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/source/app/instance-initializers/global.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/source/app/models/.gitkeep: Added. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/source/app/resolver.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/source/app/router.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/source/app/routes/.gitkeep: Added. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/source/app/routes/application.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/source/app/services/memory.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/source/app/services/repo.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/source/app/styles/app.css: Added. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/source/app/templates/active.hbs: Added. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/source/app/templates/application.hbs: Added. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/source/app/templates/completed.hbs: Added. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/source/app/templates/components/.gitkeep: Added. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/source/app/templates/components/todo-item.hbs: Added. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/source/app/templates/components/todo-list.hbs: Added. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/source/app/templates/index.hbs: Added. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/source/bower.json: Added. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/source/config/environment.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/source/ember-cli-build.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/source/package.json: Added. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/source/public/crossdomain.xml: Added. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/source/public/robots.txt: Added. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/source/testem.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/source/tests/.jshintrc: Added. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/source/tests/helpers/destroy-app.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/source/tests/helpers/module-for-acceptance.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/source/tests/helpers/resolver.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/source/tests/helpers/start-app.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/source/tests/index.html: Added. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/source/tests/integration/.gitkeep: Added. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/source/tests/test-helper.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/source/tests/unit/.gitkeep: Added. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/source/vendor/.gitkeep: Added. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/source/vendor/base.css: Added. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/source/vendor/index.css: Added. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/test.html: Removed. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/testem.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/tests/index.html: Added. |
| |
| 2017-05-11 Addy Osmani <addyosmani@gmail.com> |
| |
| Speedometer: Add a React + Redux TodoMVC implementation |
| https://bugs.webkit.org/show_bug.cgi?id=171329 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| Adds React and Redux TodoMVC implementation for Speedometer |
| |
| * Speedometer/resources/todomvc/architecture-examples/react-redux/README.md: Added. |
| * Speedometer/resources/todomvc/architecture-examples/react-redux/dist/index.html: Added. |
| * Speedometer/resources/todomvc/architecture-examples/react-redux/dist/static/css/main.d43d2909.css: Added. |
| * Speedometer/resources/todomvc/architecture-examples/react-redux/dist/static/js/main.946269ff.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/react-redux/package.json: Added. |
| * Speedometer/resources/todomvc/architecture-examples/react-redux/public/index.html: Added. |
| * Speedometer/resources/todomvc/architecture-examples/react-redux/src/actions/index.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/react-redux/src/actions/index.spec.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/react-redux/src/components/Footer.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/react-redux/src/components/Footer.spec.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/react-redux/src/components/Header.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/react-redux/src/components/Header.spec.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/react-redux/src/components/MainSection.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/react-redux/src/components/MainSection.spec.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/react-redux/src/components/TodoItem.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/react-redux/src/components/TodoItem.spec.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/react-redux/src/components/TodoTextInput.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/react-redux/src/components/TodoTextInput.spec.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/react-redux/src/constants/ActionTypes.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/react-redux/src/constants/TodoFilters.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/react-redux/src/containers/App.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/react-redux/src/index.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/react-redux/src/reducers/index.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/react-redux/src/reducers/todos.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/react-redux/src/reducers/todos.spec.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/react-redux/yarn.lock: Added. |
| |
| 2017-05-11 Addy Osmani <addyosmani@gmail.com> |
| |
| Speedometer: Add an ES2015 (Babel + Webpack) TodoMVC implementation |
| https://bugs.webkit.org/show_bug.cgi?id=171452 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| Adds ES2015 Babel + Webpack TodoMVC implem |
| |
| * Speedometer/resources/todomvc/vanilla-examples/es2015-babel-webpack/.babelrc: Added. |
| * Speedometer/resources/todomvc/vanilla-examples/es2015-babel-webpack/.eslintignore: Added. |
| * Speedometer/resources/todomvc/vanilla-examples/es2015-babel-webpack/dist/bundle.app.73bcc5d3c1d07180f0e3.js: Added. |
| * Speedometer/resources/todomvc/vanilla-examples/es2015-babel-webpack/dist/bundle.app.73bcc5d3c1d07180f0e3.js.map: Added. |
| * Speedometer/resources/todomvc/vanilla-examples/es2015-babel-webpack/dist/bundle.manifest.112bf70a7f3deebf1f93.js: Added. |
| * Speedometer/resources/todomvc/vanilla-examples/es2015-babel-webpack/dist/bundle.manifest.112bf70a7f3deebf1f93.js.map: Added. |
| * Speedometer/resources/todomvc/vanilla-examples/es2015-babel-webpack/dist/bundle.vendor.efaa3e0e20077c8e7471.js: Added. |
| * Speedometer/resources/todomvc/vanilla-examples/es2015-babel-webpack/dist/bundle.vendor.efaa3e0e20077c8e7471.js.map: Added. |
| * Speedometer/resources/todomvc/vanilla-examples/es2015-babel-webpack/dist/index.html: Added. |
| * Speedometer/resources/todomvc/vanilla-examples/es2015-babel-webpack/dist/styles.app.73bcc5d3c1d07180f0e3.css: Added. |
| * Speedometer/resources/todomvc/vanilla-examples/es2015-babel-webpack/dist/styles.app.73bcc5d3c1d07180f0e3.css.map: Added. |
| * Speedometer/resources/todomvc/vanilla-examples/es2015-babel-webpack/dist/styles.vendor.efaa3e0e20077c8e7471.css: Added. |
| * Speedometer/resources/todomvc/vanilla-examples/es2015-babel-webpack/dist/styles.vendor.efaa3e0e20077c8e7471.css.map: Added. |
| * Speedometer/resources/todomvc/vanilla-examples/es2015-babel-webpack/package.json: Added. |
| * Speedometer/resources/todomvc/vanilla-examples/es2015-babel-webpack/src/app.css: Added. |
| * Speedometer/resources/todomvc/vanilla-examples/es2015-babel-webpack/src/app.js: Added. |
| * Speedometer/resources/todomvc/vanilla-examples/es2015-babel-webpack/src/bootstrap.js: Added. |
| * Speedometer/resources/todomvc/vanilla-examples/es2015-babel-webpack/src/controller.js: Added. |
| * Speedometer/resources/todomvc/vanilla-examples/es2015-babel-webpack/src/controller.test.js: Added. |
| * Speedometer/resources/todomvc/vanilla-examples/es2015-babel-webpack/src/helpers.js: Added. |
| * Speedometer/resources/todomvc/vanilla-examples/es2015-babel-webpack/src/index.html: Added. |
| * Speedometer/resources/todomvc/vanilla-examples/es2015-babel-webpack/src/memory.js: Added. |
| * Speedometer/resources/todomvc/vanilla-examples/es2015-babel-webpack/src/model.js: Added. |
| * Speedometer/resources/todomvc/vanilla-examples/es2015-babel-webpack/src/store.js: Added. |
| * Speedometer/resources/todomvc/vanilla-examples/es2015-babel-webpack/src/template.js: Added. |
| * Speedometer/resources/todomvc/vanilla-examples/es2015-babel-webpack/src/todo.js: Added. |
| * Speedometer/resources/todomvc/vanilla-examples/es2015-babel-webpack/src/view.js: Added. |
| * Speedometer/resources/todomvc/vanilla-examples/es2015-babel-webpack/webpack.config.babel.js: Added. |
| |
| 2017-05-11 Addy Osmani <addyosmani@gmail.com> |
| |
| Speedometer: Add an Inferno TodoMVC implementation |
| https://bugs.webkit.org/show_bug.cgi?id=171411 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| Adds a Inferno implem of TodoMVC to Speedometer |
| |
| * Speedometer/resources/todomvc/architecture-examples/inferno/dist/bundle.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/inferno/index.html: Added. |
| * Speedometer/resources/todomvc/architecture-examples/inferno/node_modules/todomvc-app-css/index.css: Added. |
| * Speedometer/resources/todomvc/architecture-examples/inferno/node_modules/todomvc-app-css/package.json: Added. |
| * Speedometer/resources/todomvc/architecture-examples/inferno/node_modules/todomvc-app-css/readme.md: Added. |
| * Speedometer/resources/todomvc/architecture-examples/inferno/node_modules/todomvc-common/base.css: Added. |
| * Speedometer/resources/todomvc/architecture-examples/inferno/node_modules/todomvc-common/base.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/inferno/node_modules/todomvc-common/package.json: Added. |
| * Speedometer/resources/todomvc/architecture-examples/inferno/node_modules/todomvc-common/readme.md: Added. |
| * Speedometer/resources/todomvc/architecture-examples/inferno/package.json: Added. |
| * Speedometer/resources/todomvc/architecture-examples/inferno/src/base.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/inferno/src/index.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/inferno/src/item.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/inferno/src/model.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/inferno/src/share.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/inferno/webpack.config.js: Added. |
| |
| 2017-05-11 Addy Osmani <addyosmani@gmail.com> |
| |
| Speedometer: Add an Angular 2 (4.x) TodoMVC implementation |
| https://bugs.webkit.org/show_bug.cgi?id=171343 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| Add a TodoMVC Angular 2 (4.x) implem for the benchmark |
| |
| * Speedometer/resources/todomvc/architecture-examples/angular/.angular-cli.json: Added. |
| * Speedometer/resources/todomvc/architecture-examples/angular/.editorconfig: Added. |
| * Speedometer/resources/todomvc/architecture-examples/angular/README.md: Added. |
| * Speedometer/resources/todomvc/architecture-examples/angular/dist/assets/css/todomvc-app.css: Added. |
| * Speedometer/resources/todomvc/architecture-examples/angular/dist/assets/css/todomvc-common.css: Added. |
| * Speedometer/resources/todomvc/architecture-examples/angular/dist/favicon.ico: Added. |
| * Speedometer/resources/todomvc/architecture-examples/angular/dist/index.html: Added. |
| * Speedometer/resources/todomvc/architecture-examples/angular/dist/inline.b342d102ba4a53bf2002.bundle.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/angular/dist/main.779eb2f1ddbe23ac61c7.bundle.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/angular/dist/polyfills.2d45a4c73c85e24fe474.bundle.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/angular/dist/styles.d41d8cd98f00b204e980.bundle.css: Added. |
| * Speedometer/resources/todomvc/architecture-examples/angular/dist/vendor.b4be818cb6d8028f9192.bundle.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/angular/e2e/app.e2e-spec.ts: Added. |
| * Speedometer/resources/todomvc/architecture-examples/angular/e2e/app.po.ts: Added. |
| * Speedometer/resources/todomvc/architecture-examples/angular/e2e/tsconfig.e2e.json: Added. |
| * Speedometer/resources/todomvc/architecture-examples/angular/karma.conf.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/angular/package.json: Added. |
| * Speedometer/resources/todomvc/architecture-examples/angular/protractor.conf.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/angular/src/app/app.component.css: Added. |
| * Speedometer/resources/todomvc/architecture-examples/angular/src/app/app.component.html: Added. |
| * Speedometer/resources/todomvc/architecture-examples/angular/src/app/app.component.spec.ts: Added. |
| * Speedometer/resources/todomvc/architecture-examples/angular/src/app/app.component.ts: Added. |
| * Speedometer/resources/todomvc/architecture-examples/angular/src/app/app.module.ts: Added. |
| * Speedometer/resources/todomvc/architecture-examples/angular/src/app/todo-data.service.spec.ts: Added. |
| * Speedometer/resources/todomvc/architecture-examples/angular/src/app/todo-data.service.ts: Added. |
| * Speedometer/resources/todomvc/architecture-examples/angular/src/app/todo.spec.ts: Added. |
| * Speedometer/resources/todomvc/architecture-examples/angular/src/app/todo.ts: Added. |
| * Speedometer/resources/todomvc/architecture-examples/angular/src/assets/.gitkeep: Added. |
| * Speedometer/resources/todomvc/architecture-examples/angular/src/assets/css/todomvc-app.css: Added. |
| * Speedometer/resources/todomvc/architecture-examples/angular/src/assets/css/todomvc-common.css: Added. |
| * Speedometer/resources/todomvc/architecture-examples/angular/src/environments/environment.prod.ts: Added. |
| * Speedometer/resources/todomvc/architecture-examples/angular/src/environments/environment.ts: Added. |
| * Speedometer/resources/todomvc/architecture-examples/angular/src/favicon.ico: Added. |
| * Speedometer/resources/todomvc/architecture-examples/angular/src/index.html: Added. |
| * Speedometer/resources/todomvc/architecture-examples/angular/src/main.ts: Added. |
| * Speedometer/resources/todomvc/architecture-examples/angular/src/polyfills.ts: Added. |
| * Speedometer/resources/todomvc/architecture-examples/angular/src/styles.css: Added. |
| * Speedometer/resources/todomvc/architecture-examples/angular/src/test.ts: Added. |
| * Speedometer/resources/todomvc/architecture-examples/angular/src/tsconfig.app.json: Added. |
| * Speedometer/resources/todomvc/architecture-examples/angular/src/tsconfig.spec.json: Added. |
| * Speedometer/resources/todomvc/architecture-examples/angular/src/typings.d.ts: Added. |
| * Speedometer/resources/todomvc/architecture-examples/angular/tsconfig.json: Added. |
| * Speedometer/resources/todomvc/architecture-examples/angular/tslint.json: Added. |
| |
| 2017-05-11 Addy Osmani <addyosmani@gmail.com> |
| |
| Speedometer: Add a Vue.js TodoMVC implementation |
| https://bugs.webkit.org/show_bug.cgi?id=171325 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| Adds a Vue.js TodoMVC implementation to Speedometer |
| |
| * Speedometer/resources/todomvc/architecture-examples/vuejs-cli/.babelrc: Added. |
| * Speedometer/resources/todomvc/architecture-examples/vuejs-cli/.editorconfig: Added. |
| * Speedometer/resources/todomvc/architecture-examples/vuejs-cli/.eslintignore: Added. |
| * Speedometer/resources/todomvc/architecture-examples/vuejs-cli/.eslintrc.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/vuejs-cli/README.md: Added. |
| * Speedometer/resources/todomvc/architecture-examples/vuejs-cli/config/dev.env.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/vuejs-cli/config/index.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/vuejs-cli/config/prod.env.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/vuejs-cli/dist/index.html: Added. |
| * Speedometer/resources/todomvc/architecture-examples/vuejs-cli/dist/static/css/app.677b45842d9f8b96e5b23c18969233b7.css: Added. |
| * Speedometer/resources/todomvc/architecture-examples/vuejs-cli/dist/static/js/app.b0e835874bc8949670d1.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/vuejs-cli/dist/static/js/manifest.84b2b4fceb74ab1f91f3.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/vuejs-cli/dist/static/js/vendor.a52517c5aa98e7fbea2e.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/vuejs-cli/index.html: Added. |
| * Speedometer/resources/todomvc/architecture-examples/vuejs-cli/package.json: Added. |
| * Speedometer/resources/todomvc/architecture-examples/vuejs-cli/src/App.vue: Added. |
| * Speedometer/resources/todomvc/architecture-examples/vuejs-cli/src/components/Todos.vue: Added. |
| * Speedometer/resources/todomvc/architecture-examples/vuejs-cli/src/components/todo.css: Added. |
| * Speedometer/resources/todomvc/architecture-examples/vuejs-cli/src/main.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/vuejs-cli/yarn.lock: Added. |
| |
| 2017-05-11 Addy Osmani <addyosmani@gmail.com> |
| |
| Speedometer: Update the vanilla JavaScript TodoMVC implem to a more recent version |
| https://bugs.webkit.org/show_bug.cgi?id=171306 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| Update vanilla JS TodoMVC implementation to the latest. |
| |
| * Speedometer/resources/todomvc/vanilla-examples/vanillajs/bower.json: Removed. |
| * Speedometer/resources/todomvc/vanilla-examples/vanillajs/bower_components/todomvc-common/base.css: Removed. |
| * Speedometer/resources/todomvc/vanilla-examples/vanillajs/bower_components/todomvc-common/base.js: Removed. |
| * Speedometer/resources/todomvc/vanilla-examples/vanillajs/bower_components/todomvc-common/bg.png: Removed. |
| * Speedometer/resources/todomvc/vanilla-examples/vanillajs/index.html: |
| * Speedometer/resources/todomvc/vanilla-examples/vanillajs/js/app.js: |
| * Speedometer/resources/todomvc/vanilla-examples/vanillajs/js/controller.js: |
| * Speedometer/resources/todomvc/vanilla-examples/vanillajs/js/helpers.js: |
| * Speedometer/resources/todomvc/vanilla-examples/vanillajs/js/model.js: |
| * Speedometer/resources/todomvc/vanilla-examples/vanillajs/js/store.js: |
| * Speedometer/resources/todomvc/vanilla-examples/vanillajs/js/template.js: Added. |
| * Speedometer/resources/todomvc/vanilla-examples/vanillajs/js/view.js: |
| * Speedometer/resources/todomvc/vanilla-examples/vanillajs/node_modules/todomvc-app-css/index.css: Added. |
| * Speedometer/resources/todomvc/vanilla-examples/vanillajs/node_modules/todomvc-common/base.css: Added. |
| * Speedometer/resources/todomvc/vanilla-examples/vanillajs/node_modules/todomvc-common/base.js: Added. |
| * Speedometer/resources/todomvc/vanilla-examples/vanillajs/package.json: Added. |
| |
| 2017-05-11 Addy Osmani <addyosmani@gmail.com> |
| |
| Speedometer: Add an ES2015 TodoMVC implementation |
| https://bugs.webkit.org/show_bug.cgi?id=171448 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| Adds ES2015 TodoMVC implementation for Speedometer |
| |
| * Speedometer/resources/todomvc/vanilla-examples/es2015/index.html: Added. |
| * Speedometer/resources/todomvc/vanilla-examples/es2015/node_modules/todomvc-app-css/index.css: Added. |
| * Speedometer/resources/todomvc/vanilla-examples/es2015/node_modules/todomvc-app-css/package.json: Added. |
| * Speedometer/resources/todomvc/vanilla-examples/es2015/node_modules/todomvc-app-css/readme.md: Added. |
| * Speedometer/resources/todomvc/vanilla-examples/es2015/node_modules/todomvc-common/base.css: Added. |
| * Speedometer/resources/todomvc/vanilla-examples/es2015/node_modules/todomvc-common/base.js: Added. |
| * Speedometer/resources/todomvc/vanilla-examples/es2015/node_modules/todomvc-common/package.json: Added. |
| * Speedometer/resources/todomvc/vanilla-examples/es2015/node_modules/todomvc-common/readme.md: Added. |
| * Speedometer/resources/todomvc/vanilla-examples/es2015/package.json: Added. |
| * Speedometer/resources/todomvc/vanilla-examples/es2015/src/.jshintrc: Added. |
| * Speedometer/resources/todomvc/vanilla-examples/es2015/src/app.js: Added. |
| * Speedometer/resources/todomvc/vanilla-examples/es2015/src/controller.js: Added. |
| * Speedometer/resources/todomvc/vanilla-examples/es2015/src/helpers.js: Added. |
| * Speedometer/resources/todomvc/vanilla-examples/es2015/src/model.js: Added. |
| * Speedometer/resources/todomvc/vanilla-examples/es2015/src/store.js: Added. |
| * Speedometer/resources/todomvc/vanilla-examples/es2015/src/template.js: Added. |
| * Speedometer/resources/todomvc/vanilla-examples/es2015/src/view.js: Added. |
| |
| 2017-05-11 Addy Osmani <addyosmani@gmail.com> |
| |
| Speedometer: Add an Elm TodoMVC implementation |
| https://bugs.webkit.org/show_bug.cgi?id=171464 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| Speedometer: Add Elm TodoMVC implementation |
| |
| * Speedometer/resources/todomvc/functional-prog-examples/elm/Todo.elm: Added. |
| * Speedometer/resources/todomvc/functional-prog-examples/elm/Todo/Task.elm: Added. |
| * Speedometer/resources/todomvc/functional-prog-examples/elm/dist/elm.js: Added. |
| * Speedometer/resources/todomvc/functional-prog-examples/elm/index.html: Added. |
| * Speedometer/resources/todomvc/functional-prog-examples/elm/node_modules/todomvc-app-css/index.css: Added. |
| * Speedometer/resources/todomvc/functional-prog-examples/elm/node_modules/todomvc-common/base.css: Added. |
| * Speedometer/resources/todomvc/functional-prog-examples/elm/node_modules/todomvc-common/base.js: Added. |
| * Speedometer/resources/todomvc/functional-prog-examples/elm/package.json: Added. |
| * Speedometer/resources/todomvc/functional-prog-examples/elm/readme.md: Added. |
| |
| 2017-05-11 Addy Osmani <addyosmani@gmail.com> |
| |
| Speedometer: Update the Backbone.js implementation to a more recent library version |
| https://bugs.webkit.org/show_bug.cgi?id=171305 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| Updates the Backbone.js TodoMVC implementation to latest |
| |
| * Speedometer/resources/todomvc/architecture-examples/backbone/bower.json: Removed. |
| * Speedometer/resources/todomvc/architecture-examples/backbone/bower_components/backbone.localStorage/backbone.localStorage.js: Removed. |
| * Speedometer/resources/todomvc/architecture-examples/backbone/bower_components/jquery/jquery.js: Removed. |
| * Speedometer/resources/todomvc/architecture-examples/backbone/bower_components/todomvc-common/base.css: Removed. |
| * Speedometer/resources/todomvc/architecture-examples/backbone/bower_components/todomvc-common/base.js: Removed. |
| * Speedometer/resources/todomvc/architecture-examples/backbone/bower_components/todomvc-common/bg.png: Removed. |
| * Speedometer/resources/todomvc/architecture-examples/backbone/bower_components/underscore/underscore.js: Removed. |
| * Speedometer/resources/todomvc/architecture-examples/backbone/index.html: |
| * Speedometer/resources/todomvc/architecture-examples/backbone/js/app.js: |
| * Speedometer/resources/todomvc/architecture-examples/backbone/js/backbone.sync.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/backbone/js/collections/todos.js: |
| * Speedometer/resources/todomvc/architecture-examples/backbone/js/models/todo.js: |
| * Speedometer/resources/todomvc/architecture-examples/backbone/js/routers/router.js: |
| * Speedometer/resources/todomvc/architecture-examples/backbone/js/views/app-view.js: |
| * Speedometer/resources/todomvc/architecture-examples/backbone/js/views/todo-view.js: |
| * Speedometer/resources/todomvc/architecture-examples/backbone/node_modules/backbone/backbone.js: Renamed from PerformanceTests/Speedometer/resources/todomvc/architecture-examples/backbone/bower_components/backbone/backbone.js. |
| * Speedometer/resources/todomvc/architecture-examples/backbone/node_modules/jquery/dist/jquery.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/backbone/node_modules/todomvc-app-css/index.css: Added. |
| * Speedometer/resources/todomvc/architecture-examples/backbone/node_modules/todomvc-common/base.css: Added. |
| * Speedometer/resources/todomvc/architecture-examples/backbone/node_modules/todomvc-common/base.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/backbone/node_modules/underscore/underscore.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/backbone/package.json: Added. |
| |
| 2017-05-11 Addy Osmani <addyosmani@gmail.com> |
| |
| Speedometer: Add a Preact.js TodoMVC implementation |
| https://bugs.webkit.org/show_bug.cgi?id=171323 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| Adds Preact.js TodoMVC implementation to Speedometer |
| |
| * Speedometer/resources/todomvc/architecture-examples/preact/.babelrc: Added. |
| * Speedometer/resources/todomvc/architecture-examples/preact/README.md: Added. |
| * Speedometer/resources/todomvc/architecture-examples/preact/dist/app.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/preact/dist/index.html: Added. |
| * Speedometer/resources/todomvc/architecture-examples/preact/dist/todomvc-common/base.css: Added. |
| * Speedometer/resources/todomvc/architecture-examples/preact/dist/todomvc-common/base.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/preact/dist/todomvc.css: Added. |
| * Speedometer/resources/todomvc/architecture-examples/preact/package.json: Added. |
| * Speedometer/resources/todomvc/architecture-examples/preact/rollup.config.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/preact/src/app/footer.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/preact/src/app/index.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/preact/src/app/item.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/preact/src/app/model.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/preact/src/app/util.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/preact/src/index.html: Added. |
| * Speedometer/resources/todomvc/architecture-examples/preact/src/index.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/preact/webpack.config.babel.js: Added. |
| |
| 2017-05-11 Addy Osmani <addyosmani@gmail.com> |
| |
| Speedometer: Update the jQuery implementation to a more recent library version |
| https://bugs.webkit.org/show_bug.cgi?id=171308 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| Updates the jQuery implementation of TodoMVC to a more recent version |
| |
| * Speedometer/resources/todomvc/architecture-examples/jquery/bower.json: Removed. |
| * Speedometer/resources/todomvc/architecture-examples/jquery/bower_components/handlebars/handlebars.js: Removed. |
| * Speedometer/resources/todomvc/architecture-examples/jquery/bower_components/jquery/jquery.js: Removed. |
| * Speedometer/resources/todomvc/architecture-examples/jquery/bower_components/todomvc-common/base.css: Removed. |
| * Speedometer/resources/todomvc/architecture-examples/jquery/bower_components/todomvc-common/base.js: Removed. |
| * Speedometer/resources/todomvc/architecture-examples/jquery/bower_components/todomvc-common/bg.png: Removed. |
| * Speedometer/resources/todomvc/architecture-examples/jquery/index.html: |
| * Speedometer/resources/todomvc/architecture-examples/jquery/js/app.js: |
| * Speedometer/resources/todomvc/architecture-examples/jquery/node_modules/handlebars/dist/handlebars.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/jquery/node_modules/jquery/dist/jquery.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/jquery/node_modules/todomvc-app-css/index.css: Added. |
| * Speedometer/resources/todomvc/architecture-examples/jquery/node_modules/todomvc-app-css/package.json: Added. |
| * Speedometer/resources/todomvc/architecture-examples/jquery/node_modules/todomvc-app-css/readme.md: Added. |
| * Speedometer/resources/todomvc/architecture-examples/jquery/node_modules/todomvc-common/base.css: Added. |
| * Speedometer/resources/todomvc/architecture-examples/jquery/node_modules/todomvc-common/base.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/jquery/node_modules/todomvc-common/package.json: Added. |
| * Speedometer/resources/todomvc/architecture-examples/jquery/node_modules/todomvc-common/readme.md: Added. |
| * Speedometer/resources/todomvc/architecture-examples/jquery/package.json: Added. |
| * Speedometer/resources/todomvc/architecture-examples/jquery/readme.md: |
| |
| 2017-05-11 Addy Osmani <addyosmani@gmail.com> |
| |
| Speedometer: Update the Flight.js implementation to a more recent library version |
| https://bugs.webkit.org/show_bug.cgi?id=171471 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| Speedometer: Update FlightJS TodoMVC implementation |
| |
| * Speedometer/resources/todomvc/dependency-examples/flight/.gitignore: Removed. |
| * Speedometer/resources/todomvc/dependency-examples/flight/.jshintrc: Removed. |
| * Speedometer/resources/todomvc/dependency-examples/flight/app/js/main.js: Removed. |
| * Speedometer/resources/todomvc/dependency-examples/flight/app/js/store.js: Removed. |
| * Speedometer/resources/todomvc/dependency-examples/flight/bower.json: Removed. |
| * Speedometer/resources/todomvc/dependency-examples/flight/bower_components/es5-shim/es5-shim.js: Removed. |
| * Speedometer/resources/todomvc/dependency-examples/flight/bower_components/flight/lib/compose.js: Removed. |
| * Speedometer/resources/todomvc/dependency-examples/flight/bower_components/flight/lib/index.js: Removed. |
| * Speedometer/resources/todomvc/dependency-examples/flight/bower_components/flight/lib/logger.js: Removed. |
| * Speedometer/resources/todomvc/dependency-examples/flight/bower_components/jquery/jquery.js: Removed. |
| * Speedometer/resources/todomvc/dependency-examples/flight/bower_components/todomvc-common/base.css: Removed. |
| * Speedometer/resources/todomvc/dependency-examples/flight/bower_components/todomvc-common/bg.png: Removed. |
| * Speedometer/resources/todomvc/dependency-examples/flight/flight/app/js/data/stats.js: Renamed from PerformanceTests/Speedometer/resources/todomvc/dependency-examples/flight/app/js/data/stats.js. |
| * Speedometer/resources/todomvc/dependency-examples/flight/flight/app/js/data/todos.js: Renamed from PerformanceTests/Speedometer/resources/todomvc/dependency-examples/flight/app/js/data/todos.js. |
| * Speedometer/resources/todomvc/dependency-examples/flight/flight/app/js/main.js: Added. |
| * Speedometer/resources/todomvc/dependency-examples/flight/flight/app/js/page/app.js: Renamed from PerformanceTests/Speedometer/resources/todomvc/dependency-examples/flight/app/js/app.js. |
| * Speedometer/resources/todomvc/dependency-examples/flight/flight/app/js/store.js: Added. |
| * Speedometer/resources/todomvc/dependency-examples/flight/flight/app/js/ui/main_selector.js: Renamed from PerformanceTests/Speedometer/resources/todomvc/dependency-examples/flight/app/js/ui/main_selector.js. |
| * Speedometer/resources/todomvc/dependency-examples/flight/flight/app/js/ui/new_item.js: Renamed from PerformanceTests/Speedometer/resources/todomvc/dependency-examples/flight/app/js/ui/new_item.js. |
| * Speedometer/resources/todomvc/dependency-examples/flight/flight/app/js/ui/stats.js: Renamed from PerformanceTests/Speedometer/resources/todomvc/dependency-examples/flight/app/js/ui/stats.js. |
| * Speedometer/resources/todomvc/dependency-examples/flight/flight/app/js/ui/todo_list.js: Renamed from PerformanceTests/Speedometer/resources/todomvc/dependency-examples/flight/app/js/ui/todo_list.js. |
| * Speedometer/resources/todomvc/dependency-examples/flight/flight/app/js/ui/toggle_all.js: Renamed from PerformanceTests/Speedometer/resources/todomvc/dependency-examples/flight/app/js/ui/toggle_all.js. |
| * Speedometer/resources/todomvc/dependency-examples/flight/flight/app/js/ui/with_filters.js: Renamed from PerformanceTests/Speedometer/resources/todomvc/dependency-examples/flight/app/js/ui/with_filters.js. |
| * Speedometer/resources/todomvc/dependency-examples/flight/flight/app/js/utils.js: Renamed from PerformanceTests/Speedometer/resources/todomvc/dependency-examples/flight/app/js/utils.js. |
| * Speedometer/resources/todomvc/dependency-examples/flight/flight/app/templates/stats.html: Renamed from PerformanceTests/Speedometer/resources/todomvc/dependency-examples/flight/app/templates/stats.html. |
| * Speedometer/resources/todomvc/dependency-examples/flight/flight/app/templates/todo.html: Renamed from PerformanceTests/Speedometer/resources/todomvc/dependency-examples/flight/app/templates/todo.html. |
| * Speedometer/resources/todomvc/dependency-examples/flight/flight/index.html: Renamed from PerformanceTests/Speedometer/resources/todomvc/dependency-examples/flight/index.html. |
| * Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/depot/README.md: Added. |
| * Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/depot/depot.js: Renamed from PerformanceTests/Speedometer/resources/todomvc/dependency-examples/flight/bower_components/depot/depot.js. |
| * Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/depot/depot.min.js: Added. |
| * Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/depot/package.json: Added. |
| * Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/es5-shim/LICENSE: Added. |
| * Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/es5-shim/es5-sham.js: Renamed from PerformanceTests/Speedometer/resources/todomvc/dependency-examples/flight/bower_components/es5-shim/es5-sham.js. |
| * Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/es5-shim/es5-sham.min.js: Added. |
| * Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/es5-shim/es5-shim.js: Added. |
| * Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/es5-shim/es5-shim.min.js: Added. |
| * Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/flight/LICENSE: Added. |
| * Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/flight/index.js: Added. |
| * Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/flight/lib/advice.js: Renamed from PerformanceTests/Speedometer/resources/todomvc/dependency-examples/flight/bower_components/flight/lib/advice.js. |
| * Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/flight/lib/base.js: Renamed from PerformanceTests/Speedometer/resources/todomvc/dependency-examples/flight/bower_components/flight/lib/base.js. |
| * Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/flight/lib/component.js: Renamed from PerformanceTests/Speedometer/resources/todomvc/dependency-examples/flight/bower_components/flight/lib/component.js. |
| * Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/flight/lib/compose.js: Added. |
| * Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/flight/lib/debug.js: Renamed from PerformanceTests/Speedometer/resources/todomvc/dependency-examples/flight/bower_components/flight/lib/debug.js. |
| * Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/flight/lib/logger.js: Added. |
| * Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/flight/lib/registry.js: Renamed from PerformanceTests/Speedometer/resources/todomvc/dependency-examples/flight/bower_components/flight/lib/registry.js. |
| * Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/flight/lib/utils.js: Renamed from PerformanceTests/Speedometer/resources/todomvc/dependency-examples/flight/bower_components/flight/lib/utils.js. |
| * Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/jquery/README.md: Added. |
| * Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/jquery/dist/jquery.js: Added. |
| * Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/jquery/dist/jquery.min.js: Added. |
| * Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/jquery/package.json: Added. |
| * Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/memorystorage/memorystorage.js: Added. |
| * Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/requirejs-text/LICENSE: Added. |
| * Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/requirejs-text/README.md: Added. |
| * Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/requirejs-text/bower.json: Added. |
| * Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/requirejs-text/package.json: Added. |
| * Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/requirejs-text/text.js: Renamed from PerformanceTests/Speedometer/resources/todomvc/dependency-examples/flight/bower_components/requirejs-text/text.js. |
| * Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/requirejs/README.md: Added. |
| * Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/requirejs/package.json: Added. |
| * Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/requirejs/require.js: Renamed from PerformanceTests/Speedometer/resources/todomvc/dependency-examples/flight/bower_components/requirejs/require.js. |
| * Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/todomvc-app-css/index.css: Added. |
| * Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/todomvc-app-css/package.json: Added. |
| * Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/todomvc-app-css/readme.md: Added. |
| * Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/todomvc-common/base.css: Added. |
| * Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/todomvc-common/base.js: Renamed from PerformanceTests/Speedometer/resources/todomvc/dependency-examples/flight/bower_components/todomvc-common/base.js. |
| * Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/todomvc-common/package.json: Added. |
| * Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/todomvc-common/readme.md: Added. |
| * Speedometer/resources/todomvc/dependency-examples/flight/flight/package.json: Added. |
| * Speedometer/resources/todomvc/dependency-examples/flight/karma.conf.js: Removed. |
| * Speedometer/resources/todomvc/dependency-examples/flight/package.json: Removed. |
| * Speedometer/resources/todomvc/dependency-examples/flight/readme.md: Removed. |
| * Speedometer/resources/todomvc/dependency-examples/flight/test/.jshintrc: Removed. |
| * Speedometer/resources/todomvc/dependency-examples/flight/test/fixture/footer.html: Removed. |
| * Speedometer/resources/todomvc/dependency-examples/flight/test/fixture/new_todo.html: Removed. |
| * Speedometer/resources/todomvc/dependency-examples/flight/test/fixture/toggle_all.html: Removed. |
| * Speedometer/resources/todomvc/dependency-examples/flight/test/mock/datastore.js: Removed. |
| * Speedometer/resources/todomvc/dependency-examples/flight/test/spec/data/stats_spec.js: Removed. |
| * Speedometer/resources/todomvc/dependency-examples/flight/test/spec/data/todos_spec.js: Removed. |
| * Speedometer/resources/todomvc/dependency-examples/flight/test/spec/ui/new_item_spec.js: Removed. |
| * Speedometer/resources/todomvc/dependency-examples/flight/test/spec/ui/stats_spec.js: Removed. |
| * Speedometer/resources/todomvc/dependency-examples/flight/test/spec/ui/toggle_all_spec.js: Removed. |
| * Speedometer/resources/todomvc/dependency-examples/flight/test/test-main.js: Removed. |
| |
| 2017-05-11 Addy Osmani <addyosmani@gmail.com> |
| |
| Speedometer: Update the AngularJS implementation to a more recent library version |
| https://bugs.webkit.org/show_bug.cgi?id=171307 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| Updates the AngularJS implementation of TodoMVC to 1.4.x |
| |
| * Speedometer/resources/todomvc/architecture-examples/angularjs/bower.json: Removed. |
| * Speedometer/resources/todomvc/architecture-examples/angularjs/bower_components/angular-mocks/angular-mocks.js: Removed. |
| * Speedometer/resources/todomvc/architecture-examples/angularjs/bower_components/angular/angular.js: Removed. |
| * Speedometer/resources/todomvc/architecture-examples/angularjs/bower_components/todomvc-common/base.css: Removed. |
| * Speedometer/resources/todomvc/architecture-examples/angularjs/bower_components/todomvc-common/base.js: Removed. |
| * Speedometer/resources/todomvc/architecture-examples/angularjs/bower_components/todomvc-common/bg.png: Removed. |
| * Speedometer/resources/todomvc/architecture-examples/angularjs/index.html: |
| * Speedometer/resources/todomvc/architecture-examples/angularjs/js/app.js: |
| * Speedometer/resources/todomvc/architecture-examples/angularjs/js/controllers/todoCtrl.js: |
| * Speedometer/resources/todomvc/architecture-examples/angularjs/js/directives/todoBlur.js: Removed. |
| * Speedometer/resources/todomvc/architecture-examples/angularjs/js/directives/todoEscape.js: |
| * Speedometer/resources/todomvc/architecture-examples/angularjs/js/directives/todoFocus.js: |
| * Speedometer/resources/todomvc/architecture-examples/angularjs/js/services/todoStorage.js: |
| * Speedometer/resources/todomvc/architecture-examples/angularjs/node_modules/angular-resource/angular-resource.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/angularjs/node_modules/angular-route/angular-route.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/angularjs/node_modules/angular/angular.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/angularjs/node_modules/todomvc-app-css/index.css: Added. |
| * Speedometer/resources/todomvc/architecture-examples/angularjs/node_modules/todomvc-app-css/package.json: Added. |
| * Speedometer/resources/todomvc/architecture-examples/angularjs/node_modules/todomvc-app-css/readme.md: Added. |
| * Speedometer/resources/todomvc/architecture-examples/angularjs/node_modules/todomvc-common/base.css: Added. |
| * Speedometer/resources/todomvc/architecture-examples/angularjs/node_modules/todomvc-common/base.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/angularjs/node_modules/todomvc-common/package.json: Added. |
| * Speedometer/resources/todomvc/architecture-examples/angularjs/node_modules/todomvc-common/readme.md: Added. |
| * Speedometer/resources/todomvc/architecture-examples/angularjs/package.json: Added. |
| * Speedometer/resources/todomvc/architecture-examples/angularjs/readme.md: |
| * Speedometer/resources/todomvc/architecture-examples/angularjs/test/config/testacular.conf.js: Removed. |
| * Speedometer/resources/todomvc/architecture-examples/angularjs/test/package.json: Removed. |
| * Speedometer/resources/todomvc/architecture-examples/angularjs/test/readme.md: Removed. |
| * Speedometer/resources/todomvc/architecture-examples/angularjs/test/unit/directivesSpec.js: Removed. |
| * Speedometer/resources/todomvc/architecture-examples/angularjs/test/unit/todoCtrlSpec.js: Removed. |
| * Speedometer/resources/todomvc/architecture-examples/angularjs/todomvc-index.html: Added. |
| |
| 2017-05-09 Jon Davis <jond@apple.com> |
| |
| [ARES6] Improved the running test indicator |
| https://bugs.webkit.org/show_bug.cgi?id=171400 |
| |
| Running tests show a triangle before the test title and the titles are white. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * ARES-6/index.html: |
| * ARES-6/styles.css: |
| (.test .running): |
| (.test .running:before): |
| (.test .indicator): Deleted. |
| (.test .indicator.running): Deleted. |
| (@keyframes test-running): Deleted. |
| |
| 2017-05-04 Andy VanWagoner <thetalecrafter@gmail.com> |
| |
| [INTL] Add PerformanceTests for Intl objects |
| https://bugs.webkit.org/show_bug.cgi?id=171695 |
| |
| Reviewed by Benjamin Poulain. |
| |
| * Intl/collator-compare-all-options.html: Added. |
| * Intl/collator-compare-default.html: Added. |
| * Intl/collator-create-all-options.html: Added. |
| * Intl/collator-create-default.html: Added. |
| * Intl/datetimeformat-create-all-options.html: Added. |
| * Intl/datetimeformat-create-default.html: Added. |
| * Intl/datetimeformat-format-all-options.html: Added. |
| * Intl/datetimeformat-format-default.html: Added. |
| * Intl/numberformat-create-all-options.html: Added. |
| * Intl/numberformat-create-default.html: Added. |
| * Intl/numberformat-format-all-options.html: Added. |
| * Intl/numberformat-format-default.html: Added. |
| |
| 2017-04-27 Michael Saboff <msaboff@apple.com> |
| |
| Add back tests inadvertently deleted in r205032. |
| |
| Rubber stamped by Geoffrey Garen. |
| |
| * MallocBench/run-malloc-benchmarks: |
| |
| 2017-04-25 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| Add performance test for FontCache::systemFallbackForCharacters() |
| https://bugs.webkit.org/show_bug.cgi?id=170842 |
| |
| Reviewed by Tim Horton. |
| |
| * Layout/word-joiner.html: Added. |
| |
| 2017-04-24 Saam Barati <sbarati@apple.com> |
| |
| Add ML to ARES6 |
| https://bugs.webkit.org/show_bug.cgi?id=171206 |
| |
| Rubber stamped by Filip Pizlo. |
| |
| This patch adds a new test to ARES6 called ML. ML is an implementation of |
| a feedforward neural network: https://github.com/mljs/feedforward-neural-networks. |
| It makes heavy use of classes, and does non-trivial matrix math using the |
| ml-matrix library: https://github.com/mljs/matrix |
| |
| * ARES-6/about.html: |
| * ARES-6/cli.js: |
| * ARES-6/glue.js: |
| * ARES-6/index.html: |
| * ARES-6/ml: Added. |
| * ARES-6/ml/benchmark.js: Added. |
| * ARES-6/ml/index.js: Added. |
| * ARES-6/ml_benchmark.js: Added. |
| |
| 2017-04-21 Zalan Bujtas <zalan@apple.com> |
| |
| Simple line layout: Add performance test to measure mid-word line breaking with long text. |
| https://bugs.webkit.org/show_bug.cgi?id=171136 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| * Layout/simple-line-layout-word-break-long-text.html: Added. |
| |
| 2017-04-17 Ryan Haddad <ryanhaddad@apple.com> |
| |
| Unreviewed, rolling out r215366. |
| |
| This test is failing on performance bots. |
| |
| Reverted changeset: |
| |
| "Add performance test for asking the platform for a font for |
| U+2060 WORD JOINER" |
| https://bugs.webkit.org/show_bug.cgi?id=170842 |
| http://trac.webkit.org/changeset/215366 |
| |
| 2017-04-14 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| Add performance test for asking the platform for a font for U+2060 WORD JOINER |
| https://bugs.webkit.org/show_bug.cgi?id=170842 |
| |
| Reviewed by Tim Horton. |
| |
| * Layout/word-joiner.html: Added. |
| |
| 2017-04-03 Saam Barati <sbarati@apple.com> |
| |
| Add a new test to ARES6 |
| https://bugs.webkit.org/show_bug.cgi?id=170077 |
| |
| Rubber stamped by Filip Pizlo. |
| |
| This patch adds a new test to ARES6. The test is called Babylon. Babylon is |
| the JavaScript parser that is part of the Babel transpiler. The test runs |
| the parser on 4 different JS scripts. |
| |
| * ARES-6/Babylon: Added. |
| * ARES-6/Babylon/AUTHORS: Added. |
| * ARES-6/Babylon/air-blob.js: Added. |
| (Reg): |
| (Reg.fromReg): |
| (Reg.prototype.get index): |
| (Reg.prototype.get type): |
| (Reg.prototype.get name): |
| (Reg.prototype.get isCalleeSave): |
| (Reg.prototype.get isReg): |
| (Reg.prototype.hash): |
| (Reg.prototype.toString): |
| (Reg.extract): |
| (Reg.forEachFast): |
| (Reg.forEach): |
| (newGPR): |
| (Reg.gprs.Reg.fprs.Reg.calleeSaveGPRs.Reg.calleeSaveFPRs.Reg.calleeSaves): |
| * ARES-6/Babylon/babylon-blob.js: Added. |
| (export.default.Parser): |
| (export.default.Parser.prototype.isReservedWord): |
| (export.default.Parser.prototype.hasPlugin): |
| (export.default.Parser.prototype.extend): |
| (export.default.Parser.prototype.loadPlugins): |
| (export.default.Parser.prototype.parse): |
| * ARES-6/Babylon/basic-blob.js: Added. |
| (Basic.NumberApply): |
| (Basic.Variable): |
| (Basic.Const): |
| (Basic.NumberPow): |
| (Basic.NumberMul): |
| (Basic.NumberDiv): |
| (Basic.NumberNeg): |
| (Basic.NumberAdd): |
| (Basic.NumberSub): |
| (Basic.StringVar): |
| (Basic.Equals): |
| (Basic.NotEquals): |
| (Basic.LessThan): |
| (Basic.GreaterThan): |
| (Basic.LessEqual): |
| (Basic.GreaterEqual): |
| (Basic.GoTo): |
| (Basic.GoSub): |
| (Basic.Def): |
| (Basic.Let): |
| (Basic.If): |
| (Basic.Return): |
| (Basic.Stop): |
| (Basic.On): |
| (sideState.shouldStop): |
| (Basic.For): |
| (Basic.Next): |
| (Basic.Print): |
| (Basic.Input): |
| (Basic.Read): |
| (Basic.Restore): |
| (Basic.Dim): |
| (Basic.Randomize): |
| (Basic.End): |
| (Basic.Program): |
| * ARES-6/Babylon/benchmark.js: Added. |
| (this.performance.performance.now.currentTime): |
| (else.this.preciseTime.currentTime): |
| (else.currentTime): |
| (BabylonBenchmark.appendSource): |
| (BabylonBenchmark): |
| (BabylonBenchmark.prototype.runIteration.parse): |
| (BabylonBenchmark.prototype.runIteration.parseExpression): |
| (BabylonBenchmark.prototype.runIteration): |
| (runBenchmark): |
| * ARES-6/Babylon/index.js: Added. |
| (isIdentifierStart): |
| (isIdentifierChar): |
| (isNewLine): |
| (Position): |
| (SourceLocation): |
| (getLineInfo): |
| (TokenType): |
| (KeywordTokenType): |
| (BinopTokenType): |
| (TokContext): |
| (tt.parenR.updateContext.tt.braceR.updateContext): |
| (tt.name.updateContext): |
| (tt.braceL.updateContext): |
| (tt.dollarBraceL.updateContext): |
| (tt.parenL.updateContext): |
| (tt.incDec.updateContext): |
| (tt._function.updateContext): |
| (tt.backQuote.updateContext): |
| (State.prototype.init): |
| (State.prototype.curPosition): |
| (State.prototype.clone): |
| (State): |
| (Token): |
| (codePointToString): |
| (Tokenizer): |
| (Tokenizer.prototype.next): |
| (Tokenizer.prototype.eat): |
| (Tokenizer.prototype.match): |
| (Tokenizer.prototype.isKeyword): |
| (Tokenizer.prototype.lookahead): |
| (Tokenizer.prototype.setStrict): |
| (Tokenizer.prototype.curContext): |
| (Tokenizer.prototype.nextToken): |
| (Tokenizer.prototype.readToken): |
| (Tokenizer.prototype.fullCharCodeAtPos): |
| (Tokenizer.prototype.pushComment): |
| (Tokenizer.prototype.skipBlockComment): |
| (Tokenizer.prototype.skipLineComment): |
| (Tokenizer.prototype.skipSpace): |
| (Tokenizer.prototype.finishToken): |
| (Tokenizer.prototype.readToken_dot): |
| (Tokenizer.prototype.readToken_slash): |
| (Tokenizer.prototype.readToken_mult_modulo): |
| (Tokenizer.prototype.readToken_pipe_amp): |
| (Tokenizer.prototype.readToken_caret): |
| (Tokenizer.prototype.readToken_plus_min): |
| (Tokenizer.prototype.readToken_lt_gt): |
| (Tokenizer.prototype.readToken_eq_excl): |
| (Tokenizer.prototype.getTokenFromCode): |
| (Tokenizer.prototype.finishOp): |
| (Tokenizer.prototype.readRegexp): |
| (Tokenizer.prototype.readInt): |
| (Tokenizer.prototype.readRadixNumber): |
| (Tokenizer.prototype.readNumber): |
| (Tokenizer.prototype.readCodePoint): |
| (Tokenizer.prototype.readString): |
| (Tokenizer.prototype.readTmplToken): |
| (Tokenizer.prototype.readEscapedChar): |
| (Tokenizer.prototype.readHexChar): |
| (Tokenizer.prototype.readWord1): |
| (Tokenizer.prototype.readWord): |
| (Tokenizer.prototype.braceIsBlock): |
| (Tokenizer.prototype.updateContext): |
| (getOptions): |
| (prototype.isReservedWord): |
| (prototype.hasPlugin): |
| (prototype.extend): |
| (prototype.loadPlugins): |
| (prototype.parse): |
| (last): |
| (pp.addComment): |
| (pp.processComment): |
| (pp.checkPropClash): |
| (pp.getExpression): |
| (pp.parseExpression): |
| (pp.parseMaybeAssign): |
| (pos.set i): |
| * ARES-6/Babylon/inspector-blob.js: Added. |
| (WebInspector.ScriptSyntaxTree): |
| (WebInspector.ScriptSyntaxTree.prototype.get parsedSuccessfully): |
| (WebInspector.ScriptSyntaxTree.prototype.forEachNode): |
| (WebInspector.ScriptSyntaxTree.prototype.filter): |
| (WebInspector.ScriptSyntaxTree.prototype.containersOfOffset): |
| (WebInspector.ScriptSyntaxTree.prototype.filterByRange.filterForNodesInRange): |
| (WebInspector.ScriptSyntaxTree.prototype.filterByRange): |
| (WebInspector.ScriptSyntaxTree.prototype.containsNonEmptyReturnStatement.removeFunctionsFilter): |
| (WebInspector.ScriptSyntaxTree.prototype.containsNonEmptyReturnStatement): |
| (WebInspector.ScriptSyntaxTree.functionReturnDivot): |
| (WebInspector.ScriptSyntaxTree.prototype.updateTypes): |
| (WebInspector.ScriptSyntaxTree.prototype._gatherIdentifiersInDeclaration.gatherIdentifiers): |
| (WebInspector.ScriptSyntaxTree.prototype._gatherIdentifiersInDeclaration): |
| (WebInspector.ScriptSyntaxTree.prototype._defaultParserState): |
| (WebInspector.ScriptSyntaxTree.prototype._recurse): |
| (WebInspector.ScriptSyntaxTree.prototype._recurseArray): |
| (WebInspector.ScriptSyntaxTree.prototype._createInternalSyntaxTree): |
| * ARES-6/about.html: |
| * ARES-6/babylon_benchmark.js: Added. |
| * ARES-6/cli.js: |
| * ARES-6/glue.js: |
| * ARES-6/index.html: |
| * ARES-6/results.js: |
| (Results.prototype.reportResult): |
| (Results.prototype.reportResult.averageAbovePercentile): Deleted. |
| * ARES-6/styles.css: |
| (.test): |
| (@media only screen and (max-width: 784px)): |
| |
| 2017-03-29 Zalan Bujtas <zalan@apple.com> |
| |
| [Arabic text] Add whitespace preserve/word wrap performance test. |
| https://bugs.webkit.org/show_bug.cgi?id=170243 |
| |
| Reviewed by Simon Fraser. |
| |
| * Layout/ArabicLineLayout-pre-and-wrap.html: Added. |
| |
| 2017-03-08 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [JSC] Add helpers to run Six Speed to run-jsc-benchmarks |
| https://bugs.webkit.org/show_bug.cgi?id=169351 |
| |
| Reviewed by Saam Barati. |
| |
| * SixSpeed/wrappers/wrapper.js: Added. |
| (assertEqual): |
| (test): |
| (jscRun): |
| |
| 2017-03-08 Jon Davis <jond@apple.com> |
| |
| Fixed ARES-6 animations for other browsers |
| |
| Rubber stamped by Saam Barati. |
| |
| * ARES-6/styles.css: |
| (.swoop): |
| (.logo): |
| |
| 2017-03-07 Filip Pizlo <fpizlo@apple.com> |
| |
| Revise the ARES-6 explainer text |
| https://bugs.webkit.org/show_bug.cgi?id=169287 |
| |
| Reviewed by Saam Barati. |
| |
| Just did some copy-editing. |
| |
| * ARES-6/about.html: |
| |
| 2017-03-06 Jon Davis <jond@apple.com> |
| |
| Refined the ARES-6 experience |
| https://bugs.webkit.org/show_bug.cgi?id=169205 |
| |
| Reviewed by Saam Barati. |
| |
| * ARES-6/about.html: Copied from PerformanceTests/ARES-6/index.html. |
| * ARES-6/driver.js: |
| (Driver.prototype.start): |
| (Driver.prototype._updateIterations): |
| (Driver): |
| * ARES-6/index.html: |
| * ARES-6/stats.js: |
| (Stats.prototype.toString.span.span): |
| * ARES-6/styles.css: |
| (body): |
| (.swoop): |
| (p): |
| (.logo): |
| (.start): |
| (.test): |
| (.test:nth-child(odd)): |
| (.overall): |
| (.about h2): |
| (.button): |
| (.button:hover): |
| (.button.return:before): |
| (@keyframes fade-in): |
| (@keyframes scale-in): |
| (@keyframes flicker-in): |
| (@keyframes wipe-in): |
| (.flip): Deleted. |
| (.testing, .about): Deleted. |
| (.testing): Deleted. |
| (.about): Deleted. |
| (#about:target): Deleted. |
| |
| 2017-03-06 Jeremy Jones <jeremyj@apple.com> |
| |
| StandardCanPlayThrough.html does not work on iOS. |
| https://bugs.webkit.org/show_bug.cgi?id=169207 |
| |
| Reviewed by Jer Noble. |
| |
| On iOS only, add muted=true and autoplay=allowed. The loading policy on iOS requires these attributes to load enough |
| data to trigger canPlayThrough. |
| |
| * Media/StandardCanPlayThrough.html: |
| |
| 2017-02-13 Zalan Bujtas <zalan@apple.com> |
| |
| Simple line layout: Add performance test with text-rendering: optimizeSpeed |
| https://bugs.webkit.org/show_bug.cgi?id=168248 |
| |
| Reviewed by Simon Fraser. |
| |
| * Layout/simple-line-layout-with-varying-content-and-optimized-speed.html: Added. |
| |
| 2017-02-10 Zalan Bujtas <zalan@apple.com> |
| |
| Mail hangs when removing multiple rows from large table. |
| https://bugs.webkit.org/show_bug.cgi?id=168103 |
| <rdar://problem/30090186> |
| |
| Reviewed by Ryosuke Niwa. |
| |
| * DOM/large-table-edit.html: Added. |
| |
| 2017-02-05 Filip Pizlo <fpizlo@apple.com> |
| |
| Beef up the ARES-6 explainer text |
| https://bugs.webkit.org/show_bug.cgi?id=167867 |
| |
| Reviewed by Saam Barati. |
| |
| Added appropriate links. |
| |
| Added text that explains the subscores. |
| |
| * ARES-6/index.html: |
| |
| 2017-02-06 Jer Noble <jer.noble@apple.com> |
| |
| Playback stalls when a SourceBuffer append causes frame eviction |
| https://bugs.webkit.org/show_bug.cgi?id=167834 |
| |
| Reviewed by Eric Carlson. |
| |
| Add an in-page performance test measuring the amount of time required |
| to append a large amount of media data to a SourceBuffer, and then to |
| completely remove that data 30s at a time. |
| |
| Add a microbenchmark for MediaTime which measures the amount of time |
| required to create a 1M entry std::map and traverse the map 1M times. |
| |
| * Media/MSERemoveCodedFrames.html: Added. |
| * Media/media-source-loader.js: |
| (MediaSourceLoader.prototype.get duration): |
| * MediaTime/Configurations/Base.xcconfig: Added. |
| * MediaTime/Configurations/DebugRelease.xcconfig: Added. |
| * MediaTime/Makefile: Added. |
| * MediaTime/MediaTime.xcodeproj/project.pbxproj: Added. |
| * MediaTime/main.cpp: Added. |
| (performTest): |
| (test): |
| (main): |
| * Skipped: |
| |
| 2017-02-06 Saam Barati <sbarati@apple.com> |
| |
| Make ARES-6 work from the CLI again |
| https://bugs.webkit.org/show_bug.cgi?id=167895 |
| |
| Reviewed by Michael Saboff. |
| |
| * ARES-6/driver.js: |
| (Driver.prototype.readyTrigger): |
| (Driver.prototype.disableTrigger): |
| * ARES-6/stats.js: |
| (Stats.prototype.toString.span.span): |
| (Stats.prototype.toString.return.span): |
| (Stats.prototype.toString): |
| |
| 2017-02-06 Ryan Haddad <ryanhaddad@apple.com> |
| |
| Skip ARES-6 on performance bots |
| https://bugs.webkit.org/show_bug.cgi?id=167863 |
| |
| Unreviewed test gardening. |
| |
| ES6SampleBench was renamed to ARES-6, so this should be updated in PerformanceTests/Skipped as well. |
| |
| * Skipped: |
| |
| 2017-02-05 Filip Pizlo <fpizlo@apple.com> |
| |
| Change ES6SampleBench into ARES-6 |
| https://bugs.webkit.org/show_bug.cgi?id=167863 |
| |
| Rubber stamped by Saam Barati. |
| |
| This imports changes that Jonathan Davis (jond@apple.com) made to ES6SampleBench to make it look |
| super awesome. Its now called ARES-6. |
| |
| * ARES-6: Copied from PerformanceTests/ES6SampleBench. |
| * ARES-6/ARES-6.svg: Added. |
| * ARES-6/driver.js: |
| (Driver): |
| (Driver.prototype.readyTrigger): |
| (Driver.prototype.disableTrigger): |
| (Driver.prototype.start): |
| (Driver.prototype._updateIterations): |
| * ARES-6/glue.js: |
| * ARES-6/index.html: |
| * ARES-6/results.js: |
| (Results.prototype.reportRunning): |
| (Results.prototype.reportDone): |
| * ARES-6/stats.js: |
| (Stats.prototype.toString.return.span): |
| (Stats.prototype.toString.span.span): |
| (Stats.prototype.toString): Deleted. |
| * ARES-6/style.css: Removed. |
| * ARES-6/styles.css: Added. |
| (html): |
| (body): |
| (header,): |
| (p a): |
| (p a:hover): |
| (.flip): |
| (header): |
| (h2,): |
| (p): |
| (.about h2): |
| (.logo): |
| (.start): |
| (.start.ready): |
| (.start.ready:hover): |
| (.start:after): |
| (.start.ready .testrun): |
| (.tests): |
| (.test): |
| (.overall h2,): |
| (.test .indicator): |
| (.test .indicator.running): |
| (@keyframes test-running): |
| (100%): |
| (.score): |
| (.score label): |
| (.score .value): |
| (.score .units): |
| (.score .margin): |
| (.overall): |
| (.overall .score): |
| (.overall .margin): |
| (.testing, .about): |
| (.testing): |
| (.about): |
| (#about:target): |
| (@media only screen and (max-width: 784px)): |
| * ARES-6/swoop.svg: Added. |
| * ES6SampleBench: Removed. |
| * ES6SampleBench/Air: Removed. |
| * ES6SampleBench/Air/README.md: Removed. |
| * ES6SampleBench/Air/airjs-tests.yaml: Removed. |
| * ES6SampleBench/Air/all.js: Removed. |
| * ES6SampleBench/Air/allocate_stack.js: Removed. |
| * ES6SampleBench/Air/arg.js: Removed. |
| * ES6SampleBench/Air/basic_block.js: Removed. |
| * ES6SampleBench/Air/benchmark.js: Removed. |
| * ES6SampleBench/Air/code.js: Removed. |
| * ES6SampleBench/Air/custom.js: Removed. |
| * ES6SampleBench/Air/frequented_block.js: Removed. |
| * ES6SampleBench/Air/insertion_set.js: Removed. |
| * ES6SampleBench/Air/inst.js: Removed. |
| * ES6SampleBench/Air/liveness.js: Removed. |
| * ES6SampleBench/Air/make_dist.sh: Removed. |
| * ES6SampleBench/Air/opcode.js: Removed. |
| * ES6SampleBench/Air/payload-airjs-ACLj8C.js: Removed. |
| * ES6SampleBench/Air/payload-gbemu-executeIteration.js: Removed. |
| * ES6SampleBench/Air/payload-imaging-gaussian-blur-gaussianBlur.js: Removed. |
| * ES6SampleBench/Air/payload-typescript-scanIdentifier.js: Removed. |
| * ES6SampleBench/Air/reg.js: Removed. |
| * ES6SampleBench/Air/stack_slot.js: Removed. |
| * ES6SampleBench/Air/stress-test.js: Removed. |
| * ES6SampleBench/Air/strip-hash.rb: Removed. |
| * ES6SampleBench/Air/symbols.js: Removed. |
| * ES6SampleBench/Air/test.html: Removed. |
| * ES6SampleBench/Air/test.js: Removed. |
| * ES6SampleBench/Air/tmp.js: Removed. |
| * ES6SampleBench/Air/tmp_base.js: Removed. |
| * ES6SampleBench/Air/util.js: Removed. |
| * ES6SampleBench/Basic: Removed. |
| * ES6SampleBench/Basic/ast.js: Removed. |
| * ES6SampleBench/Basic/basic-tests.yaml: Removed. |
| * ES6SampleBench/Basic/basic.js: Removed. |
| * ES6SampleBench/Basic/benchmark.js: Removed. |
| * ES6SampleBench/Basic/caseless_map.js: Removed. |
| * ES6SampleBench/Basic/lexer.js: Removed. |
| * ES6SampleBench/Basic/number.js: Removed. |
| * ES6SampleBench/Basic/parser.js: Removed. |
| * ES6SampleBench/Basic/random.js: Removed. |
| * ES6SampleBench/Basic/state.js: Removed. |
| * ES6SampleBench/Basic/stress-test.js: Removed. |
| * ES6SampleBench/Basic/test.html: Removed. |
| * ES6SampleBench/Basic/test.js: Removed. |
| * ES6SampleBench/Basic/util.js: Removed. |
| * ES6SampleBench/air_benchmark.js: Removed. |
| * ES6SampleBench/basic_benchmark.js: Removed. |
| * ES6SampleBench/cli.js: Removed. |
| * ES6SampleBench/driver.js: Removed. |
| * ES6SampleBench/glue.js: Removed. |
| * ES6SampleBench/index.html: Removed. |
| * ES6SampleBench/results.js: Removed. |
| * ES6SampleBench/stats.js: Removed. |
| * ES6SampleBench/style.css: Removed. |
| |
| 2017-02-05 Zalan Bujtas <zalan@apple.com> |
| |
| Simple line layout: Add performance test with varying string and font-size to minimize width-cache hit. |
| https://bugs.webkit.org/show_bug.cgi?id=167859 |
| <rdar://problem/30368070> |
| |
| Reviewed by Antti Koivisto. |
| |
| This is in preparation for webkit.org/b/167843. |
| |
| * Layout/simple-line-layout-with-varying-content.html: Added. |
| |
| 2017-01-16 Filip Pizlo <fpizlo@apple.com> |
| |
| Add framerate baselines to the splay-detail test |
| https://bugs.webkit.org/show_bug.cgi?id=167659 |
| |
| Reviewed by Geoffrey Garen. |
| |
| * JetStream/Octane2/splay-detail.html: |
| |
| 2017-01-31 Carlos Alberto Lopez Perez <clopez@igalia.com> |
| |
| [EFL][GTK] Skip some IndexedDB tests that time out on the Perf bots. |
| |
| Unreviewed performance test gardening. |
| |
| * Skipped: |
| |
| 2017-01-30 Zalan Bujtas <zalan@apple.com> |
| |
| Simple line layout: Small tweaks to improve performance. |
| https://bugs.webkit.org/show_bug.cgi?id=167611 |
| <rdar://problem/30274294> |
| |
| Reviewed by Simon Fraser. |
| |
| * Layout/simple-line-layout-non-repeating-text.html: Added. |
| |
| 2017-01-13 Said Abou-Hallawa <sabouhallawa@apple.com> |
| |
| 26 MotionMark performance tests failing |
| https://bugs.webkit.org/show_bug.cgi?id=166854 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| Skip running MotionMark on WebKit perf bots. |
| |
| * Skipped: |
| |
| 2017-01-06 Said Abou-Hallawa <sabouhallawa@apple.com> |
| |
| Rename the directory and the files of MotionMark from Animometer to MotionMark |
| https://bugs.webkit.org/show_bug.cgi?id=166659 |
| |
| Reviewed by Jon Lee. |
| |
| Rename the directory and the files of the benchmark to its new name. |
| |
| * MotionMark/developer.html: Renamed from PerformanceTests/Animometer/developer.html. |
| * MotionMark/index.html: Renamed from PerformanceTests/Animometer/index.html. |
| * MotionMark/resources/debug-runner/d3.min.js: Renamed from PerformanceTests/Animometer/resources/debug-runner/d3.min.js. |
| * MotionMark/resources/debug-runner/graph.js: Renamed from PerformanceTests/Animometer/resources/debug-runner/graph.js. |
| * MotionMark/resources/debug-runner/motionmark.css: Renamed from PerformanceTests/Animometer/resources/debug-runner/animometer.css. |
| * MotionMark/resources/debug-runner/motionmark.js: Renamed from PerformanceTests/Animometer/resources/debug-runner/animometer.js. |
| * MotionMark/resources/debug-runner/tests.js: Renamed from PerformanceTests/Animometer/resources/debug-runner/tests.js. |
| * MotionMark/resources/extensions.js: Renamed from PerformanceTests/Animometer/resources/extensions.js. |
| * MotionMark/resources/runner/benchmark-runner.js: Renamed from PerformanceTests/Animometer/resources/runner/benchmark-runner.js. |
| * MotionMark/resources/runner/crystal.svg: Renamed from PerformanceTests/Animometer/resources/runner/crystal.svg. |
| * MotionMark/resources/runner/lines.svg: Renamed from PerformanceTests/Animometer/resources/runner/lines.svg. |
| * MotionMark/resources/runner/logo.svg: Renamed from PerformanceTests/Animometer/resources/runner/logo.svg. |
| * MotionMark/resources/runner/motionmark.css: Renamed from PerformanceTests/Animometer/resources/runner/animometer.css. |
| * MotionMark/resources/runner/motionmark.js: Renamed from PerformanceTests/Animometer/resources/runner/animometer.js. |
| * MotionMark/resources/runner/tests.js: Renamed from PerformanceTests/Animometer/resources/runner/tests.js. |
| * MotionMark/resources/statistics.js: Renamed from PerformanceTests/Animometer/resources/statistics.js. |
| * MotionMark/resources/strings.js: Renamed from PerformanceTests/Animometer/resources/strings.js. |
| * MotionMark/tests/3d/resources/webgl.js: Renamed from PerformanceTests/Animometer/tests/3d/resources/webgl.js. |
| * MotionMark/tests/3d/webgl.html: Renamed from PerformanceTests/Animometer/tests/3d/webgl.html. |
| * MotionMark/tests/bouncing-particles/bouncing-canvas-images.html: Renamed from PerformanceTests/Animometer/tests/bouncing-particles/bouncing-canvas-images.html. |
| * MotionMark/tests/bouncing-particles/bouncing-canvas-shapes.html: Renamed from PerformanceTests/Animometer/tests/bouncing-particles/bouncing-canvas-shapes.html. |
| * MotionMark/tests/bouncing-particles/bouncing-css-images.html: Renamed from PerformanceTests/Animometer/tests/bouncing-particles/bouncing-css-images.html. |
| * MotionMark/tests/bouncing-particles/bouncing-css-shapes.html: Renamed from PerformanceTests/Animometer/tests/bouncing-particles/bouncing-css-shapes.html. |
| * MotionMark/tests/bouncing-particles/bouncing-svg-images.html: Renamed from PerformanceTests/Animometer/tests/bouncing-particles/bouncing-svg-images.html. |
| * MotionMark/tests/bouncing-particles/bouncing-svg-shapes.html: Renamed from PerformanceTests/Animometer/tests/bouncing-particles/bouncing-svg-shapes.html. |
| * MotionMark/tests/bouncing-particles/bouncing-tagged-images.html: Renamed from PerformanceTests/Animometer/tests/bouncing-particles/bouncing-tagged-images.html. |
| * MotionMark/tests/bouncing-particles/resources/bouncing-canvas-images.js: Renamed from PerformanceTests/Animometer/tests/bouncing-particles/resources/bouncing-canvas-images.js. |
| * MotionMark/tests/bouncing-particles/resources/bouncing-canvas-particles.js: Renamed from PerformanceTests/Animometer/tests/bouncing-particles/resources/bouncing-canvas-particles.js. |
| * MotionMark/tests/bouncing-particles/resources/bouncing-canvas-shapes.js: Renamed from PerformanceTests/Animometer/tests/bouncing-particles/resources/bouncing-canvas-shapes.js. |
| * MotionMark/tests/bouncing-particles/resources/bouncing-css-images.js: Renamed from PerformanceTests/Animometer/tests/bouncing-particles/resources/bouncing-css-images.js. |
| * MotionMark/tests/bouncing-particles/resources/bouncing-css-shapes.js: Renamed from PerformanceTests/Animometer/tests/bouncing-particles/resources/bouncing-css-shapes.js. |
| * MotionMark/tests/bouncing-particles/resources/bouncing-svg-images.js: Renamed from PerformanceTests/Animometer/tests/bouncing-particles/resources/bouncing-svg-images.js. |
| * MotionMark/tests/bouncing-particles/resources/bouncing-svg-particles.js: Renamed from PerformanceTests/Animometer/tests/bouncing-particles/resources/bouncing-svg-particles.js. |
| * MotionMark/tests/bouncing-particles/resources/bouncing-svg-shapes.js: Renamed from PerformanceTests/Animometer/tests/bouncing-particles/resources/bouncing-svg-shapes.js. |
| * MotionMark/tests/bouncing-particles/resources/bouncing-tagged-images.js: Renamed from PerformanceTests/Animometer/tests/bouncing-particles/resources/bouncing-tagged-images.js. |
| * MotionMark/tests/bouncing-particles/resources/image1.jpg: Renamed from PerformanceTests/Animometer/tests/bouncing-particles/resources/image1.jpg. |
| * MotionMark/tests/bouncing-particles/resources/image2.jpg: Renamed from PerformanceTests/Animometer/tests/bouncing-particles/resources/image2.jpg. |
| * MotionMark/tests/bouncing-particles/resources/image3.jpg: Renamed from PerformanceTests/Animometer/tests/bouncing-particles/resources/image3.jpg. |
| * MotionMark/tests/bouncing-particles/resources/image4.jpg: Renamed from PerformanceTests/Animometer/tests/bouncing-particles/resources/image4.jpg. |
| * MotionMark/tests/bouncing-particles/resources/image5.jpg: Renamed from PerformanceTests/Animometer/tests/bouncing-particles/resources/image5.jpg. |
| * MotionMark/tests/dom/compositing-transforms.html: Renamed from PerformanceTests/Animometer/tests/dom/compositing-transforms.html. |
| * MotionMark/tests/dom/focus.html: Renamed from PerformanceTests/Animometer/tests/dom/focus.html. |
| * MotionMark/tests/dom/leaves.html: Renamed from PerformanceTests/Animometer/tests/dom/leaves.html. |
| * MotionMark/tests/dom/particles.html: Renamed from PerformanceTests/Animometer/tests/dom/particles.html. |
| * MotionMark/tests/dom/resources/compositing-transforms.js: Renamed from PerformanceTests/Animometer/tests/dom/resources/compositing-transforms.js. |
| * MotionMark/tests/dom/resources/dom-particles.js: Renamed from PerformanceTests/Animometer/tests/dom/resources/dom-particles.js. |
| * MotionMark/tests/dom/resources/focus.js: Renamed from PerformanceTests/Animometer/tests/dom/resources/focus.js. |
| * MotionMark/tests/dom/resources/leaves.js: Renamed from PerformanceTests/Animometer/tests/dom/resources/leaves.js. |
| * MotionMark/tests/master/canvas-stage.html: Renamed from PerformanceTests/Animometer/tests/master/canvas-stage.html. |
| * MotionMark/tests/master/focus.html: Renamed from PerformanceTests/Animometer/tests/master/focus.html. |
| * MotionMark/tests/master/image-data.html: Renamed from PerformanceTests/Animometer/tests/master/image-data.html. |
| * MotionMark/tests/master/leaves.html: Renamed from PerformanceTests/Animometer/tests/master/leaves.html. |
| * MotionMark/tests/master/multiply.html: Renamed from PerformanceTests/Animometer/tests/master/multiply.html. |
| * MotionMark/tests/master/resources/canvas-stage.js: Renamed from PerformanceTests/Animometer/tests/master/resources/canvas-stage.js. |
| * MotionMark/tests/master/resources/canvas-tests.js: Renamed from PerformanceTests/Animometer/tests/master/resources/canvas-tests.js. |
| * MotionMark/tests/master/resources/compass.svg: Renamed from PerformanceTests/Animometer/tests/master/resources/compass.svg. |
| * MotionMark/tests/master/resources/compass100.png: Renamed from PerformanceTests/Animometer/tests/master/resources/compass100.png. |
| * MotionMark/tests/master/resources/console.svg: Renamed from PerformanceTests/Animometer/tests/master/resources/console.svg. |
| * MotionMark/tests/master/resources/console100.png: Renamed from PerformanceTests/Animometer/tests/master/resources/console100.png. |
| * MotionMark/tests/master/resources/contribute.svg: Renamed from PerformanceTests/Animometer/tests/master/resources/contribute.svg. |
| * MotionMark/tests/master/resources/contribute100.png: Renamed from PerformanceTests/Animometer/tests/master/resources/contribute100.png. |
| * MotionMark/tests/master/resources/debugger.svg: Renamed from PerformanceTests/Animometer/tests/master/resources/debugger.svg. |
| * MotionMark/tests/master/resources/debugger100.png: Renamed from PerformanceTests/Animometer/tests/master/resources/debugger100.png. |
| * MotionMark/tests/master/resources/focus.js: Renamed from PerformanceTests/Animometer/tests/master/resources/focus.js. |
| * MotionMark/tests/master/resources/image-data.js: Renamed from PerformanceTests/Animometer/tests/master/resources/image-data.js. |
| * MotionMark/tests/master/resources/inspector.svg: Renamed from PerformanceTests/Animometer/tests/master/resources/inspector.svg. |
| * MotionMark/tests/master/resources/inspector100.png: Renamed from PerformanceTests/Animometer/tests/master/resources/inspector100.png. |
| * MotionMark/tests/master/resources/layout.svg: Renamed from PerformanceTests/Animometer/tests/master/resources/layout.svg. |
| * MotionMark/tests/master/resources/layout100.png: Renamed from PerformanceTests/Animometer/tests/master/resources/layout100.png. |
| * MotionMark/tests/master/resources/leaves.js: Renamed from PerformanceTests/Animometer/tests/master/resources/leaves.js. |
| * MotionMark/tests/master/resources/multiply.js: Renamed from PerformanceTests/Animometer/tests/master/resources/multiply.js. |
| * MotionMark/tests/master/resources/particles.js: Renamed from PerformanceTests/Animometer/tests/master/resources/particles.js. |
| * MotionMark/tests/master/resources/performance.svg: Renamed from PerformanceTests/Animometer/tests/master/resources/performance.svg. |
| * MotionMark/tests/master/resources/performance100.png: Renamed from PerformanceTests/Animometer/tests/master/resources/performance100.png. |
| * MotionMark/tests/master/resources/script.svg: Renamed from PerformanceTests/Animometer/tests/master/resources/script.svg. |
| * MotionMark/tests/master/resources/script100.png: Renamed from PerformanceTests/Animometer/tests/master/resources/script100.png. |
| * MotionMark/tests/master/resources/shortcuts.svg: Renamed from PerformanceTests/Animometer/tests/master/resources/shortcuts.svg. |
| * MotionMark/tests/master/resources/shortcuts100.png: Renamed from PerformanceTests/Animometer/tests/master/resources/shortcuts100.png. |
| * MotionMark/tests/master/resources/standards.svg: Renamed from PerformanceTests/Animometer/tests/master/resources/standards.svg. |
| * MotionMark/tests/master/resources/standards100.png: Renamed from PerformanceTests/Animometer/tests/master/resources/standards100.png. |
| * MotionMark/tests/master/resources/storage.svg: Renamed from PerformanceTests/Animometer/tests/master/resources/storage.svg. |
| * MotionMark/tests/master/resources/storage100.png: Renamed from PerformanceTests/Animometer/tests/master/resources/storage100.png. |
| * MotionMark/tests/master/resources/styles.svg: Renamed from PerformanceTests/Animometer/tests/master/resources/styles.svg. |
| * MotionMark/tests/master/resources/styles100.png: Renamed from PerformanceTests/Animometer/tests/master/resources/styles100.png. |
| * MotionMark/tests/master/resources/svg-particles.js: Renamed from PerformanceTests/Animometer/tests/master/resources/svg-particles.js. |
| * MotionMark/tests/master/resources/text.js: Renamed from PerformanceTests/Animometer/tests/master/resources/text.js. |
| * MotionMark/tests/master/resources/timeline.svg: Renamed from PerformanceTests/Animometer/tests/master/resources/timeline.svg. |
| * MotionMark/tests/master/resources/timeline100.png: Renamed from PerformanceTests/Animometer/tests/master/resources/timeline100.png. |
| * MotionMark/tests/master/svg-particles.html: Renamed from PerformanceTests/Animometer/tests/master/svg-particles.html. |
| * MotionMark/tests/master/text.html: Renamed from PerformanceTests/Animometer/tests/master/text.html. |
| * MotionMark/tests/resources/main.js: Renamed from PerformanceTests/Animometer/tests/resources/main.js. |
| * MotionMark/tests/resources/math.js: Renamed from PerformanceTests/Animometer/tests/resources/math.js. |
| * MotionMark/tests/resources/stage.css: Renamed from PerformanceTests/Animometer/tests/resources/stage.css. |
| * MotionMark/tests/resources/star.svg: Renamed from PerformanceTests/Animometer/tests/resources/star.svg. |
| * MotionMark/tests/resources/yin-yang.png: Renamed from PerformanceTests/Animometer/tests/resources/yin-yang.png. |
| * MotionMark/tests/resources/yin-yang.svg: Renamed from PerformanceTests/Animometer/tests/resources/yin-yang.svg. |
| * MotionMark/tests/simple/resources/simple-canvas-paths.js: Renamed from PerformanceTests/Animometer/tests/simple/resources/simple-canvas-paths.js. |
| * MotionMark/tests/simple/resources/simple-canvas.js: Renamed from PerformanceTests/Animometer/tests/simple/resources/simple-canvas.js. |
| * MotionMark/tests/simple/resources/tiled-canvas-image.js: Renamed from PerformanceTests/Animometer/tests/simple/resources/tiled-canvas-image.js. |
| * MotionMark/tests/simple/simple-canvas-paths.html: Renamed from PerformanceTests/Animometer/tests/simple/simple-canvas-paths.html. |
| * MotionMark/tests/simple/tiled-canvas-image.html: Renamed from PerformanceTests/Animometer/tests/simple/tiled-canvas-image.html. |
| * MotionMark/tests/template/resources/template-canvas.js: Renamed from PerformanceTests/Animometer/tests/template/resources/template-canvas.js. |
| * MotionMark/tests/template/resources/template-css.js: Renamed from PerformanceTests/Animometer/tests/template/resources/template-css.js. |
| * MotionMark/tests/template/resources/template-svg.js: Renamed from PerformanceTests/Animometer/tests/template/resources/template-svg.js. |
| * MotionMark/tests/template/template-canvas.html: Renamed from PerformanceTests/Animometer/tests/template/template-canvas.html. |
| * MotionMark/tests/template/template-css.html: Renamed from PerformanceTests/Animometer/tests/template/template-css.html. |
| * MotionMark/tests/template/template-svg.html: Renamed from PerformanceTests/Animometer/tests/template/template-svg.html. |
| |
| 2016-12-13 Brady Eidson <beidson@apple.com> |
| |
| Add a PerfTest targeting IDBObjectStore.get(). |
| https://bugs.webkit.org/show_bug.cgi?id=165816 |
| |
| Reviewed by Alex Christensen. |
| |
| * IndexedDB/objectstore-get.html: Added. |
| |
| 2016-12-13 Brady Eidson <beidson@apple.com> |
| |
| Add a PerfTest targeting IDBIndex.get(). |
| https://bugs.webkit.org/show_bug.cgi?id=165803 |
| |
| Reviewed by Alex Christensen. |
| |
| * IndexedDB/index-get.html: Added. |
| |
| 2016-12-12 Brady Eidson <beidson@apple.com> |
| |
| More IndexedDB perf tests. |
| https://bugs.webkit.org/show_bug.cgi?id=165634 |
| |
| Reviewed by Sam Weinig. |
| |
| * IndexedDB/index-multientry.html: |
| * IndexedDB/large-number-of-inserts-responsiveness.html: Added. |
| * IndexedDB/large-number-of-inserts.html: Added. |
| * IndexedDB/objectstore-cursor.html: Added. Runtime cut in 1/4th compared to r209672. |
| |
| * resources/runner.js: |
| |
| 2016-12-12 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r209672. |
| https://bugs.webkit.org/show_bug.cgi?id=165766 |
| |
| IndexedDB/objectstore-cursor.html perf test always times out |
| (Requested by ap on #webkit). |
| |
| Reverted changeset: |
| |
| "More IndexedDB perf tests." |
| https://bugs.webkit.org/show_bug.cgi?id=165634 |
| http://trac.webkit.org/changeset/209672 |
| |
| 2016-12-10 Brady Eidson <beidson@apple.com> |
| |
| More IndexedDB perf tests. |
| https://bugs.webkit.org/show_bug.cgi?id=165634 |
| |
| Reviewed by Sam Weinig. |
| |
| * IndexedDB/index-multientry.html: |
| * IndexedDB/large-number-of-inserts-responsiveness.html: Added. |
| * IndexedDB/large-number-of-inserts.html: Added. |
| * IndexedDB/objectstore-cursor.html: Added. |
| |
| * resources/runner.js: Add "track responsiveness" functionality to PerfTestRunner. |
| |
| 2016-12-06 Filip Pizlo <fpizlo@apple.com> |
| |
| Concurrent GC should be stable enough to land enabled |
| https://bugs.webkit.org/show_bug.cgi?id=164990 |
| |
| Reviewed by Geoffrey Garen. |
| |
| Made CDjs more configurable and refined the "large.js" configuration. I was using that one and |
| the new "long.js" configuration to tune concurrent eden GCs. |
| |
| Added a new way of running Splay in browser, which using chartjs to plot the execution times of |
| 2000 iterations. This includes the minified chartjs. |
| |
| * JetStream/Octane2/splay-detail.html: Added. |
| * JetStream/cdjs/benchmark.js: |
| (benchmarkImpl): |
| (benchmark): |
| * JetStream/cdjs/long.js: Added. |
| |
| 2016-12-07 Brady Eidson <beidson@apple.com> |
| |
| Add IDB perf tests stressing key size. |
| https://bugs.webkit.org/show_bug.cgi?id=165567 |
| |
| Reviewed by Alex Christensen. |
| |
| * IndexedDB/large-array-keys.html: Added. |
| * IndexedDB/large-binary-keys.html: Added. |
| * IndexedDB/large-string-keys.html: Added. |
| |
| 2016-12-05 Brady Eidson <beidson@apple.com> |
| |
| Add an IndexedDB perf test to PerformanceTests. |
| https://bugs.webkit.org/show_bug.cgi?id=165430 |
| |
| Reviewed by Alex Christensen. |
| |
| * IndexedDB/index-multientry.html: Added. |
| |
| 2016-12-02 Filip Pizlo <fpizlo@apple.com> |
| |
| ES6SampleBench should report an average for Steady State so that all of the numbers are comparable |
| https://bugs.webkit.org/show_bug.cgi?id=165325 |
| |
| Reviewed by Saam Barati. |
| |
| This makes all of the numbers that ES6SampleBench reports comparable to each other: they all speak of the time |
| it took to run an iteration of something. |
| |
| * ES6SampleBench/results.js: |
| (Results.prototype.reportResult): |
| |
| 2016-11-18 Jer Noble <jer.noble@apple.com> |
| |
| Add some performance tests for various aspects of media loading and playback. |
| https://bugs.webkit.org/show_bug.cgi?id=164977 |
| |
| Reviewed by Darin Adler. |
| |
| Add new tests for a few aspects of media playback; namely: how quickly media elements fire |
| the "canplaythrough" event when all data is immediately available, how quickly HLS playback |
| switches resolutions, and at what playback rate MSE-backed video can play without dropping |
| frames. Skip these tests by default, as they're not runnable on all ports, and they require |
| a webserver (run-webkit-httpd) to complete on macOS. |
| |
| * Media/HLSCanPlayThrough.html: Added. |
| * Media/HLSGearChange.html: Added. |
| * Media/MSECanPlayThrough.html: Added. |
| * Media/MSEPlaybackRate.html: Added. |
| * Media/StandardCanPlayThrough.html: Added. |
| * Media/hls/1080p/iframe_index.m3u8: Added. |
| * Media/hls/1080p/prog_index.m3u8: Added. |
| * Media/hls/1080p/test.ts: Added. |
| * Media/hls/480p/iframe_index.m3u8: Added. |
| * Media/hls/480p/prog_index.m3u8: Added. |
| * Media/hls/480p/test.ts: Added. |
| * Media/hls/720p/iframe_index.m3u8: Added. |
| * Media/hls/720p/prog_index.m3u8: Added. |
| * Media/hls/720p/test.ts: Added. |
| * Media/hls/720p/test.ts.back: Added. |
| * Media/hls/index.m3u8: Added. |
| * Media/media-source-loader.js: Added. |
| (MediaSourceLoader): |
| (MediaSourceLoader.prototype.loadManifest): |
| (MediaSourceLoader.prototype.loadManifestSucceeded): |
| (MediaSourceLoader.prototype.loadManifestFailed): |
| (MediaSourceLoader.prototype.loadMediaData): |
| (MediaSourceLoader.prototype.loadMediaDataSucceeded): |
| (MediaSourceLoader.prototype.loadMediaDataFailed): |
| (MediaSourceLoader.prototype.get type): |
| (MediaSourceLoader.prototype.get duration): |
| (MediaSourceLoader.prototype.get initSegment): |
| (MediaSourceLoader.prototype.get mediaSegmentsLength): |
| (MediaSourceLoader.prototype.mediaSegments): |
| (MediaSourceLoader.prototype.get everyMediaSegment): |
| * Media/test-fragmented-video.json: Added. |
| * Media/test-fragmented-video.mp4: Added. |
| * Media/test.mp4: Added. |
| * Skipped: |
| |
| 2016-11-18 Filip Pizlo <fpizlo@apple.com> |
| |
| Concurrent GC should be able to run splay in debug mode and earley/raytrace in release mode with no perf regression |
| https://bugs.webkit.org/show_bug.cgi?id=164282 |
| |
| Reviewed by Geoffrey Garen and Oliver Hunt. |
| |
| CDjs is a fun benchmark for stressing concurrent GCs, but to really give the GC a good |
| workout you need to increase the amount of work that the test does. This adds a second |
| configuration of the benchmark that has more aircraft. It uses much more memory and causes us |
| to do more GCs and those GCs take longer. |
| |
| * JetStream/cdjs/benchmark.js: |
| (benchmarkImpl): |
| (benchmark): |
| * JetStream/cdjs/large.js: Added. |
| |
| 2016-11-14 Filip Pizlo <fpizlo@apple.com> |
| |
| Unreviewed, revert unintended change. |
| |
| * ES6SampleBench/Air/benchmark.js: |
| |
| 2016-10-03 Saam Barati <sbarati@apple.com> |
| |
| MapHash should speculate on the type of its child node |
| https://bugs.webkit.org/show_bug.cgi?id=161922 |
| |
| Reviewed by Filip Pizlo. |
| |
| I gave the main generator a name so it's easier to see what |
| it is when using the sampling profiler. |
| |
| * ES6SampleBench/Basic/ast.js: |
| (Basic.Program): |
| |
| 2016-09-19 Sergio Villar Senin <svillar@igalia.com> |
| |
| [css-grid] Remove the x2 computation of row sizes with indefinite heights |
| https://bugs.webkit.org/show_bug.cgi?id=162150 |
| |
| Reviewed by Darin Adler. |
| |
| Added a new test case which checks the layout performance of grids inside other grids, i.e, |
| grids acting both as grid container and grid item. |
| |
| * Layout/nested-grid.html: Added. |
| |
| 2016-09-09 Simon Fraser <simon.fraser@apple.com> |
| |
| Perf test Animation/css-accelerated-animation.html failing |
| https://bugs.webkit.org/show_bug.cgi?id=161795 |
| |
| Skip Animation/css-accelerated-animation.html since this only works as a MobileSafari |
| perf test. |
| |
| * Skipped: |
| |
| 2016-09-08 Simon Fraser <simon.fraser@apple.com> |
| |
| Add a content-animation test with accelerated CSS animations |
| https://bugs.webkit.org/show_bug.cgi?id=161776 |
| |
| Reviewed by Dean Jackson. |
| |
| Add a test that measures the frame rate of accelerated CSS animations. |
| |
| This is like css-animation.html (which animates 'left' and 'top') but animates |
| transforms instead. In order to get animation in X and Y we make two nested elements |
| and set transformX() on one, and transformY() on the other. |
| |
| * Animation/css-accelerated-animation.html: Added. |
| |
| 2016-08-23 Saam Barati <sbarati@apple.com> |
| |
| It should be easy to run ES6SampleBench from the jsc shell |
| https://bugs.webkit.org/show_bug.cgi?id=161085 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| This patch makes ES6 sample bench runnable through the `jsc` shell. |
| To do that, you need to be in the PerformanceTests/ES6SampleBench |
| directory and run `jsc cli.js`. To make this work, the benchmark |
| is now aware of being run in two modes: via the browser, and via |
| the shell. Each entry point will set a variable `isInBrowser`, |
| and the benchmark will do different things based on if that |
| variable is true or false. |
| |
| * ES6SampleBench/Air/benchmark.js: |
| * ES6SampleBench/Air/stress-test.js: |
| * ES6SampleBench/Basic/benchmark.js: |
| (runBenchmark): |
| * ES6SampleBench/Basic/stress-test.js: |
| * ES6SampleBench/air_benchmark.js: |
| * ES6SampleBench/basic_benchmark.js: |
| * ES6SampleBench/cli.js: Added. |
| (return.doRun): |
| (makeBenchmarkRunner): |
| * ES6SampleBench/driver.js: |
| (Driver): |
| (Driver.prototype._recomputeSummary): |
| (Driver.prototype._iterate.window.setTimeout): |
| (Driver.prototype._iterate): |
| (Driver.prototype._updateIterations): |
| * ES6SampleBench/glue.js: |
| (reportResult): |
| * ES6SampleBench/index.html: |
| * ES6SampleBench/results.js: |
| (Results): |
| (Results.prototype.reportRunning): |
| (Results.prototype.reportDone): |
| (Results.prototype.reportError): |
| * ES6SampleBench/stats.js: |
| (Stats): |
| (Stats.prototype.toString): |
| (Stats.prototype._update): |
| |
| 2016-08-01 Said Abou-Hallawa <sabouhallawa@apple.com> |
| |
| Add an option to run the MotionMark tests with classic tile size (512x512) |
| https://bugs.webkit.org/show_bug.cgi?id=160371 |
| |
| Reviewed by Darin Adler. |
| |
| Setting the body to large size (3000x3000) and overflow to scroll forces |
| the classic tile size (512x512). This option does not affect the canvas |
| tests because the canvas is displayed on one tile regardless of its size. |
| |
| * Animometer/developer.html: |
| * Animometer/resources/debug-runner/animometer.css: |
| (body.showing-test-container.tiles-big): |
| (body.showing-test-container.tiles-classic): |
| * Animometer/resources/debug-runner/animometer.js: |
| * Animometer/resources/runner/animometer.js: |
| (window.benchmarkController.startBenchmark): |
| |
| 2016-06-29 Filip Pizlo <fpizlo@apple.com> |
| |
| Generators violate bytecode liveness validation |
| https://bugs.webkit.org/show_bug.cgi?id=159279 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| Add Basic to our test harness. |
| |
| Also made some cosmetic changes to the benchmark harness. |
| |
| * ES6SampleBench/Basic/basic-tests.yaml: Added. |
| * ES6SampleBench/Basic/stress-test.js: Added. |
| (preciseTime): |
| * ES6SampleBench/driver.js: |
| (Driver): |
| (Driver.prototype.start): |
| (Driver.prototype.reportError): |
| * ES6SampleBench/glue.js: |
| * ES6SampleBench/index.html: |
| |
| 2016-06-28 Filip Pizlo <fpizlo@apple.com> |
| |
| ES6SampleBench should have a harness |
| https://bugs.webkit.org/show_bug.cgi?id=159246 |
| |
| Reviewed by Saam Barati. |
| |
| This adds a simple web harness for ES6SampleBench. It runs Air and Basic 10 times for 200 |
| iterations each and reports three metrics: |
| |
| First iteration: the time it takes for the first iteration to run. This is the first |
| iteration after the benchmark is loaded into the iframe, so it's representative of what |
| would happen if one of these workloads only ran for a short time. |
| |
| Worst 2%: of the last 199 iterations, the average of the worst 2% iterations. If code like |
| any of these workloads was used in an important event handler, you'd want that code to run |
| well in the worst case in addition to having great throughput. |
| |
| Steady state: the total of the last 199 iterations. This is representative of what would |
| happen if you ran code like this for a long time. |
| |
| The total score is the geomean of the firstIteration/worstCase/steadyState numbers of the |
| two benchmarks. |
| |
| The harness does statistics using Student's T-distribution confidence intervals. |
| |
| * ES6SampleBench/Basic/benchmark.js: |
| (Benchmark): |
| * ES6SampleBench/air_benchmark.js: Added. |
| * ES6SampleBench/basic_benchmark.js: Added. |
| * ES6SampleBench/driver.js: Added. |
| (Driver): |
| (Driver.prototype.addBenchmark): |
| (Driver.prototype.start): |
| (Driver.prototype.reportResult): |
| (Driver.prototype.reportError): |
| (Driver.prototype._recomputeSummary.Geomean): |
| (Driver.prototype._recomputeSummary.Geomean.prototype.add): |
| (Driver.prototype._recomputeSummary.Geomean.prototype.get result): |
| (Driver.prototype._recomputeSummary): |
| (Driver.prototype._iterate): |
| (Driver.prototype._updateIterations): |
| * ES6SampleBench/glue.js: Added. |
| * ES6SampleBench/index.html: Added. |
| * ES6SampleBench/results.js: Added. |
| (Results): |
| (Results.prototype.get benchmark): |
| (Results.prototype.reset): |
| (Results.prototype.reportRunning): |
| (Results.prototype.reportDone): |
| (Results.prototype.reportResult.averageAbovePercentile): |
| (Results.prototype.reportResult): |
| (Results.prototype.reportError): |
| * ES6SampleBench/stats.js: Added. |
| (Stats): |
| (Stats.prototype.reset): |
| (Stats.prototype.add): |
| (Stats.prototype.get numIterations): |
| (Stats.prototype.valueForIteration): |
| (Stats.get result.tDist): |
| (Stats.prototype.get result): |
| (Stats.prototype.toString): |
| (Stats.prototype._update): |
| * ES6SampleBench/style.css: Added. |
| (body): |
| (body, th, tr): |
| (h1, h2, h3, h4): |
| (h1): |
| (h2): |
| (h3): |
| (hr): |
| (address): |
| (img): |
| (.underline): |
| (ol.loweralpha): |
| (ol.upperalpha): |
| (ol.lowerroman): |
| (ol.upperroman): |
| (ol.arabic): |
| (.banner-link:link, .banner-link:visited): |
| (:link, :visited): |
| (h4 :link, h4 :visited, h5 :link, h5 :visited, h6 :link, h6 :visited): |
| (.anchor:link, .anchor:visited): |
| (* > .anchor:link, * > .anchor:visited): |
| (span:hover .anchor): |
| (a.forbidden, span.forbidden): |
| (a.missing:hover): |
| (a.closed:link, a.closed:visited, span.closed): |
| (pre): |
| (div.code): |
| (div.code pre): |
| (dt): |
| (dd): |
| (dd:last-child): |
| (.site-logo): |
| (.site-logo .tagline): |
| (table): |
| (#contents): |
| (p): |
| (p:last-child): |
| (th): |
| (td): |
| |
| 2016-06-28 Jon Lee <jonlee@apple.com> |
| |
| Update focus test |
| https://bugs.webkit.org/show_bug.cgi?id=159242 |
| rdar://problem/27070007 |
| |
| Reviewed by Dean Jackson. |
| Provisionally reviewed by Said Abou-Hallawa. |
| |
| Move previous test to dom suite, and update the test for better reporting of frame rate, although |
| it uses a different rendering path. |
| |
| * Animometer/resources/debug-runner/tests.js: Add to dom suite. |
| * Animometer/tests/dom/focus.html: Copied from PerformanceTests/Animometer/tests/master/focus.html. |
| * Animometer/tests/dom/resources/focus.js: Copied from PerformanceTests/Animometer/tests/master/resources/focus.js. |
| * Animometer/tests/master/focus.html: Remove center element. |
| * Animometer/tests/master/resources/focus.js: Use narrower size range with smaller particles. Remove the |
| container elements. Inline getBlurValue and getOpacityValue since they are only called once. |
| |
| 2016-06-28 Filip Pizlo <fpizlo@apple.com> |
| |
| Move Air.js and Basic into ES6SampleBench |
| |
| Rubber stamped by Geoffrey Garen. |
| |
| We want to group our ES6 benchmarks together, and eventually, we want to give them a |
| common harness. |
| |
| * Air.js: Removed. |
| * Air.js/README.md: Removed. |
| * Air.js/airjs-tests.yaml: Removed. |
| * Air.js/all.js: Removed. |
| * Air.js/allocate_stack.js: Removed. |
| * Air.js/arg.js: Removed. |
| * Air.js/basic_block.js: Removed. |
| * Air.js/benchmark.js: Removed. |
| * Air.js/code.js: Removed. |
| * Air.js/custom.js: Removed. |
| * Air.js/frequented_block.js: Removed. |
| * Air.js/insertion_set.js: Removed. |
| * Air.js/inst.js: Removed. |
| * Air.js/liveness.js: Removed. |
| * Air.js/make_dist.sh: Removed. |
| * Air.js/opcode.js: Removed. |
| * Air.js/payload-airjs-ACLj8C.js: Removed. |
| * Air.js/payload-gbemu-executeIteration.js: Removed. |
| * Air.js/payload-imaging-gaussian-blur-gaussianBlur.js: Removed. |
| * Air.js/payload-typescript-scanIdentifier.js: Removed. |
| * Air.js/reg.js: Removed. |
| * Air.js/stack_slot.js: Removed. |
| * Air.js/stress-test.js: Removed. |
| * Air.js/strip-hash.rb: Removed. |
| * Air.js/symbols.js: Removed. |
| * Air.js/test.html: Removed. |
| * Air.js/test.js: Removed. |
| * Air.js/tmp.js: Removed. |
| * Air.js/tmp_base.js: Removed. |
| * Air.js/util.js: Removed. |
| * Basic: Removed. |
| * Basic/ast.js: Removed. |
| * Basic/basic.js: Removed. |
| * Basic/benchmark.js: Removed. |
| * Basic/caseless_map.js: Removed. |
| * Basic/lexer.js: Removed. |
| * Basic/number.js: Removed. |
| * Basic/parser.js: Removed. |
| * Basic/random.js: Removed. |
| * Basic/state.js: Removed. |
| * Basic/test.html: Removed. |
| * Basic/test.js: Removed. |
| * Basic/util.js: Removed. |
| * ES6SampleBench: Added. |
| * ES6SampleBench/Air: Copied from PerformanceTests/Air.js. |
| * ES6SampleBench/Basic: Copied from PerformanceTests/Basic. |
| * Skipped: |
| |
| 2016-06-24 Filip Pizlo <fpizlo@apple.com> |
| |
| Add a ES6 generator benchmark |
| https://bugs.webkit.org/show_bug.cgi?id=159101 |
| |
| Rubber stamped by Keith Miller. |
| |
| This adds a Basic interpreter loosely based on ECMA-55: |
| |
| http://www.ecma-international.org/publications/files/ECMA-ST-WITHDRAWN/ECMA-55,%201st%20Edition,%20January%201978.pdf |
| |
| It includes a lexer that is a generator, a parser that uses regular expressions, and an AST |
| walk interpreter where the walking functions for statements are generators that call each |
| other with yield*. This enables the interpreter to look like an AST walk even though it can |
| yield at INPUT and PRINT statements. |
| |
| This also uses for-of, classes, Map, and WeakMap. It also uses deprecated-but-awesome RegExp |
| features like RegExp.lastMatch and RegExp.rightContext. I did it that way because this is |
| how I've always written lexers in dynamic languages; see offlineasm's lex() method in |
| parser.rb for example. |
| |
| The benchmark runs a handful of simple Basic programs. The longest-running one computes |
| prime numbers. |
| |
| Includes a command-line and web harness. On my machine it runs in 2-3 seconds. |
| |
| * Basic: Added. |
| * Basic/ast.js: Added. |
| (Basic.NumberApply): |
| (Basic.Variable): |
| (Basic.Const): |
| (Basic.NumberPow): |
| (Basic.NumberMul): |
| (Basic.NumberDiv): |
| (Basic.NumberNeg): |
| (Basic.NumberAdd): |
| (Basic.NumberSub): |
| (Basic.StringVar): |
| (Basic.Equals): |
| (Basic.NotEquals): |
| (Basic.LessThan): |
| (Basic.GreaterThan): |
| (Basic.LessEqual): |
| (Basic.GreaterEqual): |
| (Basic.GoTo): |
| (Basic.GoSub): |
| (Basic.Def): |
| (Basic.Let): |
| (Basic.If): |
| (Basic.Return): |
| (Basic.Stop): |
| (Basic.On): |
| (sideState.shouldStop): |
| (Basic.For): |
| (Basic.Next): |
| (Basic.Print): |
| (Basic.Input): |
| (Basic.Read): |
| (Basic.Restore): |
| (Basic.Dim): |
| (Basic.Randomize): |
| (Basic.End): |
| (Basic.Program): |
| * Basic/basic.js: Added. |
| (prepare): |
| (simulate): |
| * Basic/benchmark.js: Added. |
| (Benchmark): |
| (Benchmark.prototype.runIteration.expect): |
| (Benchmark.prototype.runIteration): |
| (runBenchmark): |
| * Basic/caseless_map.js: Added. |
| (CaselessMap): |
| * Basic/lexer.js: Added. |
| (lex.consumeWhitespace): |
| (lex.consume): |
| (lex): |
| * Basic/lexer_test.js: Added. |
| * Basic/number.js: Added. |
| (NumberValue): |
| (NumberValue.prototype.get value): |
| (NumberValue.prototype.apply): |
| (NumberValue.prototype.leftApply): |
| (NumberValue.prototype.assign): |
| (NumberArray.): |
| (NumberArray): |
| (NumberArray.prototype.apply): |
| (NumberArray.prototype.leftApply): |
| (NumberFunction): |
| (NumberFunction.prototype.apply): |
| (NumberFunction.prototype.leftApply): |
| (NativeFunction): |
| (NativeFunction.prototype.apply): |
| (NativeFunction.prototype.leftApply): |
| * Basic/parser.js: Added. |
| (parse): |
| (parse.pushToken): |
| (parse.peekToken): |
| (parse.consumeKind): |
| (parse.consumeToken): |
| (parse.parseVariable): |
| (parse.parseNumericExpression.parsePrimary): |
| (parse.parseNumericExpression.parseFactor): |
| (parse.parseNumericExpression.parseTerm): |
| (parse.parseNumericExpression): |
| (parse.parseConstant): |
| (parse.parseStringExpression): |
| (parse.isStringExpression): |
| (parse.parseRelationalExpression): |
| (parse.parseNonNegativeInteger): |
| (parse.parseGoToStatement): |
| (parse.parseGoSubStatement): |
| (parse.parseStatement): |
| (parse.parseStatements): |
| * Basic/random.js: Added. |
| (createRNG): |
| (createRNGWithFixedSeed): |
| (createRNGWithRandomSeed): |
| * Basic/state.js: Added. |
| (State): |
| (State.prototype.getValue): |
| (State.prototype.getSideState): |
| (State.prototype.abort): |
| (State.prototype.validate): |
| * Basic/test.html: Added. |
| * Basic/test.js: Added. |
| * Basic/util.js: Added. |
| (this.performance.performance.now.currentTime): |
| (else.this.preciseTime.currentTime): |
| (else.currentTime): |
| * Skipped: Make sure that we don't run Basic yet. |
| |
| 2016-06-21 Jon Lee <jonlee@apple.com> |
| |
| Update canvas size when benchmark begins |
| https://bugs.webkit.org/show_bug.cgi?id=159010 |
| |
| Reviewed by Dean Jackson. |
| |
| Previously we would evaluate the media queries and assign the canvas size to the test |
| on body.onload. Instead, do it once the user starts the benchmark. |
| |
| * Animometer/resources/debug-runner/animometer.js: Move benchmarkController.determineCanvasSize() |
| to benchmarkController._startBenchmark. |
| * Animometer/resources/runner/animometer.js: Ditto. |
| |
| 2016-06-21 Jon Lee <jonlee@apple.com> |
| |
| Add new timestamp option |
| https://bugs.webkit.org/show_bug.cgi?id=159006 |
| |
| Reviewed by Dean Jackson. |
| |
| Add a new option to take timestamps from the rAF callback. |
| |
| * Animometer/developer.html: Added option. |
| * Animometer/tests/resources/main.js: |
| (Benchmark): Fall back to using the rAF timestamp if performance.now() |
| is not available. |
| (Benchmark._animateLoop): Update how timestamp is set. Prefer to use |
| local var instead of accessing private var. |
| |
| 2016-06-21 Jon Lee <jonlee@apple.com> |
| |
| Improvements to Animometer benchmark |
| https://bugs.webkit.org/show_bug.cgi?id=157738 |
| |
| Reviewed by Dean Jackson. |
| Provisionally reviewed by Said Abou-Hallawa. |
| |
| Update tests. |
| |
| * Animometer/tests/master/text.html: Ensure only three text sizes for |
| the three canvases. |
| * Animometer/tests/master/focus.html: Reduce the text size to fit with smaller |
| particle sizes. |
| * Animometer/tests/master/resources/focus.js: Remove the quadratic distribution for |
| particle sizes, and make it linear. Reduce the size variance. Shuffle the math to |
| reduce some calculations per frame. Fix the placement of the particles which might |
| otherwise be culled. |
| * Animometer/tests/master/resources/image-data.js: Reduce the particle size |
| to encourage larger scores. |
| |
| 2016-06-21 Jon Lee <jonlee@apple.com> |
| |
| Improvements to Animometer benchmark |
| https://bugs.webkit.org/show_bug.cgi?id=157738 |
| |
| Reviewed by Dean Jackson. |
| Provisionally reviewed by Said Abou-Hallawa. |
| |
| Include confidence interval for the final score, and store the canvas |
| size in the serialization so that it is accurately shown in results. |
| |
| * Animometer/developer.html: Add a "confidence" div. |
| * Animometer/index.html: Ditto. Convert "mean" to "confidence". |
| * Animometer/resources/debug-runner/animometer.js: Look at options, and |
| if the configuration is included, update the body class based on it |
| (similar to what we do when we first load the page). That way, if you |
| drag-and-drop previous results in, that configuration is reflected in |
| the dashboard. Show the full confidence interval. |
| |
| * Animometer/resources/debug-runner/animometer.css: |
| * Animometer/resources/debug-runner/animometer.js: Style update. |
| * Animometer/resources/runner/animometer.css: |
| |
| * Animometer/resources/runner/animometer.js: |
| (_processData): Propagate the confidence interval values out and calculate |
| the lower and upper bounds. For now, shortcut the aggregate calculation, |
| since we only go through one iteration. |
| (this._processData.calculateScore): Propagate the confidence interval out |
| to be next to the score. Depending on the controller these values are |
| calculated differently. |
| (this._processData._getResultsProperty): Convenience function. |
| (this._processData.get score): Refactor. |
| (this._processData.get scoreLowerBound): Get the aggregate lower bound. |
| (this._processData.get scoreUpperBound): Get the aggregate upper bound. |
| (window.sectionsManager.setSectionScore): |
| (window.benchmarkController._startBenchmark): When the benchmark starts, note |
| the canvas size and add it to options. That way it will be automatically be |
| serialized. |
| (window.benchmarkController.showResults): Include the maximum deviation |
| percentage. |
| * Animometer/resources/runner/lines.svg: Make the background line up with the |
| skew. |
| * Animometer/resources/runner/tests.js: |
| (Headers.details.text): Refactor. |
| * Animometer/resources/statistics.js: |
| (Statistics.largestDeviationPercentage): Convenience function to calculate |
| the deviation percentage on either end and return the largest deviation. |
| * Animometer/resources/strings.js: |
| |
| Allow specifying a regression profile to use instead of taking the one |
| with the lowest error. |
| |
| Address an issue in the focus test when the regression calculated ends |
| up overestimating the change point, causing a cascade of tougher |
| ramps. The reason behind this is that at max complexity of an initial |
| ramp, the frame length is very high, and it influences the second |
| segment of the piecewise regression strongly, causing it to be very |
| steep. As a result, the first segment, expected to be flat, ends up |
| covering a higher range of complexity. That makes the change point |
| much higher than it should be. To avoid this, we will add a sanity |
| check on the maximum value of the ramp. If the regression's projected |
| value at the maximum complexity of the current ramp is very slow (less |
| than 20 fps), 1) reduce the maximum complexity by 20%, and 2) do not |
| include the regression's change point in the change point estimator. |
| That estimator is used as the midpoint of the next ramp, and including |
| the change point from a poor regression can bake in the error. The |
| controller already knows how to adjust for ramps that are too easy for |
| the system. |
| |
| * Animometer/resources/runner/animometer.js: |
| (this._processData.findRegression): Takes a preferred profile and gives that to |
| Regression. |
| (this._processData.calculateScore): With the ramp controller, take the profile |
| of the ramp that was used the most when calculating the ramp's regression. That |
| profile is what is used for the test's score. |
| * Animometer/resources/statistics.js: |
| (Regression.Utilities.createClass): Update to take an options object which can |
| specify a profile to calculate with. Otherwise it will continue to use both and |
| select the one with the lower error. |
| (_calculateRegression): Fix an issue where we claim 0 error if the regression |
| calculation fails due to divide-by-zero. Instead reject that regression calculation |
| by giving it Number.MAX_VALUE. |
| * Animometer/resources/strings.js: New strings for marking a regression as flat |
| or slope. |
| * Animometer/tests/resources/main.js: |
| (RampController): Rename the thresholds for clarity. Add a threshold that, if |
| exceeded, will lower the maximum complexity of the next ramp. |
| (tune): Relax the cdf check to consider whether the interval definitely falls in |
| the desired frame length threshold. |
| (processSamples): Include the profile in the ramp. |
| |
| Update ramp controller test. Increase the length of the test to 30 seconds, and extend |
| the interval to 120 ms during sampling. Improve the estimation of the ramp parameters. |
| |
| * Animometer/developer.html: Change default to 30 seconds, and don't show the progress bar |
| by default. |
| * Animometer/resources/runner/animometer.js: Change default to 30 seconds. |
| * Animometer/tests/resources/main.js: A number of improvements to the ramp controller, in |
| the order in which they appear in the patch: |
| |
| - With a longer test length use longer ramps with longer intervals to get more data at each |
| complexity. Keep the 100 ms interval length during the ramp up phase since we don't need to |
| spend more time there to find the right order of magnitude, but increase it during the |
| ramps to 120 ms. |
| - The ramp linearly interpolates the complexity to render based on its timestamp, but it would |
| never sample the minimum complexity. Instead of lerping max to min complexity from time |
| 0 to t where t is the ramp length, instead lerp from 0 to (t - intervalSampleLength) so that |
| we can have at least one interval sample at the min complexity for that ramp. |
| - Some regression calculations only come out with one line segment rather than the two |
| we expect. This could be due to a noisy ramp or the ramp's range is too narrow. If that's the |
| case, influence the minimum complexity of the next ramp towards the lowest bound of 1, so that |
| we ensure that at least part of the ramp is covering a complexity range that the system can |
| handle at full 60. |
| - Remove an assignment to interpolatedFrameLength since that is never subsequently used. |
| |
| Update the format used to serialize the results for analysis. |
| |
| Each data point used to have named properties for fields like complexity and frame rate. |
| In addition the serialized numbers had rounding errors that took up many characters. |
| Update the format by introducing a new data container called SampleData, which contains a |
| field map. The map maps a string to an array index. Each data point is an array, so, to |
| get a stat, use the field map to get the array index into the data point. This allows future |
| versions to track other data, and reduces the size of the output string by two-thirds. |
| |
| * Animometer/resources/extensions.js: |
| (Utilities.toFixedNumber): Add convenience function that truncates the number to a fixed |
| precision, and converts it back to a number. |
| (SampleData): New class that contains sample data and a field map that maps properties to |
| an array index. |
| (get length): Number of data points. |
| (addField): Add a field to the field map. |
| (push): Add a data point. |
| (sort): Sort the data. |
| (slice): Return new SampleData object with sliced data. |
| (forEach): Iterate over the data with provided function. |
| (createDatum): |
| (getFieldInDatum): Returns the data point associated with the field name by looking it up |
| in the field map in the datum provided, which can be the datum object itself (an array) or |
| an index into the data member variable. |
| (setFieldInDatum): Sets the data point associated with the field name. |
| (at): Returns the data point at the provided index. |
| (toArray): Serializes the data where the field map serves as property names for each point. |
| |
| * Animometer/resources/debug-runner/graph.js: |
| (updateGraphData): Remove unused _testData. Convert the data to the old array format for the |
| graph to use, since the old format was much easier to work with when displaying the graphs. |
| (onGraphTypeChanged): For some controllers, no alternative score or mean is provided. |
| * Animometer/resources/runner/animometer.css: |
| * Animometer/resources/runner/animometer.js: Refactor to use SampleData. Update JSON output |
| to only go to 3 digits of precision for purposes of reducing the data size. |
| * Animometer/resources/strings.js: Add new strings to put into the field maps. |
| * Animometer/tests/resources/main.js: Refactor to use SampleData. |
| |
| * Animometer/developer.html: |
| * Animometer/index.html: Restructure results table for both pages. Add charset attribute to |
| tests.js include. |
| * Animometer/resources/debug-runner/animometer.css: Clear out styles from release runner. |
| * Animometer/resources/debug-runner/graph.js: |
| (onGraphTypeChanged): Update score and mean if bootstrap results are available from the |
| controller, since not all controllers do bootstrapping. |
| * Animometer/resources/debug-runner/tests.js: Update header text. |
| * Animometer/resources/runner/animometer.css: Include confidence interval in results. |
| * Animometer/resources/runner/animometer.js: |
| (ResultsTable._addHeader): Header contents can be HTML, so use innerHTML instead. |
| (ResultsTable._addBody): Add tbody element. |
| (ResultsTable._addTest): Allow a data cell to invoke a JS function to get its contents. |
| (window.benchmarkController.showResults): Add table that includes tests' confidence intervals. |
| * Animometer/resources/runner/tests.js: |
| (Headers.details.text): Add new details table that includes bootstrap confidence interval. |
| The interval can be asymmetric, but for simplicity, report the maximum deviation percentage |
| on either side of the bootstrap median. |
| * Animometer/resources/statistics.js: |
| (bootstrap): Include the confidence percentage in the return object. |
| |
| Report canvas size in results. |
| |
| * Animometer/developer.html: Add markup to indicate whether a small, medium, or large |
| canvas was used. |
| * Animometer/index.html: Ditto. |
| * Animometer/resources/debug-runner/animometer.js: Call determineCanvasSize(). |
| * Animometer/resources/runner/animometer.css: Update styles to set the canvas based on the |
| body class size. |
| * Animometer/resources/runner/animometer.js: |
| (window.benchmarkController.initialize): Update styles to set the canvas based on the |
| body class size. |
| (window.benchmarkController.determineCanvasSize): Run various media queries and set the body |
| class based on the size of the device. |
| |
| * Animometer/developer.html: Refactor to include the main CSS file, and redo |
| the layout so that it doesn't rely on flexbox. |
| * Animometer/resources/debug-runner/animometer.css: |
| * Animometer/resources/debug-runner/animometer.js: |
| (updateDisplay): Since various parts of the script alter the body class, we can't |
| replace the className directly. Instead, remove all display-based values and then add |
| the one that was selected. |
| * Animometer/resources/debug-runner/graph.js: |
| (updateGraphData): To set the size of the graph, use window.innerHeight. |
| * Animometer/resources/runner/animometer.js: |
| (window.sectionsManager.showSection): Since various parts of the script alter the body |
| class, we can't replace the className directly. Remove all of the section classes |
| individually and then add the one desired. |
| * Animometer/tests/resources/stage.css: Remove -apple-system as a font to use in the |
| stage. |
| |
| 2016-06-12 Filip Pizlo <fpizlo@apple.com> |
| |
| Fix round-down goof in Air.js's ShuffleCustom.forEachArg |
| https://bugs.webkit.org/show_bug.cgi?id=158674 |
| |
| Reviewed by Michael Saboff. |
| |
| x / 3 * 3 is not how you round down to multiples of 3 in JavaScript. You need to do |
| Math.floor(x / 3) * 3 instead. |
| |
| This is a benign change, because having extra arguments to a Shuffle is not something we |
| actually take advantage of yet. But I think it's best to match the original C++ code's |
| intent. |
| |
| * Air.js/custom.js: |
| (const.ShuffleCustom.forEachArg): |
| |
| 2016-06-11 Filip Pizlo <fpizlo@apple.com> |
| |
| Unreviewed, skip Air.js. It got unskipped when I renamed it from JSAir. |
| |
| * Skipped: |
| |
| 2016-06-10 Filip Pizlo <fpizlo@apple.com> |
| |
| Make it easy to package Air.js |
| https://bugs.webkit.org/show_bug.cgi?id=158652 |
| |
| Reviewed by Benjamin Poulain. |
| |
| If you want to give Air.js to someone, you can now do: |
| |
| cd PerformanceTests/Air.js |
| ./make_dist.sh |
| |
| This will create Air.js.tar.gz and a directory called Air.js. If you want to send someone |
| the benchmark, just send either of those things and tell them to look at index.html. |
| |
| You may have to edit make_dist.sh for wherever you have Markdown.pl. You can get that from |
| https://daringfireball.net/projects/markdown/ |
| |
| * Air.js/make_dist.sh: Added. |
| * Air.js/test.html: |
| |
| 2016-06-10 Filip Pizlo <fpizlo@apple.com> |
| |
| Unreviewed, make the link to test.html into an actual link. |
| |
| * Air.js/README.md: |
| |
| 2016-06-10 Filip Pizlo <fpizlo@apple.com> |
| |
| Fix some text in Air.js/README.md |
| https://bugs.webkit.org/show_bug.cgi?id=158650 |
| |
| Reviewed by Benjamin Poulain. |
| |
| I read the text again and found bugs: |
| |
| - We never actually say how to run the benchmark. This change adds a blurb about how to run |
| it. |
| |
| - We both say that allocateStack is responsible for the bulk of the running time and that |
| we haven't measured where the bulk of the time is spent. This changes the text to say that |
| it was a goal to make allocateStack be the hottest part of the benchmark, but that we did |
| not measure this. |
| |
| * Air.js/README.md: |
| |
| 2016-06-10 Filip Pizlo <fpizlo@apple.com> |
| |
| Air.js should have some documentation |
| https://bugs.webkit.org/show_bug.cgi?id=158648 |
| |
| Reviewed by Keith Miller. |
| |
| I want to be able to point people at a document if they want to know more about this |
| benchmark. |
| |
| * Air.js/README.md: Added. |
| |
| 2016-06-10 Filip Pizlo <fpizlo@apple.com> |
| |
| Rename JSAir to Air.js. |
| |
| Rubber stamped by Mark Lam. |
| |
| * Air.js: Copied from PerformanceTests/JSAir. |
| * Air.js/airjs-tests.yaml: Copied from PerformanceTests/JSAir/jsair-tests.yaml. |
| * Air.js/benchmark.js: Copied from PerformanceTests/JSAir/benchmark.js. |
| (Benchmark): |
| * Air.js/jsair-tests.yaml: Removed. |
| * Air.js/payload-airjs-ACLj8C.js: Copied from PerformanceTests/JSAir/payload-jsair-ACLj8C.js. |
| * Air.js/payload-jsair-ACLj8C.js: Removed. |
| * Air.js/stress-test.js: Copied from PerformanceTests/JSAir/stress-test.js. |
| * Air.js/test.html: Copied from PerformanceTests/JSAir/test.html. |
| * Air.js/test.js: Copied from PerformanceTests/JSAir/test.js. |
| * JSAir: Removed. |
| * JSAir/all.js: Removed. |
| * JSAir/allocate_stack.js: Removed. |
| * JSAir/arg.js: Removed. |
| * JSAir/basic_block.js: Removed. |
| * JSAir/benchmark.js: Removed. |
| * JSAir/code.js: Removed. |
| * JSAir/custom.js: Removed. |
| * JSAir/frequented_block.js: Removed. |
| * JSAir/insertion_set.js: Removed. |
| * JSAir/inst.js: Removed. |
| * JSAir/jsair-tests.yaml: Removed. |
| * JSAir/liveness.js: Removed. |
| * JSAir/opcode.js: Removed. |
| * JSAir/payload-gbemu-executeIteration.js: Removed. |
| * JSAir/payload-imaging-gaussian-blur-gaussianBlur.js: Removed. |
| * JSAir/payload-jsair-ACLj8C.js: Removed. |
| * JSAir/payload-typescript-scanIdentifier.js: Removed. |
| * JSAir/reg.js: Removed. |
| * JSAir/stack_slot.js: Removed. |
| * JSAir/stress-test.js: Removed. |
| * JSAir/strip-hash.rb: Removed. |
| * JSAir/symbols.js: Removed. |
| * JSAir/test.html: Removed. |
| * JSAir/test.js: Removed. |
| * JSAir/tmp.js: Removed. |
| * JSAir/tmp_base.js: Removed. |
| * JSAir/util.js: Removed. |
| |
| 2016-06-10 Filip Pizlo <fpizlo@apple.com> |
| |
| JSC Stress Test failing: jsair-tests.yaml/test.js.ftl-eager-no-cjit |
| https://bugs.webkit.org/show_bug.cgi?id=158571 |
| |
| Reviewed by Keith Miller. |
| |
| Introduce a different harness for run-jsc-stress-tests, which runs for a minimum of 10 |
| iterations and then tries to do any number of "bonus" iterations until it's been running for |
| two seconds. Since this is the sort of test that isn't really meant to stress anything in |
| particular, I think it's OK if it is time-limited in this way. The worst case is that some |
| of its failures will be flaky, but I think that they would have been flaky anyway given the |
| complexity of the test. |
| |
| * JSAir/benchmark.js: |
| (Benchmark): |
| (Benchmark.prototype.runIteration): |
| (benchmark): Deleted. |
| * JSAir/jsair-tests.yaml: |
| * JSAir/stress-test.js: Added. |
| (preciseTime): |
| * JSAir/test.html: |
| * JSAir/test.js: |
| |
| 2016-06-09 Filip Pizlo <fpizlo@apple.com> |
| |
| Unreviewed, teach the perf bots not to run JSAir. |
| |
| * Skipped: |
| |
| 2016-06-08 Filip Pizlo <fpizlo@apple.com> |
| |
| Use more ES6 features in JSAir |
| https://bugs.webkit.org/show_bug.cgi?id=158497 |
| |
| Reviewed by Keith Miller. |
| |
| This improves JSAir with the following ES6 features suggested by JoePeck: |
| |
| - String interpolation. |
| - Destructuring inside PatchCustom. |
| - Default arguments. |
| |
| All of these things are on hot paths. |
| |
| Note that I didn't use string interpolation everywhere that I could, only in those places |
| where it made the code more readable. In Ruby, I used the style that if the interpolation |
| expression has any non-trivial stuff (like a ternary operator, a chain of calls, or embedded |
| strings) then it's better to use regular strcat. I think that's what I carried over to here. |
| |
| Note that the previous change (Add result validation to JSAir) also made the Proxy code not |
| dead, though it's not necessarily on the hot path. The Proxy isn't called into frequently |
| but it's used from a function that is otherwise hot, so if calling into the Proxy prevents |
| that function from being optimized then it will hurt so good. |
| |
| I also reenabled tail calls in a few places. |
| |
| This change doesn't seem to change the performance of the benchmark for us. That's expected |
| since these ES6 features are cheap. Note that this claim doesn't include Proxy, which was |
| added in a separate change and that change did make the benchmark overall more expensive. |
| |
| * JSAir/allocate_stack.js: |
| (allocateStack): |
| * JSAir/arg.js: |
| (Arg.createBitImm64): |
| (Arg.createAddr): |
| (Arg.createStack): |
| (Arg.logScale): |
| (Arg.createIndex): |
| * JSAir/basic_block.js: |
| (BasicBlock.get headerString): |
| (BasicBlock.prototype.get if): |
| (BasicBlock): |
| * JSAir/benchmark.js: |
| (benchmark): |
| * JSAir/code.js: |
| (Code): |
| (Code.prototype.addBlock): |
| (Code.prototype.addStackSlot): |
| (Code.prototype.newTmp): |
| (Code.prototype.get size): |
| (Code.prototype.get blocks): |
| (Code.prototype.get stackSlots): |
| (Code.prototype.tmps): |
| (Code.prototype.get callArgAreaSize): |
| (Code.prototype.toString): |
| * JSAir/custom.js: |
| (const.PatchCustom.forEachArg): |
| * JSAir/inst.js: |
| (Inst): |
| * JSAir/reg.js: |
| (Reg.prototype.toString): |
| * JSAir/util.js: |
| (symbolName): |
| (lowerSymbolName): |
| |
| 2016-06-07 Filip Pizlo <fpizlo@apple.com> |
| |
| Add result validation to JSAir |
| https://bugs.webkit.org/show_bug.cgi?id=158493 |
| |
| Reviewed by Saam Barati. |
| |
| This adds the ability to hash a Code in a way that matches the C++ code's hashing of Code. |
| This allows us to check if the Code that JSAir sees is the code that C++ saw. We use this to |
| check the Code before and after allocateStack, and compare against hashes we got from C++. |
| |
| Doing this uncovered bugs. roundUpToMultipleOf wasn't doing anything. allocateStack was not |
| allocating things correctly because I was concatting a Set to an Array, which doesn't really |
| work. Now these bugs are fixed. |
| |
| The checking step adds to the running time so I reduced the number of iterations. The |
| benchmark spends a decent amount of its time computing Code hashes; I think it's around 1/3 |
| total. This is probably OK. It's better to verify the results even if the running time is |
| not all in the "core" of the algorithm. |
| |
| Also add a run-jsc-stress-tests yaml file to allow this to run as a test. |
| |
| * JSAir/allocate_stack.js: |
| * JSAir/arg.js: |
| (Arg.createImm): |
| (Arg.createBigImm): |
| (Arg.createBitImm): |
| (Arg.createBitImm64): |
| (Arg.createWidth): |
| (Arg.createSpecial): |
| (Arg.prototype.get kind): |
| (Arg.prototype.get isTmp): |
| (Arg.prototype.get isImm): |
| (Arg.prototype.get isSomeImm): |
| (Arg.prototype.get isSomeBigImm): |
| (Arg.prototype.get isCondition): |
| (Arg.prototype.get isWidth): |
| (Arg.prototype.get isSpecial): |
| (Arg.prototype.get isAlive): |
| (Arg.prototype.get tmp): |
| (Arg.prototype.get value): |
| (Arg.prototype.get lowValue): |
| (Arg.prototype.get highValue): |
| (Arg.prototype.get base): |
| (Arg.prototype.get isGP): |
| (Arg.prototype.get isFP): |
| (Arg.prototype.isValidForm): |
| (Arg.prototype.get isInvertible): |
| (Arg.kindCode): |
| (Arg.prototype.hash): |
| (Arg.prototype.toString): |
| (Arg): |
| * JSAir/basic_block.js: |
| (BasicBlock.get successorBlocks): |
| * JSAir/benchmark.js: |
| (benchmark): |
| * JSAir/code.js: |
| (Code.prototype.setFrameSize): |
| (Code.prototype.hash): |
| (Code.prototype.toString): |
| (Code): |
| * JSAir/inst.js: |
| (Inst.prototype.get hasNonArgEffects): |
| (Inst.prototype.hash): |
| (Inst.prototype.toString): |
| (Inst): |
| * JSAir/jsair-tests.yaml: Added. |
| * JSAir/opcode.js: |
| (Inst_forEachArg): |
| (Inst_hasNonArgEffects): |
| (opcodeCode): |
| * JSAir/payload-gbemu-executeIteration.js: |
| (createPayloadGbemuExecuteIteration): |
| * JSAir/payload-imaging-gaussian-blur-gaussianBlur.js: |
| (createPayloadImagingGaussianBlurGaussianBlur): |
| * JSAir/payload-jsair-ACLj8C.js: |
| (createPayloadJSAirACLj8C): |
| * JSAir/payload-typescript-scanIdentifier.js: |
| (createPayloadTypescriptScanIdentifier): |
| * JSAir/reg.js: |
| (Reg.prototype.get isReg): |
| (Reg.prototype.hash): |
| (Reg.prototype.toString): |
| * JSAir/stack_slot.js: |
| (StackSlot.prototype.setOffsetFromFP): |
| (StackSlot.prototype.hash): |
| (StackSlot.prototype.toString): |
| * JSAir/symbols.js: |
| (relCondCode): |
| (resCondCode): |
| (doubleCondCode): |
| * JSAir/test.html: |
| * JSAir/tmp.js: |
| (Tmp.prototype.get isReg): |
| (Tmp.prototype.hash): |
| (Tmp.prototype.toString): |
| * JSAir/util.js: |
| (roundUpToMultipleOf): |
| (symbolName): |
| |
| 2016-06-07 Filip Pizlo <fpizlo@apple.com> |
| |
| Implement Air::allocateStack() in ES6 to see how much of a bad idea that is |
| https://bugs.webkit.org/show_bug.cgi?id=158318 |
| |
| Reviewed by Saam Barati. |
| |
| This adds a new benchmark for us to play with called JSAir. It's a complete ES6 |
| implementation of Air's allocateStack() phase along with all of Air needed to run that |
| phase. This includes things like stack slots, registers, temporaries, basic blocks, |
| instructions, and all of the code for iterating over, inspecting, and modifying those |
| things. |
| |
| To make this work, JSC can now dump Air just before allocateStack() in the form of JS code |
| that creates a Code object that matches exactly what C++ Air saw. This benchmark comprises |
| four Air IRs: |
| |
| - Octane/gbemu's largest function, executeIteration. |
| - Kraken/imaging-gaussian-blur's largest function in OSR entry mode, gaussuanBlur. |
| - Octane/typescript's largest function that is actually hot, scanIdentifier. |
| - JSAir's largest hot function, which is anonymous, so we call it by its hash (ACLj8C). |
| |
| This runs in about 2 seconds on my machine in JSC trunk. It includes both a commandline |
| harness and a web harness. JSAir is almost exactly 100x slower in ES6 in WebKit than the |
| C++ Air::allocateStack() phase on which it is based. |
| |
| JSAir uses the following ES6 features: |
| |
| - Symbol. |
| - for-of. |
| - arrow functions. |
| - Map/Set. |
| - let/const. |
| - classes. |
| |
| All of these things are used in anger and should end up on the hot path. There is also code |
| that uses Proxies, but it ends up being dead. |
| |
| We can improve this even more: |
| I still need to add result validation: https://bugs.webkit.org/show_bug.cgi?id=158493 |
| I want to make it use more ES6 features: https://bugs.webkit.org/show_bug.cgi?id=158497 |
| |
| * JSAir: Added. |
| * JSAir/all.js: Added. |
| * JSAir/allocate_stack.js: Added. |
| (allocateStack.attemptAssignment): |
| (allocateStack.assign): |
| (allocateStack.interfere): |
| (allocateStack.): |
| (allocateStack): |
| * JSAir/arg.js: Added. |
| (Arg): |
| (Arg.isAnyUse): |
| (Arg.isColdUse): |
| (Arg.isWarmUse): |
| (Arg.cooled): |
| (Arg.isEarlyUse): |
| (Arg.isLateUse): |
| (Arg.isAnyDef): |
| (Arg.isEarlyDef): |
| (Arg.isLateDef): |
| (Arg.isZDef): |
| (Arg.typeForB3Type): |
| (Arg.widthForB3Type): |
| (Arg.conservativeWidth): |
| (Arg.minimumWidth): |
| (Arg.bytes): |
| (Arg.widthForBytes): |
| (Arg.createTmp): |
| (Arg.fromReg): |
| (Arg.createImm): |
| (Arg.createBigImm): |
| (Arg.createBitImm): |
| (Arg.createBitImm64): |
| (Arg.createAddr): |
| (Arg.createStack): |
| (Arg.createCallArg): |
| (Arg.createStackAddr): |
| (Arg.isValidScale): |
| (Arg.logScale): |
| (Arg.createIndex): |
| (Arg.createRelCond): |
| (Arg.createResCond): |
| (Arg.createDoubleCond): |
| (Arg.createWidth): |
| (Arg.prototype.get kind): |
| (Arg.prototype.get isTmp): |
| (Arg.prototype.get isImm): |
| (Arg.prototype.get isBigImm): |
| (Arg.prototype.get isBitImm): |
| (Arg.prototype.get isBitImm64): |
| (Arg.prototype.get isSomeImm): |
| (Arg.prototype.get isAddr): |
| (Arg.prototype.get isStack): |
| (Arg.prototype.get isCallArg): |
| (Arg.prototype.get isIndex): |
| (Arg.prototype.get isMemory): |
| (Arg.prototype.get isStackMemory): |
| (Arg.prototype.get isRelCond): |
| (Arg.prototype.get isResCond): |
| (Arg.prototype.get isDoubleCond): |
| (Arg.prototype.get isCondition): |
| (Arg.prototype.get isWidth): |
| (Arg.prototype.get isAlive): |
| (Arg.prototype.get tmp): |
| (Arg.prototype.get value): |
| (Arg.prototype.get base): |
| (Arg.prototype.get hasOffset): |
| (Arg.prototype.get offset): |
| (Arg.prototype.get stackSlot): |
| (Arg.prototype.get index): |
| (Arg.prototype.get scale): |
| (Arg.prototype.get logScale): |
| (Arg.prototype.get width): |
| (Arg.prototype.get isGPTmp): |
| (Arg.prototype.get isFPTmp): |
| (Arg.prototype.get isGP): |
| (Arg.prototype.get isFP): |
| (Arg.prototype.get hasType): |
| (Arg.prototype.get type): |
| (Arg.prototype.isType): |
| (Arg.prototype.isCompatibleType): |
| (Arg.prototype.get isGPR): |
| (Arg.prototype.get gpr): |
| (Arg.prototype.get isFPR): |
| (Arg.prototype.get fpr): |
| (Arg.prototype.get isReg): |
| (Arg.prototype.get reg): |
| (Arg.isValidImmForm): |
| (Arg.isValidBitImmForm): |
| (Arg.isValidBitImm64Form): |
| (Arg.isValidAddrForm): |
| (Arg.isValidIndexForm): |
| (Arg.prototype.isValidForm): |
| (Arg.prototype.forEachTmpFast): |
| (Arg.prototype.usesTmp): |
| (Arg.prototype.forEachTmp): |
| (Arg.prototype.is): |
| (Arg.prototype.as): |
| (Arg.prototype.forEachFast): |
| (Arg.prototype.forEach): |
| (Arg.extract): |
| (Arg.forEachFast): |
| (Arg.forEach): |
| (Arg.prototype.get condition): |
| (Arg.prototype.get isInvertible): |
| (Arg.prototype.toString): |
| * JSAir/basic_block.js: Added. |
| (BasicBlock): |
| (BasicBlock.prototype.get index): |
| (BasicBlock.prototype.get size): |
| (BasicBlock.prototype.Symbol.iterator): |
| (BasicBlock.prototype.at): |
| (BasicBlock.get last): |
| (BasicBlock.get insts): |
| (BasicBlock.get numSuccessors): |
| (BasicBlock.get successors): |
| (BasicBlock.get successorBlocks.): |
| (BasicBlock.get successorBlocks): |
| (BasicBlock.set get numPredecessors): |
| (BasicBlock.get predecessors): |
| (BasicBlock.get frequency): |
| (BasicBlock.get headerString): |
| (BasicBlock.get footerString): |
| * JSAir/benchmark.js: Added. |
| (benchmark): |
| * JSAir/code.js: Added. |
| (Code): |
| (Code.prototype.addBlock): |
| (Code.prototype.addStackSlot): |
| (Code.prototype.newTmp): |
| (Code.prototype.get size): |
| (Code.prototype.at): |
| (Code.prototype.Symbol.iterator): |
| (Code.prototype.get blocks): |
| (Code.prototype.get stackSlots): |
| (Code.prototype.tmps): |
| (Code.prototype.get callArgAreaSize): |
| (Code.prototype.requestCallArgAreaSize): |
| (Code.prototype.get frameSize): |
| (Code.prototype.setFrameSize): |
| (Code.prototype.toString): |
| * JSAir/custom.js: Added. |
| (const.ShuffleCustom.forEachArg): |
| (const.ShuffleCustom.hasNonArgNonControlEffects): |
| (const.PatchCustom.forEachArg): |
| (const.PatchCustom.hasNonArgNonControlEffects): |
| (const.CCallCustom.forEachArg): |
| (const.CCallCustom.hasNonArgNonControlEffects): |
| (const.ColdCCallCustom.forEachArg): |
| (const.ColdCCallCustom.hasNonArgNonControlEffects): |
| * JSAir/frequented_block.js: Added. |
| (FrequentedBlock): |
| (FrequentedBlock.prototype.toString): |
| * JSAir/insertion_set.js: Added. |
| (Insertion): |
| (Insertion.prototype.get index): |
| (Insertion.prototype.get element): |
| (Insertion.prototype.lessThan): |
| (InsertionSet): |
| (InsertionSet.prototype.appendInsertion): |
| (InsertionSet.prototype.append): |
| (InsertionSet.prototype.execute): |
| * JSAir/inst.js: Added. |
| (Inst): |
| (Inst.prototype.append): |
| (Inst.prototype.clear): |
| (Inst.prototype.get opcode): |
| (Inst.prototype.get args): |
| (Inst.prototype.visitArg): |
| (Inst.prototype.forEachTmpFast): |
| (Inst.prototype.forEachArg): |
| (Inst.prototype.forEachTmp): |
| (Inst.prototype.forEach): |
| (Inst.forEachDef): |
| (Inst.forEachDefWithExtraClobberedRegs): |
| (Inst.prototype.get hasNonArgEffects): |
| (Inst.prototype.toString): |
| * JSAir/liveness.js: Added. |
| (Liveness): |
| (Liveness.prototype.get thing): |
| (Liveness.prototype.get code): |
| (Liveness.prototype.get liveAtHead): |
| (Liveness.prototype.get liveAtTail): |
| (Liveness.prototype.localCalc.LocalCalc): |
| (Liveness.prototype.localCalc.LocalCalc.prototype.get liveSet): |
| (Liveness.prototype.localCalc.LocalCalc.prototype.execute): |
| (Liveness.prototype.localCalc): |
| * JSAir/opcode.js: Added. |
| (Inst_forEachArg): |
| (Inst_hasNonArgEffects): |
| * JSAir/payload-gbemu-executeIteration.js: Added. |
| (createPayloadGbemuExecuteIteration): |
| * JSAir/payload-imaging-gaussian-blur-gaussianBlur.js: Added. |
| (createPayloadImagingGaussianBlurGaussianBlur): |
| * JSAir/payload-jsair-ACLj8C.js: Added. |
| (createPayloadJSAirACLj8C): |
| * JSAir/payload-typescript-scanIdentifier.js: Added. |
| (createPayloadTypescriptScanIdentifier): |
| * JSAir/reg.js: Added. |
| (Reg): |
| (Reg.fromReg): |
| (Reg.prototype.get index): |
| (Reg.prototype.get type): |
| (Reg.prototype.get name): |
| (Reg.prototype.get isCalleeSave): |
| (Reg.prototype.get isReg): |
| (Reg.prototype.toString): |
| (Reg.extract): |
| (Reg.forEachFast): |
| (Reg.forEach): |
| (newGPR): |
| (Reg.gprs.Reg.fprs.Reg.calleeSaveGPRs.Reg.calleeSaveFPRs.Reg.calleeSaves): |
| * JSAir/stack_slot.js: Added. |
| (StackSlot): |
| (StackSlot.prototype.get byteSize): |
| (StackSlot.prototype.get kind): |
| (StackSlot.prototype.get isLocked): |
| (StackSlot.prototype.get isSpill): |
| (StackSlot.prototype.get index): |
| (StackSlot.prototype.ensureSize): |
| (StackSlot.prototype.get alignment): |
| (StackSlot.prototype.get offsetFromFP): |
| (StackSlot.prototype.setOffsetFromFP): |
| (StackSlot.prototype.toString): |
| (StackSlot.extract): |
| (StackSlot.forEachFast): |
| (StackSlot.forEach): |
| * JSAir/symbols.js: Added. |
| * JSAir/test.html: Added. |
| * JSAir/test.js: Added. |
| * JSAir/tmp.js: Added. |
| (Tmp): |
| (Tmp.fromReg): |
| (Tmp.prototype.get index): |
| (Tmp.prototype.get type): |
| (Tmp.prototype.get isReg): |
| (Tmp.prototype.toString): |
| (Tmp.extract): |
| (Tmp.forEachFast): |
| (Tmp.forEach): |
| * JSAir/tmp_base.js: Added. |
| (TmpBase.prototype.get isGP): |
| (TmpBase.prototype.get isFP): |
| (TmpBase.prototype.get isGPR): |
| (TmpBase.prototype.get isFPR): |
| (TmpBase.prototype.get reg): |
| (TmpBase.prototype.get gpr): |
| (TmpBase.prototype.get fpr): |
| (TmpBase): |
| * JSAir/util.js: Added. |
| (isRepresentableAsInt32): |
| (addIndexed): |
| (roundUpToMultipleOf): |
| (symbolName): |
| (mergeIntoSet): |
| (nonEmptyRangesOverlap): |
| (rangesOverlap): |
| (removeAllMatching): |
| (swap): |
| (bubble): |
| (bubbleSort): |
| (currentTime): |
| (else.currentTime): |
| |
| 2016-05-26 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [JSC] Allow JSBench to use precise time |
| https://bugs.webkit.org/show_bug.cgi?id=158050 |
| |
| Reviewed by Geoffrey Garen. |
| |
| * JSBench/amazon-chrome-win/urem.js: |
| (else.window.performance.window.performance.now.currentTimeInMS): |
| (else.else.typeof.preciseTime.string_appeared_here.currentTimeInMS): |
| (else.else.currentTimeInMS): |
| (onload.cb): |
| (onload): |
| * JSBench/amazon-chrome/urem.js: |
| (else.window.performance.window.performance.now.currentTimeInMS): |
| (else.else.typeof.preciseTime.string_appeared_here.currentTimeInMS): |
| (else.else.currentTimeInMS): |
| (onload.cb): |
| (onload): |
| * JSBench/amazon-firefox-win/urm.js: |
| (else.window.performance.window.performance.now.currentTimeInMS): |
| (else.else.typeof.preciseTime.string_appeared_here.currentTimeInMS): |
| (else.else.currentTimeInMS): |
| (onload.cb): |
| (onload): |
| * JSBench/amazon-firefox/urm.js: |
| (else.window.performance.window.performance.now.currentTimeInMS): |
| (else.else.typeof.preciseTime.string_appeared_here.currentTimeInMS): |
| (else.else.currentTimeInMS): |
| (onload.cb): |
| (onload): |
| * JSBench/amazon-safari/urem.js: |
| (else.window.performance.window.performance.now.currentTimeInMS): |
| (else.else.typeof.preciseTime.string_appeared_here.currentTimeInMS): |
| (else.else.currentTimeInMS): |
| (onload.cb): |
| (onload): |
| * JSBench/facebook-chrome-win/urem.js: |
| (else.window.performance.window.performance.now.currentTimeInMS): |
| (else.else.typeof.preciseTime.string_appeared_here.currentTimeInMS): |
| (else.else.currentTimeInMS): |
| (onload.cb): |
| (onload): |
| * JSBench/facebook-chrome/urem.js: |
| (else.window.performance.window.performance.now.currentTimeInMS): |
| (else.else.typeof.preciseTime.string_appeared_here.currentTimeInMS): |
| (else.else.currentTimeInMS): |
| (onload.cb): |
| (onload): |
| * JSBench/facebook-firefox-win/urem.js: |
| (else.window.performance.window.performance.now.currentTimeInMS): |
| (else.else.typeof.preciseTime.string_appeared_here.currentTimeInMS): |
| (else.else.currentTimeInMS): |
| (onload.cb): |
| (onload): |
| * JSBench/facebook-firefox/urem.js: |
| (else.window.performance.window.performance.now.currentTimeInMS): |
| (else.else.typeof.preciseTime.string_appeared_here.currentTimeInMS): |
| (else.else.currentTimeInMS): |
| (onload.cb): |
| (onload): |
| * JSBench/facebook-safari/urem.js: |
| (else.window.performance.window.performance.now.currentTimeInMS): |
| (else.else.typeof.preciseTime.string_appeared_here.currentTimeInMS): |
| (else.else.currentTimeInMS): |
| (onload.cb): |
| (onload): |
| * JSBench/google-chrome-win/urem.js: |
| (else.window.performance.window.performance.now.currentTimeInMS): |
| (else.else.typeof.preciseTime.string_appeared_here.currentTimeInMS): |
| (else.else.currentTimeInMS): |
| (onload.cb): |
| (onload): |
| * JSBench/google-chrome/urem.js: |
| (else.window.performance.window.performance.now.currentTimeInMS): |
| (else.else.typeof.preciseTime.string_appeared_here.currentTimeInMS): |
| (else.else.currentTimeInMS): |
| (onload.cb): |
| (onload): |
| * JSBench/google-firefox-win/urem.js: |
| (else.window.performance.window.performance.now.currentTimeInMS): |
| (else.else.typeof.preciseTime.string_appeared_here.currentTimeInMS): |
| (else.else.currentTimeInMS): |
| (onload.cb): |
| (onload): |
| * JSBench/google-firefox/uem.js: |
| (else.window.performance.window.performance.now.currentTimeInMS): |
| (else.else.typeof.preciseTime.string_appeared_here.currentTimeInMS): |
| (else.else.currentTimeInMS): |
| (onload.cb): |
| (onload): |
| * JSBench/google-safari/urem.js: |
| (else.window.performance.window.performance.now.currentTimeInMS): |
| (else.else.typeof.preciseTime.string_appeared_here.currentTimeInMS): |
| (else.else.currentTimeInMS): |
| (onload.cb): |
| (onload): |
| * JSBench/harness.js: |
| (runBenchmark.window.currentTimeInMS): |
| (runBenchmark.else.window.currentTimeInMS): |
| * JSBench/twitter-chrome-win/rem.js: |
| (else.window.performance.window.performance.now.currentTimeInMS): |
| (else.else.typeof.preciseTime.string_appeared_here.currentTimeInMS): |
| (else.else.currentTimeInMS): |
| (onload.cb): |
| (onload): |
| * JSBench/twitter-chrome/urem.js: |
| (else.window.performance.window.performance.now.currentTimeInMS): |
| (else.else.typeof.preciseTime.string_appeared_here.currentTimeInMS): |
| (else.else.currentTimeInMS): |
| (onload.cb): |
| (onload): |
| * JSBench/twitter-firefox-win/urem.js: |
| (else.window.performance.window.performance.now.currentTimeInMS): |
| (else.else.typeof.preciseTime.string_appeared_here.currentTimeInMS): |
| (else.else.currentTimeInMS): |
| (onload.cb): |
| (onload): |
| * JSBench/twitter-firefox/urem.js: |
| (else.window.performance.window.performance.now.currentTimeInMS): |
| (else.else.typeof.preciseTime.string_appeared_here.currentTimeInMS): |
| (else.else.currentTimeInMS): |
| (onload.cb): |
| (onload): |
| * JSBench/twitter-safari/urem.js: |
| (else.window.performance.window.performance.now.currentTimeInMS): |
| (else.else.typeof.preciseTime.string_appeared_here.currentTimeInMS): |
| (else.else.currentTimeInMS): |
| (onload.cb): |
| (onload): |
| * JSBench/yahoo-chrome-win/urem.js: |
| (else.window.performance.window.performance.now.currentTimeInMS): |
| (else.else.typeof.preciseTime.string_appeared_here.currentTimeInMS): |
| (else.else.currentTimeInMS): |
| (onload.cb): |
| (onload): |
| * JSBench/yahoo-chrome/urem.js: |
| (else.window.performance.window.performance.now.currentTimeInMS): |
| (else.else.typeof.preciseTime.string_appeared_here.currentTimeInMS): |
| (else.else.currentTimeInMS): |
| (onload.cb): |
| (onload): |
| * JSBench/yahoo-firefox-win/urem.js: |
| (else.window.performance.window.performance.now.currentTimeInMS): |
| (else.else.typeof.preciseTime.string_appeared_here.currentTimeInMS): |
| (else.else.currentTimeInMS): |
| (onload.cb): |
| (onload): |
| * JSBench/yahoo-firefox/urem.js: |
| (else.window.performance.window.performance.now.currentTimeInMS): |
| (else.else.typeof.preciseTime.string_appeared_here.currentTimeInMS): |
| (else.else.currentTimeInMS): |
| (onload.cb): |
| (onload): |
| * JSBench/yahoo-safari/urem.js: |
| (else.window.performance.window.performance.now.currentTimeInMS): |
| (else.else.typeof.preciseTime.string_appeared_here.currentTimeInMS): |
| (else.else.currentTimeInMS): |
| (onload.cb): |
| (onload): |
| |
| 2016-05-25 Geoffrey Garen <ggaren@apple.com> |
| |
| replaceable own properties seem to ignore replacement after property caching |
| https://bugs.webkit.org/show_bug.cgi?id=158091 |
| |
| Reviewed by Darin Adler. |
| |
| * MallocBench/MallocBench.xcodeproj/project.pbxproj: |
| * MallocBench/MallocBench/Benchmark.cpp: |
| * MallocBench/MallocBench/Interpreter.cpp: |
| (Interpreter::doMallocOp): |
| * MallocBench/MallocBench/Interpreter.h: |
| * MallocBench/MallocBench/fastMallocLog.63316.ops: Added. |
| * MallocBench/MallocBench/jetstream.cpp: Added. |
| (benchmark_jetstream): |
| * MallocBench/MallocBench/jetstream.h: Added. |
| |
| 2016-05-25 Keith Miller <keith_miller@apple.com> |
| |
| Unreviewed, add JSBench to the skipped list for now since it doesn't |
| work currently. |
| |
| * Skipped: |
| |
| 2016-05-17 Keith Miller <keith_miller@apple.com> |
| We should have JSBench in PerformanceTests |
| https://bugs.webkit.org/show_bug.cgi?id=157952 |
| |
| Rubber-stamped by Saam Barati. |
| |
| There are some slight changes to the layout of the test directory |
| to make it work nicely with run-jsc-benchmarks. Before JSBench |
| had each of the browser specific sub-tests in a sub-directory. |
| These have been flattened e.g. amazon/safari/ has become |
| amazon-safari/. |
| |
| * JSBench/amazon-chrome-win/urem.html: Added. |
| * JSBench/amazon-chrome-win/urem.js: Added. |
| * JSBench/amazon-chrome/urem.html: Added. |
| * JSBench/amazon-chrome/urem.js: Added. |
| * JSBench/amazon-firefox-win/urm.html: Added. |
| * JSBench/amazon-firefox-win/urm.js: Added. |
| * JSBench/amazon-firefox/urm.html: Added. |
| * JSBench/amazon-firefox/urm.js: Added. |
| * JSBench/amazon-safari/urem.html: Added. |
| * JSBench/amazon-safari/urem.js: Added. |
| * JSBench/browsercheck.js: Added. |
| * JSBench/facebook-chrome-win/urem.html: Added. |
| * JSBench/facebook-chrome-win/urem.js: Added. |
| * JSBench/facebook-chrome/urem.html: Added. |
| * JSBench/facebook-chrome/urem.js: Added. |
| * JSBench/facebook-firefox-win/urem.html: Added. |
| * JSBench/facebook-firefox-win/urem.js: Added. |
| * JSBench/facebook-firefox/urem.html: Added. |
| * JSBench/facebook-firefox/urem.js: Added. |
| * JSBench/facebook-safari/urem.html: Added. |
| * JSBench/facebook-safari/urem.js: Added. |
| * JSBench/google-chrome-win/urem.html: Added. |
| * JSBench/google-chrome-win/urem.js: Added. |
| * JSBench/google-chrome/urem.html: Added. |
| * JSBench/google-chrome/urem.js: Added. |
| * JSBench/google-firefox-win/urem.html: Added. |
| * JSBench/google-firefox-win/urem.js: Added. |
| * JSBench/google-firefox/uem.html: Added. |
| * JSBench/google-firefox/uem.js: Added. |
| * JSBench/google-safari/urem.html: Added. |
| * JSBench/google-safari/urem.js: Added. |
| * JSBench/harness.html: Added. |
| * JSBench/harness.js: Added. |
| * JSBench/harness.py: Added. |
| * JSBench/index.html: Added. |
| * JSBench/reload.html: Added. |
| * JSBench/twitter-chrome-win/rem.html: Added. |
| * JSBench/twitter-chrome-win/rem.js: Added. |
| * JSBench/twitter-chrome/urem.html: Added. |
| * JSBench/twitter-chrome/urem.js: Added. |
| * JSBench/twitter-firefox-win/urem.html: Added. |
| * JSBench/twitter-firefox-win/urem.js: Added. |
| * JSBench/twitter-firefox/urem.html: Added. |
| * JSBench/twitter-firefox/urem.js: Added. |
| * JSBench/twitter-safari/urem.html: Added. |
| * JSBench/twitter-safari/urem.js: Added. |
| * JSBench/yahoo-chrome-win/urem.html: Added. |
| * JSBench/yahoo-chrome-win/urem.js: Added. |
| * JSBench/yahoo-chrome/urem.html: Added. |
| * JSBench/yahoo-chrome/urem.js: Added. |
| * JSBench/yahoo-firefox-win/urem.html: Added. |
| * JSBench/yahoo-firefox-win/urem.js: Added. |
| * JSBench/yahoo-firefox/urem.html: Added. |
| * JSBench/yahoo-firefox/urem.js: Added. |
| * JSBench/yahoo-safari/urem.html: Added. |
| * JSBench/yahoo-safari/urem.js: Added. |
| |
| 2016-05-20 Ryosuke Niwa <rniwa@webkit.org> |
| |
| run-benchmark's results should contain Animometer's debug output |
| https://bugs.webkit.org/show_bug.cgi?id=157941 |
| |
| Reviewed by Stephanie Lewis. |
| |
| Made developer.html support the JSON generated by run-benchmark which stores everything under debugOutput. |
| |
| * Animometer/resources/debug-runner/animometer.js: |
| (Utilities.initialize): Unwrap debugOutput in the case run-benchmark's result JSON is used. |
| |
| 2016-05-18 Timothy Hatcher <timothy@apple.com> |
| |
| Make Animometer work in all browsers |
| https://bugs.webkit.org/show_bug.cgi?id=157855 |
| rdar://problem/26338521 |
| |
| Reviewed by Jon Lee. |
| |
| * Animometer/resources/runner/logo.svg: Use a symbol instead |
| of putting the id on the root svg. This works in all browsers. |
| |
| 2016-05-07 Timothy Hatcher <timothy@apple.com> |
| |
| Update Animometer design |
| https://bugs.webkit.org/show_bug.cgi?id=157449 |
| |
| Reviewed by Darin Adler. |
| |
| * Animometer/developer.html: Stop including runner/animometer.css. |
| * Animometer/index.html: Udpated elements to fit new styles. |
| |
| * Animometer/resources/debug-runner/animometer.css: |
| Copy the old runner/animometer.css to here so the debug runner is unaffected. |
| |
| * Animometer/resources/runner/animometer.css: |
| New styles for the design. Drop flex box for broad browser support. |
| |
| * Animometer/resources/runner/animometer.js: |
| (ResultsTable.clear): Use textContent. |
| (window.sectionsManager.showSection): Add class to the body. |
| (window.sectionsManager.setSectionScore): Use textContent, not innerHTML. |
| |
| * Animometer/resources/runner/crystal.svg: Added. |
| * Animometer/resources/runner/lines.svg: Added. |
| * Animometer/resources/runner/logo.svg: Added. |
| |
| * Animometer/resources/runner/tests.js: Shorten test name and title case them. |
| |
| 2016-05-06 Manuel Rego Casasnovas <rego@igalia.com> |
| |
| [css-grid] Unprefix CSS Grid Layout properties |
| https://bugs.webkit.org/show_bug.cgi?id=157137 |
| |
| Reviewed by Simon Fraser. |
| |
| Remove "-webkit" prefix from all the grid layout properties, |
| including the display value. |
| Update the source code to remove the prefix where it was used too. |
| |
| * Layout/auto-grid-lots-of-data.html: |
| * Layout/fixed-grid-lots-of-data.html: |
| * Layout/fixed-grid-lots-of-stretched-data.html: |
| |
| 2016-04-25 Geoffrey Garen <ggaren@apple.com> |
| |
| bmalloc: Misc improvements to MallocBench |
| https://bugs.webkit.org/show_bug.cgi?id=157004 |
| |
| Reviewed by Darin Adler. |
| |
| * MallocBench/run-malloc-benchmarks: Added --memory and --memory_warning |
| modes for focused memory testing. |
| |
| * MallocBench/MallocBench/Benchmark.cpp: |
| (Benchmark::printReport): Clarified output. |
| |
| (Benchmark::currentMemoryBytes): Added compressed memory because top |
| does the same. (It always happens to zero in the benchmarks we run. But |
| this is good for sanity.) |
| |
| * MallocBench/MallocBench/CommandLine.cpp: Moved up to 8 runs to reduce |
| variance. |
| |
| * MallocBench/MallocBench/alloc_free.cpp: |
| (benchmark_alloc_free): Cycle a single allocation in order to stress |
| the effect of merging on calls to madvise. |
| |
| * MallocBench/MallocBench/big.cpp: |
| (benchmark_big): Graduated to 8kB-128kB because medium tests up to 8 and |
| our large allocator doesn't kick in until 64kB. |
| |
| * MallocBench/MallocBench/medium.cpp: |
| (benchmark_medium): Test all the way down to 1kB because our large |
| allocator used to service 1kB allocations and 1kB is an interesting |
| middle size where memory is unusually large but allocation throughput |
| still matters. |
| |
| * MallocBench/MallocBench/stress.cpp: |
| (benchmark_stress): Reduced the churn count to match stress_aligned |
| because this test was taking too long to complete. |
| |
| * MallocBench/MallocBench/stress_aligned.cpp: |
| (benchmark_stress_aligned): Our new large allocator can handle even |
| more absurdly large values. |
| |
| 2016-04-25 Simon Fraser <simon.fraser@apple.com> |
| |
| Add a content animation test that uses SVG animation. |
| https://bugs.webkit.org/show_bug.cgi?id=156827 |
| |
| * Animation/svg-animation.html: Added. |
| * Skipped: |
| |
| 2016-04-22 Simon Fraser <simon.fraser@apple.com> |
| |
| Skip two content animation tests which are only meant for iOS testing. |
| |
| * Animation/css-animation.html: Added. |
| * Animation/raf-animation.html: Added. |
| |
| * Skipped: |
| |
| 2016-04-20 Simon Fraser <simon.fraser@apple.com> |
| |
| Add content animation tests to benchmark_runner, and allow the runner to collect device data as part of the results |
| https://bugs.webkit.org/show_bug.cgi?id=156827 |
| |
| Add two files missing from the previous commit. |
| |
| * Animation/css-animation.html: Added. |
| * Animation/raf-animation.html: Added. |
| |
| 2016-04-20 Simon Fraser <simon.fraser@apple.com> |
| |
| Add content animation tests to benchmark_runner, and allow the runner to collect device data as part of the results |
| https://bugs.webkit.org/show_bug.cgi?id=156827 |
| |
| Reviewed by Stephanie Lewis. |
| |
| Two new files for the content-animation suite. |
| |
| After patching for use in the benchmark, these tests are a little different to other benchmarks. |
| The test content itself does not collect performance data; the tests spit out a boilerplate JSON |
| result with a placeholder for framerate, which is collected in native code. |
| |
| When run as a benchmark, test completion involves a couple of bounces between the test and MobileSafari. |
| Test completion is initiated by a setTimeout() in the test, at which point location.hash is set to "#done". |
| MobileSafari detects that, and asynchronously dumps performance data. Once this is complete, MobileSafari |
| changes the URL has to "#submit", which triggers the XHR to the test relay that indicates the test is |
| complete. |
| |
| * Animation/css-animation.html: Added. |
| * Animation/raf-animation.html: Added. |
| |
| 2016-04-15 Jon Lee <jonlee@apple.com> |
| |
| Animometer test could report a NaN |
| https://bugs.webkit.org/show_bug.cgi?id=156646 |
| |
| Reviewed by Darin Adler. |
| Provisionally reviewed by Said Abou-Hallawa. |
| |
| * Animometer/tests/resources/main.js: |
| (didFinishInterval): The ramp controller has a first phase where it ramps up the complexity and |
| reacts based on how well the system handles the load. The assumption was that it would handle at least |
| 1 particle easily. That is not always the case. As a result, an interpolation calculation could |
| end up setting an upper bound of NaN. |
| |
| This occurs because we never get out of the first tier, so this._lastTierComplexity is undefined. |
| Now that we guarantee a minimum complexity of 1, modify the conditional to check for this._lastTierComplexity |
| before interpolating the upper bound of the first ramp. In the case where the system struggles with |
| 1 particle, set it to currentComplexity. |
| |
| 2016-04-09 Jon Lee <jonlee@apple.com> |
| |
| Update Animometer to accommodate different screens |
| https://bugs.webkit.org/show_bug.cgi?id=156449 |
| |
| Reviewed by Darin Adler. |
| Provisionally reviewed by Said Abou-Hallawa. |
| |
| * Animometer/index.html: Wrap button in a container to add padding at the bottom. |
| * Animometer/resources/debug-runner/animometer.css: |
| (@media screen and (min-device-width: 1800px)): Deleted. |
| (@media screen and (min-width: 1800px)): Cannot use min-device-width since it may match incorrectly. |
| (screen and (max-device-height: 414px) and (orientation: landscape)): Some devices swap device width |
| and height with orientation change. |
| * Animometer/resources/runner/animometer.css: Similar. |
| (screen and (min-device-width: 1024px) and (orientation: landscape)): |
| (screen and (max-device-height: 414px) and (orientation: landscape)): |
| (.frame-container): On smaller iPhones, adding 1px prevents the navigation bars from appearing. |
| (@media screen and (min-device-width: 768px) and (max-device-width: 1024px)): Deleted. |
| (@media (min-device-height: 768px) and (max-device-height: 1024px)): Target iPad Airs and similar. |
| (@media screen and (min-device-width: 1024px) and (max-device-width: 1366px)): Deleted. |
| (@media screen and (max-device-width: 1024px) and (min-device-height: 1366px)): Target iPad Pro. |
| (#results footer): Add padding below the button for testing again. |
| * Animometer/tests/master/multiply.html: Remove the center text. |
| * Animometer/tests/master/resources/text.js: Update the test so that in every frame the text moves. |
| * Animometer/tests/master/text.html: Update the text sizing depending on the size of the device. |
| |
| 2016-04-08 Jon Lee <jonlee@apple.com> |
| |
| Have Animometer benchmark always start with complexity of 1 |
| https://bugs.webkit.org/show_bug.cgi?id=156432 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| * Animometer/tests/resources/main.js: Update the default Controller and RampController to |
| set its minimum complexities to 1 instead of 0. |
| |
| 2016-04-08 Jon Lee <jonlee@apple.com> |
| |
| Fix SVG benchmark test |
| https://bugs.webkit.org/show_bug.cgi?id=156410 |
| |
| Reviewed by Dean Jackson. |
| |
| * Animometer/resources/extensions.js: Update Point.zero to be a static Point. |
| * Animometer/tests/simple/resources/tiled-canvas-image.js: |
| (Stage.call._setupTiles): Refactor. |
| * Animometer/tests/master/resources/particles.js: |
| (Particle.prototype.reset): Use Point.center. |
| (complexity): We are not using a gradient background anymore, so remove the +1. |
| * Animometer/tests/master/resources/svg-particles.js: Update to use SVG transform |
| instead of CSS transform. |
| |
| 2016-04-06 Jon Lee <jonlee@apple.com> |
| |
| Update master benchmark with SVG test |
| https://bugs.webkit.org/show_bug.cgi?id=156273 |
| |
| Reviewed by Dean Jackson. |
| Provisionally reviewed by Said Abou-Hallawa. |
| |
| Switch masks tests for SVG path test. |
| |
| * Animometer/resources/debug-runner/tests.js: Move mask test here. |
| * Animometer/resources/runner/tests.js: Add SVG test here. |
| * Animometer/tests/dom/particles.html: Renamed from PerformanceTests/Animometer/tests/master/particles.html. |
| * Animometer/tests/dom/resources/dom-particles.js: Renamed from PerformanceTests/Animometer/tests/master/resources/dom-particles.js. |
| |
| * Animometer/tests/master/resources/particles.js: Add minPosition for bounds checking. Prevents particle from being |
| partially obscured. |
| * Animometer/tests/master/resources/svg-particles.js: Added. |
| (Particle): The particle is either a path object or a rect using a path as a clip. The |
| same path is used either way. For each particle create a linear gradient with a random |
| rotation. |
| (SVGParticlesStage): Look in #shapes to see how many different kinds of paths are available. |
| This makes the test more generic in case other shapes need to be tested. |
| * Animometer/tests/master/svg-particles.html: Added. Have two defs, one that houses each |
| particle's gradient, and one that holds the shape templates. |
| |
| 2016-03-27 Hunseop Jeong <hs85.jeong@samsung.com> |
| |
| [EFL] REGRESSION(r188793): It made 200 layout tests and Bindings/event-target-wrapper.html performance test fail |
| https://bugs.webkit.org/show_bug.cgi?id=148470 |
| |
| Reviewed by Darin Adler. |
| |
| * Skipped: Unskip the Bindings/event-target-wrapper test. |
| |
| 2016-03-23 Jon Lee <jonlee@apple.com> |
| |
| Update focus and leaves tests |
| https://bugs.webkit.org/show_bug.cgi?id=155825 |
| |
| Reviewed by Simon Fraser. |
| |
| Particles would improperly disappear, before they were fully off stage. Update the calculation. |
| * Animometer/tests/dom/resources/leaves.js: |
| * Animometer/tests/master/resources/leaves.js: |
| |
| * Animometer/tests/master/focus.html: Update the center element styling. |
| * Animometer/tests/master/resources/focus.js: |
| (FocusElement.Utilities.createClass): Give enough space in the container for each particle for the blur |
| to spread. It should be about 3x more space than the blur radius on each side. |
| (Stage.call.initialize): Ditto for the center element. |
| |
| 2016-03-23 Jon Lee <jonlee@apple.com> |
| |
| Update support for other platforms |
| https://bugs.webkit.org/show_bug.cgi?id=155824 |
| |
| Reviewed by Simon Fraser. |
| |
| * Animometer/resources/debug-runner/animometer.css: Remove extraneous media query. All of it should |
| be handled in the release stylesheet. |
| * Animometer/resources/debug-runner/animometer.js: Add support for browsers that return an HTMLCollection |
| when retrieving radio elements with a name, instead of the selected value. |
| * Animometer/resources/runner/animometer.css: Adjust the queries for devices of varying widths. |
| (.frame-container): Move overflow:hidden to #stage. |
| * Animometer/tests/master/resources/stage.css: Consolidate into tests/resources/stage.css. |
| * Animometer/tests/resources/stage.css: |
| (body): Remove overflow:hidden. |
| (#stage): Set overflow:hidden here. |
| (#center-text): Moved from master/resources/stage.css. |
| |
| Update stylesheet hrefs. |
| * Animometer/tests/master/canvas-stage.html: |
| * Animometer/tests/master/focus.html: |
| * Animometer/tests/master/leaves.html: |
| * Animometer/tests/master/multiply.html: |
| * Animometer/tests/master/particles.html: |
| * Animometer/tests/master/text.html: Adjust text size to fit in the device screen. |
| |
| 2016-03-23 Jon Lee <jonlee@apple.com> |
| |
| Make the benchmark require device to be in landscape orientation |
| https://bugs.webkit.org/show_bug.cgi?id=155822 |
| rdar://problem/25258650 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| Check that the device is in landscape orientation. If not, disable the button to start it, |
| and show a warning message. |
| |
| * Animometer/developer.html: Add a message about how the browser should be set up. Include a |
| warning message that appears if the orientation is incorrect on mobile devices. |
| * Animometer/index.html: Ditto. |
| |
| * Animometer/resources/debug-runner/animometer.css: Migrate the .hidden rule into the release |
| stylesheet. Update the style to accommodate the new UI. |
| * Animometer/resources/runner/animometer.css: |
| |
| * Animometer/resources/runner/animometer.js: |
| (window.benchmarkController.initialize): Add the orientation listener is needed. |
| (window.benchmarkController.addOrientationListenerIfNecessary): Only mobile devices need this. Check |
| to see for support of window.orientation. |
| (window.benchmarkController._orientationChanged): Toggle the warning based on whether we match the |
| landscape query. Set a state variable, which is needed for the debug harness. Call updateStartButtonState. |
| (window.benchmarkController.updateStartButtonState): |
| * Animometer/resources/debug-runner/animometer.js: Change _updateStartButtonState to return |
| a boolean about whether at least one test is selected. That will be used in |
| benchmarkController.updateStartButtonState(). Move the load event listener to the release version. |
| (window.benchmarkController.updateStartButtonState): Override the release version, and also check |
| that at least one test is selected. |
| |
| 2016-03-22 Geoffrey Garen <ggaren@apple.com> |
| |
| MallocBench: consolidate regression testing for aligned allocation |
| https://bugs.webkit.org/show_bug.cgi?id=155762 |
| |
| Reviewed by Michael Saboff. |
| |
| * MallocBench/MallocBench.xcodeproj/project.pbxproj: |
| * MallocBench/MallocBench/Benchmark.cpp: |
| * MallocBench/MallocBench/memalign.cpp: Removed. |
| * MallocBench/MallocBench/memalign.h: Removed. The stress_aligned test |
| covers this and much more. |
| |
| * MallocBench/MallocBench/stress_aligned.cpp: |
| (benchmark_stress_aligned): Include specific tests for extreme sizes |
| and alignments. |
| |
| 2016-03-21 Jon Lee <jonlee@apple.com> |
| |
| Update benchmark tests |
| https://bugs.webkit.org/show_bug.cgi?id=155723 |
| |
| Reviewed by Darin Adler. |
| Provisionally reviewed by Said Abou-Hallawa. |
| |
| Add quadratic and bezier segments to the canvas path test. |
| |
| * Animometer/resources/runner/tests.js: Some of the query strings are unnecessary. |
| Rename the test. |
| * Animometer/tests/master/resources/canvas-stage.js: |
| (tune): Update to be able to take an array of possible constructors. Choose one randomly. |
| * Animometer/tests/master/resources/canvas-tests.js: |
| (CanvasLinePoint.Utilities.createClass): Move the point selection out to a separate |
| function called randomPoint() for reuse. Move X_LOOPS, Y_LOOPS, and offsets into the |
| class definition. |
| (randomPoint): Scale the grid down a little bit so that the lines along the edge of the |
| canvas are not cut off when the stroke size is thick. |
| (CanvasQuadraticSegment): Added. |
| (CanvasBezierSegment): Added. |
| (SimpleCanvasStage): Pass in an array of the different segment types. Since line segments |
| are short compared to the curved ones, make it twice as likely to render a line segment. |
| (SimpleCanvasStage.animate): Update the drawing code so that we render all line segments. |
| |
| Add a helper method that selects a random element from an array. |
| |
| * Animometer/tests/resources/main.js: |
| (Stage.randomElementInArray): Select a random element from the provided array. |
| |
| * Animometer/tests/bouncing-particles/resources/bouncing-tagged-images.js: Refactor. |
| * Animometer/tests/dom/resources/leaves.js: Ditto. |
| * Animometer/tests/master/resources/dom-particles.js: Ditto. |
| * Animometer/tests/master/resources/image-data.js: Ditto. |
| * Animometer/tests/master/resources/leaves.js: Ditto. |
| * Animometer/tests/simple/resources/simple-canvas-paths.js: Ditto. |
| |
| Add canvas tests that includes all stroke and fill paths. This makes it possible to avoid having to |
| include the full simple canvas suite for perf testing. |
| |
| * Animometer/resources/debug-runner/tests.js: Add new tests. Move the canvas test into the Canvas |
| suite. |
| * Animometer/tests/simple/resources/simple-canvas-paths.js: Add a CanvasStroke and CanvasFill particle |
| that random selects an object to render. |
| |
| * Animometer/resources/debug-runner/tests.js: Move 3D suite before basic canvas suite. |
| When updating the perf bot script, we will include the suites up to this one, but exclude |
| the basic canvas suite. |
| |
| Move compositing transforms test to HTML suite and remove the empty Miscellaneous suite. |
| |
| * Animometer/resources/debug-runner/tests.js: |
| * Animometer/tests/dom/compositing-transforms.html: Renamed from PerformanceTests/Animometer/tests/misc/compositing-transforms.html. |
| * Animometer/tests/dom/resources/compositing-transforms.js: Renamed from PerformanceTests/Animometer/tests/misc/resources/compositing-transforms.js. |
| |
| Clean up miscellaneous test suite. Add a canvas ellipse test, and remove the other |
| canvas tests. |
| |
| * Animometer/resources/debug-runner/tests.js: Add ellipse tests to the simple suite. |
| * Animometer/tests/misc/canvas-electrons.html: Removed. |
| * Animometer/tests/misc/canvas-stars.html: Removed. |
| * Animometer/tests/misc/resources/canvas-electrons.js: Removed. |
| * Animometer/tests/misc/resources/canvas-stars.js: Removed. |
| * Animometer/tests/simple/resources/simple-canvas-paths.js: Add ellipse primitives. |
| |
| Merge text tests together into one. |
| |
| * Animometer/resources/runner/tests.js: Remove international.html. |
| * Animometer/tests/master/international.html: Removed. |
| * Animometer/tests/master/resources/text.js: |
| (animate): Update styling. Manually calculate gradients for the shadow particles. |
| Reduce the step size for y direction to avoid cutting text off at the margins. Increase |
| step for x since there will be a little more room. |
| * Animometer/tests/master/text.html: Add more translations and lay it out in a table. |
| |
| 2016-03-20 Jon Lee <jonlee@apple.com> |
| |
| Add a link to show debug data |
| https://bugs.webkit.org/show_bug.cgi?id=155724 |
| |
| Reviewed by Simon Fraser. |
| |
| * Animometer/developer.html: Attach the onclick handler to the score. |
| * Animometer/index.html: Ditto. |
| |
| 2016-03-18 Dean Jackson <dino@apple.com> |
| |
| Add a basic WebGL test to Animometer |
| https://bugs.webkit.org/show_bug.cgi?id=155475 |
| <rdar://problem/25156860> |
| |
| Reviewed by Simon Fraser and Jon Lee. |
| |
| Add a pretty simple WebGL test to Animometer |
| which tries to draw a number of animated triangles. |
| The result still needs a bit of tuning. |
| |
| * Animometer/resources/debug-runner/tests.js: Add a new |
| Suite for "3D" tests. |
| * Animometer/tests/3d/resources/webgl.js: Added. |
| * Animometer/tests/3d/webgl.html: Added. |
| |
| 2016-03-18 Jon Lee <jonlee@apple.com> |
| |
| Add support for statically linking to a specific test |
| https://bugs.webkit.org/show_bug.cgi?id=155631 |
| |
| Rubber-stamped by Darin Adler. |
| |
| * Animometer/developer.html: Update to call restartBenchmark instead so that it works for |
| both the preset and the manually set test sessions. |
| * Animometer/resources/debug-runner/animometer.css: |
| (.tree .link): Style the "link" UI. |
| * Animometer/resources/debug-runner/animometer.js: Move updateDisplay from suitesManager |
| to optionsManager since this is a visual option and has nothing to do with the suites |
| settings. Update the construction of the test UI by including a "link" after each test. |
| Clicking on that link brings up a JS prompt with a URL and a query string with the current |
| parameters of the controller, and selected test. Pasting this URL into the location bar will |
| automatically start running the selected test. |
| (suitesManager.suitesFromQueryString): Iterate through the Suites and tests and find the one |
| that matches the provided parameters. Returns an object similar to the form in |
| suitesManager.updateLocalStorageFromUI. |
| (benchmarkController.initialize): After settings up the events and options, try parsing the |
| query string and running the benchmark immediately. Otherwise, fall back to the form. |
| (benchmarkController.startBenchmark): Store the options and suites into member variables for |
| reuse in restartBenchmark. |
| (benchmarkController.startBenchmarkImmediatelyIfEncoded): Convert the query string to an object. |
| If that's successful, find the suite and test referenced in the query string. Start the benchmark if |
| the search for the test succeeded. |
| * Animometer/resources/extensions.js: |
| (Utilities.stripNonASCIICharacters): Helper method to convert the name of the suite and test |
| into a query-string-friendly version. |
| (Utilities.convertObjectToQueryString): Helper method to convert an object to query string |
| format. |
| (Utilities.convertQueryStringToObject): Helper method to convert query string into an object |
| with properties and values. |
| |
| 2016-03-16 Jon Lee <jonlee@apple.com> |
| |
| Add a new benchmark test |
| https://bugs.webkit.org/show_bug.cgi?id=155570 |
| |
| Reviewed by Simon Fraser. |
| |
| New Leaves test includes various image sizes and opacity. |
| |
| * Animometer/resources/debug-runner/tests.js: Add it to the HTML test suite. |
| * Animometer/tests/dom/leaves.html: Added. |
| * Animometer/tests/dom/resources/leaves.js: Added. Override the |
| (Particle.call.reset): Uses a range of sizes, and opacity. |
| (Particle.call.animate): Opacity goes up then down. When it hits 0, reset the particle. |
| (Particle.call.move): Set transform and opacity. |
| * Animometer/tests/master/resources/leaves.js: Get rid of the closure so that it |
| can be used in this test. Update the relative path so that it works in both the master |
| and dom test suite. |
| |
| 2016-03-15 Simon Fraser <simon.fraser@apple.com> |
| |
| Add developer Animometer test that bounces P3-tagged images |
| https://bugs.webkit.org/show_bug.cgi?id=155511 |
| |
| Reviewed by Tim Horton. |
| |
| Add a test for rendering performance of tagged images. The 5 images are tagged |
| with the Display P3 colorspace. |
| |
| * Animometer/resources/debug-runner/tests.js: |
| * Animometer/tests/bouncing-particles/bouncing-tagged-images.html: Added. |
| * Animometer/tests/bouncing-particles/resources/bouncing-tagged-images.js: Added. |
| * Animometer/tests/bouncing-particles/resources/image1.jpg: Added. |
| * Animometer/tests/bouncing-particles/resources/image2.jpg: Added. |
| * Animometer/tests/bouncing-particles/resources/image3.jpg: Added. |
| * Animometer/tests/bouncing-particles/resources/image4.jpg: Added. |
| * Animometer/tests/bouncing-particles/resources/image5.jpg: Added. |
| |
| 2016-03-09 Jon Lee <jonlee@apple.com> |
| |
| Enhance existing Animometer tests |
| https://bugs.webkit.org/show_bug.cgi?id=155261 |
| |
| Reviewed by Simon Fraser. |
| |
| * Animometer/tests/master/resources/canvas-tests.js: Add a gradient to |
| the filled circles. To expose more of the gradient, add another circle. |
| (SimpleCanvasStage.call.animate): For each frame, create a gradient with |
| undulating stop points and colors. Fill the circles twice; once with |
| the solid color, and once with the gradient. |
| |
| * Animometer/tests/master/resources/dom-particles.js: Refactor the |
| emission variables into a separate stage for this test. Add a colorOffset |
| variable to make the colors of each particle slightly different, since |
| the ramp controller can add large numbers of particles all at once, which |
| would otherwise get all the same color. |
| * Animometer/tests/master/resources/particles.js: |
| (initialize): Remove the code specific to the SVG mask test. |
| |
| * Animometer/tests/master/resources/image-data.js: |
| (initialize): Remove unused local variable. |
| * Animometer/tests/master/resources/multiply.js: |
| (initialize): Make the test harder by adding more total particles. |
| |
| 2016-03-09 Jon Lee <jonlee@apple.com> |
| |
| Add text tests |
| https://bugs.webkit.org/show_bug.cgi?id=155257 |
| |
| Reviewed by Simon Fraser. |
| |
| * Animometer/resources/extensions.js: |
| (UnitBezier.Utilities.createClass): Add a class that computes Bezier points |
| assuming that two of the control points are at (0,0) and (1,1). Taken from |
| WebCore/platform/graphics/UnitBezier.h |
| * Animometer/resources/runner/tests.js: Add a test for English text and one |
| for international text. |
| * Animometer/tests/master/international.html: Added. |
| * Animometer/tests/master/resources/text.js: Added. The test assumes there is |
| #template div which it will copy. The copies are placed behind the template, and |
| are set with different colors each frame. They are moved around with CSS transform. |
| * Animometer/tests/master/text.html: Added. |
| |
| Remove the other text tests, since these ones cover the same techniques. |
| * Animometer/tests/text/layering-text.html: Removed. |
| * Animometer/tests/text/resources/layering-text.js: Removed. |
| * Animometer/tests/text/resources/text-boxes.js: Removed. |
| * Animometer/tests/text/text-boxes.html: Removed. |
| * Animometer/resources/debug-runner/tests.js: |
| |
| 2016-03-09 Jon Lee <jonlee@apple.com> |
| |
| Add a new image test |
| https://bugs.webkit.org/show_bug.cgi?id=155232 |
| |
| Reviewed by Dean Jackson. |
| Provisionally reviewed by Said Abou-Hallawa. |
| |
| The image test renders PNGs and moves them with translate and rotate |
| transforms. Each particle has a lifetime, and when the lifetime ends or |
| the particle goes offscreen, it resets itself somewhere on the stage. |
| |
| * Animometer/resources/debug-runner/tests.js: Remove the CSS bouncing PNG |
| images test, because this one tests the same technique. |
| * Animometer/resources/runner/tests.js: Added here as "Leaves". |
| * Animometer/tests/master/leaves.html: Added. |
| * Animometer/tests/master/resources/particles.js: Refactor out the parts |
| specific to the DOM particles test. Consequently make velocity a public |
| member. |
| (initialize): The options parameter is never used, so remove it. |
| (animate): Remove unused local variable. |
| * Animometer/tests/master/resources/leaves.js: Maintains a focal point that |
| moves back and forth across the canvas. That point affects the velocity |
| of the particles. When the focal point is on the leftmost side, it is |
| between [-6, -2], and set in reset(). When the focal point is on the rightmost |
| side, it will be from [2, 6]. |
| * Animometer/tests/master/resources/dom-particles.js: Move JS specific to |
| this test here from particles.js. |
| |
| New images. |
| * Animometer/tests/master/resources/compass100.png: Added. |
| * Animometer/tests/master/resources/console100.png: Added. |
| * Animometer/tests/master/resources/contribute100.png: Added. |
| * Animometer/tests/master/resources/debugger100.png: Added. |
| * Animometer/tests/master/resources/inspector100.png: Added. |
| * Animometer/tests/master/resources/layout100.png: Added. |
| * Animometer/tests/master/resources/performance100.png: Added. |
| * Animometer/tests/master/resources/script100.png: Added. |
| * Animometer/tests/master/resources/shortcuts100.png: Added. |
| * Animometer/tests/master/resources/standards100.png: Added. |
| * Animometer/tests/master/resources/storage100.png: Added. |
| * Animometer/tests/master/resources/styles100.png: Added. |
| * Animometer/tests/master/resources/timeline100.png: Added. |
| |
| 2016-03-03 Jon Lee <jonlee@apple.com> |
| |
| Add ability to retrieve raw data from release harness |
| https://bugs.webkit.org/show_bug.cgi?id=155026 |
| |
| Reviewed by Simon Fraser. |
| |
| * Animometer/developer.html: Remove the special UI in the debug |
| harness. |
| * Animometer/resources/runner/animometer.css: Add styles for the |
| overlay. |
| * Animometer/resources/runner/animometer.js: Let 'j' show the JSON |
| results, but only if the overlay doesn't exist. Add 'esc' key to dismiss |
| the overlay. |
| (window.benchmarkController.selectResults): Cycle the cases around |
| so that the first 's' press selects both the benchmark score and |
| the individual test scores. |
| * Animometer/resources/debug-runner/animometer.css: Remove |
| unneeded rules. |
| * Animometer/resources/debug-runner/animometer.js: Make the same |
| call to handleKeyPress. |
| |
| 2016-03-03 Jon Lee <jonlee@apple.com> |
| |
| Make sure multiply test particles have at least some opacity |
| https://bugs.webkit.org/show_bug.cgi?id=155027 |
| |
| Reviewed by Simon Fraser. |
| |
| * Animometer/tests/master/resources/multiply.js: |
| (initialize): Have the elements spin a little faster to make it |
| more obvious when the system is being stressed. |
| (_addTile): |
| (animate): Make sure each element being animated has at least 1% |
| opacity. |
| |
| 2016-03-03 Jon Lee <jonlee@apple.com> |
| |
| Update image test |
| https://bugs.webkit.org/show_bug.cgi?id=154962 |
| |
| Rubber-stamped by Darin Adler. |
| |
| * Animometer/tests/master/image-data.html: Make each canvas have a compositing layer. |
| * Animometer/tests/master/resources/image-data.js: |
| (initialize): Update to load multiple images serially. |
| (_loadImage): |
| (tune): Use display instead of visibility. When showing an element anew, move it somewhere else. |
| (_createTestElement): Set up the element, refactor out placement of element to _refreshElement. |
| (_refreshElement): Place element in a tile grid. |
| (animate): |
| (_getRandomNeighboringPixelIndex): Use a more conservative distribution to make the effect last a little longer. |
| * Animometer/tests/master/resources/compass.svg: Added. |
| * Animometer/tests/master/resources/console.svg: Added. |
| * Animometer/tests/master/resources/contribute.svg: Added. |
| * Animometer/tests/master/resources/debugger.svg: Added. |
| * Animometer/tests/master/resources/inspector.svg: Added. |
| * Animometer/tests/master/resources/layout.svg: Added. |
| * Animometer/tests/master/resources/performance.svg: Added. |
| * Animometer/tests/master/resources/script.svg: Added. |
| * Animometer/tests/master/resources/shortcuts.svg: Added. |
| * Animometer/tests/master/resources/standards.svg: Added. |
| * Animometer/tests/master/resources/storage.svg: Added. |
| * Animometer/tests/master/resources/styles.svg: Added. |
| * Animometer/tests/master/resources/timeline.svg: Added. |
| |
| 2016-03-02 Jon Lee <jonlee@apple.com> |
| |
| Add some new controllers, and refine tests |
| https://bugs.webkit.org/show_bug.cgi?id=154914 |
| |
| Reviewed by Simon Fraser. |
| |
| Improve tests. |
| |
| * Animometer/tests/master/focus.html: Move each particle into a layer. Put the particle |
| in a container element. Expand the container element by the max blur radius, and clip |
| overflow. This way, when the blur is applied, it avoids causing layer resizes. |
| * Animometer/tests/master/resources/focus.js: |
| (FocusElement.Utilities.createClass): Create a container element, and put the particle |
| inside. |
| (hide): Set display:none. |
| (show): Set display:block. |
| (animate): Apply filters to the container element. |
| (FocusStage.call.initialize): Instead of inserting and removing elements from the DOM, |
| keep them in the stage, but set the display style instead. Use this._offsetIndex to |
| keep track of which elements are displayed. |
| (FocusStage.call.animate): Move some calculations around to avoid doing unneeded math. |
| (FocusStage.call.getBlurValue): Make sure elements are always blurred. |
| (FocusStage.call.getOpacityValue): Make sure elements have some opacity. |
| * Animometer/tests/master/resources/multiply.js: Have the particles on the edge of the |
| stage appear less black when the complexity gets large enough. |
| (tune): Have this._distanceFactor calculate the factor. Avoid calculating square root each |
| frame. |
| |
| 2016-03-02 Jon Lee <jonlee@apple.com> |
| |
| Add some new controllers, and refine tests |
| https://bugs.webkit.org/show_bug.cgi?id=154914 |
| |
| Reviewed by Simon Fraser. |
| |
| Add a controller that centers around 30 fps instead of 60 fps. |
| |
| * Animometer/developer.html: Add a new option. |
| * Animometer/resources/debug-runner/animometer.js: |
| * Animometer/resources/runner/animometer.js: |
| (this._processData.findRegression): When calculating the complexity-frameLength regression, |
| check the controller, and use a 30 fps baseline if needed. |
| * Animometer/resources/statistics.js: |
| (Regression.Utilities.createClass): Update to allow clients to specify the baseline |
| frame length. |
| * Animometer/tests/resources/main.js: |
| (tune): Override some of the constants in RampController. Move those constants out for |
| easier reading. |
| |
| Add a fixed controller, with no step. |
| |
| * Animometer/developer.html: Add a controller that takes no step. |
| * Animometer/resources/debug-runner/animometer.js: |
| * Animometer/tests/resources/main.js: |
| (Rotater.Utilities.createClass): |
| |
| Switch to ramp controller as default. |
| |
| * Animometer/developer.html: Increase the test length to 20 seconds. |
| * Animometer/resources/debug-runner/animometer.js: Rename the "adjustment" field to "controller" |
| since that is a more accurate description. |
| * Animometer/resources/debug-runner/graph.js: |
| * Animometer/resources/runner/animometer.js: Update preferences for release suite. |
| |
| 2016-02-26 Jon Lee <jonlee@apple.com> |
| |
| Address Dean's comments in 154673. |
| |
| * Animometer/developer.html: |
| * Animometer/resources/debug-runner/animometer.js: |
| * Animometer/resources/debug-runner/graph.js: |
| |
| 2016-02-25 Jon Lee <jonlee@apple.com> |
| |
| Update animation benchmark and tests |
| https://bugs.webkit.org/show_bug.cgi?id=154673 |
| |
| Reviewed by Dean Jackson. |
| |
| Update test visuals. |
| |
| * Animometer/tests/master/resources/canvas-tests.js: |
| (CanvasLineSegment.Utilities.createClass): Line segments near the edge of the stage get clipped. |
| Update circle position and radius to minimize impact. |
| * Animometer/tests/master/resources/particles.js: Get rid of rotating gradient background, and |
| have 3 locations for emitting particles. |
| * Animometer/tests/master/resources/multiply.js: Update distance metric so that fringe tiles get |
| more color. |
| (initialize): Fix some of the math for laying out the tiles. |
| (animate): When a tile isn't used, set visibility: hidden. |
| |
| 2016-02-24 Jon Lee <jonlee@apple.com> |
| |
| Update animation benchmark and tests |
| https://bugs.webkit.org/show_bug.cgi?id=154673 |
| |
| Reviewed by Dean Jackson. |
| |
| Update the ramp controller. |
| |
| The controller refines the complexity interval to test across. |
| |
| * Animometer/resources/statistics.js: Add functions that estimate cumulative distribution function. |
| (Regression): For the flat regression, force the first segment to be at 60 fps. |
| (valueAt): Add convenience function to return interpolated value based on the regression used. |
| (_calculateRegression): Include the number of points included for both segments, and the piecewise |
| errors. |
| * Animometer/tests/resources/math.js: Make the Kalman estimator subclass Experiment, and allow it |
| to be reset. |
| |
| * Animometer/tests/resources/main.js: Initialize the tier such that it starts at 10^0 = 1. |
| Increase the number of ramps. Maintain three FPS thresholds-- the frame rate of interest, a limit |
| on the lowest FPS we care to go for later interpolation, and a minimum FPS threshold we want to |
| aim for each ramp. Also keep three estimators: a running average of the change point, a minimum |
| boundary for each ramp, and an estimator for all the frames within an interval. The first two |
| are used to determine the parameters of the next ramp, and the latter allows us to refine the |
| parameters. |
| (update): During the tier phase, it is possible that the highest complexity possible for a test |
| won't stress the system enough to trigger stopping the tier phase and transitioning to the ramps. |
| If the complexity doesn't change when going to the next tier, we've maxed the test out, and move |
| on. When the tier phase completed, turn off Controller.frameLengthEstimator, which estimates the |
| FPS at each tier. |
| (tune): At each interval, look at the confidence distribution of being on the 60 FPS side or the |
| slow side. If the slowest FPS we achieve at the ramp's maximum complexity is not at least |
| _fpsRampSlowThreshold, then increase the maximum complexity. If we ever achieve 60 FPS, increase |
| the ramp's minimum complexity to that level. If, at an even lower complexity, a glitch causes the |
| FPS to drop, we reset the minimum complexity. |
| |
| Have the bootstrap calculation occur between tests. Clean up harness. |
| |
| * Animometer/resources/debug-runner/animometer.js: Run bootstrap after a test has |
| completed to avoid doing all of it at the end before showing the results. Clean up |
| parameters being passed around. |
| * Animometer/resources/debug-runner/tests.js: |
| (text): |
| * Animometer/resources/runner/animometer.js: |
| (this._processData.calculateScore): Save the results to the same object holding the data. |
| (this._processData._processData): In the case where a file is dragged, calculate the score |
| serially. Grab the results object and move it to the results variable and remove it from |
| the data object. This avoids serializing the results into the JSON. |
| (this._processData.findRegression): Include the samples used for bootstrapping. Reduce the |
| resample size to shorten the wait. |
| * Animometer/resources/runner/benchmark-runner.js: |
| * Animometer/resources/statistics.js: |
| (bootstrap): Update how bootstrapData is sorted. In some regression results the mix of |
| floats and integers causes an alphabetical sort to occur. |
| * Animometer/resources/strings.js: |
| |
| Add meta charset so that encodings between harness and test match. |
| |
| * Animometer/tests/bouncing-particles/bouncing-canvas-images.html: |
| * Animometer/tests/bouncing-particles/bouncing-canvas-shapes.html: |
| * Animometer/tests/bouncing-particles/bouncing-css-images.html: |
| * Animometer/tests/bouncing-particles/bouncing-css-shapes.html: |
| * Animometer/tests/bouncing-particles/bouncing-svg-images.html: |
| * Animometer/tests/bouncing-particles/bouncing-svg-shapes.html: |
| * Animometer/tests/master/canvas-stage.html: |
| * Animometer/tests/master/focus.html: |
| * Animometer/tests/master/image-data.html: |
| * Animometer/tests/master/multiply.html: |
| * Animometer/tests/master/particles.html: |
| * Animometer/tests/misc/canvas-electrons.html: |
| * Animometer/tests/misc/canvas-stars.html: |
| * Animometer/tests/misc/compositing-transforms.html: |
| * Animometer/tests/simple/simple-canvas-paths.html: |
| * Animometer/tests/simple/tiled-canvas-image.html: |
| * Animometer/tests/template/template-canvas.html: |
| * Animometer/tests/template/template-css.html: |
| * Animometer/tests/template/template-svg.html: |
| * Animometer/tests/text/layering-text.html: |
| * Animometer/tests/text/text-boxes.html: |
| |
| Update test harness reporting. |
| |
| * Animometer/developer.html: Add missing meta charset. |
| * Animometer/index.html: Remove unnecessary utf-8 declaration. |
| * Animometer/resources/debug-runner/animometer.css: Add convenience classes for |
| formatting the results table. |
| * Animometer/resources/debug-runner/animometer.js: Adjust which stats are shown. |
| * Animometer/resources/debug-runner/tests.js: Display bootstrapping statistics. |
| * Animometer/resources/strings.js: Move strings not used by the release harness. |
| |
| Switch to a pseudo-random number generator. |
| |
| * Animometer/resources/statistics.js: Add a Pseudo class, with a simple |
| pseudo-random number generator. |
| (_calculateRegression): Reset the generator before running bootstrap. |
| (bootstrap): Deleted. |
| |
| Replace Math.random with Pseudo.random. |
| * Animometer/tests/master/resources/canvas-tests.js: |
| * Animometer/tests/master/resources/focus.js: |
| * Animometer/tests/master/resources/particles.js: |
| * Animometer/tests/resources/main.js: |
| |
| Use bootstrapping to get confidence interval in the breakpoint. |
| |
| For the ramp controller, calculate the piecewise regression, and then use |
| bootstrapping in order to find the 95% confidence interval. Use the raw data. |
| |
| * Animometer/developer.html: Default to the complexity graph. Add a legend |
| checkbox to toggle visibility of the bootstrap score and histogram. |
| * Animometer/resources/debug-runner/animometer.css: Make some more space to show |
| the old raw and average scores in the legend. Add new styles for the data. |
| * Animometer/resources/debug-runner/graph.js: |
| (_addRegressionLine): Allow passing an array for the variance bar tied to the |
| regression line. Now |stdev| is |range|. |
| (createComplexityGraph): Add bootstrap median, and overlay a histogram of |
| the bootstrap samples. Switch raw samples from circles to X's. |
| (onComplexityGraphOptionsChanged): Allow toggling of the bootstrap data. |
| (onGraphTypeChanged): Move the regressions for the raw and average samples to the |
| legend. In the subtitle use the bootstrap median, and include the 95% confidence |
| interval. |
| * Animometer/resources/runner/animometer.js: |
| (this._processData.findRegression): Factor out the code that determines which |
| samples to include when calculating the piecewise regression. For series that have |
| many samples, or a wider range of recorded complexities, throw away the 2.5% |
| lowest and highest samples before calculating the regression. Keep all samples |
| if the number of samples to regress is small or the range of complexities is |
| narrow. |
| (this._processData._calculateScore): Factor out regression calculation to |
| findRegression(). Bootstrap the change point of the regression. The score is the |
| median. |
| * Animometer/resources/statistics.js: |
| (_calculateRegression): Correct an issue in the calculation of the regression, where |
| the denominator can be 0. |
| (bootstrap): Template for bootstrapping. Create a bootstrap sample array, Create |
| re-samples by random selection with replacement. Return the 95% confidence samples, |
| the bootstrap median, mean, and the data itself. |
| * Animometer/resources/strings.js: Add bootstrap. |
| * Animometer/tests/resources/main.js: |
| (processSamples): Don't prematurely cut the sample data. |
| |
| Fix graph drawing. |
| |
| * Animometer/resources/debug-runner/animometer.js: Add spacing in the JSON output. |
| Multiple tests output a lot of JSON and can hang when selecting JSON with no whitespace. |
| * Animometer/resources/debug-runner/animometer.css: |
| (#complexity-graph .series.raw circle): Update the color. |
| * Animometer/resources/debug-runner/graph.js: Use the FPS axis instead of the |
| complexity axis, which can vary in domain. For determining the complexity domain, |
| only use samples after samplingTimeOffset. |
| |
| Allow dropping results JSON. |
| |
| * Animometer/developer.html: Add a button. |
| * Animometer/resources/debug-runner/animometer.css: |
| * Animometer/resources/debug-runner/animometer.js: Read the data and go straight |
| to the dashboard. With JSON output, write out only the options and the raw data. |
| |
| Teach the harness to evaluate the samples and determine the test score. |
| |
| This will allow us to update how the score is calculated separately from the samples recorded. |
| This also prepares the harness to be able to accept JSON of prior runs. |
| |
| * Animometer/resources/strings.js: Clean up and remove unneeded strings and reduce some of the |
| hierarchy. |
| * Animometer/resources/debug-runner/tests.js: Update to use the new strings. |
| |
| * Animometer/tests/resources/main.js: Allow all controllers to show a complexity-FPS graph. |
| (_processComplexitySamples): Factor out some of the sample processing done in the ramp |
| controller for the benefit of the other controllers. |complexitySamples| contains a list of |
| samples. Sort the samples by complexity. Optionally remove the top x% of samples. |
| Group them, and calculate distribution of samples within the same complexity, and add those as |
| new entries into |complexityAverageSamples|. |
| (Controller.processSamples): Move the code responsible for determining the complexity and FPS |
| scores out to ResultsDashboard. The structure of the data returned by the controller is: |
| |
| { |
| controller: [time-regression, time-regression, ...], // optional, data specific to controller |
| marks: [...], |
| samples: { // all of the sample data |
| controller: [...], |
| complexity: [...], // processed from controller samples |
| complexityAverage: [...], // processed from complexity samples |
| } |
| } |
| |
| (AdaptiveController.processSamples): Adding the target frame length is no longer necessary; we |
| now pass the test options to the graph. |
| (Regression): Move to statistics.js. |
| * Animometer/resources/statistics.js: Move Regression to here. Add a check if the sampling range |
| only contains one sample, since we cannot calculate a regression from one sample point. |
| |
| Teach the test harness to evaluate the data. |
| * Animometer/resources/runner/animometer.js: |
| (ResultsDashboard): Store the options used to run the test and the computed results/score separately |
| from the data. The results are stored as: |
| |
| { |
| score: /* geomean of iteration score */, |
| iterationsResults: [ |
| { |
| score: /* geomean of tests */, |
| testsResults: { |
| suiteName: { |
| testName: { |
| controller: { |
| average: |
| concern: |
| stdev: |
| percent: |
| }, |
| frameLength: { ... }, |
| complexity: { |
| complexity: |
| stdev: |
| segment1: |
| segment2: |
| }, |
| complexityAverage: { ... } |
| }, |
| testName: { ... }, |
| }, |
| ... next suite ... |
| } |
| }, |
| { ...next iteration... } |
| ] |
| } |
| |
| * Animometer/resources/debug-runner/animometer.js: Pass options around instead of relying |
| on what was selected in the form. This will later allow for dropping previous results, and |
| using those runs' options when calculating scores. |
| (ResultsTable._addGraphButton): Simplify button action by using attached test data. |
| * Animometer/resources/debug-runner/graph.js: Refactor to use the data. |
| |
| Consolidate JS files, and move statistics out to a separate JS. |
| |
| Preparation for having the Controller only handle recording and storage of the samples, |
| and leave the evaluation of the test score out to the harness. Move Experiment to |
| a new statistics.js, where Regression will also eventually go. Get rid of algorithm.js |
| and move it to utilities.js since the Heap is used only for Experiments. |
| |
| * Animometer/tests/resources/algorithm.js: Removed. Heap is in utilities.js. |
| * Animometer/tests/resources/sampler.js: Removed. Experiment is in statistics.js, |
| Sampler in main.js. |
| * Animometer/tests/resources/main.js: Move Sampler here. |
| * Animometer/resources/statistics.js: Added. Move Statistics and Experiment here. |
| * Animometer/resources/extensions.js: Move Heap here. Attach static method to create |
| a max or min heap to Heap, instead of a new Algorithm object. |
| |
| Update JS files. |
| * Animometer/developer.html: |
| * Animometer/index.html: |
| * Animometer/tests/bouncing-particles/bouncing-canvas-images.html: |
| * Animometer/tests/bouncing-particles/bouncing-canvas-shapes.html: |
| * Animometer/tests/bouncing-particles/bouncing-css-images.html: |
| * Animometer/tests/bouncing-particles/bouncing-css-shapes.html: |
| * Animometer/tests/bouncing-particles/bouncing-svg-images.html: |
| * Animometer/tests/bouncing-particles/bouncing-svg-shapes.html: |
| * Animometer/tests/master/canvas-stage.html: |
| * Animometer/tests/master/focus.html: |
| * Animometer/tests/master/image-data.html: |
| * Animometer/tests/master/multiply.html: |
| * Animometer/tests/master/particles.html: |
| * Animometer/tests/misc/canvas-electrons.html: |
| * Animometer/tests/misc/canvas-stars.html: |
| * Animometer/tests/misc/compositing-transforms.html: |
| * Animometer/tests/simple/simple-canvas-paths.html: |
| * Animometer/tests/simple/tiled-canvas-image.html: |
| * Animometer/tests/template/template-canvas.html: |
| * Animometer/tests/template/template-css.html: |
| * Animometer/tests/template/template-svg.html: |
| * Animometer/tests/text/layering-text.html: |
| * Animometer/tests/text/text-boxes.html: |
| |
| Fix the cursor in the graph analysis when the min |
| complexity is not 0. |
| |
| * Animometer/resources/debug-runner/graph.js: |
| (_addRegression): |
| (createComplexityGraph): |
| |
| 2016-02-23 Geoffrey Garen <ggaren@apple.com> |
| |
| Fix some issues in MallocBench |
| https://bugs.webkit.org/show_bug.cgi?id=154600 |
| |
| Reviewed by Oliver Hunt. |
| |
| * MallocBench/MallocBench.xcodeproj/project.pbxproj: Make nimlang.ops |
| a part of the build so that it copies to the right place for execution. |
| |
| * MallocBench/MallocBench/Interpreter.cpp: |
| (Interpreter::Interpreter): Don't try to open .ops files for writing |
| because we're only going to read and we might need extra permissions to |
| write. |
| |
| (Interpreter::~Interpreter): Give more context when opening a file fails |
| to help with debugging. |
| |
| * MallocBench/MallocBench/stress.cpp: |
| (benchmark_stress): Reduce iterations to complete in less than 10 seconds. |
| |
| 2016-02-23 Michael Saboff <msaboff@apple.com> |
| |
| Unreviewed change to revert extraneous changes made part of change set 196955. |
| |
| * MallocBench/MallocBench/Interpreter.cpp: |
| (Interpreter::doMallocOp): |
| (Interpreter::Thread::switchTo): |
| (writeData): Deleted. |
| |
| 2016-02-19 Michael Saboff <msaboff@apple.com> |
| |
| MallocBench: Added recording for nimlang website, new recording details and added new options |
| https://bugs.webkit.org/show_bug.cgi?id=154485 |
| |
| Reviewed by Geoff Garen. |
| |
| Added new capabilities to MallocBench. These include: |
| Added a recording of http://nim-lang.org/docs/lib.html. |
| Added thread id to the recording and the ability to playback switching threads in MallocBench |
| Added aligned allocations to recordings and the ability to playback |
| Added --use-thread-id option to honor recorded thread ids |
| Added --detailed-report to output remaining allocations by size after playback |
| Added --no-warmup to not run the warm up iteration |
| |
| Changed the way that options are passed down to the benchmarks. Instead of passing individual |
| boolean or numeric option values, just pass a reference the CommandLine itself. Each benchmark |
| can access the options that are appropriate. The Benchmark class also uses the options for |
| is parallel, run counts and warm up. |
| |
| Added thread id and aligned malloc to the Op by noticing that structure padding and Opcode allowed |
| for another 32 bits of data. Breaking that unused 32 bits into a 16 bit thread id value and a |
| 16 bit log base 2 of the alignment for aligned malloc allowed for existing recordings to playback |
| without any incompatibilities. |
| |
| Threaded operation is simulated by creating threads as needed. As long as the next Op's thread id |
| is the same as the last, operation continues as normal. When the next Op has a different thread id, |
| we switch to that thread using the shared Op stream to continue playing back. There is a mutex to |
| assure that only one thread is really running at a time and a condition variable used to wait |
| that the current thread id matches each block thread's thread id. This doesn't simulate true |
| concurrent threading, but is instead plays back Ops recorded for multiple thread faithfully. |
| |
| * MallocBench/MallocBench.xcodeproj/project.pbxproj: |
| * MallocBench/MallocBench/Benchmark.cpp: |
| (deallocateHeap): |
| (Benchmark::Benchmark): |
| (Benchmark::runOnce): |
| (Benchmark::run): |
| * MallocBench/MallocBench/Benchmark.h: |
| (Benchmark::isValid): |
| * MallocBench/MallocBench/CommandLine.cpp: |
| (CommandLine::printUsage): |
| * MallocBench/MallocBench/CommandLine.h: |
| (CommandLine::isValid): |
| (CommandLine::benchmarkName): |
| (CommandLine::isParallel): |
| (CommandLine::useThreadID): |
| (CommandLine::detailedReport): |
| (CommandLine::warmUp): |
| (CommandLine::heapSize): |
| (CommandLine::runs): |
| * MallocBench/MallocBench/Interpreter.cpp: |
| (Interpreter::Interpreter): |
| (Interpreter::run): |
| (Interpreter::readOps): |
| (Interpreter::doOnSameThread): |
| (Interpreter::switchToThread): |
| (Interpreter::detailedReport): |
| (compute2toPower): |
| (writeData): |
| (Interpreter::doMallocOp): |
| (Interpreter::Thread::Thread): |
| (Interpreter::Thread::stop): |
| (Interpreter::Thread::~Thread): |
| (Interpreter::Thread::runThread): |
| (Interpreter::Thread::waitToRun): |
| (Interpreter::Thread::switchTo): |
| * MallocBench/MallocBench/Interpreter.h: |
| (Interpreter::Thread::isMainThread): |
| * MallocBench/MallocBench/alloc_free.cpp: Added. |
| (benchmark_alloc_free): |
| * MallocBench/MallocBench/alloc_free.h: Added. |
| * MallocBench/MallocBench/balloon.cpp: |
| (benchmark_balloon): |
| * MallocBench/MallocBench/balloon.h: |
| * MallocBench/MallocBench/big.cpp: |
| (benchmark_big): |
| * MallocBench/MallocBench/big.h: |
| * MallocBench/MallocBench/churn.cpp: |
| (benchmark_churn): |
| * MallocBench/MallocBench/churn.h: |
| * MallocBench/MallocBench/facebook.cpp: |
| (benchmark_facebook): |
| * MallocBench/MallocBench/facebook.h: |
| * MallocBench/MallocBench/flickr.cpp: |
| (benchmark_flickr): |
| (benchmark_flickr_memory_warning): |
| * MallocBench/MallocBench/flickr.h: |
| * MallocBench/MallocBench/fragment.cpp: |
| (validate): |
| (benchmark_fragment): |
| (benchmark_fragment_iterate): |
| * MallocBench/MallocBench/fragment.h: |
| * MallocBench/MallocBench/list.cpp: |
| (benchmark_list_allocate): |
| (benchmark_list_traverse): |
| * MallocBench/MallocBench/list.h: |
| * MallocBench/MallocBench/main.cpp: |
| (main): |
| * MallocBench/MallocBench/medium.cpp: |
| (benchmark_medium): |
| * MallocBench/MallocBench/medium.h: |
| * MallocBench/MallocBench/memalign.cpp: |
| (test): |
| (benchmark_memalign): |
| * MallocBench/MallocBench/memalign.h: |
| * MallocBench/MallocBench/message.cpp: |
| (benchmark_message_one): |
| (benchmark_message_many): |
| * MallocBench/MallocBench/message.h: |
| * MallocBench/MallocBench/nimlang.cpp: Added. |
| (benchmark_nimlang): |
| * MallocBench/MallocBench/nimlang.h: Added. |
| * MallocBench/MallocBench/nimlang.ops: Added. |
| * MallocBench/MallocBench/realloc.cpp: |
| (benchmark_realloc): |
| * MallocBench/MallocBench/realloc.h: |
| * MallocBench/MallocBench/reddit.cpp: |
| (benchmark_reddit): |
| (benchmark_reddit_memory_warning): |
| * MallocBench/MallocBench/reddit.h: |
| * MallocBench/MallocBench/stress.cpp: |
| (deallocate): |
| (benchmark_stress): |
| * MallocBench/MallocBench/stress.h: |
| * MallocBench/MallocBench/stress_aligned.cpp: |
| (benchmark_stress_aligned): |
| * MallocBench/MallocBench/stress_aligned.h: |
| * MallocBench/MallocBench/theverge.cpp: |
| (benchmark_theverge): |
| (benchmark_theverge_memory_warning): |
| * MallocBench/MallocBench/theverge.h: |
| * MallocBench/MallocBench/tree.cpp: |
| (benchmark_tree_allocate): |
| (benchmark_tree_traverse): |
| (benchmark_tree_churn): |
| * MallocBench/MallocBench/tree.h: |
| * MallocBench/run-malloc-benchmarks: |
| |
| 2016-02-11 Jon Lee <jonlee@apple.com> |
| |
| Fix a missing refactoring. |
| |
| * Animometer/tests/master/resources/multiply.js: |
| (animate): Move to Utilities.lerp. |
| (_lerp): Deleted. |
| |
| 2016-02-10 Jon Lee <jonlee@apple.com> |
| |
| Add new benchmark tests. |
| https://bugs.webkit.org/show_bug.cgi?id=154063 |
| |
| Provisionally reviewed by Said Abou-Hallawa. |
| |
| Add tests for get/put image data, filters, opacity, and css transforms. |
| |
| * Animometer/resources/runner/benchmark-runner.js: |
| (_runBenchmarkAndRecordResults): Update the body background color to match that of |
| the stage. |
| (this._runNextIteration): Clear the background color style for the results page. |
| * Animometer/resources/runner/tests.js: |
| * Animometer/tests/master/focus.html: Added. |
| * Animometer/tests/master/image-data.html: Added. |
| * Animometer/tests/master/multiply.html: Added. |
| * Animometer/tests/master/resources/focus.js: Added. |
| * Animometer/tests/master/resources/image-data.js: Added. |
| * Animometer/tests/master/resources/multiply.js: Added. |
| * Animometer/tests/master/resources/stage.css: Move common styles out. |
| * Animometer/tests/resources/main.js: Update Stage.randomBool to use Math.random. |
| Add Stage.randomSign for randomly setting a direction. Add the notion of the |
| current timestamp of the test to Benchmark, since some animations cycle through |
| colors and rely on an incremental counter like the time. |
| |
| 2016-02-09 Said Abou-Hallawa <sabouhallawa@apple.com> |
| |
| Add internal benchmark tests for CSS mix-blend-modes and filters |
| https://bugs.webkit.org/show_bug.cgi?id=154058 |
| |
| Provisionally reviewed by Jon Lee. |
| |
| * Animometer/resources/debug-runner/tests.js: Include the new tests in the |
| "HTML suite" of the debug runner. |
| |
| * Animometer/resources/extensions.js: |
| (Utilities.browserPrefix): |
| (Utilities.setElementPrefixedProperty): Utility functions to allow setting |
| prefixed style properties. |
| |
| * Animometer/tests/bouncing-particles/resources/bouncing-css-shapes.js: |
| Set the mix-blend-mode and the filter to some random values if the options |
| of the test requested that. |
| |
| * Animometer/tests/bouncing-particles/resources/bouncing-particles.js: |
| (parseShapeParameters): Parse the url options "blend" and "filter" and set |
| the corresponding flags. |
| |
| * Animometer/tests/resources/main.js: |
| (randomStyleMixBlendMode): |
| (randomStyleFilter): Return random mix-blend-mode and filter. |
| |
| 2016-02-08 Jon Lee <jonlee@apple.com> |
| |
| Add a ramp controller |
| https://bugs.webkit.org/show_bug.cgi?id=154028 |
| |
| Provisionally reviewed by Said Abou-Hallawa. |
| |
| Enhance the graph to include a complexity-fps graph, in addition |
| to the time graph. |
| |
| * Animometer/developer.html: Add a ramp option. |
| * Animometer/resources/debug-runner/animometer.css: Update the style. |
| * Animometer/resources/strings.js: Flatten the Strings.text constants. |
| * Animometer/resources/debug-runner/animometer.js: |
| (ResultsTable.call._addGraphButton): Refactor. |
| (ResultsTable.call._addTest): Add regression data. |
| (benchmarkController): Add a form that allows the user to switch between the two forms, |
| Add a form that allows the user to toggle different data. Hide certain header columns |
| depending on the selected controller. |
| * Animometer/resources/debug-runner/graph.js: Add the complexity regressions. |
| * Animometer/resources/debug-runner/tests.js: Add headers for the ramp results. |
| * Animometer/resources/runner/animometer.js: |
| (ResultsTable): If a header is disabled don't include them in _flattenedHeaders. |
| * Animometer/tests/resources/main.js: |
| (Controller): Allow options to specify the capacity for sample arrays. |
| (Regression): A piecewise regression that tries to fit a slope and a flat profile. |
| (_calculateRegression): Options can fix the slope and bias when calculating the minimal |
| error. Sweep across the samples in time (which could be backward depending on the controller) |
| and calculate the intersection point. |
| (RampController): This controller assumes that the target frame rate is below |
| 58 FPS. It runs in two stages. The first stage quickly determines the order of |
| magnitude of objects needed to stress the system by the setting the complexity |
| to increasingly difficult tiers. Perform a series of ramps descending from a |
| high-water mark of complexity. The complexity needed to reach the target frame |
| length is done by performing a piecewise regression on each ramp, and track a |
| running average of these values. For the next ramp, make that running average |
| the center of the ramp. With a minimum complexity of 0, the high-water mark is |
| twice that average. The score is based on the highest complexity that can |
| reach 60 fps. |
| |
| 2016-02-08 Jon Lee <jonlee@apple.com> |
| |
| Address Said's comments on the benchmark, and do some clean up. |
| |
| * Animometer/developer.html: |
| * Animometer/resources/debug-runner/animometer.css: Add styles for averages. |
| * Animometer/resources/debug-runner/animometer.js: Use the right |
| Strings constants. |
| * Animometer/resources/debug-runner/graph.js: |
| (_addRegressionLine): Add missing code to draw the line and standard |
| deviation highlight. |
| (onGraphTypeChanged): Remove unneeded variables |
| (onTimeGraphOptionsChanged): |
| * Animometer/resources/runner/benchmark-runner.js: |
| (_runBenchmarkAndRecordResults): Rename samplers to suiteResults and |
| _suitesSamplers to _suitesResults. |
| * Animometer/tests/resources/main.js: |
| (results): Call processSamples(). |
| (update): Change sampling timestamp comparison. |
| (_animateLoop): Move shouldStop call to before the update. |
| * Animometer/tests/resources/sampler.js: |
| (process): Rename to processSamples(). |
| |
| 2016-02-07 Jon Lee <jonlee@apple.com> |
| |
| Teach Controller to measure intervals, and turn off the frame length estimator. |
| |
| * Animometer/tests/resources/main.js: Default interval length is 100 ms. |
| (start): Set the first interval. |
| (_measureAndResetInterval): Reports the average frame length of the interval that just |
| completed, and sets up the next interval. |
| (update): If there is no length, then just use the estimator per frame, otherwise the |
| estimator measures per interval. Add a didFinishInterval for subclasses to process |
| prior to recording the sample. Update tune() to include whether an interval had |
| finished. |
| (StepController): Step controllers don't measure on an interval basis. |
| |
| 2016-02-07 Jon Lee <jonlee@apple.com> |
| |
| Minor refactoring. Rename Controller._estimator to Controller._frameLengthEstimator |
| and switch the parameters for start(), update(), and tune(), so that the timestamp |
| is first and stage is second. |
| |
| * Animometer/tests/resources/main.js: |
| |
| 2016-02-07 Jon Lee <jonlee@apple.com> |
| |
| Move ResultsTable functionality not needed for release tests out. |
| Move reporting of score and mean to selection of the time-based graph. |
| |
| * Animometer/developer.html: Rename graph-options to time-graph-options. |
| * Animometer/resources/debug-runner/animometer.js: |
| (DeveloperResultsTable): Moved from runner/animometer.js. Switch from mean |
| values to "average" objects which can hold stdev. Move graph button and |
| calculation of noisy measurements here. Sophisticated header processing |
| is not needed in release suite. |
| (populateTable): Use DeveloperResultsTable. |
| * Animometer/resources/debug-runner/graph.js: Pull time graph creation to |
| its own function, and add a new onGraphTypeChanged handler in preparation |
| of a complexity graph to be added later. |
| * Animometer/resources/runner/animometer.js: |
| (ResultsTable): Simplify to just handle test names and scores. |
| |
| 2016-02-07 Jon Lee <jonlee@apple.com> |
| |
| Tests: reuse objects already made. |
| |
| Avoid thrash of object creation and removal by maintaining an index that |
| moves along the array as the adjust values change. If the tune value |
| requires more objects than the maximum size of the object array, then create |
| new objects. This means that the object array size never decreases. |
| |
| * Animometer/tests/master/resources/canvas-stage.js: Maintain a separate |
| offsetIndex. For these tests, we want to avoid drawing the oldest objects, |
| so the scene will draw the object at offsetIndex to the end of the array. |
| (tune): Reverse the logic since "removal" of objects is much simpler and |
| involves simply changing the offsetIndex. |
| (animate): Update the for loop to draw from offsetIndex to the end. |
| (complexity): Update the definition. |
| * Animometer/tests/master/resources/canvas-tests.js: Maintain a separate |
| offsetIndex. For these tests, we want to avoid drawing the newest objects, |
| so the scene will draw the object at index 0 to the object at offsetIndex. |
| (SimpleCanvasStage.animate): Fly-by removal of local stage variable, |
| which is unneeded. Update the for loop to draw from offsetIndex to the end. |
| * Animometer/tests/simple/resources/simple-canvas-paths.js: |
| (SimpleCanvasStage.animate): Update the for loop to draw from 0 to |
| offsetIndex. |
| * Animometer/tests/simple/resources/simple-canvas.js: |
| (tune): Update logic. Here, offsetIndex represents the boundary of the last |
| index to render. |
| (animate): Update the for loop to draw from 0 to offsetIndex. |
| (complexity): Update the definition. |
| |
| 2016-02-07 Jon Lee <jonlee@apple.com> |
| |
| Tests: refactor and update styles. |
| |
| * Animometer/tests/resources/main.js: Add helper methods that return |
| a color that hue rotates based on the date, and a counter value that |
| increases based on the date. Fix randomInt() to not bias against the min and |
| max values. |
| |
| * Animometer/tests/master/resources/canvas-tests.js: Use new helper methods. |
| * Animometer/tests/master/resources/dom-particles.js: Ditto. |
| * Animometer/tests/master/resources/particles.js: Ditto. |
| * Animometer/tests/simple/resources/simple-canvas-paths.js: Refactor to |
| use a rotating color instead of a random color. The fast switching of color |
| is too vivid to watch. |
| |
| * Animometer/tests/bouncing-particles/resources/bouncing-svg-shapes.js: |
| (BouncingSvgParticlesStage.call.createGradient): Fix the gradient so |
| that the last stop is located at the end. |
| |
| 2016-02-07 Jon Lee <jonlee@apple.com> |
| |
| Refactor tune() to not return the complexity of the scene. |
| |
| We have stage.complexity() now, so returning the complexity through tune |
| is unnecessary. |
| |
| * Animometer/tests/bouncing-particles/resources/bouncing-particles.js: |
| * Animometer/tests/master/resources/canvas-stage.js: |
| * Animometer/tests/master/resources/particles.js: |
| * Animometer/tests/misc/resources/canvas-electrons.js: |
| * Animometer/tests/misc/resources/canvas-stars.js: |
| * Animometer/tests/resources/main.js: |
| * Animometer/tests/simple/resources/simple-canvas.js: |
| * Animometer/tests/simple/resources/tiled-canvas-image.js: |
| * Animometer/tests/template/resources/template-canvas.js: |
| * Animometer/tests/template/resources/template-css.js: |
| * Animometer/tests/template/resources/template-svg.js: |
| * Animometer/tests/text/resources/layering-text.js: |
| |
| 2016-02-07 Jon Lee <jonlee@apple.com> |
| |
| Make the fixed controller a step controller instead. Halfway through the test |
| it will bump up the complexity 4-fold. Calculate the step timestamp using options |
| instead of a separate parameter to the Controller constructor. |
| |
| * Animometer/developer.html: Change value to "step" |
| * Animometer/resources/debug-runner/animometer.js: |
| (window.suitesManager.updateEditsElementsState): Show number inputs when set to "step". |
| * Animometer/tests/resources/main.js: |
| (update): Provide a hook for subclasses to tune. |
| (StepController): Maintain a flag determining whether we've stepped, and the time |
| we should step. |
| (Benchmark): Use the new StepController. |
| |
| 2016-02-07 Jon Lee <jonlee@apple.com> |
| |
| Adjust the FPS graph scale. |
| |
| Instead of making the FPS graph linearly scale, scale it based on the frame length, |
| but show the data in terms of FPS. Because it is inversely proportional, and most |
| of the data never gets below 20, concentrate the axis from 20-60 FPS, since otherwise |
| over half of the available graph space ends up blank. |
| |
| This means we should convert all of the FPS data to frame length data. |
| |
| * Animometer/resources/debug-runner/graph.js: Update the domain to be based on |
| frame length in milliseconds instead of FPS. Update the cursor to consider all of the |
| values being shown, and then pick the min and max values to represent the length of the |
| cursor. |
| * Animometer/resources/runner/animometer.js: |
| * Animometer/resources/strings.js: |
| * Animometer/tests/resources/main.js: |
| (processSamples): Add the ability to only sample a range of the data instead of everything |
| after an offset index. Update sampler to record the frame lengths instead of the frame |
| rate. |
| |
| 2016-02-07 Jon Lee <jonlee@apple.com> |
| |
| Add option to use different methods for retrieving a timestamp. |
| |
| * Animometer/developer.html: Add performance.now and Date.now options. |
| * Animometer/resources/runner/animometer.js: Default to performance.now. |
| (window.benchmarkController.startBenchmark): |
| * Animometer/tests/resources/main.js: Tie the desired method to _getTimestamp. |
| (run): Use _getTimestamp. |
| (_animateLoop): Ditto. |
| |
| 2016-02-07 Jon Lee <jonlee@apple.com> |
| |
| Allow adding any number of markers to the graph. The markers can be labeled |
| and contain timestamp and sample index data. Make it a part of the controller |
| rather than keeping it in the sampler. |
| |
| * Animometer/resources/debug-runner/animometer.css: Add styles for markers |
| * Animometer/resources/debug-runner/graph.js: Create the markers and add |
| text labels. |
| * Animometer/resources/runner/animometer.js: Assume the samplingTimeOffset |
| is just one of the marks provided. |
| * Animometer/resources/strings.js: Add Strings.json.marks. |
| * Animometer/tests/resources/main.js: |
| (Controller): Keep marks here. They are keyed by the marker name, so no two |
| markers should have the same name. |
| (recordFirstSample): Refactor to use mark. |
| (mark): Allows for arbitrary data if needed later. The timestamp maintained |
| is relative to the absolute start timestamp. |
| (containsMark): Checks whether a mark with a specific comment exists. |
| (processSamples): Removes the _startTimestamp offset from the marks before |
| setting it in results. |
| * Animometer/tests/resources/sampler.js: Remove marks. |
| |
| 2016-02-07 Jon Lee <jonlee@apple.com> |
| |
| Get rid of options member variable in Benchmark. |
| |
| Options are only needed when initializing the stage or benchmark, so there's no |
| need to also keep a reference to it. |
| |
| * Animometer/tests/resources/main.js: Get rid of options variable in Benchmark. |
| Pass options to Controllers and Stages. |
| (Controller.Utilities.createClass): |
| (Benchmark.Utilities.createClass): |
| (get options): Deleted. |
| |
| * Animometer/tests/bouncing-particles/resources/bouncing-canvas-images.js: |
| * Animometer/tests/bouncing-particles/resources/bouncing-canvas-particles.js: |
| * Animometer/tests/bouncing-particles/resources/bouncing-canvas-shapes.js: |
| * Animometer/tests/bouncing-particles/resources/bouncing-css-images.js: |
| * Animometer/tests/bouncing-particles/resources/bouncing-css-shapes.js: |
| * Animometer/tests/bouncing-particles/resources/bouncing-particles.js: |
| * Animometer/tests/bouncing-particles/resources/bouncing-svg-images.js: |
| * Animometer/tests/bouncing-particles/resources/bouncing-svg-shapes.js: |
| * Animometer/tests/master/resources/canvas-stage.js: |
| * Animometer/tests/master/resources/canvas-tests.js: |
| * Animometer/tests/master/resources/particles.js: |
| * Animometer/tests/misc/resources/canvas-electrons.js: |
| * Animometer/tests/misc/resources/canvas-stars.js: |
| * Animometer/tests/misc/resources/compositing-transforms.js: |
| * Animometer/tests/simple/resources/simple-canvas-paths.js: |
| * Animometer/tests/simple/resources/tiled-canvas-image.js: |
| * Animometer/tests/template/resources/template-canvas.js: |
| * Animometer/tests/template/resources/template-css.js: |
| * Animometer/tests/template/resources/template-svg.js: |
| * Animometer/tests/text/resources/layering-text.js: |
| |
| 2016-02-07 Jon Lee <jonlee@apple.com> |
| |
| Update how the benchmark is run |
| https://bugs.webkit.org/show_bug.cgi?id=153960 |
| |
| Provisionally reviewed by Said Abou-Hallawa. |
| |
| Introduce the notion of a Controller. It is responsible for recording, updating, |
| and processing the statistics and complexity of the benchmark. This allows |
| plugging in different Controllers. |
| |
| This strips most of the functionality from Animator and BenchmarkState, so fold |
| what's left into Benchmark. Now, Benchmarks only own a stage and a controller, but |
| are responsible for driving the animation loop. |
| |
| Rewrite Animator._shouldRequestAnotherFrame into two different Controllers. One |
| maintains a fixed complexity, and the other adapts the complexity to meet a |
| fixed FPS. |
| |
| Fix the Kalman estimator to be modeled on a scalar variable with no model. |
| |
| * Animometer/tests/resources/main.js: Remove BenchmarkState and Animator, and |
| replace it with a Controller. Add a FixedController and refactor the previous controller |
| to an AdaptiveController. |
| |
| (Controller): Controllers own the estimator and the sampler. When a new frame is |
| displayed, the animation loop calls update(). The estimator and sampler record |
| stats, then tune. Samplers can track multiple series of data. The basic controller |
| tracks timestamp, complexity, and estimated frame rate. |
| The Kalman estimation is based on the frame length rather than the frame |
| rate. Because FPS is inverse proportional to frame length, in the case where the measured |
| frame length is very small, the FPS ends up being a wildly large number (in the order of |
| 600-1000 "FPS"), and it pulls the estimator up drastically enough that it takes a while |
| for it to settle back down. Using frame length reduces the impact of these spikes. |
| Converging the estimation takes enough time to avoid initializing it immediately |
| when the benchmark starts. Instead, the benchmark runs for a brief period of time (100ms) |
| before running it in earnest. Allow controllers an opportunity to set the complexity |
| before starting recording. |
| When the benchmark is complete, the controller has an opportunity to process |
| the samples. The default implementation calculates the raw FPS based on the time |
| difference of the samples, and calculates the complexity score. This is moved from |
| Benchmark.processSamples. |
| |
| (Controller): Initialize timestamps. These are at first relative to the start of the |
| benchmark, but are offset by the absolute start time during start(). By default maintain |
| 3 data series, but subclasses can override. |
| (start): Calls recordFirstSample() for subclasses to override if needed. |
| (recordFirstSample): For basic controller, start sampling at the beginning. |
| (update): Update the frame length estimator and sample. |
| (shouldStop): Checks that the time is before _endTimestamp. |
| (results): Returns the processed samples. |
| (processSamples): Iterate through the sample data and collate them. Include scores. |
| |
| (FixedComplexityController): Controller that tunes the stage to the desired complexity |
| prior to starting, and keeps it at that complexity. |
| |
| (AdaptiveController): Have the estimator estimate the interval frame rate instead of the |
| raw frame rate. |
| The previous version of this controller ignored the frame that came after the |
| adjustment. The raw FPS show that whatever noise the scene change adds is negligible |
| compared to the noise of the system overall. Stop ignoring that frame and include all |
| frames in the measurements. |
| |
| (Benchmark): Remove dependency on animator, and instantiate a runner based on what is |
| selected. Most of the loop's functionality is in Controller, so remove here. |
| (Benchmark.run): Remove start() since it is only called from run(), and fold it in here. |
| (Benchmark._animateLoop): Fold in from Animator.animateLoop. Let the benchmark run for |
| a brief period before calling Controller.start(). |
| |
| * Animometer/tests/resources/math.js: Fix the Kalman estimator. The filter estimates |
| a scalar variable, and makes basic assumptions regarding the model. As a result |
| none of the linear algebra classes are needed, so remove Matrix, Vector3, and Matrix3. |
| (SimpleKalmanEstimator): Calculate the gain based on the provided process and |
| measurement errors. |
| (KalmanEstimator): Deleted. |
| (IdentityEstimator): Deleted. |
| (PIDController): Refactor to use the Utilities.createClass() helper. |
| |
| The Kalman filter algorithm is explained here http://greg.czerniak.info/guides/kalman1/. |
| The state, represented by a scalar, is the estimated frame length. There is no user |
| transition of the state, and the state is the same as the measurement. With this model, |
| the estimation error converges, so calculate the gain ahead of time. |
| |
| * Animometer/developer.html: Remove fixed-after-warmup since it is not useful. |
| Replace the option to toggle the estimator, and make it possible to customize the |
| estimator's error parameters. Show raw FPS by default, and remove interval FPS, |
| which will be shown instead of the filtered raw FPS. |
| * Animometer/resources/debug-runner/animometer.css: Put the header behind the graph. |
| Remove #intervalFPS rules; move the color to #filteredFPS. |
| * Animometer/resources/debug-runner/graph.js: |
| (updateGraphData): Update the hr style to force the layout to be calculated |
| correctly. Change the tick format to be in terms of seconds, since the timestamps |
| are in milliseconds. Remove interval data. |
| * Animometer/resources/runner/animometer.js: |
| (window.benchmarkController.startBenchmark): Set Kalman parameters. |
| * Animometer/resources/runner/benchmark-runner.js: |
| (_runBenchmarkAndRecordResults): When a benchmark completes, expect it to return |
| the final data, rather than passing a sampler from the controller. This avoids |
| needing to expose the sampler variable in the benchmark. |
| * Animometer/tests/resources/sampler.js: |
| (process): Move the setting of the target frame rate to AdaptiveController. |
| |
| 2016-02-06 Jon Lee <jonlee@apple.com> |
| |
| Code clean up: Move Rotater function closer to Stage static methods. |
| The Rotater is used together with those methods; keep them close. |
| |
| * Animometer/tests/resources/main.js: |
| |
| 2016-02-06 Jon Lee <jonlee@apple.com> |
| |
| Update the JS includes due to ResultsTable move. |
| |
| * Animometer/developer.html: |
| * Animometer/index.html: |
| |
| 2016-02-06 Jon Lee <jonlee@apple.com> |
| |
| Move createElement and createSVGElement to Utilities. |
| |
| * Animometer/resources/extensions.js: |
| (Utilities.createElement): Added. |
| (Utilities.createSVGElement): Added. |
| (DocumentExtension.createElement): Deleted. |
| (DocumentExtension.createSvgElement): Deleted. |
| |
| * Animometer/resources/debug-runner/animometer.js: |
| * Animometer/resources/runner/animometer.js: |
| * Animometer/tests/bouncing-particles/resources/bouncing-svg-images.js: |
| * Animometer/tests/bouncing-particles/resources/bouncing-svg-particles.js: |
| * Animometer/tests/bouncing-particles/resources/bouncing-svg-shapes.js: |
| |
| 2016-02-06 Jon Lee <jonlee@apple.com> |
| |
| Add a convenience function for creating a class. |
| |
| The pattern for creating a class is common enough to add as a Utilities |
| helper function. It also makes it easy to collapse class definitions when |
| editing. |
| |
| * Animometer/resources/debug-runner/animometer.js: Move ProgressBar definition, |
| since it is only used here. |
| * Animometer/resources/runner/animometer.js: Move ResultsDashboard and |
| ResultsTable definition, since it is only used here. |
| * Animometer/resources/extensions.js: Move Utilities definition to the top. Convert |
| Point, Insets, SimplePromise. |
| (ProgressBar): Moved to animometer.js. |
| (ResultsDashboard): Moved to animometer.js. |
| (ResultsTable): Moved to animometer.js. |
| * Animometer/resources/runner/benchmark-runner.js: Convert BenchmarkRunnerState, |
| BenchmarkRunner. |
| * Animometer/tests/resources/main.js: Convert Rotater, Stage, Animator, Benchmark. |
| * Animometer/tests/resources/sampler.js: Convert Experiment, Sampler. |
| |
| Convert test primitives. |
| * Animometer/tests/master/resources/canvas-tests.js: Convert CanvasLineSegment, |
| CanvasArc, CanvasLinePoint. |
| * Animometer/tests/simple/resources/simple-canvas-paths.js: Convert CanvasLineSegment, |
| CanvasLinePoint, CanvasQuadraticSegment, CanvasQuadraticPoint, CanvasBezierSegment, |
| CanvasBezierPoint, CanvasArcToSegment, CanvasArcToSegmentFill, CanvasArcSegment, |
| CanvasArcSegmentFill, CanvasRect, CanvasRectFill. |
| * Animometer/tests/simple/resources/tiled-canvas-image.js: Convert CanvasImageTile. |
| |
| 2016-02-06 Jon Lee <jonlee@apple.com> |
| |
| Minor improvements to debug harness. |
| |
| * Animometer/developer.html: |
| * Animometer/resources/debug-runner/animometer.css: |
| (#suites): Put the complexity text boxes closer to the test names. |
| (#options): |
| (#rawFPS circle): Make the interval FPS appear as a separate data series, with a line. |
| (#intervalFPS path): |
| (#intervalFPS circle): |
| * Animometer/resources/debug-runner/animometer.js: |
| (window.optionsManager.updateLocalStorageFromUI): Convert number inputs from text. |
| (window.suitesManager._onChangeTestCheckbox): Refactor to take a checkbox. |
| (window.suitesManager._createTestElement): Enhance such that typing into the complexity |
| input will automatically select that test for running. |
| (window.suitesManager.updateLocalStorageFromJSON): Make the harness work for private |
| browsing. |
| * Animometer/resources/debug-runner/graph.js: Separate the intervalFPS data, and show |
| more accuracy in timestamps. |
| |
| 2016-02-06 Jon Lee <jonlee@apple.com> |
| |
| Refactor helper methods for getting random values for a stage. |
| |
| Instead of requiring a Stage instance, just attach it to the Stage object. |
| |
| * Animometer/tests/bouncing-particles/resources/bouncing-canvas-shapes.js: |
| * Animometer/tests/bouncing-particles/resources/bouncing-css-shapes.js: |
| * Animometer/tests/bouncing-particles/resources/bouncing-particles.js: |
| * Animometer/tests/bouncing-particles/resources/bouncing-svg-shapes.js: |
| * Animometer/tests/master/resources/canvas-tests.js: |
| * Animometer/tests/master/resources/particles.js: |
| * Animometer/tests/misc/resources/canvas-electrons.js: |
| * Animometer/tests/misc/resources/canvas-stars.js: |
| * Animometer/tests/misc/resources/compositing-transforms.js: |
| * Animometer/tests/resources/main.js: |
| * Animometer/tests/simple/resources/simple-canvas-paths.js: |
| |
| 2016-02-05 Said Abou-Hallawa <sabouhallawa@apple.com> |
| |
| Add a new graphics test for CanvasRenderingContext2D functions: getImageData and putImageData |
| https://bugs.webkit.org/show_bug.cgi?id=151716 |
| |
| Reviewed by Darin Adler. |
| |
| The purpose of this test is to measure the performance of getImageData |
| and putImageData functions. This test draws a background on the canvas |
| and then gets some random tiles from this background and draw them in |
| destinations different from their original sources. |
| |
| * Animometer/resources/debug-runner/tests.js: Adding the new test to the canvas simple tests suite. |
| |
| * Animometer/resources/extensions.js: |
| (Array.prototype.shuffle): Shuffles the elements of an array. |
| |
| (Point.zero): Returns a new Point object whose x and y are equal zero. |
| (Point.prototype.str): Used for debugging the Point object. |
| |
| * Animometer/tests/simple/resources/tiled-canvas-image.js: Added. |
| (CanvasImageTile): |
| (CanvasImageTile.prototype.getImageData): |
| (CanvasImageTile.prototype.putImageData): |
| (Stage.call.initialize): |
| (Stage.call._createTiles): |
| (Stage.call._nextTilePosition): |
| (Stage.call.tune): |
| (Stage.call._drawBackground): |
| (Stage.call.animate): |
| (Stage.call.complexity): |
| (Stage.call): |
| * Animometer/tests/simple/tiled-canvas-image.html: Added. |
| |
| 2016-01-07 Jon Lee <jonlee@apple.com> |
| |
| Fix new test. |
| |
| * Animometer/resources/runner/tests.js: Wrong URL from an |
| old patch. |
| * Animometer/tests/master/particles.html: |
| * Animometer/tests/master/resources/dom-particles.js: |
| (Particle.call.reset): Figured out a simpler way to set up |
| the particles. |
| (this.move.reset): Deleted. |
| (this.move._applyAttributes): Deleted. |
| * Animometer/tests/master/resources/particles.js: |
| (Particle): Call move() after reset(). |
| |
| 2016-01-07 Jon Lee <jonlee@apple.com> |
| |
| Update benchmark test suite |
| https://bugs.webkit.org/show_bug.cgi?id=152679 |
| |
| Reviewed by Simon Fraser. |
| |
| Add a new test. The test has a rotating background |
| gradient, and does a better job physically simulating |
| particles. |
| |
| * Animometer/resources/extensions.js: Teach Point to take constants as well as other Points. |
| (Point.prototype.length): Added. |
| (Point.prototype.normalize): Added. |
| * Animometer/resources/runner/tests.js: Add the test to the master suite. |
| * Animometer/tests/master/particles.html: Added. |
| * Animometer/tests/master/resources/particles.js: Added. Parent class for different kinds of particles. |
| (Particle): |
| (Particle.prototype.reset): If the particle starts slowing down in terms of its animation, |
| reset it. |
| (Particle.prototype.animate): Bounce off the walls elastically, and include gravity. |
| (Particle.prototype.move): Subclasses should override. |
| (ParticlesStage): Stage includes a rotating gradient background. |
| * Animometer/tests/master/resources/dom-particles.js: Added. Creates a <div> and adds it to |
| the stage. |
| * Animometer/tests/resources/star.svg: Added. |
| |
| 2016-01-03 Jon Lee <jonlee@apple.com> |
| |
| Update benchmark test suite |
| https://bugs.webkit.org/show_bug.cgi?id=152679 |
| |
| Reviewed by Simon Fraser. |
| |
| Move algorithm.js and sampler.js to tests/ and benchmark-runner.js to runner/. |
| |
| Needed by both harnesses. |
| * Animometer/resources/runner/benchmark-runner.js: Renamed from PerformanceTests/Animometer/resources/debug-runner/benchmark-runner.js. |
| * Animometer/developer.html: |
| * Animometer/index.html: |
| |
| Needed only by the tests. Move to tests/. Statistics, in sampler.js, is used by ResultsDashboard, so move that |
| into extensions.js. |
| * Animometer/resources/extensions.js: |
| * Animometer/tests/resources/algorithm.js: Renamed from PerformanceTests/Animometer/resources/algorithm.js. |
| * Animometer/tests/resources/sampler.js: Renamed from PerformanceTests/Animometer/resources/sampler.js. |
| * Animometer/tests/bouncing-particles/bouncing-canvas-images.html: |
| * Animometer/tests/bouncing-particles/bouncing-canvas-shapes.html: |
| * Animometer/tests/bouncing-particles/bouncing-css-images.html: |
| * Animometer/tests/bouncing-particles/bouncing-css-shapes.html: |
| * Animometer/tests/bouncing-particles/bouncing-svg-images.html: |
| * Animometer/tests/bouncing-particles/bouncing-svg-shapes.html: |
| * Animometer/tests/master/canvas-stage.html: |
| * Animometer/tests/misc/canvas-electrons.html: |
| * Animometer/tests/misc/canvas-stars.html: |
| * Animometer/tests/misc/compositing-transforms.html: |
| * Animometer/tests/simple/simple-canvas-paths.html: |
| * Animometer/tests/template/template-canvas.html: |
| * Animometer/tests/template/template-css.html: |
| * Animometer/tests/template/template-svg.html: |
| * Animometer/tests/text/layering-text.html: |
| * Animometer/tests/text/text-boxes.html: |
| |
| 2016-01-07 Jon Lee <jonlee@apple.com> |
| |
| Update benchmark test suite |
| https://bugs.webkit.org/show_bug.cgi?id=152679 |
| |
| Reviewed by Simon Fraser. |
| |
| Fix tests for other browsers. |
| |
| * Animometer/resources/extensions.js: |
| (Point.elementClientSize): Some browsers return 0 for SVG clientWidth and clientHeight. |
| Use getBoundingClientRect() instead. |
| * Animometer/tests/misc/resources/canvas-electrons.js: |
| (CanvasElectron.prototype._draw): Some browsers don't support ellipse. |
| |
| 2016-01-07 Jon Lee <jonlee@apple.com> |
| |
| Add a waitUntilReady() step |
| https://bugs.webkit.org/show_bug.cgi?id=152862 |
| |
| Reviewed by Simon Fraser. |
| |
| Add a waitUntilReady() callback that lets the benchmark complete |
| its setup before running the benchmark. |
| |
| * Animometer/tests/resources/main.js: |
| (Benchmark.prototype.run): First call waitUntilReady, which returns |
| a promise. When the promise resolves, run everything that was in this |
| function. |
| (Benchmark.prototype.waitUntilReady): Default implementation returns |
| a resolved promise. |
| (Benchmark.prototype.resolveWhenFinished): Deleted. |
| * Animometer/tests/template/resources/template-canvas.js: |
| (new.TemplateCanvasStage.waitUntilReady): Example on how to override. |
| |
| 2016-01-03 Jon Lee <jonlee@apple.com> |
| |
| Update data reporting and analysis |
| https://bugs.webkit.org/show_bug.cgi?id=152670 |
| |
| Reviewed by Simon Fraser. |
| |
| Show new graph data. Provide controls to show different series data. Provide an |
| interactive cursor that shows the data at a given sample. |
| |
| * Animometer/developer.html: Add a nav section in #results. Each part of the graph |
| has a checkbox for visual toggling, as well as companion spans to contain the data. |
| The numbers will always be shown even if the SVG isn't. |
| * Animometer/resources/debug-runner/animometer.css: |
| (#suites): Adjust spacing when doing fixed complexity. |
| (#test-graph nav): Place the nav in the upper right corner. |
| (#test-graph-data > svg): Fix the FPS scale from 0-60. It makes the raw FPS goes past |
| that scale. Allow it to show. |
| (.target-fps): Add a dotted line for where the benchmark is supposed to settle for FPS. |
| (#cursor line): The cursor contains a line and highlight circles for the data being shown. |
| (#cursor circle): |
| (#complexity path): This and rules afterward are named by series type. |
| (#complexity circle): |
| (#filteredFPS path): |
| (#filteredFPS circle): |
| (#rawFPS path): |
| (#intervalFPS circle): |
| (.left-samples): Deleted. |
| (.right-samples): Deleted. |
| * Animometer/resources/debug-runner/animometer.js: |
| (initialize): Add a "changed" listener when the checkboxes change in the nav. |
| (onBenchmarkOptionsChanged): Renamed. |
| (showTestGraph): All graph data is passed in as graphData instead of as arguments. |
| * Animometer/resources/debug-runner/graph.js: Extend BenchmarkController. When showing |
| a new graph, call updateGraphData(). It creates all of the d3 graphs. onGraphOptionsChanged() |
| toggles the data on and off. |
| (updateGraphData): Add the axes. Add the average lines and markers for sample time and |
| target FPS. Add the cursor group. Use helper function addData() to add the data. On top of |
| everything add a transparent area which will catch all of the mouse events. When the mouse |
| moves in the graph, find the closest data point, show the data in the nav area, and highlight |
| the data points. |
| (addData): Adds a line and circle for each data point. Also adds a highlight cursor with a |
| size a little larger than the circle radius for the data points. |
| (onGraphOptionsChanged): Called when data is visually toggled. |
| (showOrHideNodes): Helper function to toggle the .hidden class. |
| * Animometer/resources/extensions.js: |
| (ResultsDashboard.prototype.get data): Get rid of the arguments for _processData. |
| (ResultsTable.prototype._addGraphButton): Shove all of the graph data into a singular object. |
| |
| Producing the JSON can take a while with all of the data. Make it on-demand with a |
| button. |
| |
| * Animometer/resources/debug-runner/animometer.js: |
| (showResults): When showing the results, don't serialize the JSON data. Move that to... |
| (showJSONResults): ...here. Remove the button. |
| |
| * Animometer/developer.html: Add a button. The button will remove itself and populate |
| the textarea with the JSON data. |
| * Animometer/resources/debug-runner/animometer.css: |
| (.hidden): Add a universal hidden class. |
| (#results button.small-button): Promote the small-button styles to the whole results |
| section for use in the JSON button. |
| (#results button.small-button:active): |
| (#results-data button.small-button): Deleted. |
| (#results-data button.small-button:active): Deleted. |
| |
| Refactor how Animator does its recording. |
| |
| * Animometer/tests/resources/math.js: Create a new, simple estimator that just returns |
| the same interval frame rate for adjustment. |
| * Animometer/tests/resources/main.js: |
| (Animator): Remove _dropFrameCount, and make variables more accurate described. |
| (Animator.prototype.initialize): Use the identity estimator instead of using a bool. |
| (Animator.prototype._intervalTimeDelta): Rename, only used internally. |
| (Animator.prototype._shouldRequestAnotherFrame): Assume we drop one frame for adjustment |
| of the scene. If we are within the number of frames to measure for the interval, just |
| record the timestamp. Otherwise we are ready to evaluate and adjust the scene. Record |
| the interval frame rate and the estimator's frame rate. |
| |
| Avoid processing the data through the Experiment while the test is running. Reconfigure |
| the sampler to just record the raw samples. After the test is done, run the samples through |
| the Experiment to get the score. |
| |
| * Animometer/resources/sampler.js: |
| (Experiment): Fold _init() into the constructor since nobody else will call it. This is not |
| needed until the test concludes, so remove startSampling(). Clients should just call sample(). |
| (Sampler): Pre-allocate arrays given the number of data points being recorded, and a capacity |
| of how many samples will be used. The processor is a called when it's time to process the data |
| since that is the client also telling the Sampler what to record. |
| Introduce the notion of marks as well, which allows the client to mark when an |
| event occurs. When we mark sample start, we can attach the timestamp there, instead of storing |
| it separately. |
| (Sampler.prototype.startSampling): Deleted. Clients should just call record(). |
| (Sampler.prototype.record): The data to record is passed in as variable arguments. |
| (Sampler.prototype.mark): When adding a mark, a client needs to provide a unique string, and |
| can provide extra data object for later retrieval. |
| (Sampler.prototype.process): Renamed from toJSON. Trim the sampling arrays to what was used. |
| Call the processor to process the samples. |
| * Animometer/resources/debug-runner/benchmark-runner.js: |
| (BenchmarkRunner.prototype._runBenchmarkAndRecordResults): Call process(). |
| |
| * Animometer/resources/strings.js: Add some new strings, remove the graph ones since they are |
| not used. |
| * Animometer/tests/resources/main.js: |
| (Benchmark): Create a sampler with 4 series. The maximum number of points expected is the |
| number of seconds multiplied by 60 fps. Benchmark, as a client of the Sampler, knows about all |
| of the data being added to the Sampler. It is added through record(), and processed through |
| processSamples(). |
| (Benchmark.prototype.update): Mark when we've passed warmup and are starting to sample. Include |
| the timestamp in the custom data for the mark. This avoids the need to store is separately in |
| the Sampler. Fold what was in record() here, since nothing else needs this functionality. |
| record() now just relays the information to the sampler. |
| (Benchmark.prototype.record): Called by Animator, which provides the data to the sampler. |
| Animator's calls to this is part of a later patch. Requires each stage to return its complexity. |
| (Benchmark.prototype.processSamples): If the sampling mark exists, add it to the results. |
| Go through all of the samples. All samples contain a timestamp and complexity. We |
| calculate "raw FPS" which is the time differential from the previous sample. At regular intervals |
| the Kalman-filtered FPS and the interval average FPS are also recorded. We also create two |
| experiments, to get the scores for the complexity and smoothed FPS, and add those samples to |
| the experiments. Grab those scores and add them into results also. |
| |
| Add complexity() to the tests for Benchmark.record(). |
| * Animometer/tests/bouncing-particles/resources/bouncing-particles.js: |
| * Animometer/tests/misc/resources/canvas-electrons.js: |
| * Animometer/tests/misc/resources/canvas-stars.js: |
| * Animometer/tests/text/resources/layering-text.js: |
| |
| 2015-12-27 Jon Lee <jonlee@apple.com> |
| |
| Simplify the test harness |
| https://bugs.webkit.org/show_bug.cgi?id=152562 |
| |
| Reviewed by Simon Fraser. |
| |
| Update the simple canvas tests. For the paths, start from the center instead of the |
| top-left corner. Instead of using a coordinate limit, use a canonized factor, and |
| use that along both the x and y axes, so that more capable tests use more of the |
| canvas. |
| |
| * Animometer/tests/simple/resources/simple-canvas-paths.js: |
| (CanvasLinePoint): Rewrite to use the coordinate maximum factor. |
| (CanvasQuadraticPoint): Ditto. |
| (CanvasBezierPoint): Ditto. |
| * Animometer/tests/simple/resources/simple-canvas.js: |
| (tune): Calculate a factor instead of a maximum coordinate. |
| |
| 2015-12-27 Jon Lee <jonlee@apple.com> |
| |
| Simplify the test harness |
| https://bugs.webkit.org/show_bug.cgi?id=152562 |
| |
| Reviewed by Simon Fraser. |
| |
| All of the benchmarks use the default Animator(). Don't require new tests |
| to pass a new instance, and instead just make one in the Benchmark constructor. |
| |
| * Animometer/tests/bouncing-particles/resources/bouncing-canvas-images.js: |
| * Animometer/tests/bouncing-particles/resources/bouncing-canvas-shapes.js: |
| * Animometer/tests/bouncing-particles/resources/bouncing-css-images.js: |
| * Animometer/tests/bouncing-particles/resources/bouncing-css-shapes.js: |
| * Animometer/tests/bouncing-particles/resources/bouncing-svg-images.js: |
| * Animometer/tests/bouncing-particles/resources/bouncing-svg-shapes.js: |
| * Animometer/tests/master/resources/canvas-tests.js: |
| * Animometer/tests/misc/resources/canvas-electrons.js: |
| * Animometer/tests/misc/resources/canvas-stars.js: |
| * Animometer/tests/misc/resources/compositing-transforms.js: |
| * Animometer/tests/resources/main.js: |
| * Animometer/tests/simple/resources/simple-canvas-paths.js: |
| * Animometer/tests/template/resources/template-canvas.js: |
| * Animometer/tests/template/resources/template-css.js: |
| * Animometer/tests/template/resources/template-svg.js: |
| * Animometer/tests/text/resources/layering-text.js: |
| * Animometer/tests/text/resources/text-boxes.js: |
| |
| Refactor the template. |
| |
| * Animometer/tests/template/resources/template-canvas.js: |
| * Animometer/tests/template/resources/template-css.js: |
| * Animometer/tests/template/resources/template-svg.js: |
| * Animometer/tests/template/template-canvas.html: |
| * Animometer/tests/template/template-css.html: |
| * Animometer/tests/template/template-svg.html: |
| |
| Refactor the SVG suite. |
| |
| * Animometer/tests/bouncing-particles/bouncing-svg-images.html: Move scripts to the end. |
| * Animometer/tests/bouncing-particles/bouncing-svg-shapes.html: Ditto. |
| |
| * Animometer/tests/bouncing-particles/bouncing-canvas-shapes.html: Remove extraneous includes |
| to stage.js. |
| * Animometer/tests/text/text-boxes.html: Ditto. |
| |
| BouncingCanvasParticlesBenchmark is not necessary. Use Benchmark directly when subclassing. |
| * Animometer/tests/bouncing-particles/resources/bouncing-canvas-particles.js: Remove |
| BouncingCanvasParticlesBenchmark. |
| * Animometer/tests/bouncing-particles/resources/bouncing-canvas-images.js: Use Benchmark. |
| * Animometer/tests/bouncing-particles/resources/bouncing-canvas-shapes.js: Ditto. |
| |
| * Animometer/tests/bouncing-particles/resources/bouncing-svg-particles.js: Require the shape |
| in the constructor instead of having subclasses set the private variable. |
| |
| * Animometer/tests/bouncing-particles/resources/bouncing-svg-images.js: Refactor. |
| * Animometer/tests/bouncing-particles/resources/bouncing-svg-shapes.js: |
| |
| Refactor the HTML suite. |
| |
| Move scripts to the end. |
| * Animometer/tests/bouncing-particles/bouncing-css-images.html: |
| * Animometer/tests/bouncing-particles/bouncing-css-shapes.html: |
| * Animometer/tests/text/layering-text.html: |
| * Animometer/tests/text/text-boxes.html: |
| |
| Refactor to use the new variables. |
| * Animometer/tests/bouncing-particles/resources/bouncing-css-images.js: |
| * Animometer/tests/bouncing-particles/resources/bouncing-css-shapes.js: |
| * Animometer/tests/text/resources/layering-text.js: |
| * Animometer/tests/text/resources/text-boxes.js: |
| |
| Refactor the bouncing canvas tests. |
| |
| * Animometer/tests/bouncing-particles/bouncing-canvas-images.html: Move scripts to the end. |
| * Animometer/tests/bouncing-particles/bouncing-canvas-shapes.html: Move scripts to the end. |
| |
| * Animometer/tests/bouncing-particles/resources/bouncing-particles.js: Promote a few |
| properties to "public" since they are used by subclasses. |
| (BouncingParticlesStage): Fix the constructor, which was missing "this". Make particles |
| "public" for subclasses. |
| (BouncingParticlesStage.initialize): Fix the max velocity, which was accidentally changed. |
| * Animometer/tests/misc/resources/compositing-transforms.js: Refactor. |
| |
| * Animometer/tests/bouncing-particles/resources/bouncing-canvas-particles.js: |
| BouncingCanvasParticlesAnimator is no longer needed. |
| (BouncingCanvasParticle): Change constructor to take a shape as a parameter instead of |
| having subclasses set the variable. |
| |
| * Animometer/tests/bouncing-particles/resources/bouncing-canvas-images.js: Refactor. |
| * Animometer/tests/bouncing-particles/resources/bouncing-canvas-shapes.js: Refactor. |
| |
| Move example/ files into misc/. |
| |
| * Animometer/tests/misc/canvas-electrons.html: Renamed from PerformanceTests/Animometer/tests/examples/canvas-electrons.html. |
| * Animometer/tests/misc/canvas-stars.html: Renamed from PerformanceTests/Animometer/tests/examples/canvas-stars.html. |
| * Animometer/tests/misc/resources/canvas-electrons.js: Renamed from PerformanceTests/Animometer/tests/examples/resources/canvas-electrons.js. |
| * Animometer/tests/misc/resources/canvas-stars.js: Renamed from PerformanceTests/Animometer/tests/examples/resources/canvas-stars.js. |
| |
| * Animometer/resources/debug-runner/tests.js: Update test URLs. |
| |
| Refactor miscellaneous suite. |
| |
| * Animometer/tests/bouncing-particles/resources/bouncing-particles.js: |
| Remove BouncingParticlesAnimator and BouncingParticleBenchmark, which are |
| not needed. |
| (tune): Remove console assert. |
| * Animometer/tests/resources/main.js: Add Rotater back in from stage.js. |
| |
| * Animometer/tests/examples/resources/canvas-electrons.js: Remove CanvasElectronsAnimator. |
| * Animometer/tests/examples/resources/canvas-stars.js: Remove CanvasStarsAnimator. |
| * Animometer/tests/misc/resources/compositing-transforms.js: |
| * Animometer/tests/examples/canvas-electrons.html: Move scripts to the end. |
| * Animometer/tests/examples/canvas-stars.html: Ditto. |
| * Animometer/tests/misc/compositing-transforms.html: Ditto. |
| |
| Refactor the simple suite. |
| |
| * Animometer/tests/master/resources/canvas-stage.js: |
| (tune): Remove coordinateMaximum since it is not needed in any |
| of the master tests. |
| * Animometer/tests/simple/resources/simple-canvas.js: |
| SimpleCanvasAnimator and SimpleCanvasBenchmark are no longer |
| needed. |
| (tune): Manage the objects differently, but instead of duplicating |
| all of SimpleCanvasStage here, just replace tune(). Include |
| coordinateMaximum, and remove items from the end of the list |
| instead of the beginning. |
| (StageBenchmark.call.createAnimator): Deleted. |
| (StageBenchmark.call): Deleted. |
| * Animometer/tests/simple/resources/simple-canvas-paths.js: |
| * Animometer/tests/simple/simple-canvas-paths.html: Move |
| scripts to the end. |
| |
| Get rid of stage.js, StageAnimator, and StageBenchmark. Don't have the progress bar update during the test. |
| |
| * Animometer/resources/debug-runner/animometer.js: |
| (initialize): Move the setting of testsCount to the debug runner. |
| (didRunTest): Nicer name. |
| * Animometer/resources/debug-runner/benchmark-runner.js: |
| (BenchmarkRunner.prototype._runBenchmarkAndRecordResults): Don't pass in the progress bar to benchmarks. |
| * Animometer/resources/extensions.js: |
| (ProgressBar): Refactor. Make variables "private". Resetting the progress when instantiating. |
| (ProgressBar.prototype.incrementRange): This is called every time a benchmark completes. |
| * Animometer/resources/runner/animometer.js: |
| (window.benchmarkRunnerClient.initialize): Remove unneeded setting of testsCount. |
| * Animometer/resources/strings.js: These are no longer needed. |
| * Animometer/tests/master/canvas-stage.html: Remove script inclusion. Other tests will follow. |
| * Animometer/tests/master/resources/canvas-tests.js: Use Benchmark instead of StageBenchmark. |
| * Animometer/tests/resources/main.js: Messages are no longer needed |
| (Animator.prototype._shouldRequestAnotherFrame): Rename from animate(), since this method returns a boolean |
| indicating whether another frame should be requested. Collapse the logic from StageAnimator into animateLoop. |
| (BenchmarkState.prototype.currentStage): Deleted. |
| (BenchmarkState.prototype.currentMessage): Deleted. |
| (BenchmarkState.prototype.currentProgress): Deleted. |
| (Animator.prototype.animate): Deleted. |
| (Animator.prototype.animateLoop): The stage is animated only when we have another frame to draw. |
| (Benchmark.prototype.record): No need to update the progress bar. |
| * Animometer/tests/resources/stage.js: Removed. Rotater will appear in a later patch, in main.js. |
| |
| * Animometer/resources/debug-runner/benchmark-runner.js: |
| (BenchmarkRunner.prototype._runBenchmarkAndRecordResults): Each test is run as a benchmark. |
| Remove the call to runBenchmark by merging the options here, and calling benchmark.run() |
| directly. |
| |
| Make the class relationships more easily understandable. The benchmark owns the stage, |
| animator, and options. Make the stage and animator no longer have their own references to |
| the options. Make Stage a first-class citizen by promoting it to main.js. Later patches |
| will try to get rid of stage.js altogether. |
| * Animometer/tests/resources/main.js: |
| (Stage): Moved from stage.js. |
| (Animator): Don't pass in benchmark and options in its constructor. It will get initialized |
| by benchmark-related parameters in initialize(). |
| (Animator.prototype.initialize): Add a back-reference to benchmark and cache an option. |
| (Animator.prototype.get benchmark): |
| (Animator.prototype.animate): Refactor to use the cached option, to remove its dependency on |
| the options dictionary. |
| (Benchmark): Require all benchmarks to have a stage and animator. The instance will initialize |
| them. |
| (Benchmark.prototype.get options): |
| (Benchmark.prototype.get stage): BenchmarkStates.stages will need to be renamed to avoid confusion. |
| (Benchmark.prototype.get animator): |
| (Benchmark.prototype.start): |
| (Benchmark.prototype.update): Ask the stage directly to tune or clear instead of adding another |
| level of indirection. |
| (window.runBenchmark): Deleted. Remove the need for a benchmarkClient. Also remove the standalone |
| path, since tests can be individually selected, and remove the need for runBenchmark since that is |
| handled in BenchmarkRunner._runBenchmarkAndRecordResults. |
| * Animometer/tests/resources/stage.js: |
| (Stage): Deleted. Moved to main.js. |
| (StageBenchmark): What's left is updating the progress bar; to be removed. |
| (StageAnimator): What's left can be folded in Animator. |
| |
| Refactor master suite. |
| * Animometer/tests/master/resources/canvas-stage.js: This now only has SimpleCanvasStage. |
| (animate): Push the clearRect() into each stage. |
| (complexity): |
| (StageBenchmark.call.createAnimator): Deleted. |
| (StageBenchmark.call): Deleted. |
| * Animometer/tests/master/resources/canvas-tests.js: SimpleCanvasPathStrokeStage is no longer needed. |
| (CanvasLineSegment.prototype.draw): |
| (CanvasArc): |
| (CanvasLinePoint): Remove the draw call because depending on its index it either needs to be moveTo |
| or lineTo, and it is otherwise a very small draw operation that doesn't need the overhead of the |
| function call. Do all of the drawing through the stage. |
| |
| Refactor the subclass pattern. Introduce Utilities.createSubclass(). |
| |
| * Animometer/resources/debug-runner/benchmark-runner.js: |
| * Animometer/resources/extensions.js: |
| (window.Utilities.createSubclass): Takes the super class, a function representing |
| the class's constructor, and additional methods to attach to the new class's |
| prototype object. |
| * Animometer/tests/text/text-boxes.html: Remove unneeded reference to utilities.js. |
| |
| Refactor tests. |
| * Animometer/tests/bouncing-particles/resources/bouncing-canvas-images.js: |
| * Animometer/tests/bouncing-particles/resources/bouncing-canvas-particles.js: |
| * Animometer/tests/bouncing-particles/resources/bouncing-canvas-shapes.js: |
| * Animometer/tests/bouncing-particles/resources/bouncing-css-images.js: |
| * Animometer/tests/bouncing-particles/resources/bouncing-css-shapes.js: |
| * Animometer/tests/bouncing-particles/resources/bouncing-particles.js: |
| * Animometer/tests/bouncing-particles/resources/bouncing-svg-images.js: |
| * Animometer/tests/bouncing-particles/resources/bouncing-svg-particles.js: |
| * Animometer/tests/bouncing-particles/resources/bouncing-svg-shapes.js: |
| * Animometer/tests/examples/resources/canvas-electrons.js: |
| * Animometer/tests/examples/resources/canvas-stars.js: |
| * Animometer/tests/master/resources/canvas-stage.js: |
| * Animometer/tests/master/resources/canvas-tests.js: |
| * Animometer/tests/misc/resources/compositing-transforms.js: |
| * Animometer/tests/resources/stage.js: |
| * Animometer/tests/simple/resources/simple-canvas-paths.js: |
| * Animometer/tests/simple/resources/simple-canvas.js: |
| * Animometer/tests/template/resources/template-canvas.js: |
| * Animometer/tests/template/resources/template-css.js: |
| * Animometer/tests/template/resources/template-svg.js: |
| * Animometer/tests/text/resources/layering-text.js: Reorder some of the methods |
| and properties since they rely on each other. |
| * Animometer/tests/text/resources/text-boxes.js: |
| |
| * Animometer/resources/debug-runner/animometer.js: Arrange calls |
| in the order they are evoked. |
| * Animometer/resources/debug-runner/benchmark-runner.js: |
| (BenchmarkRunnerState.prototype.next): Get rid of return value since |
| no caller to next() uses it. |
| (BenchmarkRunnerState.prototype.prepareCurrentTest): Refactor the |
| promise to resolve simply when onload() is called instead of |
| looking for #stage. |
| (BenchmarkRunner.prototype._runTestAndRecordResults): Suite.run |
| simply calls runBenchmark(). Call it directly rather than through |
| the Suite. |
| (BenchmarkRunner.prototype.step): Remove unused parameter in |
| resolve callback. |
| (BenchmarkRunner.prototype.runMultipleIterations): Use this instead |
| of self since it is outside of the closure which needed the self |
| variable. |
| (resolveIfReady): Deleted. |
| (BenchmarkRunner.prototype.waitForElement): Deleted. |
| * Animometer/resources/runner/tests.js: prepare() and run() are |
| no longer needed. |
| (Suite.prototype.prepare): Deleted. |
| (Suite.prototype.run): Deleted. |
| * Animometer/tests/master/canvas-stage.html: Move all scripts to |
| the end of the page. |
| |
| 2015-12-23 Simon Fraser <simon.fraser@apple.com> |
| |
| Add an Animometer developer test which animates text-rich boxes |
| https://bugs.webkit.org/show_bug.cgi?id=152544 |
| |
| Reviewed by Zalan Bujtas. |
| |
| Add a test that draws lots of international text. This is a particle test, |
| moving the boxes around with absolution positioning. |
| |
| * Animometer/resources/debug-runner/tests.js: |
| * Animometer/tests/text/resources/text-boxes.js: Added. |
| (BouncingTextBox): |
| (BouncingTextBox.prototype._move): |
| (BouncingTextBox.prototype.animate): |
| (BouncingTextBoxStage): |
| (BouncingTextBoxStage.prototype.createParticle): |
| (BouncingTextBoxStage.prototype.particleWillBeRemoved): |
| (BouncingTextBoxsBenchmark): |
| (BouncingTextBoxsBenchmark.prototype.createStage): |
| (window.benchmarkClient.create): |
| * Animometer/tests/text/text-boxes.html: Added. |
| |
| 2015-12-23 Jon Lee <jonlee@apple.com> |
| |
| Split benchmark into two different pages |
| https://bugs.webkit.org/show_bug.cgi?id=152458 |
| |
| Reviewed by Simon Fraser. |
| |
| Add tests to 'animometer' suite. |
| |
| * Animometer/resources/runner/tests.js: |
| * Animometer/tests/master/canvas-stage.html: Added. |
| * Animometer/tests/master/resources/canvas-stage.js: Added. |
| * Animometer/tests/master/resources/canvas-tests.js: Added. |
| * Animometer/tests/master/resources/stage.css: Added. |
| |
| 2015-12-23 Jon Lee <jonlee@apple.com> |
| |
| Split benchmark into two different pages |
| https://bugs.webkit.org/show_bug.cgi?id=152458 |
| |
| Reviewed by Simon Fraser. |
| |
| Address comments. |
| |
| * Animometer/resources/debug-runner/benchmark-runner.js: |
| (BenchmarkRunner.prototype._runTestAndRecordResults): When the testing is complete the frame owning the |
| sampler goes away, and a later call to get the JSON data is no longer available. Process the data |
| right here, instead, and just reference it when displaying the results in ResultsDashboard.prototype._processData. |
| * Animometer/resources/extensions.js: |
| (Array.prototype.fill.Array.prototype.fill): Add a null check. Remove braces around single-line clause. |
| (Array.prototype.find.Array.prototype.find): Update the null check. |
| (ResultsDashboard.prototype._processData): Use the already-processed data. |
| * Animometer/resources/runner/animometer.css: |
| (.frame-container > iframe): Remove calc(). |
| |
| Move Array functions to extensions.js since that is included by the harness. |
| Add ES6 Array polyfills. |
| |
| * Animometer/resources/algorithm.js: |
| (Array.prototype.swap): Moved to extensions.js. |
| * Animometer/resources/extensions.js: |
| (Array.prototype.swap): |
| (Array.prototype.fill): Added. |
| (Array.prototype.find): Added. |
| |
| Adjust styles for iPad. |
| |
| * Animometer/resources/runner/animometer.css: |
| (@media screen and (min-device-width: 768px)): Apply to iPad as well. |
| (@media screen and (max-device-width: 1024px)): Update width for iPads. |
| |
| Adjustment styles for iOS. |
| |
| * Animometer/developer.html: Different divs contain the iframe, so use a class instead and |
| update the style rules. |
| * Animometer/index.html: |
| * Animometer/resources/debug-runner/animometer.css: Remove extraneous rules. |
| (@media screen and (min-device-width: 1800px)): Move this up. |
| * Animometer/resources/runner/animometer.css: Add rules to accomodate iOS. |
| |
| Get rid of prefixed flex properties for now. |
| |
| * Animometer/resources/debug-runner/animometer.css: |
| * Animometer/resources/runner/animometer.css: |
| |
| Update the structure of the harness. Remove the JSON-per-test but keep |
| the JSON of the whole test run. Use the full page in order to display |
| the graph. |
| |
| * Animometer/developer.html: Update several of the JS file includes to UTF-8. Remove header and footer. Test results screen includes score, |
| average, and worst 5% statistics. |
| * Animometer/index.html: Make structure similar to developer.html. |
| * Animometer/resources/debug-runner/animometer.css: Remove most of the |
| button rules since they are superfluous. Move the progress bar to the |
| top, fixed. Update the results page rules. |
| * Animometer/resources/debug-runner/animometer.js: Remove most of the |
| additions to sectionsManager since they are no longer needed. |
| (setSectionHeader): Updates header of the section. |
| (window.suitesManager._updateStartButtonState): Update selector. |
| (showResults): Add keypress event for selecting different data for |
| copy/paste. Update how the results are populated. Include full test |
| JSON in a textarea, rather than requiring a button press. |
| (showTestGraph): |
| * Animometer/resources/debug-runner/tests.js: Update structure of Headers. Define different kinds of headers. Headers can control their |
| title, and the text used as the cell contents, including class name. |
| * Animometer/resources/extensions.js: |
| (ResultsTable): Update to include a flattened version of the headers, |
| used while populating table contents. Remove unneeded helper functions |
| for creating the table. Rename "show" to "add". |
| * Animometer/resources/runner/animometer.css: Update rules to |
| accommodate the new structure. |
| * Animometer/resources/runner/animometer.js: |
| (window.sectionsManager.setSectionScore): Helper function to set the |
| score and mean for a section. |
| (window.sectionsManager.populateTable): Helper function to set the table. |
| (window.benchmarkController.showResults): Refactor. |
| (window.benchmarkController.selectResults): Update selectors. |
| * Animometer/resources/runner/tests.js: Set Headers. Debug harness |
| extends it. |
| |
| Update debug runner to have similar names to the basic runner. Include |
| that page's CSS and remove extraneous CSS rules. |
| |
| Get rid of the statistics table #record. |
| |
| * Animometer/developer.html: Rename #home to #intro. Rename .spacer to hr. |
| * Animometer/resources/debug-runner/animometer.css: Set to flexbox when selected. |
| * Animometer/resources/debug-runner/animometer.js: Remove recordTable. |
| (window.suitesManager._updateStartButtonState): Update selector to #intro. |
| (setupRunningSectionStyle): Deleted. |
| |
| * Animometer/resources/runner/animometer.css: |
| (#test-container.selected): Change to flex-box only when visible. |
| |
| Remove recordTable. |
| * Animometer/resources/debug-runner/benchmark-runner.js: |
| (BenchmarkRunner.prototype._runTestAndRecordResults): |
| * Animometer/resources/runner/tests.js: |
| * Animometer/tests/bouncing-particles/resources/bouncing-canvas-images.js: |
| * Animometer/tests/bouncing-particles/resources/bouncing-canvas-particles.js: |
| * Animometer/tests/bouncing-particles/resources/bouncing-canvas-shapes.js: |
| * Animometer/tests/bouncing-particles/resources/bouncing-css-images.js: |
| * Animometer/tests/bouncing-particles/resources/bouncing-css-shapes.js: |
| * Animometer/tests/bouncing-particles/resources/bouncing-particles.js: |
| * Animometer/tests/bouncing-particles/resources/bouncing-svg-images.js: |
| * Animometer/tests/bouncing-particles/resources/bouncing-svg-shapes.js: |
| * Animometer/tests/examples/resources/canvas-electrons.js: |
| * Animometer/tests/examples/resources/canvas-stars.js: |
| * Animometer/tests/misc/resources/compositing-transforms.js: |
| * Animometer/tests/resources/main.js: |
| * Animometer/tests/resources/stage.js: |
| (StageBenchmark): Remove _recordTable. |
| * Animometer/tests/simple/resources/simple-canvas-paths.js: |
| * Animometer/tests/simple/resources/simple-canvas.js: |
| * Animometer/tests/template/resources/template-canvas.js: |
| * Animometer/tests/template/resources/template-css.js: |
| * Animometer/tests/template/resources/template-svg.js: |
| * Animometer/tests/text/resources/layering-text.js: |
| |
| * Animometer/resources/debug-runner/animometer.js: |
| (willStartFirstIteration): Fix selector, since results-table is used |
| in multiple places, so it cannot be an id. |
| |
| Make it possible to select the scores, or the whole table data, |
| by cycling through different selections through key press of 's'. |
| |
| * Animometer/resources/runner/animometer.js: |
| (window.benchmarkController.showResults): Attach a keypress handler |
| if it hasn't been added already. |
| (window.benchmarkController.selectResults): |
| * Animometer/resources/runner/tests.js: Cycle through different |
| ranges. |
| |
| Fix a few fly-by errors. |
| |
| * Animometer/resources/debug-runner/benchmark-runner.js: |
| (BenchmarkRunnerState.prototype.prepareCurrentTest): Update the frame relative path |
| since the files are now in the top directory instead of inside runner/. |
| (BenchmarkRunner.prototype._runTestAndRecordResults): Incorrect reference to function. |
| (BenchmarkRunner.prototype.step): Member variable is never used. |
| |
| A little stylistic cleanup. |
| |
| * Animometer/resources/debug-runner/benchmark-runner.js: |
| * Animometer/resources/extensions.js: |
| (window.DocumentExtension.createElement): |
| * Animometer/tests/resources/main.js: |
| (Benchmark.prototype.record): |
| * Animometer/tests/resources/stage.js: |
| (StageBenchmark.prototype.showResults): Reverse progress and message. |
| The message appears less frequently than the progress. |
| * Animometer/tests/simple/resources/simple-canvas.js: |
| (SimpleCanvasBenchmark): Remove unused options. |
| |
| Add newer version of harness in a new page. Consolidate differences between the two |
| pages. |
| |
| * Animometer/developer.html: Include runner/animometer.js. Rename the JS function |
| to run the benchmark to startBenchmark() instead of startTest(). Rename #running to |
| #test-container. |
| * Animometer/index.html: Added. Similarly calls startBenchmark() and has #test-container. |
| * Animometer/resources/debug-runner/animometer.css: Make the canvas 2:1 (1200px x 800px) |
| instead of 4:3. |
| |
| Split out benchmarkRunnerClient and benchmarkController. |
| |
| * Animometer/resources/debug-runner/animometer.js: Move needed functions out of |
| benchmarkRunnerClient, and leave the rest here to extend that object. Get rid of _resultsTable |
| and move populating the results table into benchmarkController. Rename _resultsDashboard |
| to results and make it accessible for other objects to use. |
| (willAddTestFrame): This is unnecessary. Remove. |
| |
| (window.sectionsManager.showScore): Grab it from the results object instead of |
| benchmarkRunnerClient. |
| (window.sectionsManager.showSection): Deleted. Moved to runner/animometer.js. |
| |
| (window.benchmarkController._runBenchmark): Deleted. Mostly moved into _startBenchmark. |
| (window.benchmarkController.startBenchmark): Refactor to call _startBenchmark. |
| (window.benchmarkController.showResults): Include most of benchmarkRunnerClient.didFinishLastIteration() |
| here. |
| |
| * Animometer/resources/debug-runner/benchmark-runner.js: |
| (BenchmarkRunner.prototype._appendFrame): Remove unneeded call to willAddTestFrame. |
| * Animometer/resources/extensions.js: |
| (ResultsDashboard): Change the class to process the sampler data on-demand and hold onto that data |
| for later referencing. |
| (ResultsDashboard.prototype.toJSON): Deleted. |
| (ResultsDashboard.prototype._processData): Rename toJSON to _processData since it's not really |
| outputting JSON. Store the processed data into a member variable that can be referenced later. |
| (ResultsDashboard.prototype.get data): Process the data if it hasn't already. |
| (ResultsDashboard.prototype.get score): Process the data if it hasn't already, then return the |
| aggregate score. |
| (ResultsTable.prototype._showHeader): When outputting the results to a table, don't force the |
| need for an empty children array. This was to allow for a header row in the table that spanned |
| multiple columns. In the simpler harness, this is not needed. |
| (ResultsTable.prototype._showEmptyCells): |
| (ResultsTable.prototype._showTest): This hardcoded the columns. At least for the name and score, |
| which is the bare minimum needed for the simpler harness, key off of the header name provided. |
| * Animometer/resources/runner/animometer.css: Added. Use a similar 2:1 ratio. The score tables are |
| split into the data and the headers, and are also displayed RTL so that a later patch allows a |
| user to copy-paste the data easily. |
| * Animometer/resources/runner/animometer.js: Added. Use a simpler version of benchmarkRunnerClient. |
| The debug harness will extend these classes. |
| (window.benchmarkController._startBenchmark): Used by both harnesses. |
| (window.benchmarkController.startBenchmark): Set hard-coded options. |
| (window.benchmarkController.showResults): Includes most of benchmarkRunnerClient.didFinishLastIteration() |
| here. |
| |
| Get rid of utilities.js. Move it all into extensions.js. |
| |
| * Animometer/resources/extensions.js: |
| * Animometer/tests/resources/utilities.js: Removed. |
| |
| * Animometer/tests/bouncing-particles/bouncing-canvas-images.html: Remove script link. |
| * Animometer/tests/bouncing-particles/bouncing-canvas-shapes.html: Ditto. |
| * Animometer/tests/bouncing-particles/bouncing-css-images.html: Ditto. |
| * Animometer/tests/bouncing-particles/bouncing-css-shapes.html: Ditto. |
| * Animometer/tests/bouncing-particles/bouncing-svg-images.html: Ditto. |
| * Animometer/tests/bouncing-particles/bouncing-svg-shapes.html: Ditto. |
| * Animometer/tests/examples/canvas-electrons.html: Ditto. |
| * Animometer/tests/examples/canvas-stars.html: Ditto. |
| * Animometer/tests/misc/compositing-transforms.html: Ditto. |
| * Animometer/tests/simple/simple-canvas-paths.html: Ditto. |
| * Animometer/tests/template/template-canvas.html: Ditto. |
| * Animometer/tests/template/template-css.html: Ditto. |
| * Animometer/tests/template/template-svg.html: Ditto. |
| * Animometer/tests/text/layering-text.html: Ditto. |
| |
| Split tests.js into two. Add a new suite to runner/tests.js. |
| |
| * Animometer/developer.html: Update the script order. Scripts from |
| debug-runner/ will always build on those from runner/, and have the |
| same name. |
| * Animometer/resources/debug-runner/tests.js: Move "complex examples" |
| suite into "miscellaneous tests". |
| (Suite): Deleted. |
| (Suite.prototype.prepare): Deleted. |
| (Suite.prototype.run): Deleted. |
| (suiteFromName): Deleted. |
| * Animometer/resources/runner/tests.js: Added. Take definitions and |
| functions needed by the test harness. Leave the test suites behind. |
| (Suite): Moved from debug script. |
| (Suite.prototype.prepare): Ditto. |
| (Suite.prototype.run): Ditto. |
| (suiteFromName): Ditto. |
| (testFromName): Ditto. |
| |
| Move benchmark resources out into resources/debug-runner, and update URLs. |
| |
| * Animometer/developer.html: Renamed from PerformanceTests/Animometer/runner/animometer.html. |
| * Animometer/resources/debug-runner/animometer.css: Renamed from PerformanceTests/Animometer/runner/resources/animometer.css. |
| * Animometer/resources/debug-runner/animometer.js: Renamed from PerformanceTests/Animometer/runner/resources/animometer.js. |
| * Animometer/resources/debug-runner/benchmark-runner.js: Renamed from PerformanceTests/Animometer/runner/resources/benchmark-runner.js. |
| * Animometer/resources/debug-runner/d3.min.js: Renamed from PerformanceTests/Animometer/runner/resources/d3.min.js. |
| * Animometer/resources/debug-runner/graph.js: Renamed from PerformanceTests/Animometer/runner/resources/graph.js. |
| * Animometer/resources/debug-runner/tests.js: Renamed from PerformanceTests/Animometer/runner/resources/tests.js. |
| |
| 2015-12-11 Jon Lee <jonlee@apple.com> |
| |
| Improve Animometer on iOS |
| https://bugs.webkit.org/show_bug.cgi?id=152180 |
| |
| Reviewed by Simon Fraser. |
| |
| Improve experience on phones. Make the canvas take |
| up the whole screen. |
| |
| * Animometer/runner/animometer.html: Add meta viewport. |
| Remove the container div. |
| * Animometer/runner/resources/animometer.css: Have buttons lay |
| out vertically. Update detail arrow glyph. Make the suites and |
| options section lay out vertically. Remove the top spacers since |
| we want the canvas to take over the whole screen. Minimal display |
| is recommended for use. |
| |
| 2015-12-07 Jon Lee <jonlee@apple.com> |
| |
| Update suites for benchmark |
| https://bugs.webkit.org/show_bug.cgi?id=151957 |
| |
| Reviewed by Simon Fraser. |
| |
| * Animometer/runner/animometer.html: Use spacers instead of relying on |
| justify-content center to center the content. That allows the opening screen |
| to grow downward when expanding the list of choices, otherwise it expands |
| from the center, and off the top edge of the screen. |
| * Animometer/runner/resources/animometer.css: |
| (.tree): Don't overflow scroll. |
| (.tree > li > label.tree-label:before): Use better glyphs. |
| (.tree > li > :checked ~ label.tree-label:before): |
| (main): Using flex-start for justify-content so that if the section grows too |
| big it gets pinned to the top edge of the document instead of growing past it. |
| (.spacer): Make the spacers have a minimum 20px and grow evenly. |
| (section#home): Add a min-height so that the border will expand if the suite |
| tests shown make the section grow past the height. |
| * Animometer/runner/resources/animometer.js: Update the selectors. |
| (window.suitesManager._treeElement): |
| (window.suitesManager._suitesElements): |
| (window.suitesManager._editsElements): |
| |
| 2015-12-07 Jon Lee <jonlee@apple.com> |
| |
| Update options for benchmark |
| https://bugs.webkit.org/show_bug.cgi?id=151956 |
| |
| Reviewed by Simon Fraser. |
| |
| Move "Fix test complexity" and "Adaptive" checkboxes into a radio group. |
| |
| Move "Show running results" into a radio group, and add options to remove the HUD. |
| |
| * Animometer/runner/animometer.html: Get rid of the preamble. Wrap the options |
| in a form for easier referencing in JS. |
| * Animometer/runner/resources/animometer.css: Show the surrounding border if the |
| body's display-minimal class name is set. |
| * Animometer/runner/resources/animometer.js: |
| |
| Update the way optionsManager gets and sets default values. Include support for |
| radio groups. |
| (window.optionsManager.valueForOption): |
| (window.optionsManager.updateUIFromLocalStorage): |
| (window.optionsManager.updateLocalStorageFromUI): |
| |
| (window.benchmarkRunnerClient.willStartFirstIteration): |
| (window.sectionsManager.setupRunningSectionStyle): |
| (window.suitesManager._treeElement): Fly-by whitespace fix. |
| (window.suitesManager._suitesElements): Ditto. |
| (window.suitesManager.updateEditsElementsState): Update options check. |
| (window.suitesManager.updateDisplay): Add a new update function for the HUD. |
| Attach a class to the body depending on the user's choice. |
| (window.benchmarkController.initialize): Add an event listener when the form |
| radio buttons update. |
| (window.benchmarkController.onFormChanged): |
| (window.optionsManager._optionsElements): Deleted. |
| (window.optionsManager._adaptiveTestElement): Deleted. |
| (window.benchmarkController.onChangeAdaptiveTestCheckbox): Deleted. |
| * Animometer/tests/resources/main.js: |
| (Benchmark.prototype.update): Update options checks. |
| * Animometer/tests/resources/stage.js: Update option check. |
| (StageBenchmark.prototype.showResults): |
| |
| 2015-12-01 Simon Fraser <simon.fraser@apple.com> |
| |
| Add a basic compositing Animometer test |
| https://bugs.webkit.org/show_bug.cgi?id=151724 |
| |
| Reviewed by Dean Jackson. |
| |
| Add a "bouncing particles" test that moves composited layers around, optionally with a filter. |
| |
| This is added under a new "Miscellaneous" category. |
| |
| Remove the test templates category from the UI. |
| |
| * Animometer/runner/resources/tests.js: |
| * Animometer/tests/bouncing-particles/resources/bouncing-css-shapes.js: |
| (BouncingCssShape.prototype.animate): |
| * Animometer/tests/misc/compositing-transforms.html: Added. |
| * Animometer/tests/misc/resources/compositing-transforms.js: Added. |
| (BouncingCompositedImage): |
| (BouncingCompositedImage.prototype._move): |
| (BouncingCompositedImage.prototype.animate): |
| (CompositingTransformsStage): |
| (CompositingTransformsStage.prototype.createParticle): |
| (CompositingTransformsStage.prototype.particleWillBeRemoved): |
| (CompositedTransformsBenchmark): |
| (CompositedTransformsBenchmark.prototype.createStage): |
| (window.benchmarkClient.create): |
| |
| 2015-11-30 Said Abou-Hallawa <sabouhallawa@apple.com> |
| |
| Fix the graphics benchmark complexity bounds adjustment |
| https://bugs.webkit.org/show_bug.cgi?id=151670 |
| |
| Reviewed by Simon Fraser. |
| |
| Make sure the graphics benchmark complexity bounds adjustment is applied |
| to the absolute lower bound. |
| |
| * Animometer/tests/resources/math.js: |
| (PIDController.prototype._saturate): |
| |
| 2015-11-30 Said Abou-Hallawa <sabouhallawa@apple.com> |
| |
| Add an option to select the results form the graphics benchmark |
| https://bugs.webkit.org/show_bug.cgi?id=151666 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| We need an easy way to select the graphics benchmark results table such |
| that when it is copied to the clipboard, rich text format is set to the |
| clipboard. |
| |
| * Animometer/runner/animometer.html: Add a new button to select the results table or JSON. |
| |
| * Animometer/runner/resources/animometer.js: |
| (window.sectionsManager._sectionDataElement): Selects the container <data> element. |
| (window.sectionsManager._sectionDataDivElement): Replace a literal string with a string table entry. |
| (window.sectionsManager.showTestName): Replace a literal string with a string table entry. |
| (window.sectionsManager.selectData): Selects the container <data> element in a selection. |
| (window.sectionsManager.selectDataContents): Select the contents of container <data> element in a selection. |
| (window.benchmarkController.selectResults): Selects the results table. |
| (window.benchmarkController.showJSON): Function rename. |
| (window.benchmarkController.selectJSON): Selects the contents of the results JSON. |
| (window.benchmarkController.showJson): Deleted. |
| |
| 2015-11-20 Simon Fraser <simon.fraser@apple.com> |
| |
| Animometer: graphs should not do interpolation |
| https://bugs.webkit.org/show_bug.cgi?id=151526 |
| |
| Reviewed by Simon Fraser. |
| |
| Having the graphs do interpolation is misleading, because you can't see the actual data. |
| |
| Also remove "shape-rendering: crispEdges;" so the lines get antialiased. |
| |
| * Animometer/runner/resources/animometer.css: |
| (section#test-graph > data > svg): Deleted. |
| * Animometer/runner/resources/graph.js: |
| (graph): Deleted. |
| |
| 2015-11-19 Said Abou-Hallawa <sabouhallawa@apple.com> |
| |
| Calculate the graphics benchmark test gain adaptively |
| https://bugs.webkit.org/show_bug.cgi?id=151208 |
| |
| Reviewed by Darin Adler. |
| |
| We need to calculate the gain of the graphics benchmark tests adaptively |
| and get rid of the gain and limits parameters we have to choose manually |
| for every test. We are going to use the classic Ziegler–Nichols method for |
| calculating the gain and integral and derivative times. We are going to |
| try moving on a cubic curve during the manual stage from y0 to reach ysp. |
| We also going to use a saturation actuator to ensure the system does not |
| fluctuate. |
| |
| * Animometer/resources/extensions.js: |
| (ResultsTable.prototype._isNoisyMeasurement): Fix a parameter name. |
| (ResultsTable.prototype._isNoisyTest): Since score is a member of testResults, we need to limit our search to frame rate and complexity. |
| (ResultsTable.prototype._showTest): Pass the correct parameter to _isNoisyMeasurement(). |
| |
| * Animometer/resources/strings.js: Fix the indentation and name and value of a string. |
| |
| * Animometer/runner/resources/tests.js: Remove all the manual gains and limits parameters which had to be passed to every test. |
| |
| * Animometer/tests/resources/main.js: |
| (BenchmarkState.prototype.currentStage): Fix an enum name. |
| (Benchmark): Get rid of manual gain and limits. |
| (Benchmark.prototype.update): Simplify the calculation by having all the times in ms. |
| |
| * Animometer/tests/resources/math.js: |
| (PIDController): Get rid of the manual gain and limits and the magic numbers for Ti and Td. |
| (PIDController.prototype._yPosition): Tells whether the test current output is moving towards the set-point or away from it. |
| (PIDController.prototype._distanceUltimate): Calculates the ultimate distance from y0 after time t using a cubic formula. |
| (PIDController.prototype._distance): Calculates the distance of y relative to y0. |
| (PIDController.prototype._gainIncrement): Decides how much the proportional gain should be increased during the manual gain stage. |
| (PIDController.prototype._updateStage): Updates the stage of the controller based on its current stage and the system output. |
| (PIDController.prototype._tuneP): Tunes the system before calculating the PID controller gains. |
| (PIDController.prototype._tunePID): PID tuning function. |
| (PIDController.prototype._tune): |
| (PIDController.prototype._saturate): |
| (PIDController.prototype.tune): Manages calculating the controller parameters. It then returns a PID tuning value. |
| (PIDController.prototype._sat): Deleted. We may need to return it back but the limits have to be calculated adaptively not manually. |
| |
| 2015-11-17 Said Abou-Hallawa <sabouhallawa@apple.com> |
| |
| Reorganize the graphics benchmark string table |
| https://bugs.webkit.org/show_bug.cgi?id=151334 |
| |
| Reviewed by Simon Fraser. |
| |
| Make the graphics benchmark string table be an object of sub-objects. Each |
| sub-object represents an associative array, the key is the string name and |
| the value is the string data. |
| |
| * Animometer/resources/extensions.js: |
| (ResultsDashboard.prototype.toJSON): |
| (ResultsTable.prototype._showGraph): |
| (ResultsTable.prototype._showJSON): |
| (ResultsTable.prototype._isNoisyMeasurement): |
| (ResultsTable.prototype._isNoisyTest): |
| (ResultsTable.prototype._showTest): |
| (ResultsTable.prototype._showSuite): |
| (ResultsTable.prototype._showIteration): |
| * Animometer/resources/sampler.js: |
| (Sampler.prototype.toJSON): |
| * Animometer/resources/strings.js: |
| * Animometer/runner/resources/animometer.js: |
| (window.benchmarkRunnerClient.didFinishLastIteration): |
| (window.suitesManager.updateLocalStorageFromJSON): |
| (window.benchmarkController.showResults): |
| (window.benchmarkController.showJson): |
| (window.benchmarkController.showTestGraph): |
| (window.benchmarkController.showTestJSON): |
| * Animometer/runner/resources/tests.js: |
| * Animometer/tests/resources/main.js: |
| |
| 2015-11-17 Said Abou-Hallawa <sabouhallawa@apple.com> |
| |
| Disable flattening the stage iframe of the graphics benchmark when running on iOS |
| https://bugs.webkit.org/show_bug.cgi?id=151361 |
| |
| Reviewed by Simon Fraser. |
| |
| Use fixed size for stage iframe of the graphics benchmark to disable |
| flattening the iframe while animating the particles. Also ensure the |
| bouncing particles do not go outside the iframe's boundaries. |
| |
| * Animometer/runner/resources/animometer.css: |
| (section#running > #running-test > iframe): |
| (@media screen and (min-device-width: 1800px)): |
| * Animometer/tests/bouncing-particles/resources/bouncing-particles.js: |
| (BouncingParticle.prototype.animate): |
| |
| 2015-11-17 Said Abou-Hallawa <sabouhallawa@apple.com> |
| |
| Use the media queries to dynamically set the stage for the graphics benchmark |
| https://bugs.webkit.org/show_bug.cgi?id=151327 |
| |
| Reviewed by Simon Fraser. |
| |
| Clean setting the benchmark css rules by using the media queries. Accessing |
| document.stylesheets.cssRules seems to be unreliable. Fix the test harness |
| load event listener invocation. And also remove the options for normalizing |
| the stage resolution for retina display. |
| |
| * Animometer/resources/extensions.js: |
| (window.DocumentExtension.insertCssRuleAfter): Deleted. |
| * Animometer/runner/animometer.html: |
| * Animometer/runner/resources/animometer.css: |
| (@media screen and (min-device-width: 1800px)): |
| * Animometer/runner/resources/animometer.js: |
| (window.sectionsManager.setupRunningSectionStyle): |
| (window.benchmarkController.initialize): |
| (window.sectionsManager.setupSectionStyle): Deleted. |
| * Animometer/tests/bouncing-particles/resources/bouncing-particles.js: |
| (BouncingParticlesStage): |
| * Animometer/tests/text/layering-text.html: |
| * Animometer/tests/text/resources/layering-text.js: |
| (LayeringTextStage): |
| (LayeringTextStage.prototype._setFontSize): Deleted. |
| |
| 2015-11-16 Said Abou-Hallawa <sabouhallawa@apple.com> |
| |
| Remove the option for animating using setInterval from the graphics benchmark |
| https://bugs.webkit.org/show_bug.cgi?id=151283 |
| |
| Reviewed by Darin Adler. |
| |
| Get rid of the option to run animation using setInterval(). |
| |
| * Animometer/tests/resources/main.js: |
| (Animator.prototype.animate): |
| (Benchmark): |
| (Benchmark.prototype.start): |
| (Animator.prototype.start): Deleted. |
| |
| 2015-11-16 Said Abou-Hallawa <sabouhallawa@apple.com> |
| |
| Highlight the alarming test results in the graphics benchmark results page |
| https://bugs.webkit.org/show_bug.cgi?id=151286 |
| |
| Reviewed by Simon Fraser. |
| |
| When showing the results of a test in the graphics benchmark the following |
| criteria is going to be applied: |
| |
| 1. If the standard deviation of the test complexity or the frame rate is |
| equal to or more than 10%, the standard deviation and the test name |
| will be displayed in red. |
| 2. If the average frame rate is not in the range = [(desired_frame_rate - 2) |
| .. (desired_frame_rate + 2)], the average frame rate and the test name will |
| be displayed in red. |
| |
| * Animometer/resources/extensions.js: |
| (ResultsTable.prototype._showHeaderRow): |
| (ResultsTable.prototype._showHeader): |
| (ResultsTable.prototype._showEmptyCell): |
| (ResultsTable.prototype._showText): |
| (ResultsTable.prototype._showFixedNumber): |
| (ResultsTable.prototype.): |
| (ResultsTable.prototype._showGraph): |
| (ResultsTable.prototype._showJSON): |
| (ResultsTable.prototype._isAlarmingMeasurement): |
| (ResultsTable.prototype._isAlarmingTestResults): |
| (ResultsTable.prototype._showEmptyCells): |
| (ResultsTable.prototype._showEmptyRow): |
| (ResultsTable.prototype._showTest): |
| (ResultsTable.prototype._showSuite): |
| (ResultsTable.prototype._showIteration): |
| (ResultsTable.prototype.showRecord): |
| (ResultsTable.prototype.showIterations): |
| (ResultsTable.prototype._showEmpty): Deleted. |
| * Animometer/runner/resources/animometer.js: |
| (window.benchmarkRunnerClient.didFinishLastIteration): |
| * Animometer/tests/resources/stage.js: |
| (StageBenchmark.prototype.showResults): |
| |
| 2015-11-16 Said Abou-Hallawa <sabouhallawa@apple.com> |
| |
| Clean referencing the options object in the graphics benchmark |
| https://bugs.webkit.org/show_bug.cgi?id=151284 |
| |
| Reviewed by Simon Fraser. |
| |
| Get rid of the Benchmark.options member and rely only on the private member |
| Benchmark._options. The animator need to have its own options member instead |
| of accessing it from its reference to Benchmark object. |
| |
| * Animometer/tests/bouncing-particles/resources/bouncing-canvas-particles.js: |
| (BouncingCanvasParticlesAnimator): |
| (BouncingCanvasParticlesBenchmark.prototype.createAnimator): |
| * Animometer/tests/bouncing-particles/resources/bouncing-particles.js: |
| (BouncingParticle.prototype.animate): |
| (BouncingParticlesAnimator): |
| (BouncingParticlesBenchmark.prototype.createAnimator): |
| * Animometer/tests/examples/resources/canvas-electrons.js: |
| (CanvasElectronsStage.prototype.animate): |
| (CanvasElectronsAnimator): |
| (CanvasElectronsBenchmark.prototype.createAnimator): |
| (window.benchmarkClient.create): |
| * Animometer/tests/examples/resources/canvas-stars.js: |
| (CanvasStarsStage.prototype.animate): |
| (CanvasStarsAnimator): |
| (CanvasStarsBenchmark.prototype.createAnimator): |
| (window.benchmarkClient.create): |
| * Animometer/tests/resources/main.js: |
| (BenchmarkState.prototype.currentProgress): |
| (Animator): |
| (Animator.prototype.animate): |
| (Benchmark): |
| (Benchmark.prototype.update): |
| * Animometer/tests/resources/stage.js: |
| (Stage.prototype.clear): |
| (StageAnimator): |
| (StageBenchmark.prototype.createAnimator): |
| (StageBenchmark.prototype.tune): |
| (StageBenchmark.prototype.showResults): |
| * Animometer/tests/simple/resources/simple-canvas.js: |
| (SimpleCanvasStage.prototype.animate): |
| (SimpleCanvasAnimator): |
| (SimpleCanvasAnimator.prototype.animate): |
| (SimpleCanvasBenchmark.prototype.createAnimator): |
| * Animometer/tests/template/resources/template-canvas.js: |
| (TemplateCanvasStage.prototype.animate): |
| (TemplateCanvasBenchmark.prototype.createAnimator): |
| (window.benchmarkClient.create): |
| |
| 2015-11-13 Said Abou-Hallawa <sabouhallawa@apple.com> |
| |
| Eliminate a request for layout every time an item is added to the stage of the graphics benchmark |
| https://bugs.webkit.org/show_bug.cgi?id=151289 |
| |
| Reviewed by Simon Fraser. |
| |
| Cache the stage size when it is created instead of requesting every time |
| an object is added via clientWidth and clientHeight. |
| |
| * Animometer/resources/extensions.js: |
| (Insets.elementPadding): |
| * Animometer/tests/resources/stage.js: |
| (Stage): |
| (Stage.prototype.get size): |
| |
| 2015-11-06 Said Abou-Hallawa <sabouhallawa@apple.com> |
| |
| Initialize the graphics benchmark's Kalman filter with estimated 60 FPS |
| https://bugs.webkit.org/show_bug.cgi?id=150965 |
| |
| Reviewed by Darin Adler. |
| |
| This should give the benchmark more accurate reading at warmup time. And |
| hence we can safely reduce the test running time to be 10 seconds. |
| |
| * Animometer/runner/animometer.html: |
| Add "defer" back when loading resources/animometer.js since this script |
| depends on many other scripts and we need to wait till the page is parsed. |
| Also change the default test interval to be 10 seconds. |
| |
| * Animometer/runner/resources/graph.js: |
| (graph): Make the test results curves smoother. |
| |
| * Animometer/tests/resources/main.js: |
| (Animator): Initialize the Kalman filter with 60 FPS which should be true |
| if the test page is empty. |
| |
| (Animator.prototype.animate): |
| * Animometer/tests/resources/math.js: |
| (KalmanEstimator): Fix the initial value of _vecX_est. |
| _vecX_est[0] = current FPS (= 60FPS when the test page is empty) |
| _vecX_est[1] = first time derivative of FPS (=0; FPS has been constant). |
| _vecX_est[2] = second time derivative of FPS (=0; since _vecX_est[1]=0). |
| (KalmanEstimator.prototype.estimate): Add some comments. |
| |
| 2015-11-04 Said Abou-Hallawa <sabouhallawa@apple.com> |
| |
| Remove "defer" from the scripts' references in the graphics benchmark home page |
| https://bugs.webkit.org/show_bug.cgi?id=150915 |
| |
| Reviewed by Simon Fraser. |
| |
| It causes the benchmark to be very flakey. |
| |
| * Animometer/runner/animometer.html: |
| |
| 2015-11-01 Said Abou-Hallawa <sabouhallawa@apple,com> |
| |
| Add an option to make the graphics benchmark runs a specific test with fixed complexity |
| https://bugs.webkit.org/show_bug.cgi?id=150529 |
| |
| Reviewed by Darin Adler. |
| |
| Beside each test in the suites tree, we are going to show the complexity |
| arithmetic mean of the of the last run in an edit control. Based on a |
| new option these edit controls will all be visible or hidden. If they are |
| visible their values can be changed. The benchmark runner if it run in |
| the non-adaptive mode will set the complexity of the test to the passed |
| value and will not change it ever. The animator will animate the test and |
| frame rate will also be measured. |
| |
| * Animometer/runner/animometer.html: Add a new option for the non-adaptive mode. |
| |
| * Animometer/runner/resources/animometer.css: |
| (section#home input[type="number"]): Define the width of all the edit control in the <home> section. |
| (section#home > suites input[type="number"]): The edit controls in the <suites> box will be right aligned and hidden by default. |
| (section#home > suites input[type="number"].selected): When the class "selected" is added, the edit controls will be visible. |
| (section#home > options > label > input[type="number"]): Deleted. |
| |
| * Animometer/runner/resources/animometer.js: |
| (window.benchmarkRunnerClient.didFinishLastIteration): Update the local storage with the results of each test. |
| (window.optionsManager._adaptiveTestElement): Returns the checkbox for setting the adaptive test option. |
| (window.suitesManager._editElement): Returns the edit element associated with each test element in the suites tree. |
| (window.suitesManager._editsElements): Returns a list of all the elements in the <suites> box. |
| (window.suitesManager._localStorageNameForTest): Change this function to take strings. |
| (window.suitesManager._createTestElement): Adds an edit control beside each test. |
| (window.suitesManager.updateEditsElementsState): Adds/Removes the 'selected' class to/from all the tests edit elements. |
| (window.suitesManager.updateUIFromLocalStorage): Reads the edit control value from the local storage. |
| (window.suitesManager.updateLocalStorageFromUI): Saves the edit control value to the local storage. |
| (window.suitesManager.updateLocalStorageFromJSON): Saves the last run results to the local storage. |
| (window.benchmarkController.initialize): Shows/Hides the test edit controls based on the adaptive test option. |
| (window.benchmarkController.onChangeAdaptiveTestCheckbox): An onchange event handler for the adaptive test checkbox. |
| |
| * Animometer/tests/resources/main.js: |
| (Benchmark.prototype.update): Fix the complexity of the test if the running mode is non-adaptive test and desired complexity is not zero. |
| (window.runBenchmark): Add the test complexity as a new benchmark option. |
| |
| 2015-11-01 Said Abou-Hallawa <sabouhallawa@apple,com> |
| |
| Make the size of the benchmark canvas adaptive to the screen size and screen resolution |
| https://bugs.webkit.org/show_bug.cgi?id=150530 |
| |
| Reviewed by Darin Adler. |
| |
| We want to set the size of the benchmark stage dynamically such that it |
| depends on the screen resolution and the device scale factor. This patch |
| does more than that because the home page css was not done properly. To |
| use the flex box layout, the animometer.css has to be rewritten almost from |
| scratch. The suites tree has to be rewritten also because it was not collapsing |
| and with the flex box layout it was going outside of the window area. The |
| options handling and the local storage handling had to be rewritten to |
| allow more flexibility with this patch and the future patches. The code |
| in animometer.js was reorganized into objects to allow distributing the code |
| nicely among separate entities. |
| |
| * Animometer/resources/extensions.js: |
| (Point.elementClientSize): Returns the client size of an HTMLElement as a Point object. |
| (Insets.prototype.get width): Follow the function opening brace style guidelines. |
| (Insets.prototype.get height): |
| (Insets.prototype.get size): Returns the size of an Insets as a Point object. |
| |
| (window.DocumentExtension): Provides document helper functions. It should be assailable from the runner and the tests. |
| (window.DocumentExtension.createElement): Creates an HTMLElement given its name, attributes and parentElement. |
| (window.DocumentExtension.createSvgElement): Creates an SVGElement given its name, attributes and parentElement (moved from utilities.js). |
| (window.DocumentExtension.insertCssRuleAfter): Inserts a CSS rule after an exiting rule given its text. |
| |
| (ResultsTable.prototype._showHeader): Use DocumentExtension functions. |
| (ResultsTable.prototype._showGraph): Use DocumentExtension functions and create a real button for "Graph..." option. |
| (ResultsTable.prototype._showJSON): Use DocumentExtension functions and create a real button for "JSON..." option. |
| (Options): Deleted. |
| |
| * Animometer/runner/animometer.html: Restructure the page to use the flex box layout. |
| |
| * Animometer/runner/resources/animometer.css: |
| (html,body): |
| (button): |
| |
| (button.large-button):The large button appears in the animometer.html. |
| (button.large-button:active): |
| (button.large-button:disabled): |
| |
| (button.small-button): The small button appears in the results table. |
| (button.small-button:active): |
| |
| (.tree): The tree class is used to list the suites and their tests. |
| (.tree .expand-button): This button expands a tree element. |
| (.tree .expand-button ~ ul): Hide the children (<ul>...</ul>) of a parent node by default. |
| (.tree .expand-button:checked ~ ul): Show the children of a parent node only when checked. |
| (.tree ul): Hide the list bullets. |
| (.tree li): Indent every node in the tree relative to its parent. |
| (.tree ul li): Indent all the non top level nodes only (the tests nodes in our case). |
| (.tree > li:last-child): Do not indent the bottom of the last child node. |
| (.tree-label): Style for all the labels in the tree. |
| (label.tree-label): Style for the labels in the top level only (the suites nodes in our case). |
| (label.tree-label:before): Style the unchecked case of the expand-button. |
| (:checked ~ label.tree-label:before): Style the checked case of the expand-button. |
| |
| (table.results-table): The results table appears while running the test and at the end. |
| (.results-table td): |
| (.results-table th): |
| |
| (div.results-json): The JSON div appears per test or for the whole run. |
| |
| (main): This is the flex box container. |
| |
| (section): A section is displayed exclusively inside the <main>. It is hidden by default. |
| (section.selected): When it is selected, its layout is flex layout. |
| (section > footer): The header or the footer of a section should not take more than 15% of the container. |
| |
| (section#home): The home section has <suites> and <options> parts to be laid out in the middle. |
| (section#home > options): |
| (section#home > suites): The <suites> should not take more than 40% of the width. |
| (section#home > options > label): The benchmark title. |
| (section#home > header > h2): The benchmark title. |
| (section#home > options > label > input[type="number"]): Sets the width of the option edit control. |
| |
| (section#running): The running section contain the runner <iframe> which takes the whole area of the <main>. |
| (section#running > #running-test): This is the <iframe> container. |
| (section#running > #running-test > iframe): The <iframe> is created by the runner for each test. |
| (section#running > #progress): This is the progress bar. |
| (section#running > #progress > #progress-completed): This is another element which grows while the runner is progressing. |
| (section#running > #record): This the container of the record results table which is shown while running a test. |
| |
| (section#results): |
| (section#json): |
| (section#test-json): |
| (section#test-graph): All these sections have the same layout. A <data> element is laid out between <header> and <footer>. |
| |
| (section#results > data): |
| (section#json > data): |
| (section#test-json > data): |
| (section#test-graph > data): The <data> element should take 70% of the <section>. |
| |
| (section#test-graph > data > svg): |
| (.axis line): |
| (.left-samples): These styles are for the d3 graph. |
| |
| (section#test-json > data): This is the style of the JSON <data> element. |
| |
| (iframe): Deleted. |
| (label, p): Deleted. |
| (section > p): Deleted. |
| (section#home > p): Deleted. |
| (section#home > p:first-child): Deleted. |
| (#testContainer): Deleted. |
| (section#running #progress-completed): Deleted. |
| (section#results > table): Deleted. |
| (section#results > table td, th): Deleted. |
| (section#results > table tr.alt, td): Deleted. |
| (section#results > table th): Deleted. |
| (section#json > textarea): Deleted. |
| (.options): Deleted. |
| (.options p): Deleted. |
| (#suites ul): Deleted. |
| (#suites ul ul): Deleted. |
| (#suites ul ul input, #suites ul ul label): Deleted. |
| (#suites.showTests ul ul): Deleted. |
| (.column): Deleted. |
| (input[type="number"]): Deleted. |
| (.buttons): Deleted. |
| (.small-button): Deleted. |
| (#graphContainer): Deleted. |
| (.right-samples): Deleted. |
| (.sample-time): Deleted. |
| (.left-mean): Deleted. |
| (.right-mean): Deleted. |
| |
| * Animometer/runner/resources/animometer.js: |
| (window.benchmarkRunnerClient.initialize): Initialize the client object with the options and the suites. |
| (window.benchmarkRunnerClient.willStartFirstIteration): Use new css selectors for results and the record table. |
| (window.benchmarkRunnerClient.didFinishLastIteration): Move the code which sets the JSON text to sectionsManager.showJSON(). |
| |
| (window.sectionsManager): Responsible of managing the <section>s elements inside animometer.html. |
| (window.sectionsManager._sectionHeaderH1Element): Return the <h1> inside the <header> of a given section. |
| (window.sectionsManager._sectionDataDivElement): Return the <div> inside the <data> of a given section. |
| (window.sectionsManager.showScore): Show the score of the last benchmark run. |
| (window.sectionsManager.showTestName): Show the test name for detailed results <section>. |
| (window.sectionsManager.showJSON): Shows the JSON text of the last benchmark or for a specific test. |
| (window.sectionsManager.showSection): Shows a specific <section> in the <main> container. |
| (window.sectionsManager.setupSectionStyle): Sets css attributes for all the <section>s. |
| (window.sectionsManager.setupRunningSectionStyle): Sets the css attributes for the running <section> only. |
| |
| (window.optionsManager): Responsible of managing the user options and streaming them to/form the localStorage. |
| (window.optionsManager._optionsElements): Returns the children <input> elements of the <options>. |
| (window.optionsManager.updateUIFromLocalStorage): Restore the values of the <options> UI elements from the local storage. |
| (window.optionsManager.updateLocalStorageFromUI): Saves the values of the <options> UI elements to the local storage. |
| |
| (window.suitesManager): Responsible of managing the user suites and streaming them to/form the localStorage. |
| (window.suitesManager._treeElement): Returns the suites tree container element. |
| (window.suitesManager._suitesElements): Returns a list of the suites elements. |
| (window.suitesManager._checkboxElement): Returns the checkbox element of a given suite. |
| (window.suitesManager._localStorageNameForTest): Generates a string for the tuple <suite, test> to be saved in the localStorage. |
| (window.suitesManager._updateSuiteCheckboxState): Updates the state of a suite checkbox from the state of its tests' checkboxes. |
| (window.suitesManager._updateStartButtonState): Updates the state of the start button from the state of the suites' checkboxes. |
| (window.suitesManager._onChangeSuiteCheckbox): Called when a suite checkbox is clicked. |
| (window.suitesManager._onChangeTestCheckbox): Called when a test checkbox is clicked. |
| (window.suitesManager._createSuiteElement): Creates suite node in the suites tree. |
| (window.suitesManager._createTestElement): Creates test node in the suites tree. |
| (window.suitesManager.createElements): Creates the suites tree dynamically from the array Suites. |
| (window.suitesManager.updateUIFromLocalStorage): Restore the values of the <suites> UI elements from the local storage. |
| (window.suitesManager.updateLocalStorageFromUI): aves the values of the <suites> UI elements to the local storage. |
| |
| (window.benchmarkController): This is the UI controller of the animometer.html page. |
| (window.benchmarkController.initialize): Called when the animometer.html page is loaded. |
| (window.benchmarkController._runBenchmark): Starts a benchmark run. |
| (window.benchmarkController.startTest): Called when the "Start Test" button is clicked. |
| (window.benchmarkController.showResults): Called at the end of the test to show the final results. |
| (window.benchmarkController.showJson): Called from the results page to show the JSON of the last benchmark run. |
| (window.benchmarkController.showTestGraph): Called from the results the table to show a graph for the samples of a specific test. |
| (window.benchmarkController.showTestJSON): Called from the results the table to show a JSON for the samples of a specific test. |
| |
| (showSection): Deleted. |
| (startTest): Deleted. |
| (showResults): Deleted. |
| (showJson): Deleted. |
| (showTestGraph): Deleted. |
| (showTestJSON): Deleted. |
| (initialize.toggleTestsCheckbox.onchange): Deleted. |
| (initialize): Deleted. |
| (updateSuiteSelection): Deleted. |
| (updateTestSelection): Deleted. |
| (updateSuiteCheckbox): Deleted. |
| (localStorageNameForTest): Deleted. |
| (populateSettings.): Deleted. |
| (populateSettings): Deleted. |
| |
| * Animometer/runner/resources/benchmark-runner.js: |
| (BenchmarkRunner): Pass the frameContainer element to the BenchmarkRunner. |
| (BenchmarkRunner.prototype._appendFrame): Remove unused parameter unwanted styling code. |
| (BenchmarkRunner.prototype.runMultipleIterations): Use the this._client.iterationCount instead of passing it as a parameter also. |
| |
| * Animometer/runner/resources/graph.js: |
| (graph): Calculate the size of the chart from the container element. |
| |
| * Animometer/tests/bouncing-particles/resources/bouncing-svg-images.js: |
| (BouncingSvgImage): |
| * Animometer/tests/bouncing-particles/resources/bouncing-svg-particles.js: |
| (BouncingSvgParticlesStage.prototype._createDefs): |
| (BouncingSvgParticlesStage.prototype._createClipStar): |
| * Animometer/tests/bouncing-particles/resources/bouncing-svg-shapes.js: |
| (BouncingSvgShape.prototype._createShape): |
| (BouncingSvgShapesStage.prototype.createGradient): |
| Call DocumentExtension.createSvgElement() instead of calling Utilities.createSvgElement(). |
| |
| * Animometer/tests/resources/main.js: |
| (Animator.prototype.animate): |
| (Benchmark): |
| (Benchmark.prototype.update): |
| * Animometer/tests/resources/stage.js: |
| (StageBenchmark.prototype.showResults): |
| Rename the options to match the <input> ids in animometer.html. |
| |
| * Animometer/tests/resources/utilities.js: |
| (window.Utilities.createSvgElement): Deleted. |
| |
| * Animometer/tests/text/layering-text.html: |
| * Animometer/tests/text/resources/layering-text.js: |
| (LayeringTextStage): |
| (LayeringTextStage.prototype._setFontSize): Sets the size of the text dynamically such that they all fit in one stage. |
| |
| 2015-10-29 Simon Fraser <simon.fraser@apple.com> |
| |
| Animometer computes frame rate incorrectly |
| https://bugs.webkit.org/show_bug.cgi?id=150698 |
| |
| Reviewed by Tim Horton. |
| |
| The existing code incremented this._frameCount after checking against this._dropFrameCount. |
| This has the effect of setting this._measureTimeOffset one frame too late, so |
| we were measuring only two frames, not three, and thus computing an incorrect fps. |
| |
| * Animometer/tests/resources/main.js: |
| (Animator.prototype.animate): |
| |
| 2015-10-27 Jon Lee <jonlee@apple.com> |
| |
| Add an option to make the graphics benchmark runs a specific test |
| https://bugs.webkit.org/show_bug.cgi?id=150528 |
| rdar://problem/23246614 |
| |
| Reviewed by Zalan Bujtas. |
| |
| Add a checkbox that lets the user list all of the available tests, and select |
| the ones to run repeatedly. The test checkboxes will update the state of the suite |
| checkbox. The selected tests are stored in localStorage to make it easy to do |
| repeated runs. |
| |
| * Animometer/runner/animometer.html: Add a checkbox to show individual tests. |
| Update other markup. |
| * Animometer/runner/resources/animometer.css: Make the settings area a little wider |
| to accommodate the longer names of the tests |
| * Animometer/runner/resources/animometer.js: |
| (startBenchmark): Change the way that the suites are fed into the benchmark |
| runner. Go through each of the suites and their tests, and create a new Suite |
| with just the enabled tests. While enumerating store the enabled tests into |
| localStorage. |
| (initialize): Initialization routine (taking over populateSettings). When the |
| checkbox for showing tests is toggled, add or remove a class on #suites to show |
| the individual tests. |
| (updateSuiteSelection): Called whenever the user toggles the checkbox for a suite. |
| Either select all or none of the tests. |
| (updateTestSelection): Called whenever the user toggles the checkbox for a test. |
| (updateSuiteCheckbox): Update the state of the test's suite's checkbox to |
| indeterminate if there is at least one enabled test, unchecked if none are selected, |
| and checked if all are selected. |
| (localStorageNameForTest): Helper function to get the name of the test to use as |
| a key to localStorage. |
| (populateSettings): Add the tests for each suite into an inner list. |
| |
| 2015-10-26 Said Abou-Hallawa <sabouhallawa@apple.com> |
| |
| Add an option to output the results of the graphics benchmark in JSON format |
| https://bugs.webkit.org/show_bug.cgi?id=150484 |
| <rdar://problem/23243721> |
| |
| Reviewed by Darin Adler. |
| |
| * Animometer/resources/extensions.js: |
| (ResultsDashboard): A new class to hold the iterations results. |
| (ResultsDashboard.prototype.push): Appends an iteration results; |
| (ResultsDashboard.prototype.toJSON): Converts the iterations results to JSON format. |
| |
| (RecordTable.prototype.clear): Clears the results table. |
| (RecordTable.prototype._showTitles): Shows the header titles and appends the sub-titles to a queue. |
| (RecordTable.prototype._showHeader): Shows the table header titles. |
| (RecordTable.prototype._showEmpty): Shows an empty table cell. |
| (RecordTable.prototype._showValue): Shows a number value in the results table. |
| (RecordTable.prototype._showSamples): Shows a button for the sampled data graph. |
| (RecordTable.prototype._showTest): Shows the results of a single test. |
| (RecordTable.prototype._showSuite): Shows the results of a single suite. |
| (RecordTable.prototype.showRecord): Shows a single iteration for a single test. |
| (RecordTable.prototype.showIterations): Shows the results of all the suites of the iterations. |
| |
| (ResultsTable): RecordTable was renamed to ResultsTable. |
| (ResultsTable.prototype.clear): Clears the table element. |
| (ResultsTable.prototype._showHeaderRow): Shows a row in the results table header. |
| (ResultsTable.prototype._showHeader): Shows the results table header. |
| (ResultsTable.prototype._showEmpty): Shows an empty table cell. |
| (ResultsTable.prototype._showText): Shows a string in a new table cell. |
| (ResultsTable.prototype._showFixedNumber): Shows a number in a new table cell. |
| (ResultsTable.prototype._showGraph): Shows a button for the sampled data graph. |
| (ResultsTable.prototype._showJSON): Shows a button for the sampled data JSON. |
| (ResultsTable.prototype._showTest): Shows the results of a single test. |
| (ResultsTable.prototype._showSuite): Shows the results of a single suite. |
| (ResultsTable.prototype._showIteration): Shows the results of a single iteration. |
| (ResultsTable.prototype.showRecord): Shows a single iteration for a single test. |
| (ResultsTable.prototype.showIterations): Shows all the results. |
| (RecordTable): Deleted. |
| (RecordTable.prototype.clear): Deleted. |
| (RecordTable.prototype._showTitles): Deleted. |
| (RecordTable.prototype._showHeader): Deleted. |
| (RecordTable.prototype._showEmpty): Deleted. |
| (RecordTable.prototype._showValue): Deleted. |
| (RecordTable.prototype._showSamples): Deleted. |
| (RecordTable.prototype._showTest): Deleted. |
| (RecordTable.prototype._showSuite): Deleted. |
| (RecordTable.prototype.showRecord): Deleted. |
| (RecordTable.prototype.showIterations): Deleted. |
| |
| * Animometer/resources/sampler.js: |
| (Sampler.prototype.startSampling): Use forEach. |
| (Sampler.prototype.sample): Use forEach. |
| (Sampler.prototype.toJSON): Converts the sampler data to JSON format. |
| |
| * Animometer/resources/strings.js: Added. |
| This new file will be used to associate the strings used by the benchmark |
| with IDs. A string can be changed in one place without having to change |
| all the instances of this string in multiple files. There two groups of |
| strings in this file. The first one is used by the UI elements and the second |
| group is used when constructing the results JSON. |
| |
| * Animometer/runner/animometer.html: |
| * Animometer/runner/resources/animometer.css: |
| |
| * Animometer/runner/resources/animometer.js: |
| (window.benchmarkRunnerClient.willAddTestFrame): |
| (window.benchmarkRunnerClient.willStartFirstIteration): |
| (window.benchmarkRunnerClient.didRunSuites): |
| (window.benchmarkRunnerClient.didFinishLastIteration): |
| Make benchmarkRunnerClient uses ResultsDashboard instead of _iterationsSamplers |
| Get the JSON from ResultsDashboard.toJSON() and pass it to ResultsTable.showIterations(). |
| Also set the textContent of the "#json" textarea with the results JSON. |
| |
| (showResults): Delete unneeded code. |
| (showJson): Shows the "json" section. |
| (showTestGraph): Rename showGraph() to be showTestGraph(). |
| (showTestJSON): Shows the JSON of a single testResults. |
| (showGraph): Deleted. |
| |
| * Animometer/runner/resources/tests.js: |
| Use the string table instead of putting literal strings. |
| |
| * Animometer/tests/resources/stage.js: |
| (StageBenchmark.prototype.showResults): |
| Fix the parameters which are passed to RecordTable.showRecord(). |
| |
| * Animometer/tests/bouncing-particles/bouncing-canvas-images.html: |
| * Animometer/tests/bouncing-particles/bouncing-canvas-shapes.html: |
| * Animometer/tests/bouncing-particles/bouncing-css-images.html: |
| * Animometer/tests/bouncing-particles/bouncing-css-shapes.html: |
| * Animometer/tests/bouncing-particles/bouncing-svg-images.html: |
| * Animometer/tests/bouncing-particles/bouncing-svg-shapes.html: |
| * Animometer/tests/examples/canvas-electrons.html: |
| * Animometer/tests/examples/canvas-stars.html: |
| * Animometer/tests/simple/simple-canvas-paths.html: |
| * Animometer/tests/template/template-canvas.html: |
| * Animometer/tests/template/template-css.html: |
| * Animometer/tests/template/template-svg.html: |
| * Animometer/tests/text/layering-text.html: |
| Include the new strings.js file in all the test files. |
| |
| 2015-10-12 Jon Lee <jonlee@apple.com> |
| |
| Add canvas line dash test |
| https://bugs.webkit.org/show_bug.cgi?id=150078 |
| <rdar://problem/23082347> |
| |
| Reviewed by Dean Jackson. |
| |
| * Animometer/runner/resources/tests.js: Add line dash test. |
| * Animometer/tests/simple/resources/simple-canvas-paths.js: |
| (CanvasLineDashStage): Create a new stage with a default dash pattern and stroke style. |
| Maintain a step which will animate the dash. |
| (CanvasLineDashStage.prototype.animate): Render the line path with the dash. Increment |
| the dash offset to animate. |
| (CanvasPathBenchmark.prototype.createStage): Add the test. |
| |
| 2015-10-12 Jon Lee <jonlee@apple.com> |
| |
| Add canvas line path tests |
| https://bugs.webkit.org/show_bug.cgi?id=150076 |
| <rdar://problem/23082285> |
| |
| Reviewed by Dean Jackson. |
| |
| * Animometer/runner/resources/tests.js: Add new line path tests, with different |
| line joins. |
| * Animometer/tests/simple/resources/simple-canvas-paths.js: |
| (CanvasLinePathStage): The stage is the same as the SimpleCanvasPathStrokeStage |
| but sets the lineJoin on the context. |
| (CanvasPathBenchmark.prototype.createStage): Add the tests. |
| |
| 2015-10-12 Jon Lee <jonlee@apple.com> |
| |
| Add missing paint objects for arc and arcTo fills |
| https://bugs.webkit.org/show_bug.cgi?id=150075 |
| <rdar://problem/23082233> |
| |
| Reviewed by Dean Jackson. |
| |
| * Animometer/tests/simple/resources/simple-canvas-paths.js: Add missing paint objects |
| for arcTo and arc segment fills. |
| (CanvasArcToSegmentFill): |
| (CanvasArcToSegmentFill.prototype.draw): |
| (CanvasArcSegmentFill): |
| (CanvasArcSegmentFill.prototype.draw): |
| |
| 2015-10-12 Jon Lee <jonlee@apple.com> |
| |
| Add canvas line segment tests |
| https://bugs.webkit.org/show_bug.cgi?id=150073 |
| <rdar://problem/23082138> |
| |
| Reviewed by Dean Jackson. |
| |
| * Animometer/runner/resources/tests.js: Add new line segment tests, with different |
| line caps. |
| * Animometer/tests/simple/resources/simple-canvas-paths.js: |
| (CanvasLineSegment): Add new line segment paint object. |
| (CanvasLineSegmentStage): Create a new stage that sets the lineCap. |
| |
| 2015-10-12 Jon Lee <jonlee@apple.com> |
| |
| Add canvas path fill tests |
| https://bugs.webkit.org/show_bug.cgi?id=150071 |
| <rdar://problem/23082001> |
| |
| Reviewed by Dean Jackson. |
| |
| * Animometer/runner/resources/tests.js: Add new pathTypes for path fills. |
| * Animometer/tests/simple/resources/simple-canvas-paths.js: |
| (CanvasLinePoint): Add basic point for a line, and call lineTo. |
| (SimpleCanvasPathFillStage): Add a new stage similar to SimpleCanvasPathStrokeStage. |
| (CanvasPathBenchmark.prototype.createStage): Add the tests. |
| |
| 2015-10-12 Jon Lee <jonlee@apple.com> |
| |
| Add canvas path tests |
| https://bugs.webkit.org/show_bug.cgi?id=150067 |
| rdar://problem/23081463 |
| |
| Reviewed by Dean Jackson. |
| |
| * Animometer/runner/resources/tests.js: Add a quadratic and bezier path test. |
| |
| * Animometer/tests/simple/resources/simple-canvas.js: |
| (SimpleCanvasStage.prototype.tune): This kind of test joins all of the segments |
| into one long path, and tries to render that one path. Random points make it |
| difficult to tell what is going on, so add a parameter to the constructor to |
| confine the area where the random coordinates can land. The more complicated the |
| case is, the larger an area the path will cover. Add an artificial minimum so |
| that the first 200 points aren't confined to a space that is too small. |
| |
| * Animometer/tests/simple/resources/simple-canvas-paths.js: |
| (SimpleCanvasPathStrokeStage): Add a new kind of stage that inherits from |
| SimpleCanvasStage. Each time the frame animates a random line width and stroke |
| color are chosen. The path setup is done outside of each paint object. |
| (CanvasQuadraticPoint): This point just calls quadraticCurveTo. |
| (CanvasPathBenchmark.prototype.createStage): Add the tests. |
| |
| 2015-10-12 Jon Lee <jonlee@apple.com> |
| |
| Add basic canvas tests |
| https://bugs.webkit.org/show_bug.cgi?id=150066 |
| rdar://problem/23081143 |
| |
| Reviewed by Dean Jackson. |
| |
| This adds a new test suite that will cover all of the path-based canvas calls. |
| The patch will be divided up to cover tests with similar techniques. |
| |
| The simplest version uses a SimpleCanvasStage. |
| |
| * Animometer/runner/resources/tests.js: Add tests for quadratic, bezier, arcTo, |
| arc, and rect segments. Also include arcTo, arc, and rect fills. |
| * Animometer/tests/resources/stage.js: |
| (Stage.prototype.randomBool): Added for counterclockwise property for arc segments. |
| (Stage.prototype.randomInt): Fix how values are rounded, used by randomBool. It should |
| round instead of flooring everything. |
| * Animometer/tests/simple/resources/simple-canvas.js: Added. Defines common classes |
| used by all simple canvas tests. The page reads best bottom to top. |
| (SimpleCanvasStage): Basic stage. Pass a canvasObject which will be used to create new |
| objects as needed in tune(). |
| (SimpleCanvasStage.prototype.tune): Modeled on other tests. Adds and removed objects |
| as specified by the provided |count|. |
| (SimpleCanvasStage.prototype.animate): Iterate over all the objects and ask them to draw. |
| There is no "animating" of the objects; they will just paint statically on the canvas. |
| (SimpleCanvasAnimator): Basic animator clears the canvas prior to painting. |
| (SimpleCanvasBenchmark): Hard-code the feedback loop parameters instead of including |
| them in the query parameters to the test URLs. |
| (SimpleCanvasBenchmark.prototype.createAnimator): |
| * Animometer/tests/simple/simple-canvas-paths.html: Added. |
| |
| * Animometer/tests/simple/resources/simple-canvas-paths.js: Added. There is no "animating" |
| of these objects--they just paint statically on the canvas. |
| (CanvasQuadraticSegment): Paint a quadratic segment stroke. |
| (CanvasBezierSegment): Paint a bezier segment stroke. |
| (CanvasArcToSegment): Paint an arcTo stroke. |
| (CanvasArcSegment): Paint an arc stroke. |
| (CanvasRect): Paint a rect. |
| (CanvasRectFill): Paint a filled rect. |
| |
| (CanvasPathBenchmark): |
| (CanvasPathBenchmark.prototype.createStage): Look for the pathType and create the |
| stage using the right paint object. |
| (window.benchmarkClient.create): |
| |
| 2015-10-12 Jon Lee <jonlee@apple.com> |
| |
| Refactor tune() to pass in an integer-based count |
| https://bugs.webkit.org/show_bug.cgi?id=150060 |
| <rdar://problem/23079425> |
| |
| Reviewed by Dean Jackson. |
| |
| All of the tune functions do an initial step of flooring the |
| # of painting objects to add or remove. Factor that out since |
| the complexity of all of these tests is always expressed in terms |
| of countable items. |
| |
| * Animometer/tests/resources/main.js: |
| (Benchmark.prototype.update): Update the tuneValue. |
| |
| * Animometer/tests/bouncing-particles/resources/bouncing-particles.js: |
| (BouncingParticlesStage.prototype.tune): Remove the count adjustment. |
| * Animometer/tests/examples/resources/canvas-electrons.js: |
| (CanvasElectronsStage.prototype.tune): Ditto. |
| * Animometer/tests/examples/resources/canvas-stars.js: |
| (CanvasStarsStage.prototype.tune): Ditto. |
| * Animometer/tests/text/resources/layering-text.js: |
| (LayeringTextStage.prototype.tune): Ditto. |
| |
| 2015-10-12 Jon Lee <jonlee@apple.com> |
| |
| Store test-interval in localStorage |
| https://bugs.webkit.org/show_bug.cgi?id=150055 |
| <rdar://problem/23078879> |
| |
| Reviewed by Dean Jackson. |
| |
| * Animometer/runner/resources/animometer.js: |
| (populateSettings): Keep track of the specified test interval in localStorage |
| to make it easy to repeat a test suite. |
| |
| 2015-10-12 Jon Lee <jonlee@apple.com> |
| |
| Remove "../tests/" from the URLs of all tests |
| https://bugs.webkit.org/show_bug.cgi?id=150054 |
| <rdar://problem/23078784> |
| |
| Reviewed by Dean Jackson. |
| |
| Presumably all tests will be running from the tests/ directory, |
| so we don't have to specify it in all of the test URLs. |
| |
| * Animometer/runner/resources/benchmark-runner.js: |
| (BenchmarkRunnerState.prototype.prepareCurrentTest): Prepend |
| "../tests/" to all tests. |
| * Animometer/runner/resources/tests.js: Remove "../tests/" from |
| all URLs. |
| |
| 2015-10-12 Jon Lee <jonlee@apple.com> |
| |
| Refactor test suites to a separate class. |
| https://bugs.webkit.org/show_bug.cgi?id=150053 |
| <rdar://problem/23078645> |
| |
| Reviewed by Dean Jackson. |
| |
| Create a Suite class to refactor out prepare() and run(). |
| Generate the checkboxes representing the suites using Suites |
| instead of maintaining a separate list. Also, save the |
| selections out to localStorage. |
| |
| * Animometer/runner/animometer.html: Remove the explicitly listed |
| suites. These will be generated from Suites instead. |
| * Animometer/runner/resources/animometer.js: |
| (populateSettings): Iterate through Suites, and create the |
| label and checkbox. Attach the Suite object to the checkbox so |
| when the benchmark is started, we get direct access. Initialize |
| the checkmark based on its value in localStorage. Set this to |
| run when DOMContentLoaded is dispatched. |
| (startBenchmark): Grab all of the checkboxes, inspect their |
| values, add it to enabledSuites if selected. Remember whether |
| the suite was enabled in localStorage, so that it's easy to do |
| repeated runs. |
| * Animometer/runner/resources/tests.js: |
| (Suite): Create a new Suite class. Refactor out prepare() and |
| run(), since all of them have the same implementation. Populate |
| Suites with Suite instances instead of generic objects. |
| |
| 2015-10-12 Jon Lee <jonlee@apple.com> |
| |
| Update graph styles for legibility. |
| https://bugs.webkit.org/show_bug.cgi?id=150052 |
| <rdar://problem/23078503> |
| |
| Reviewed by Dean Jackson. |
| |
| * Animometer/runner/resources/animometer.css: Update colors and |
| stroke thicknesses to make the graphs easier to read. |
| (.smaple-time): Correct to .sample-time |
| * Animometer/runner/resources/graph.js: |
| (graph): Ditto. |
| |
| 2015-10-12 Jon Lee <jonlee@apple.com> |
| |
| Update graph styles for legibility. |
| https://bugs.webkit.org/show_bug.cgi?id=150052 |
| <rdar://problem/23078503> |
| |
| Reviewed by Dean Jackson. |
| |
| * Animometer/runner/resources/animometer.css: Update colors and |
| stroke thicknesses to make the graphs easier to read. |
| (.smaple-time): Correct to .sample-time |
| * Animometer/runner/resources/graph.js: |
| (graph): Ditto. |
| |
| 2015-10-12 Filip Pizlo <fpizlo@apple.com> |
| |
| Unreviewed, revert an unintended commit. |
| |
| * JetStream/Octane2/crypto.js: |
| (montRevert): |
| (montReduce): |
| |
| 2015-10-05 Said Abou-Hallawa <sabouhallawa@apple.com> |
| |
| Add a graphics benchmark |
| https://bugs.webkit.org/show_bug.cgi?id=149053 |
| <rdar://problem/18984169> |
| |
| Reviewed by Dean Jackson. |
| |
| Instead of measuring the FPS of the animation, this benchmark measures the |
| test complexity when rendering at a set-point FPS which should be lower |
| than 60 FPS. This benchmark tries to stay at the set-point FPS by using |
| a closed loop control system PID function. The gain of the system is passed |
| as a parameter when running the test. Measuring the FPS faithfully results |
| very fluctuating values. A Kalman filter is used to give a better estimate |
| for the current FPS. |
| |
| The animation of the tests is done manually. requestAnimationFrame() is |
| called with a callback. Inside this callback, the test is animating by |
| changing the positions of the elements inside the page. The test complexity |
| may change also if the current FPS is not equal to the desired FPS. |
| |
| In this patch, the benchmark and the tests are included. The shared code |
| and the tests runner are included in separate patches. |
| |
| * Animometer/runner/animometer.html: |
| * Animometer/runner/resources/animometer.js: |
| Add two new examples for more complex animation techniques. |
| Add an option to show/hide the test running results which is off by default. |
| |
| * Animometer/runner/resources/tests.js: Added. |
| (suiteFromName): Returns a suite given its name. |
| (testFromName): Returns a test given its suite and name. |
| |
| * Animometer/tests: Added. |
| This directory includes all the test suites to be run by the benchmark. |
| runner. All the tests should try to run on three stages: CSS, canvas and |
| SVG. |
| |
| * Animometer/tests/bouncing-particles: Added. |
| * Animometer/tests/bouncing-particles/resources: Added. |
| The bouncing particles test is an example of a simple animation technique. |
| |
| * Animometer/tests/bouncing-particles/bouncing-canvas-images.html: Added. |
| * Animometer/tests/bouncing-particles/bouncing-canvas-shapes.html: Added. |
| * Animometer/tests/bouncing-particles/bouncing-css-images.html: Added. |
| * Animometer/tests/bouncing-particles/bouncing-css-shapes.html: Added. |
| * Animometer/tests/bouncing-particles/bouncing-svg-images.html: Added. |
| * Animometer/tests/bouncing-particles/bouncing-svg-shapes.html: Added. |
| Bouncing particles test pages. |
| |
| * Animometer/tests/bouncing-particles/resources/bouncing-particles.js: Added. |
| (BouncingParticle): Base class for a bouncing particle. |
| (BouncingParticle.prototype.center): Returns the center point or the particle. |
| (BouncingParticle.prototype.animate): Moves the particle based on its current position, angle and velocity. |
| |
| (BouncingParticlesAnimator): A sub class of Animator. |
| |
| (BouncingParticlesStage): Represents the container of all the bouncing particles. |
| (BouncingParticlesStage.prototype.parseShapeParamters): Gets the shape parameters for shape animating tests. |
| (BouncingParticlesStage.prototype.randomRotater): Creates a rotater for the particles. |
| (BouncingParticlesStage.prototype.animate): Animates all the particles. |
| (BouncingParticlesStage.prototype.tune): Changes the test by adding or removing particles. |
| |
| (BouncingParticlesBenchmark): Runs the benchmark for bouncing particles test. |
| (BouncingParticlesBenchmark.prototype.createAnimator): Creates an animator of type BouncingParticlesAnimator. |
| |
| * Animometer/tests/bouncing-particles/resources/bouncing-css-shapes.js: Added. |
| (BouncingCssShape): A sub class of BouncingParticle for animating CSS shapes. |
| (BouncingCssShape.prototype._createSpan): Creates a <span> element and takes the shape and clipping classes into consideration. |
| (BouncingCssShape.prototype._move): Moves the particle to a new location. Apply transform since it does not require layout. |
| (BouncingCssShape.prototype.animate): Rotates and moves the shape to a new location. |
| |
| (BouncingCssShapesStage): A sub class of BouncingParticlesStage for animating CSS shapes. |
| (BouncingCssShapesStage.prototype.createParticle): Creates a particle of type BouncingCssShape. |
| (BouncingCssShapesStage.prototype.particleWillBeRemoved): Removes the corresponding element form the parent children list. |
| |
| (BouncingCssShapesBenchmark): A sub class of BouncingParticlesBenchmark for animating CSS shapes. |
| (BouncingCssShapesBenchmark.prototype.createStage): Creates a stage of type BouncingCssShapesStage. |
| (window.benchmarkClient.create): Creates a benchmark of type BouncingCssShapesBenchmark. |
| |
| * Animometer/tests/bouncing-particles/resources/bouncing-css-images.js: Added. |
| (BouncingCssImage): A sub class of BouncingParticle for animating CSS images. |
| (BouncingCssImage.prototype._move): Move the particle to a new location. Apply transform since it does not require layout. |
| (BouncingCssImage.prototype.animate): Rotates and moves the shape to a new location. |
| |
| (BouncingCssImagesStage): A sub class of BouncingParticlesStage for animating CSS images. |
| (BouncingCssImagesStage.prototype.createParticle): Creates a particle of type BouncingCssImage. |
| (BouncingCssImagesStage.prototype.particleWillBeRemoved): Removes the corresponding element form the parent children list. |
| |
| (BouncingCssImagesBenchmark): A sub class of BouncingParticlesBenchmark for animating CSS images. |
| (BouncingCssImagesBenchmark.prototype.createStage): Creates a stage of type BouncingCssImagesStage. |
| (window.benchmarkClient.create): Creates a benchmark of type BouncingCssImagesBenchmark. |
| |
| * Animometer/tests/bouncing-particles/resources/bouncing-canvas-particles.js: Added. |
| (BouncingCanvasParticle): A base sub-class of BouncingParticle for animating canvas particles. |
| (BouncingCanvasParticle.prototype._applyRotation): Apply the particle rotation-around-center transform to the canvas context. |
| (BouncingCanvasParticle.prototype._applyClipping): Apply the particle clipping to the canvas context. |
| (BouncingCanvasParticle.prototype._draw): A non-implemented version of the drawing function. |
| (BouncingCanvasParticle.prototype.animate): Carries out all the steps to redraw the canvas particle. |
| |
| (BouncingCanvasParticlesStage): A base sub-class of BouncingParticlesStage for animating canvas particles. |
| |
| (BouncingCanvasParticlesAnimator): A concrete sub-class of BouncingParticlesAnimator for animating canvas particles. |
| (BouncingCanvasParticlesAnimator.prototype.animate): Overrides the base class method to clear the canvas before redrawing the stage. |
| |
| (BouncingCanvasParticlesBenchmark): A base sub-class of StageBenchmark for animating canvas particles. |
| (BouncingCanvasParticlesBenchmark.prototype.createAnimator): Creates the canvas particles animator. |
| |
| * Animometer/tests/bouncing-particles/resources/bouncing-canvas-shapes.js: Added. |
| (BouncingCanvasShape): A concrete sub-class of BouncingCanvasParticle for animating canvas shapes. |
| (BouncingCanvasShape.prototype._applyFill): Sets the fillStyle in the canvas context. |
| (BouncingCanvasShape.prototype._drawShape): Carries out the actual drawing. |
| (BouncingCanvasShape.prototype._draw): Carries out all the steps to draw the shape. |
| |
| (BouncingCanvasShapesStage): A concrete sub-class of BouncingCanvasParticle for animating canvas shapes. |
| (BouncingCanvasShapesStage.prototype.createParticle): Creates a particle of type BouncingCanvasShape. |
| |
| (BouncingCanvasShapesBenchmark): A concrete sub-class of BouncingCanvasParticlesBenchmark for animating canvas shapes. |
| (BouncingCanvasShapesBenchmark.prototype.createStage): Creates a stage of type BouncingCanvasShapesStage. |
| (window.benchmarkClient.create): Creates a benchmark of type BouncingCanvasShapesBenchmark. |
| |
| * Animometer/tests/bouncing-particles/resources/bouncing-canvas-images.js: Added. |
| (BouncingCanvasImage): A concrete sub-class of BouncingCanvasParticle for animating canvas images. |
| (BouncingCanvasImage.prototype._draw): Draws an image on the context of a canvas. |
| |
| (BouncingCanvasImagesStage): A concrete sub-class of BouncingCanvasParticlesBenchmark for animating canvas images. |
| (BouncingCanvasImagesStage.prototype.createParticle): Creates a particle of type BouncingCanvasImage. |
| |
| (BouncingCanvasImagesBenchmark): A concrete sub-class of BouncingCanvasParticlesBenchmark for animating canvas images. |
| (BouncingCanvasImagesBenchmark.prototype.createStage): Creates a stage of type BouncingCanvasImagesStage. |
| (window.benchmarkClient.create): Creates a benchmark of type BouncingCanvasImagesBenchmark. |
| |
| * Animometer/tests/bouncing-particles/resources/bouncing-svg-particles.js: Added. |
| (BouncingSvgParticle): A base sub-class of BouncingParticle for animating SVG particles. |
| (BouncingSvgParticle.prototype._applyClipping): Apply the particle clipping by setting the 'clip-path' attribute of the SVGElement. |
| (BouncingSvgParticle.prototype._move): Moves the particle to a new location. Apply transform since it does not require layout. |
| (BouncingSvgParticle.prototype.animate): Rotates and moves the shape to a new location. |
| (BouncingSvgParticlesStage): A sub class of BouncingParticlesStage for animating SVGElements. |
| (BouncingSvgParticlesStage.prototype._createDefs): Creates an SVGDefsElement. |
| (BouncingSvgParticlesStage.prototype._ensureDefsIsCreated): Ensures there is only one SVGDefsElement is created. |
| (BouncingSvgParticlesStage.prototype._createClipStar): Creates an SVGClipPathElement and sets its 'd' attribute to a star like shape. |
| (BouncingSvgParticlesStage.prototype.ensureClipStarIsCreated): Ensure there is only one star SVGClipPathElement is created. |
| (BouncingSvgParticlesStage.prototype.particleWillBeRemoved): Remove the corresponding element form the parent children list. |
| |
| * Animometer/tests/bouncing-particles/resources/bouncing-svg-shapes.js: Added. |
| (BouncingSvgShape): A concrete sub-class of BouncingSVGParticle for animating SVG shapes. |
| (BouncingSvgShape.prototype._createShape): Creates an SVG shape. |
| (BouncingSvgShape.prototype._applyFill): Applies the selected fill style to the SVG shape. |
| |
| (BouncingSvgShapesStage): A concrete sub-class of BouncingSvgParticlesStage for animating SVG shapes. |
| (BouncingSvgShapesStage.prototype.createGradient): Creates an SVGLinearGradientElement. |
| (BouncingSvgShapesStage.prototype.createParticle): Creates a particle of type BouncingSvgShape. |
| (BouncingSvgShapesStage.prototype.particleWillBeRemoved): Ensures the attached SVGLinearGradientElement is removed from the SVGDefsElement. |
| |
| (BouncingSvgShapesBenchmark): A concrete sub-class of BouncingParticlesBenchmark for animating SVG images. |
| (BouncingSvgShapesBenchmark.prototype.createStage): Creates a stage of type BouncingSvgShapesStage. |
| (window.benchmarkClient.create): Creates a benchmark of type BouncingSvgShapesBenchmark. |
| |
| * Animometer/tests/bouncing-particles/resources/bouncing-svg-images.js: Added. |
| (BouncingSvgImage): A concrete sub-class of BouncingSVGParticle for animating SVG images. |
| |
| (BouncingSvgImagesStage): A concrete sub-class of BouncingSVGParticlesBenchmark for animating SVG images. |
| (BouncingSvgImagesStage.prototype.createParticle): Creates a particle of type BouncingSvgImage. |
| |
| (BouncingSvgImagesBenchmark): A concrete sub-class of BouncingParticlesBenchmark for animating SVG images. |
| (BouncingSvgImagesBenchmark.prototype.createStage): Creates a stage of type BouncingSvgImagesStage. |
| (window.benchmarkClient.create): Creates a benchmark of type BouncingSvgImagesBenchmark. |
| |
| * Animometer/tests/examples: Added. |
| * Animometer/tests/examples/canvas-electrons.html: Added. |
| * Animometer/tests/examples/canvas-stars.html: Added. |
| Examples test pages. |
| |
| * Animometer/tests/examples/resources: Added. |
| * Animometer/tests/examples/resources/canvas-electrons.js: Added. |
| (CanvasElectron): An object which draws and animate a electron object on a canvas stage. |
| (CanvasElectron.prototype._draw): Draws the electron object. |
| (CanvasElectron.prototype.animate): Animates the electron object. |
| |
| (CanvasElectronsStage): A concrete sub-class of Stage for animating electrons. |
| (CanvasElectronsStage.prototype.tune): Changes the test by adding or removing elements. |
| (CanvasElectronsStage.prototype.animate): Animates the test elements. |
| |
| (CanvasElectronsAnimator): A concrete sub-class of StageAnimator for animating canvas electrons. |
| (CanvasElectronsAnimator.prototype.animate): Overrides the base class method to clear the canvas before redrawing the stage. |
| |
| (CanvasElectronsBenchmark): A concrete sub-class of StageBenchmark for animating electrons. |
| (CanvasElectronsBenchmark.prototype.createStage): Creates a stage of CanvasElectronsStage. |
| (CanvasElectronsBenchmark.prototype.createAnimator): Creates an animator of type CanvasElectronsAnimator. |
| (window.benchmarkClient.create): Creates a benchmark of type CanvasElectronsBenchmark. |
| |
| * Animometer/tests/examples/resources/canvas-stars.js: Added. |
| (CanvasStar): An object which draws and animate a star object on a canvas stage. |
| (CanvasStar.prototype._draw): Draws the star object. |
| (CanvasStar.prototype.animate): Animates the star object. |
| |
| (CanvasStarsStage): A concrete sub-class of Stage for animating stars. |
| (CanvasStarsStage.prototype.tune): Changes the test by adding or removing elements. |
| (CanvasStarsStage.prototype.animate): Animates the test elements. |
| |
| (CanvasStarsAnimator): A concrete sub-class of StageAnimator for animating canvas stars. |
| (CanvasStarsAnimator.prototype.animate): Overrides the base class method to clear the canvas before redrawing the stage. |
| |
| (CanvasStarsBenchmark): A concrete sub-class of Benchmark for animating stars. |
| (CanvasStarsBenchmark.prototype.createStage): Creates a stage of CanvasStarsStage. |
| (CanvasStarsBenchmark.prototype.createAnimator): Creates an animator of type CanvasStarsAnimator. |
| (window.benchmarkClient.create): Creates a benchmark of type CanvasStarsBenchmark. |
| |
| * Animometer/tests/resources: Added. |
| This directory includes the script which is required to run an adaptive |
| graphics benchmark. From an empty test page, the set of classes in this |
| directory are responsible for measuring the current frame rate and |
| changing the test to reach a desired FPS. It keeps asking the test page |
| to tune itself by a certain value to increase or decrease the frame rate. |
| It's also responsible for sampling the test state and the corresponding |
| frame rate. |
| |
| * Animometer/tests/resources/main.js: Added. |
| (BenchmarkState): Tracks the state of the benchmark test. |
| (BenchmarkState.prototype._timeOffset): Returns the timeOffset of a stage. |
| (BenchmarkState.prototype._message): Returns the message of a stage. |
| (BenchmarkState.prototype.update): Sets the currentTimeOffset to a new value. |
| (BenchmarkState.prototype.samplingTimeOffset): Returns the timeOffset of the sampling stage. |
| (BenchmarkState.prototype.currentStage): Returns the current stage of the benchmark. |
| (BenchmarkState.prototype.currentMessage): Returns the message of the current stage and timeOffset. |
| (BenchmarkState.prototype.currentProgress): Returns a percentage of how much the benchmark is running. |
| |
| (Animator): Manages animating the test. |
| (Animator.prototype.start): Called if animating using setInterval is requested. |
| (Animator.prototype.timeDelta): Returns the current timeDelta |
| (Animator.prototype.animate): Manages the test animation. |
| (Animator.prototype.animateLoop): Called if animating using requestAnimationFrame is requested. |
| |
| (Benchmark): Manages running the test benchmark and recording the sampled data. |
| (Benchmark.prototype.start): Starts the benchmark. |
| (Benchmark.prototype.update): Called from the animator.animate() to change the complexity of the test. |
| (Benchmark.prototype.record): Shows the current (not final) results of the benchmark. |
| (Benchmark.prototype.resolveWhenFinished): Spins until the benchmark is finished and returns its results. |
| (Benchmark.prototype.run): Starts the test, runs it, waits until it is finished and return its results. |
| (window.runBenchmark): Called from the benchmark runner through the suite controller run-callback. |
| |
| * Animometer/tests/resources/math.js: Added. |
| (Matrix): A matrix object. |
| (Vector3): A vector of size 3 object. |
| (Matrix3): A matrix of size 3x3 object. |
| |
| (PIDController): Closed-loop controller for a set-point y. |
| (PIDController.prototype._sat): Limits the output to a certain range. |
| (PIDController.prototype.tune): Given the current output of a system, it produces a new pid value for tuning it. |
| |
| (KalmanEstimator): Implement Kalman filter to get an estimate for a sampled data point. |
| (KalmanEstimator.prototype.estimate): Returns an estimate for for a sampled data point. |
| |
| * Animometer/tests/resources/utilities.js: Added. |
| (window.Utilities._parse): Given a separator character, it pareses a string to a set of <key, value> pairs. |
| (window.Utilities.parseParameters): Parses a test parameters. |
| (window.Utilities.parseArguments): Parses a tag arguments. |
| (window.Utilities.extendObject): Adds the attributes and their values of an object to another object. |
| (window.Utilities.copyObject): Copies the attributes and their values of an object to a new object. |
| (window.Utilities.mergeObjects): Copies the attributes and their values of two objects to a new object. |
| (window.Utilities.createSvgElement): Creates an SVGElement given its name and its attributes. |
| |
| * Animometer/tests/resources/stage.css: Added. |
| * Animometer/tests/resources/stage.js: Added. |
| (Rotater): Manages rotating an angle within a fixed time interval. |
| (Rotater.prototype.get interval): Returns the time interval which is required to rotate 360 degrees. |
| (Rotater.prototype.next): Moves the current time by a delta. |
| (Rotater.prototype.degree): Returns the current rotating degree. |
| (Rotater.prototype.rotateZ): Returns CSS formatted transform rotateZ() string for the current degree. |
| (Rotater.prototype.rotate): Returns SVG formatted transform rotate() string for the current degree. |
| |
| (Stage): A base class for managing the test complexity and test animation. |
| (Stage.prototype.get size): Returns the size of the stage excluding the CSS padding. |
| (Stage.prototype.random): Returns a random float. |
| (Stage.prototype.randomInt): Returns a random integer. |
| (Stage.prototype.randomPosition): Returns a random position. |
| (Stage.prototype.randomSquareSize): Returns a square size. |
| (Stage.prototype.randomVelocity): Returns a random velocity. |
| (Stage.prototype.randomAngle): Returns a random angle. |
| (Stage.prototype.randomColor): Returns a random color not too dark and not too light. |
| (Stage.prototype.randomRotater): Creates a random rotater. Its velocity depends on choosing a random rotation time interval. |
| (Stage.prototype.tune): A not-implemented version of this function. |
| (Stage.prototype.animate): A not-implemented version of this function. |
| (Stage.prototype.clear): Clears the stage from all its animation elements. |
| |
| (StageAnimator): A base class for the stage-based animators. |
| (StageAnimator.prototype.animate): Calls Animator.animate() which updates the test page and then calls Stage.animate() to force redraw. |
| |
| (StageBenchmark): A base class for the stage-based benchmarks. |
| (StageBenchmark.prototype.createStage): Creates the default stage. |
| (StageBenchmark.prototype.createAnimator): Creates the default animator. |
| (StageBenchmark.prototype.tune): Delegates the call to stage. |
| (StageBenchmark.prototype.clear): Delegates the call to stage. |
| (StageBenchmark.prototype.showResults): Shows the results/progress through its recordTable and progressBar. |
| |
| * Animometer/tests/resources/yin-yang.png: Added. |
| * Animometer/tests/resources/yin-yang.svg: Added. |
| These images are shared among all the tests. |
| |
| * Animometer/tests/template: Added. |
| * Animometer/tests/template/resources: Added. |
| This directory includes template tests which do nothing. They can be used |
| to author new tests. Animated items can be created, moved and redrawn by |
| removing the TODO comments in the script files and writing actual code. |
| |
| * Animometer/tests/template/template-css.html: Added. |
| * Animometer/tests/template/template-canvas.html: Added. |
| * Animometer/tests/template/template-svg.html: Added. |
| Template test pages. They can be used as they are. CSS attributes or hidden |
| elements can be added to these derived test pages if needed. |
| |
| * Animometer/tests/template/resources/template-css.js: Added. |
| |
| (TemplateCssStage): A stage to create and animate HTMLElements. |
| (TemplateCssStage.prototype.tune): Changes the test by adding or removing elements. |
| (TemplateCssStage.prototype.animate): Animates the test elements. |
| (TemplateCssBenchmark): |
| (TemplateCssBenchmark.prototype.createStage): Creates the test stage. |
| (window.benchmarkClient.create): Creates a benchmark of type TemplateCssBenchmark. |
| |
| * Animometer/tests/template/resources/template-canvas.js: Added. |
| (TemplateCanvasObject): |
| (TemplateCanvasObject.prototype._draw): Draws the objects on the canvas context. |
| (TemplateCanvasObject.prototype.animate): Moves and redraws the object. |
| (TemplateCanvasStage): A stage to create and animate drawing elements. |
| (TemplateCanvasStage.prototype.tune): hanges the test by adding or removing elements. |
| (TemplateCanvasStage.prototype.animate): Animates the test elements. |
| (TemplateCanvasAnimator.prototype.animate): Starts the animation every frame. |
| (TemplateCanvasBenchmark): |
| (TemplateCanvasBenchmark.prototype.createStage): Creates a stage of type TemplateCanvasStage. |
| (TemplateCanvasBenchmark.prototype.createAnimator): Creates a animator of type TemplateCanvasAnimator. |
| (window.benchmarkClient.create): Creates a benchmark of type TemplateCanvasBenchmark. |
| |
| * Animometer/tests/template/resources/template-svg.js: Added. |
| (TemplateSvgStage): A stage to create and animate SVGElements. |
| (TemplateSvgStage.prototype.tune): Changes the test by adding or removing elements. |
| (TemplateSvgStage.prototype.animate): Animates the test elements. |
| (TemplateSvgBenchmark.prototype.createStage): Creates a stage of type TemplateSvgStage. |
| (window.benchmarkClient.create): Creates a benchmark of type TemplateSvgBenchmark. |
| |
| * Animometer/tests/text: Added. |
| * Animometer/tests/text/resources: Added. |
| This directory includes the text animating tests which currently runs |
| on CSS stage only. |
| |
| * Animometer/tests/text/layering-text.html: Added. |
| Text test page. |
| |
| * Animometer/tests/text/resources/layering-text.js: Added. |
| (LayeringTextStage): Represents the container of all the stacked text layers. |
| (LayeringTextStage.parseTextItem): Parses a textItem which may be an opening tag, a closing tag or a self-closing tag. |
| (LayeringTextStage.isOpeningTextItem): Returns true if the textItem is an opening tag e.g. '<ol>'. |
| (LayeringTextStage.isClosingTextItem): Returns true if the textItem is an closing tag e.g. '</ol>. |
| (LayeringTextStage.textItemsFlags.LayeringTextStage.textItems.map): Calculates and stores isOpening and isClosing flags for each textItem. |
| (LayeringTextStage.isColorableTextItem): Returns true if the textItem is self-closing tag e.g. '<p>...</p>'. |
| (LayeringTextStage.isInsertableTextItem): Returns true if the textItems causes a new element to be added to the text layers. |
| (LayeringTextStage.colorableTextItems.LayeringTextStage.textItemsFlags.filter): Number of colorable textItems. |
| (LayeringTextStage.insertableTextItems.LayeringTextStage.textItemsFlags.filter): Number of insertable textItems. |
| (LayeringTextStage.colorIndexToTextElementIndex): Maps from colorIndex [0..colorableTextItems-1] to textElementIndex [0..insertableTextItems-1]. |
| (LayeringTextStage.prototype._nextTextItem): Moves the _textItemIndex one step forward in a loop [0..LayeringTextStage.textItems.length-1]. |
| (LayeringTextStage.prototype._previousTextItem): Moves the _textItemIndex one step backward in a loop. |
| (LayeringTextStage.prototype._pushTextElement): Creates a new textItemElement and adds it to the topmost container <div>. |
| (LayeringTextStage.prototype._popTextElement): Removes the last textItemElement from the topmost container <div>. |
| (LayeringTextStage.prototype._colorTextItem): Changes the background color of a single colorable textElement. The index advances in a circle [0..colorableTextItems-1]. |
| (LayeringTextStage.prototype.animate): Changes the background color and the text color of the textElements such that a redraw is enforced. |
| (LayeringTextStage.prototype.tune): Adds or removes textElements to the stage. |
| |
| (LayeringTextBenchmark): Runs the benchmark for the layering text test. |
| (LayeringTextBenchmark.prototype.createStage): Creates a stage of type LayeringTextStage. |
| (window.benchmarkClient.create): Creates a benchmark of type LayeringTextBenchmark. |
| |
| 2015-10-02 Said Abou-Hallawa <sabouhallawa@apple.com> |
| |
| Add shared code for a new a graphics benchmark |
| https://bugs.webkit.org/show_bug.cgi?id=149691 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| This set of classes will be shared and used by the tests and the runner |
| of a new graphics benchmark. |
| |
| * Animometer/resources: Added. |
| * Animometer/resources/algorithm.js: Added. |
| (Array.prototype.swap): Swaps two elements in an array. |
| (Heap): Binary Min/Max Heap object |
| (Heap.prototype._parentIndex): Given the child node index, it returns the parent index. |
| (Heap.prototype._leftIndex): Given the parent node index, it returns the left node index. |
| (Heap.prototype._rightIndex): Given the parent node index, it returns the right node index. |
| (Heap.prototype._childIndex): Given the parent node index, it returns the child index that may violate the heap property. |
| (Heap.prototype.init): Initializes the heap state. |
| (Heap.prototype.top): Returns the value stored at the top of the heap. |
| (Heap.prototype.push): Pushes a new node at the top of the heap. |
| (Heap.prototype.pop): Extracts the top node of the heap. |
| (Heap.prototype._bubble): Fixes the heap property by moving upward. |
| (Heap.prototype._sink): Fixes the heap property by moving downward. |
| (Heap.prototype.str): Prints the nodes of the heap to a string. |
| (Heap.prototype.values): Returns the last "size" heap elements values. |
| |
| (Algorithm.createMinHeap): Creates a size-bounded min-heap object. |
| (Algorithm.createMaxHeap): Creates a size-bounded max-heap object. |
| |
| * Animometer/resources/extensions.js: Added. |
| (Point): Point object but can be used as size also. |
| (Point.pointOnCircle): Given, the radius of the circle and the angle of the point, it returns a point object. |
| (Point.pointOnEllipse): Given, the radiuses of the ellipse and the angle of the point, it returns a point object. |
| (Point.prototype.get width): Should be called when the point is used as size. |
| (Point.prototype.get height): Should be called when the point is used as size. |
| (Point.prototype.get center): Should be called when the point is used as size. |
| (Point.prototype.add): Returns a new point = this + other. |
| (Point.prototype.subtract): Returns a new point = this - other. |
| (Point.prototype.multiply): Returns a new point = this * other. |
| (Point.prototype.move): Moves the point in a given direction, velocity, time period. |
| |
| (Insets): Represents borders of a container. |
| (Insets.prototype.get width): Returns left + right. |
| (Insets.prototype.get height): Returns top + bottom. |
| |
| (SimplePromise): |
| (SimplePromise.prototype.then): |
| (SimplePromise.prototype.resolve): |
| Moved from Animometer/runner/resources/benchmark-runner.js since tests also need it. |
| |
| (Options): Benchmark running options as they are set by the user. |
| |
| (ProgressBar): Manages a progress bar element. The progress bar is divided into equal length ranges. |
| (ProgressBar.prototype._progressToPercent): Converts the progress into a percentage. |
| (ProgressBar.prototype.incRange): Moves to the next range (a range is the running time of a single test). |
| (ProgressBar.prototype.setPos): Draws the current progress in the current range. |
| |
| (RecordTable): Shows the results of running a benchmark in a tabular form. |
| (RecordTable.prototype.clear): Clears the results table. |
| (RecordTable.prototype._showTitles): Shows the header titles and appends the sub-titles to a queue. |
| (RecordTable.prototype._showHeader): Shows the table header titles. |
| (RecordTable.prototype._showEmpty): Shows an empty table cell. |
| (RecordTable.prototype._showValue): Shows a number value in the results table. |
| (RecordTable.prototype._showSamples): Shows a button for the sampled data graph. |
| (RecordTable.prototype._showTest): Shows the results of a single test. |
| (RecordTable.prototype._showSuite): Shows the results of a single suite. |
| (RecordTable.prototype.showRecord): Shows a single iteration for a single test. |
| (RecordTable.prototype.showIterations): Shows the results of all the suites of the iterations. |
| |
| * Animometer/resources/sampler.js: Added. |
| (Statistics.sampleMean): Returns the sample mean. |
| (Statistics.unbiasedSampleStandardDeviation): Returns the unbiased sample variance (i.e. with Bessel's correction) |
| (Statistics.geometricMean): Returns the geometric mean. |
| |
| (Experiment): Represents a sampling experiment. |
| (Experiment.prototype._init): Called when the object is created and when startSampling() is called. |
| (Experiment.prototype.startSampling): Called after warmup period. Restarts collecting sampled data points. |
| (Experiment.prototype.sample): Add a new data point. |
| (Experiment.prototype.mean): Returns the sample mean for the current sampled data points. |
| (Experiment.prototype.standardDeviation): Returns the sample standard deviation for the current sampled data points. |
| (Experiment.prototype.percentage): Returns the percentage of the standard deviation divided to the mean. |
| (Experiment.prototype.confidenceIntervalDelta): Calculates the confidence delta for the current sampled data given a confidence level. |
| (Experiment.prototype.concern): Returns the average of the worst given percentage from the sampled data. |
| (Experiment.prototype.score): Returns a score for the sampled data. It is the geometric mean of sampleMean and concern. |
| |
| (Sampler): Represents a compound experiment. It manages sampling multiple data points at the same time offset. |
| (Sampler.prototype.startSampling): Called after warming up period. Restarts collecting sampled data points. |
| (Sampler.prototype.sample): Add a new data vector at a given time offset. |
| |
| 2015-10-02 Said Abou-Hallawa <sabouhallawa@apple.com> |
| |
| Add the test runner for a new a graphics benchmark |
| https://bugs.webkit.org/show_bug.cgi?id=149683 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| The test runner collects the selected test suites and the running options |
| from its home page. It loops through all the tests, runs them and collects |
| their running results. At the end, it shows summary results and a final |
| score. It can also show a chart for a test sampled data. |
| |
| * Animometer: Added. |
| * Animometer/runner: Added. |
| * Animometer/runner/resources: Added. |
| |
| * Animometer/runner/animometer.html: Added. |
| * Animometer/runner/resources/animometer.css: Added. |
| The benchmark runner page and css. |
| |
| * Animometer/runner/resources/animometer.js: Added. |
| (window.benchmarkRunnerClient.willAddTestFrame): Called after the test <iframe> is created. |
| (window.benchmarkRunnerClient.didRunTest): Called after running a test is finished. |
| (window.benchmarkRunnerClient.willStartFirstIteration): Called at the beginning before running any test. |
| (window.benchmarkRunnerClient.didRunSuites): Called after running all tests of a suite. |
| (window.benchmarkRunnerClient.didFinishLastIteration): Called after running the last test. |
| |
| (showSection): Shows a section in the animometer.html page. |
| (startTest): Called when the "Start Test" button is clicked. |
| (showResults): Called after finishing all the tests. |
| (showGraph): Called when "Click..." button in the "Samples" column of the results table is clicked |
| |
| * Animometer/runner/resources/benchmark-runner.js: Copied from PerformanceTests/Speedometer/resources/benchmark-runner.js. |
| (BenchmarkRunnerState): Tracks the current running <suite, test> |
| (BenchmarkRunnerState.prototype.currentSuite): Returns the current running suite. |
| (BenchmarkRunnerState.prototype.currentTest): Returns the current running test. |
| (BenchmarkRunnerState.prototype.isFirstTest): Returns true if we are running the first test in the current suite. |
| (BenchmarkRunnerState.prototype.next): Advances to the next test. |
| (BenchmarkRunnerState.prototype.prepareCurrentTest): Creates a new <iframe> and waits for it to load a test. |
| |
| (BenchmarkRunner): Manages running the tests and communicating with the benchmarkRunnerClient. |
| (BenchmarkRunner.prototype.waitForElement): Waits for an element to be created. |
| (BenchmarkRunner.prototype._appendFrame): Creates a new <iframe> element. |
| (BenchmarkRunner.prototype._removeFrame): Removed the current <iframe> element. |
| (BenchmarkRunner.prototype._runTestAndRecordResults): Runs the current test and saves its results. |
| (BenchmarkRunner.prototype.step): Either runs the current test if there is or start a new iteration. |
| (BenchmarkRunner.prototype.runAllSteps): Loops to run all the tests and move to the next iteration. |
| (this._runNextIteration): Starts a new iteration or show the results. |
| (BenchmarkRunner.prototype.runMultipleIterations): Loops to run all the iterations and show the results |
| (BenchmarkRunner.prototype._finalize): Finalizes the current iteration and starts a new one. |
| |
| (SimplePromise): Deleted. |
| (SimplePromise.prototype.then): Deleted. |
| (SimplePromise.prototype.resolve): Deleted. |
| (BenchmarkTestStep): Deleted. |
| (Fibonacci): Deleted. |
| SimplePromise was moved t Animometer/resources/extensions.js because it is used by the runner and the tests. |
| |
| (BenchmarkRunner.prototype._waitAndWarmUp): Deleted. |
| (BenchmarkRunner.prototype._runTest): Deleted. |
| (BenchmarkState.prototype.currentSuite): Deleted. |
| (BenchmarkState.prototype.currentTest): Deleted. |
| (BenchmarkState.prototype.next): Deleted. |
| (BenchmarkState.prototype.isFirstTest): Deleted. |
| (BenchmarkState.prototype.prepareCurrentSuite): Deleted. |
| BenchmarkState was renamed to BenchmarkRunnerState to not be confused with the tests BenchmarkState. |
| |
| * Animometer/runner/resources/d3.min.js: Copied from Websites/perf.webkit.org/public/v2/js/d3/d3.min.js. |
| Needed for drawing charts for the sampled scores and frame rates. |
| |
| * Animometer/runner/resources/graph.js: Added. |
| (graph): Draws a chart for a test sampled data. It shows two y-axes: one for the animated items and the second for FPS. |
| |
| * Skipped: Skip the Animometer benchmark for now. |
| |
| 2015-08-27 Csaba Osztrogonác <ossy@webkit.org> |
| |
| [EFL] REGRESSION(r188793): It made 200 layout tests and Bindings/event-target-wrapper.html performance test fail |
| https://bugs.webkit.org/show_bug.cgi?id=148470 |
| |
| Unreviewed gardening, skip the hanging test to make the performance bot work. |
| |
| * Skipped: |
| |
| 2015-08-17 Chris Dumez <cdumez@apple.com> |
| |
| Add performance tests for traversal of collections returned by getElementsByClassName() / getElementsByTagName() |
| https://bugs.webkit.org/show_bug.cgi?id=148080 |
| |
| Reviewed by Antti Koivisto. |
| |
| Add performance tests for traversal of *uncached* collections returned |
| by getElementsByClassName() / getElementsByTagName(). These methods |
| will soon be updated to return an HTMLCollection instead of a |
| NodeList and we need to make sure we don't regress performance in the |
| process. |
| |
| * DOM/get-elements-by-class-name-traversal-uncached.html: Added. |
| * DOM/get-elements-by-tag-name-traversal-uncached.html: Added. |
| |
| 2015-08-14 Chris Dumez <cdumez@apple.com> |
| |
| Add performance tests for NodeList and HTMLCollection traversal |
| https://bugs.webkit.org/show_bug.cgi?id=148043 |
| |
| Reviewed by Gavin Barraclough. |
| |
| Add performance tests for NodeList and HTMLCollection traversal. |
| Ideally, those 2 tests should be as fast. However, due to inefficiencies |
| in our HTMLCollection bindings code, the HTMLCollection tests is ~30% |
| slower. This will be addressed in the near future. |
| |
| * Bindings/childNodes-traversal.html: Added. |
| * Bindings/children-traversal.html: Added. |
| |
| 2015-08-05 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| Add a second font-fallback performance test |
| https://bugs.webkit.org/show_bug.cgi?id=147692 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| This test is smaller, but has more realistic content. Also, it uses the "lang" attribute. |
| |
| * Layout/font-fallback-2.html: Added. |
| * Layout/resources/font-fallback-2.html: Added. |
| |
| 2015-07-13 Filip Pizlo <fpizlo@apple.com> |
| |
| Update JetStream version number to 1.1. |
| |
| Rubber stamped by Ryosuke Niwa. |
| |
| * JetStream/create.rb: |
| |
| 2015-06-30 Filip Pizlo <fpizlo@apple.com> |
| |
| Update the JetStream documentation to reflect the recent changes |
| https://bugs.webkit.org/show_bug.cgi?id=146474 |
| |
| Reviewed by Geoffrey Garen. |
| |
| * JetStream/create.rb: Bump the version. |
| * JetStream/in-depth-TEMPLATE.html: Add cdjs documentation. Remove cordic documentation. Change documentation for splay and mandreel. |
| |
| 2015-06-26 Filip Pizlo <fpizlo@apple.com> |
| |
| [JetStream] Raise the percentile of mandreel-latency and splay-latency |
| https://bugs.webkit.org/show_bug.cgi?id=146378 |
| |
| Reviewed by Mark Lam. |
| |
| The current percentile is 95%. When I looked at the sample lists in our GC, it was |
| clear that the worst 5% samples completely amortize our GC pauses. Our GC pauses can |
| be quite bad. Clearly, splay-latency is meant to test whether we have an incremental |
| GC that ensures that you don't have bad worst-case pauses. But 95% is too small, |
| because it doesn't really capture those pauses. Raising the percentile to above 99% |
| appears to do the trick. 99.5% or more seems like a good bet. The trade-off there is |
| just that if we set it too high, then we won't have enough statistics. Doing this very |
| clearly rewards GCs that are incremental, and punishes GCs that aren't (like ours). |
| That's what we want, since in the future we want to use this test to guide any |
| improvements to the worst-case performance of our GC. |
| |
| The way that the percentile is selected will also affect mandreel-latency. That's a |
| good thing, because 95% is probably too low for that test as well. That test ends up |
| with >10k samples. The goal of using 95% in the first place was to get enough samples |
| to have a stable average. But if we have >10k samples, we can push that percentile up |
| much higher and still get good statistics while achieving the effect we want - i.e. |
| getting the worst case. |
| |
| I don't think that we need to do the same thing for cdjs. That test only takes 200 |
| samples, so 95% means we report the average of the worst 10 samples. That's probably |
| good enough. |
| |
| * JetStream/Octane2/base.js: Raise the percentile as described above. |
| (BenchmarkSuite.prototype.RunSingleBenchmark): |
| * JetStream/Reference.js: Tweak the reference times to bring the latency tests closer to 100ish on my machine. |
| * JetStream/create.rb: Bump the version. |
| |
| 2015-06-19 Filip Pizlo <fpizlo@apple.com> |
| |
| Run CDjs as part of JSC stress testing |
| https://bugs.webkit.org/show_bug.cgi?id=146174 |
| |
| Reviewed by Geoffrey Garen. |
| |
| * JetStream/cdjs/cdjs-tests.yaml: Added. This tells JSC stress tests what tests to run. It uses new syntax ("tests" being a list) that I add in this change. |
| * JetStream/cdjs/main.js: Mark this as a slow test. |
| * JetStream/create.rb: Don't copy the JSC stress tests artifacts into the JetStream bundle. |
| |
| 2015-06-19 Filip Pizlo <fpizlo@apple.com> |
| |
| Unreviewed, fix a small indentation goof. |
| |
| * JetStream/cdjs/motion.js: |
| (Motion.prototype.findIntersection): |
| |
| 2015-06-19 Filip Pizlo <fpizlo@apple.com> |
| |
| JetStream should include a JavaScript version of the CDx real-time benchmark |
| https://bugs.webkit.org/show_bug.cgi?id=146156 |
| |
| Reviewed by Geoffrey Garen. |
| |
| This adds a JavaScript port of the CDx real-time benchmark to JetStream, and retires |
| the cordic test because it was previously the smallest and probably least interesting. |
| |
| The new test, "cdjs", is mostly a faithful rewrite of the Java code into JavaScript. |
| I got the Java code from https://www.cs.purdue.edu/sss/projects/cdx/. |
| |
| There are some differences: |
| |
| - It uses RedBlackTree's for all sets and maps rather than hashtables. This is clearly |
| more in the spirit of real-time than the CDx benchmark. FWIW, CDx used to use trees |
| and I don't know why that changed in the latest version. |
| |
| - CDjs doesn't attempt to avoid memory allocations, unlike the real-time Java version. |
| I wrote the code that I wanted to write for aesthetics, rather than the code that I |
| would have written if I tried to write the fastest code possible. Again, I believe |
| that this is in the spirit of CDj - it's meant to test what would happen if you wrote |
| real-timey stuff in a high level language and actually took advantage of that |
| language to be more productive. |
| |
| The test score reflects the average latency of the worst 10 samples out of 200 samples. |
| The simulation uses 1000 aircraft, flying along paths that result in some detected |
| collisions every once in a while. The benchmark validates its results by checking the |
| total number of collisions detected. |
| |
| Apart from the integration into the JetStream harness, the CDjs directory contains a |
| fully self-contained benchmark that could be run either in the jsc shell or in browser. |
| |
| This new code uses the same 3-clause BSD license as the Purdue code, and gives |
| attribution to Purdue in almost all files. I believe that is appropriate since I wrote |
| most of the JS files by looking at the Purdue Java code and trascribing to JavaScript. |
| In some cases, I even copy-pasted the Java code, like the complicated math for |
| four-dimensional intersections and voxel hashing. |
| |
| * JetStream/CDjsSetup.js: Added. |
| * JetStream/Octane2Setup.js: |
| * JetStream/Reference.js: |
| * JetStream/cdjs: Added. |
| * JetStream/cdjs/benchmark.js: Added. |
| (benchmark): |
| * JetStream/cdjs/call_sign.js: Added. |
| (CallSign): |
| (CallSign.prototype.compareTo): |
| (CallSign.prototype.toString): |
| * JetStream/cdjs/collision.js: Added. |
| (Collision): |
| (Collision.prototype.toString): |
| * JetStream/cdjs/collision_detector.js: Added. |
| (CollisionDetector): |
| (CollisionDetector.prototype.handleNewFrame.get for): |
| (CollisionDetector.prototype.handleNewFrame): |
| * JetStream/cdjs/constants.js: Added. |
| * JetStream/cdjs/main.html: Added. |
| * JetStream/cdjs/main.js: Added. |
| * JetStream/cdjs/motion.js: Added. |
| (Motion): |
| (Motion.prototype.toString): |
| (Motion.prototype.delta): |
| (Motion.prototype.findIntersection): |
| * JetStream/cdjs/motion_test.js: Added. |
| (checkDoesIntersect): |
| (checkDoesNotIntersect): |
| (makeMotion): |
| * JetStream/cdjs/red_black_tree.js: Added. |
| (RedBlackTree): |
| (RedBlackTree.): |
| * JetStream/cdjs/red_black_tree_test.js: Added. |
| (test): |
| (test.): |
| * JetStream/cdjs/reduce_collision_set.js: Added. |
| (drawMotionOnVoxelMap): |
| (drawMotionOnVoxelMap.): |
| (.get reduceCollisionSet): |
| * JetStream/cdjs/reduce_collision_set_test.js: Added. |
| (makeMotion): |
| (keys): |
| (test): |
| * JetStream/cdjs/simulator.js: Added. |
| (Simulator): |
| (Simulator.prototype.simulate): |
| * JetStream/cdjs/util.js: Added. |
| (compareNumbers): |
| (averageAbovePercentile): |
| (currentTime): |
| (else.currentTime): |
| * JetStream/cdjs/vector_2d.js: Added. |
| (Vector2D): |
| (Vector2D.prototype.plus): |
| (Vector2D.prototype.minus): |
| (Vector2D.prototype.toString): |
| (Vector2D.prototype.compareTo): |
| * JetStream/cdjs/vector_3d.js: Added. |
| (Vector3D): |
| (Vector3D.prototype.plus): |
| (Vector3D.prototype.minus): |
| (Vector3D.prototype.dot): |
| (Vector3D.prototype.squaredMagnitude): |
| (Vector3D.prototype.magnitude): |
| (Vector3D.prototype.times): |
| (Vector3D.prototype.as2D): |
| (Vector3D.prototype.toString): |
| * JetStream/create.rb: |
| * JetStream/index-TEMPLATE.html: |
| * JetStream/sunspider/cordic.js: Removed. |
| |
| 2015-06-17 Javier Fernandez <jfernandez@igalia.com> |
| |
| [CSS Grid Layout] We should add performance tests for stretching logic |
| https://bugs.webkit.org/show_bug.cgi?id=146063 |
| |
| Reviewed by Sergio Villar Senin. |
| |
| Added a new performance test for Grid Layout to ensure there are no |
| regressions in the stretching alignment logic. |
| |
| * Layout/fixed-grid-lots-of-stretched-data.html: Added. |
| |
| 2015-06-17 Javier Fernandez <jfernandez@igalia.com> |
| |
| [CSS Grid Layout] Performance tests are using the old syntax |
| https://bugs.webkit.org/show_bug.cgi?id=146061 |
| |
| Reviewed by Sergio Villar Senin. |
| |
| Adapted tests to the new grid tracks definition syntax. |
| |
| * Layout/auto-grid-lots-of-data.html: |
| * Layout/fixed-grid-lots-of-data.html: |
| |
| 2015-06-08 Filip Pizlo <fpizlo@apple.com> |
| |
| JetStream should have a more rational story for jitter-oriented latency tests |
| https://bugs.webkit.org/show_bug.cgi?id=145762 |
| |
| Reviewed by Geoffrey Garen. |
| |
| JetStream has some latency tests that are meant to measure jitter. Prior to this change, they |
| did this by computing the RMS. But the RMS is a pretty bad metric. The thing that it rewards |
| isn't really the thing that you'd want your browser to do. These RMS-based tests involve taking |
| the geomean of the RMS of some samples and the sample average. The lower the geomean, the better |
| (in the JetStream harness we then invert the scores so that higher is better, but let's ignore |
| that for this discussion and assume that lower is better). Here's an example of how this can go |
| bad. A browser that always computes a task in some horribly long time (say, 1000ms) but never |
| varies that time will perform better than a browser that usually computes the task super quickly |
| (say, 10ms) and sometimes just a little bit less quickly (say, 15ms). The former browser will |
| have an RMS of 0 and an average of 1000. The latter will have a RMS somewhere around 3.5 and an |
| average of 12.5 (assuming equal probability of 10ms and 15ms). The geomean of (0, 1000) is 0. |
| The geomean of (3.5, 12.5) is 6.6. Lower is better, so the former browser scores higher - even |
| though it's obviously never better to have a browser always complete a task in 1000ms when a |
| different browser can do it in 15ms in the worst case. |
| |
| JetStream should not have this pathology. The right way of avoiding it is to replace RMS with |
| some other metric of how bad things get. A good metric is the average of the worst percentile. |
| The worst 1% or the worst 5% would be good things to average. This will catch cases where the VM |
| jittered due to JIT or GC, but it never have the pathology that we end up giving the better score |
| to a VM whose best case is worst than another VM's worst case. |
| |
| For now, this change uses the highest samples above the 95% percentile. I'm not yet sure if that |
| is the best thing - it might include too many scores that are around the best-case performance - |
| but it's certainly better than RMS and it might be good enough to keep. But because of that |
| uncertainty, I'm setting the version to be "1.1-alpha1" to indicate that we aren't ready to |
| release this yet. |
| |
| * JetStream/Octane2/base.js: |
| (.this.Setup.setup.setup): |
| (.this.TearDown.tearDown.tearDown): |
| (BenchmarkSuite.GeometricMeanTime): |
| (BenchmarkSuite.AverageAbovePercentile): |
| (BenchmarkSuite.GeometricMeanLatency): |
| (BenchmarkSuite.prototype.NotifyStep): |
| (BenchmarkSuite.prototype.RunSingleBenchmark): |
| * JetStream/Octane2/mandreel.js: |
| (setupMandreel): |
| (updateMandreelStats): |
| (startMandreelTimer): |
| (latencyMandreel): |
| (tearDownMandreel): |
| (RMSMandreel): Deleted. |
| * JetStream/Octane2/splay.js: |
| (GenerateKey): |
| (SplayUpdateStats): |
| (InsertNewNode): |
| (SplayTearDown): |
| (SplayRMS): Deleted. |
| * JetStream/create.rb: |
| |
| 2015-06-03 Zalan Bujtas <zalan@apple.com> |
| |
| Skip Dromaeo/jslib-modify-prototype.html for now. |
| |
| Unreviewed gardening. |
| |
| * Skipped: |
| |
| 2015-05-04 Filip Pizlo <fpizlo@apple.com> |
| |
| Large array shouldn't be slow |
| https://bugs.webkit.org/show_bug.cgi?id=144617 |
| |
| Reviewed by Geoffrey Garen. |
| |
| Add the hash-map benchmark to LongSpider. LongSpider was already not a perfect match of |
| SunSpider. It's not an official benchmark. It contains benchmarks that are relatively |
| long-running. So, hash-map sort of belongs here. |
| |
| * LongSpider/hash-map.js: Added. |
| (HashMap): |
| (HashMap.): |
| (.get var): |
| |
| 2015-05-01 Dewei Zhu <dewei_zhu@apple.com> |
| |
| Fix typo bug in Speedometer/resources/main.js |
| https://bugs.webkit.org/show_bug.cgi?id=144504 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| * Speedometer/resources/main.js: Fix typo. |
| (window.benchmarkClient.totalTimeInDisplayUnit): |
| |
| 2015-04-21 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Add JetStream to PerformanceTests |
| https://bugs.webkit.org/show_bug.cgi?id=144024 |
| |
| Rubber-stamped by Filip Pizlo. |
| |
| * JetStream: Added. |
| * JetStream/JetStream-Logo.png: Added. |
| * JetStream/JetStream-Logo@2x.png: Added. |
| * JetStream/JetStream.css: Added. |
| * JetStream/JetStreamDriver.js: Added. |
| * JetStream/LICENSE.txt: Added. |
| * JetStream/LLVM-test-suite-LICENSE.txt: Added. |
| * JetStream/Octane: Added. |
| * JetStream/Octane/base.js: Added. |
| * JetStream/Octane/code-load.js: Added. |
| * JetStream/Octane2: Added. |
| * JetStream/Octane2/base.js: Added. |
| * JetStream/Octane2/box2d.js: Added. |
| * JetStream/Octane2/code-load.js: Added. |
| * JetStream/Octane2/crypto.js: Added. |
| * JetStream/Octane2/deltablue.js: Added. |
| * JetStream/Octane2/earley-boyer.js: Added. |
| * JetStream/Octane2/gbemu-part1.js: Added. |
| * JetStream/Octane2/gbemu-part2.js: Added. |
| * JetStream/Octane2/mandreel.js: Added. |
| * JetStream/Octane2/navier-stokes.js: Added. |
| * JetStream/Octane2/pdfjs.js: Added. |
| * JetStream/Octane2/raytrace.js: Added. |
| * JetStream/Octane2/regexp.js: Added. |
| * JetStream/Octane2/richards.js: Added. |
| * JetStream/Octane2/run.js: Added. |
| * JetStream/Octane2/splay.js: Added. |
| * JetStream/Octane2/typescript-compiler.js: Added. |
| * JetStream/Octane2/typescript-input.js: Added. |
| * JetStream/Octane2/typescript.js: Added. |
| * JetStream/Octane2/zlib-data.js: Added. |
| * JetStream/Octane2/zlib.js: Added. |
| * JetStream/Octane2Setup.js: Added. |
| * JetStream/OctaneSetup.js: Added. |
| * JetStream/README: Added. |
| * JetStream/Reference.js: Added. |
| * JetStream/SimpleSetup.js: Added. |
| * JetStream/SunSpiderSetup.js: Added. |
| * JetStream/Swoosh.png: Added. |
| * JetStream/Swoosh@2x.png: Added. |
| * JetStream/TestingSetup.js: Added. |
| * JetStream/create.rb: Added. |
| * JetStream/docs: Added. |
| * JetStream/docs/JetStreamBlogPost.html: Added. |
| * JetStream/in-depth-TEMPLATE.html: Added. |
| * JetStream/index-TEMPLATE.html: Added. |
| * JetStream/simple: Added. |
| * JetStream/simple/bigfib.cpp: Added. |
| * JetStream/simple/bigfib.cpp.js: Added. |
| * JetStream/simple/container.cpp: Added. |
| * JetStream/simple/container.cpp.js: Added. |
| * JetStream/simple/dry.c: Added. |
| * JetStream/simple/dry.c.js: Added. |
| * JetStream/simple/float-mm.c: Added. |
| * JetStream/simple/float-mm.c.js: Added. |
| * JetStream/simple/gcc-loops.cpp: Added. |
| * JetStream/simple/gcc-loops.cpp.js: Added. |
| * JetStream/simple/hash-map.js: Added. |
| * JetStream/simple/n-body.c: Added. |
| * JetStream/simple/n-body.c.js: Added. |
| * JetStream/simple/quicksort.c: Added. |
| * JetStream/simple/quicksort.c.js: Added. |
| * JetStream/simple/towers.c: Added. |
| * JetStream/simple/towers.c.js: Added. |
| * JetStream/sunspider: Added. |
| * JetStream/sunspider/3d-cube.js: Added. |
| * JetStream/sunspider/3d-raytrace.js: Added. |
| * JetStream/sunspider/base64.js: Added. |
| * JetStream/sunspider/cordic.js: Added. |
| * JetStream/sunspider/crypto-aes.js: Added. |
| * JetStream/sunspider/crypto-md5.js: Added. |
| * JetStream/sunspider/crypto-sha1.js: Added. |
| * JetStream/sunspider/date-format-tofte.js: Added. |
| * JetStream/sunspider/date-format-xparb.js: Added. |
| * JetStream/sunspider/n-body.js: Added. |
| * JetStream/sunspider/regex-dna.js: Added. |
| * JetStream/sunspider/tagcloud.js: Added. |
| |
| 2015-04-14 Said Abou-Hallawa <sabouhallawa@apple.com> |
| |
| textPath layout performance improvement. |
| https://bugs.webkit.org/show_bug.cgi?id=141570. |
| |
| Reviewed by Darin Adler. |
| |
| Cut down the time spent in traversing the path for text by 50%. Instead |
| of traversing the path twice at a certain length: one time for the position |
| and the second time for the angle, we can merge these two passes into one. |
| |
| * SVG/TextOnPathSimple.html: Added. |
| * SVG/resources/TextOnPathSimple.svg: Added. |
| |
| 2015-04-13 Zalan Bujtas <zalan@apple.com> |
| |
| Clear up the test content when test is done. |
| |
| Unreviewed fix. |
| |
| * Layout/simple-line-layout-innertext.html: |
| |
| 2015-04-09 Zalan Bujtas <zalan@apple.com> |
| |
| Simple line layout(regression): Calling innerText on RenderFlow with multiple children is slow. |
| https://bugs.webkit.org/show_bug.cgi?id=143554 |
| |
| Reviewed by Antti Koivisto. |
| |
| Initialize render flow's segments only when the render flow changes in TextIterator. |
| The included performance test shows 6x speedup. (from ~10 runs/sec to ~60 runs/sec) |
| |
| * Layout/simple-line-layout-innertext.html: Added. |
| |
| 2015-03-09 Chris Dumez <cdumez@apple.com> |
| |
| [CG] Have Canvas use the IOSurfacePool |
| https://bugs.webkit.org/show_bug.cgi?id=142417 |
| <rdar://problem/20044440> |
| |
| Reviewed by Darin Adler. |
| |
| Lower the number of different canvas sizes from 1000 to 100 so that |
| the test does not require such a huge cache size. With 100, we now |
| get over 90% cache hit rate with the default IOSurfacePool size. |
| |
| * Canvas/reuse.html: |
| |
| 2015-01-28 Said Abou-Hallawa <sabouhallawa@apple.com> |
| |
| Poor performance on IE's Chalkboard benchmark. |
| https://bugs.webkit.org/show_bug.cgi?id=140753. |
| |
| Reviewed by Zalan Bujtas. |
| |
| * SVG/UnderTheSeeBenchmark.html: Added |
| * SVG/WorldcupBenchmark.html: Added. |
| * SVG/resources/RenderAnimator.css: Added. |
| * SVG/resources/RenderAnimator.js: Added. |
| These are benchmarks for the SVG rendering. Mainly we want to measure how fast |
| the SVG rendering will be when only a small part of it is drawn. |
| |
| 2015-01-21 Geoffrey Garen <ggaren@apple.com> |
| |
| bmalloc: support aligned allocation |
| https://bugs.webkit.org/show_bug.cgi?id=140732 |
| |
| Reviewed by Andreas Kling. |
| |
| * MallocBench/MallocBench.xcodeproj/project.pbxproj: |
| * MallocBench/MallocBench/Benchmark.cpp: |
| * MallocBench/MallocBench/memalign.cpp: |
| (test): |
| (benchmark_memalign): Added a test for specific interesting memalign values. |
| |
| * MallocBench/MallocBench/stress_aligned.cpp: Added. |
| (benchmark_stress_aligned): |
| * MallocBench/MallocBench/stress_aligned.h: Added. Added a stress test |
| for arbitrary memalign values. |
| |
| 2015-01-16 Geoffrey Garen <ggaren@apple.com> |
| |
| bmalloc: added the tiniest bit of testing for aligned allocation |
| https://bugs.webkit.org/show_bug.cgi?id=140573 |
| |
| Reviewed by Andreas Kling. |
| |
| Just good enoug to catch two bugs in a preliminary implementation. |
| |
| * MallocBench/MallocBench.xcodeproj/project.pbxproj: |
| * MallocBench/MallocBench/Benchmark.cpp: |
| * MallocBench/MallocBench/mbmalloc.cpp: |
| * MallocBench/MallocBench/mbmalloc.h: |
| * MallocBench/MallocBench/memalign.cpp: Added. |
| (benchmark_memalign): |
| * MallocBench/MallocBench/memalign.h: Added. |
| |
| 2014-12-09 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| Add performance test related to font fallback |
| https://bugs.webkit.org/show_bug.cgi?id=139332 |
| |
| Reviewed by Simon Fraser. |
| |
| * Layout/font-fallback.html: Added. |
| * Layout/resources/font-fallback.html: Added. |
| |
| 2014-12-08 Dean Jackson <dino@apple.com> |
| |
| [Apple] Use Accelerate framework to speed-up FEGaussianBlur |
| https://bugs.webkit.org/show_bug.cgi?id=139310 |
| |
| Reviewed by Simon Fraser. |
| |
| Add an interactive performance test that measures the speed of a set |
| of blur operations on a generated images. |
| |
| * Interactive/blur-filter-timing.html: Added. |
| |
| 2014-11-13 Zalan Bujtas <zalan@apple.com> |
| |
| Simple line layout: Add performance test case to measure line layout speed of monolithic text content. |
| https://bugs.webkit.org/show_bug.cgi?id=138699 |
| |
| Reviewed by Antti Koivisto. |
| |
| * Layout/line-layout-long-long-text.html: Added. |
| |
| 2014-10-22 Zalan Bujtas <zalan@apple.com> |
| |
| Speed up line parsing for simple line layout (part I) |
| https://bugs.webkit.org/show_bug.cgi?id=137275 |
| |
| Reviewed by Antti Koivisto. |
| |
| Extend simple line layout performance test with a few more cases. |
| Now we've got: |
| <div center |
| <div right |
| <div justify |
| <div white-space: pre (new) |
| <div overflow-wrap: break-word (new) |
| <pre |
| <pre white-space: pre-wrap |
| <pre white-space: pre-line (new) |
| <pre white-space: nowrap (new) |
| <pre white-space: pre-wrap overflow-wrap: break-word |
| <div + embedded <span etc. |
| <div + br |
| |
| * Layout/line-layout-simple.html: |
| |
| 2014-10-15 Andrei Bucur <abucur@adobe.com> |
| |
| [Multicol] Start adding performance tests for the multi-column implementation |
| https://bugs.webkit.org/show_bug.cgi?id=137687 |
| |
| Reviewed by Mihnea Ovidenie. |
| |
| This patch creates a Multicol folder inside the Layout performance tests suite. It adds only two tests |
| as described below. |
| |
| The tests are skipped until the implementation stabilizes. |
| |
| * Layout/Multicol/MulticolManyColumns.html: Added. |
| This test verifies the performance of the multi-column implementation with two nested multi-column |
| containers, the first having 20 columns and the second 10 columns. |
| |
| * Layout/Multicol/MulticolNested.html: Added. |
| This test verifies the performance of nesting multi-column containers in the presence |
| of floats. |
| |
| * Layout/Multicol/resources/multicol-content-many-columns.html: Added. |
| * Layout/Multicol/resources/multicol-content-nested.html: Added. |
| * Skipped: Skip the Multicol folder for now. |
| |
| 2014-09-29 Filip Pizlo <fpizlo@apple.com> |
| |
| It should be fun and easy to run every possible JavaScript benchmark from the command line |
| https://bugs.webkit.org/show_bug.cgi?id=137245 |
| |
| Reviewed by Oliver Hunt. |
| |
| This adds the scaffolding for running Octane version 2 inside run-jsc-benchmarks. |
| In the future we should just land Octane2 in this directory, and run-jsc-benchmarks |
| should be changed to point directly at this directory instead of requiring the |
| Octane path to be configured as part of the configuration file. |
| |
| * Octane: Added. |
| * Octane/wrappers: Added. |
| * Octane/wrappers/jsc-box2d.js: Added. |
| (jscSetUp): |
| (jscTearDown): |
| (jscRun): |
| * Octane/wrappers/jsc-boyer.js: Added. |
| (jscSetUp): |
| (jscTearDown): |
| (jscRun): |
| * Octane/wrappers/jsc-closure.js: Added. |
| (jscSetUp): |
| (jscTearDown): |
| (jscRun): |
| * Octane/wrappers/jsc-decrypt.js: Added. |
| (jscSetUp): |
| (jscTearDown): |
| (jscRun): |
| * Octane/wrappers/jsc-deltablue.js: Added. |
| (jscSetUp): |
| (jscTearDown): |
| (jscRun): |
| * Octane/wrappers/jsc-earley.js: Added. |
| (jscSetUp): |
| (jscTearDown): |
| (jscRun): |
| * Octane/wrappers/jsc-encrypt.js: Added. |
| (jscSetUp): |
| (jscTearDown): |
| (jscRun): |
| * Octane/wrappers/jsc-gbemu.js: Added. |
| (jscSetUp): |
| (jscTearDown): |
| (jscRun): |
| * Octane/wrappers/jsc-jquery.js: Added. |
| (jscSetUp): |
| (jscTearDown): |
| (jscRun): |
| * Octane/wrappers/jsc-mandreel.js: Added. |
| (jscSetUp): |
| (jscTearDown): |
| (jscRun): |
| * Octane/wrappers/jsc-navier-stokes.js: Added. |
| (jscSetUp): |
| (jscTearDown): |
| (jscRun): |
| * Octane/wrappers/jsc-pdfjs.js: Added. |
| (jscSetUp.PdfJS_window.console.log): |
| (jscSetUp): |
| (jscTearDown): |
| (jscRun): |
| * Octane/wrappers/jsc-raytrace.js: Added. |
| (jscSetUp): |
| (jscTearDown): |
| (jscRun): |
| * Octane/wrappers/jsc-regexp.js: Added. |
| (jscSetUp): |
| (jscTearDown): |
| (jscRun): |
| * Octane/wrappers/jsc-richards.js: Added. |
| (jscSetUp): |
| (jscTearDown): |
| (jscRun): |
| * Octane/wrappers/jsc-splay.js: Added. |
| (jscSetUp): |
| (jscTearDown): |
| (jscRun): |
| * Octane/wrappers/jsc-typescript.js: Added. |
| (jscSetUp): |
| (jscTearDown): |
| (jscRun): |
| * Octane/wrappers/jsc-zlib.js: Added. |
| (jscSetUp): |
| (jscTearDown): |
| (jscRun): |
| |
| 2014-09-28 Sungmann Cho <sungmann.cho@navercorp.com> |
| |
| Fix some minor typos: psuedo -> pseudo |
| https://bugs.webkit.org/show_bug.cgi?id=137192 |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/bower_components/handlebars/handlebars.js: |
| |
| 2014-09-11 Geoffrey Garen <ggaren@apple.com> |
| |
| Some MallocBench refinements |
| https://bugs.webkit.org/show_bug.cgi?id=136750 |
| |
| Reviewed by Sam Weinig. |
| |
| * MallocBench/MallocBench/Interpreter.cpp: |
| (Interpreter::run): Allow for null entries in the object list so that |
| we can test in modes that exclude large or small allocations. |
| |
| * MallocBench/MallocBench/churn.cpp: |
| (benchmark_churn): |
| * MallocBench/MallocBench/flickr.cpp: |
| (benchmark_flickr): |
| * MallocBench/MallocBench/fragment.cpp: |
| (benchmark_fragment_iterate): |
| * MallocBench/MallocBench/list.cpp: |
| (benchmark_list_allocate): |
| * MallocBench/MallocBench/reddit.cpp: |
| (benchmark_reddit): Updated test runtimes to weight them more equally, |
| for the sake of arithmetic mean. |
| |
| * MallocBench/MallocBench/stress.cpp: |
| (Object::Object): |
| (allocate): |
| (deallocate): |
| (benchmark_stress): Verify the contents of memory as we go. Also, |
| force scavenging each time through the loop to test the scavenging path. |
| |
| * MallocBench/MallocBench/theverge.cpp: |
| (benchmark_theverge): |
| * MallocBench/MallocBench/tree.cpp: |
| (benchmark_tree_churn): Re-weighted, as above. |
| |
| 2014-09-08 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| PerformanceTests/SVG/SVG-Text.html has unparsable output |
| https://bugs.webkit.org/show_bug.cgi?id=136648 |
| |
| Reviewed by Gavin Barraclough. |
| |
| I need to clean up the arbitrary text on the page before telling |
| the test runner infrastructure that the test is complete. |
| |
| * SVG/SVG-Text.html: |
| |
| 2014-09-05 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| Laying out a TextRun using an SVG font is O(n^2) |
| https://bugs.webkit.org/show_bug.cgi?id=136584 |
| |
| Reviewed by Andreas Kling. |
| |
| Time how long it takes to lay out and render some text using an SVG font. |
| |
| * SVG/SVG-Text.html: Added. |
| * SVG/resources/graffiti.svg: Added. |
| |
| 2014-09-02 Geoffrey Garen <ggaren@apple.com> |
| |
| MallocBench should have a stress test for correctness |
| https://bugs.webkit.org/show_bug.cgi?id=136468 |
| |
| Reviewed by Andreas Kling. |
| |
| Added a stress test that allocates randomized sizes of randomized |
| lifetimes in randomized order. |
| |
| This version of the test reproduces the EWS crash seen in bmalloc |
| (<https://bugs.webkit.org/show_bug.cgi?id=132629>). |
| |
| * MallocBench/MallocBench.xcodeproj/project.pbxproj: |
| * MallocBench/MallocBench/Benchmark.cpp: Sort! |
| * MallocBench/MallocBench/stress.cpp: Added. |
| (Object::Object): |
| (SizeStream::SizeStream): |
| (SizeStream::next): |
| (benchmark_stress): Usually, we random(0). Surprisingly, though, only |
| random(1) reproduces the bug I was looking for. |
| * MallocBench/MallocBench/stress.h: Added. |
| |
| 2014-06-02 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Rename DoYouEvenBench 0.17 to Speedometer 1.0 and add a new look. |
| https://bugs.webkit.org/show_bug.cgi?id=133455 |
| |
| Reviewed by Timothy Hatcher. |
| |
| * Speedometer/: Renamed from DoYouEvenBench. |
| * Skipped: Updated the path for InteractiveRunner.html |
| |
| 2014-06-02 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Rename DoYouEvenBench 0.17 to Speedometer 1.0 and add a new look. |
| https://bugs.webkit.org/show_bug.cgi?id=133455 |
| |
| Reviewed by Timothy Hatcher. |
| |
| Renamed the benchmark to Speedometer and added the new look designed by Timothy Hatcher. |
| |
| Also changed the unit of measurements from milliseconds to runs-per-minute averaged over the number |
| of the benchmark suites (7 for 1.0). You can divide 420000 by the old benchmark score (in milliseconds) |
| to get the new value for the set of tests that are enabled by default in 1.0. You can continue to see |
| results in milliseconds on Full.html#ms. |
| |
| * DoYouEvenBench/Full.html: Added a bunch of sections and the description of the benchmark. |
| |
| * DoYouEvenBench/resources/benchmark-report.js: Remove the newly added content when ran inside a DRT or |
| WTR so that run-perf-tests wouldn't error. |
| * DoYouEvenBench/resources/benchmark-runner.js: |
| (BenchmarkRunner.prototype._appendFrame): Call a newly added willAddTestFrame callback when it exists. |
| |
| * DoYouEvenBench/resources/gauge.png: Added. |
| * DoYouEvenBench/resources/gauge@2x.png: Added. |
| * DoYouEvenBench/resources/logo.png: Added. |
| * DoYouEvenBench/resources/logo@2x.png: Added. |
| * DoYouEvenBench/resources/main.css: Replaced the style. |
| |
| * DoYouEvenBench/resources/main.js: |
| (window.benchmarkClient.willAddTestFrame): Place the iframe right where #testContainer is shown. |
| (window.benchmarkClient.willRunTest): Show the name of the suite (e.g. EmberJS-TodoMVC) to run next. |
| (window.benchmarkClient.didRunSuites): |
| (window.benchmarkClient.willStartFirstIteration): Initialize _timeValues and _finishedTestCount now that |
| we have an UI to run the benchmark multiple times without reloading the page. |
| (window.benchmarkClient.didFinishLastIteration): Split into smaller pieces. |
| (window.benchmarkClient._computeResults): Computes the mean and the statistics for the given time values, |
| and also format them in a human readable form. |
| (window.benchmarkClient._computeResults.totalTimeInDisplayUnit): Converts ms to runs/min. |
| (window.benchmarkClient._computeResults.sigFigFromPercentDelta): Given a percentage error (e.g. 1%), |
| returns the number of significant digits required for the mean. |
| (window.benchmarkClient._computeResults.toSigFigPrecision): Calls toPrecision with the specified precision |
| constrained to be at least the number of non-decimal digits and at most 6. |
| (window.benchmarkClient._addDetailedResultsRow): Renamed from _addResult. It now takes the table to which |
| to add a row and the iteration number. |
| (window.benchmarkClient._updateGaugeNeedle): Added. Controls the angle of the speed indicator. |
| (window.benchmarkClient._populateDetailedResults): Added. |
| (window.benchmarkClient.prepareUI): Added. It adds an event listener to show a specified section when |
| the push state of the document changes, and shows a warning sign when the view port size is too small. |
| We do this inside a callback to avoid running it inside DRT / WTR. |
| (startBenchmark): |
| (showSection): Added. |
| (startTest): Added. |
| (showResultsSummary): Added. |
| (showResultDetails): Added. |
| (showAbout): Added. |
| |
| 2014-06-01 Ryosuke Niwa <rniwa@webkit.org> |
| |
| DYEBench: Move test states into benchmarkClient and remove the closure |
| https://bugs.webkit.org/show_bug.cgi?id=133438 |
| |
| Reviewed by Benjamin Poulain. |
| |
| Moved all local variables in the closure wrapping benchmarkClient onto the object itself |
| and removed the closure to improve the readability of the code. |
| |
| * DoYouEvenBench/Full.html: |
| * DoYouEvenBench/resources/main.js: |
| (window.benchmarkClient.willRunTest): |
| (window.benchmarkClient.didRunTest): |
| (window.benchmarkClient.didRunSuites): |
| (window.benchmarkClient.willStartFirstIteration): |
| (window.benchmarkClient.didFinishLastIteration): |
| (window.benchmarkClient._addResult): Moved. |
| (.): Deleted. |
| |
| 2014-06-01 Ryosuke Niwa <rniwa@webkit.org> |
| |
| DYEBench: Split stylesheets and scripts in Full.html into separate files |
| https://bugs.webkit.org/show_bug.cgi?id=133437 |
| |
| Reviewed by Benjamin Poulain. |
| |
| Extracted main.js and main.css. |
| |
| Also fixed a bug in startBenchmark that disabled suites were counted towards the total number of tests. |
| |
| * DoYouEvenBench/Full.html: |
| * DoYouEvenBench/resources/main.css: Added. |
| * DoYouEvenBench/resources/main.js: Added. |
| (.addResult): |
| (window.benchmarkClient): |
| (startBenchmark): Renamed from startTest. |
| |
| 2014-06-01 Ryosuke Niwa <rniwa@webkit.org> |
| |
| DYEBench: CSS parser warning at line 106 of base.css |
| https://bugs.webkit.org/show_bug.cgi?id=133433 |
| |
| Reviewed by Maciej Stachowiak. |
| |
| Removed the old filter CSS property for Internet Explorer. The latest Internet Explorer supports -ms-linear-gradient |
| on background CSS property anyways. |
| |
| It's interesting that some of the tests only have -webkit- prefixes. Perhaps we should update those subtests. |
| |
| * DoYouEvenBench/Full.html: |
| * DoYouEvenBench/resources/todomvc/architecture-examples/angularjs/bower_components/todomvc-common/base.css: |
| (#header:before): |
| * DoYouEvenBench/resources/todomvc/architecture-examples/backbone/bower_components/todomvc-common/base.css: |
| (#header:before): |
| * DoYouEvenBench/resources/todomvc/architecture-examples/emberjs/bower_components/todomvc-common/base.css: |
| (#header:before): |
| * DoYouEvenBench/resources/todomvc/architecture-examples/jquery/bower_components/todomvc-common/base.css: |
| (#header:before): |
| * DoYouEvenBench/resources/todomvc/dependency-examples/flight/bower_components/todomvc-common/base.css: |
| (#header:before): |
| * DoYouEvenBench/resources/todomvc/labs/architecture-examples/react/bower_components/todomvc-common/base.css: |
| (#header:before): |
| * DoYouEvenBench/resources/todomvc/vanilla-examples/vanillajs/bower_components/todomvc-common/base.css: |
| (#header:before): |
| |
| 2014-05-31 Ryosuke Niwa <rniwa@webkit.org> |
| |
| DYEBench: Ember.js assertion hit at line 20593 |
| https://bugs.webkit.org/show_bug.cgi?id=133431 |
| |
| Reviewed by Darin Adler. |
| |
| The assertion was hit because ToDoMVC includes jQuery 2.1 and Ember.js 1.3.1 only recognizes jQuery 2.0. |
| Port the assertion from Ember.js 1.5.1 to suppress the assertion. |
| |
| We should update the entire Ember.js at some point but this would do the job for now. |
| |
| * DoYouEvenBench/Full.html: |
| * DoYouEvenBench/resources/todomvc/architecture-examples/emberjs/bower_components/ember/ember.js: |
| |
| 2014-05-31 Ryosuke Niwa <rniwa@webkit.org> |
| |
| DYEBench: Prevent frame flattening on iOS |
| https://bugs.webkit.org/show_bug.cgi?id=133428 |
| |
| Reviewed by Andreas Kling. |
| |
| Prevent frame flattening on iOS by setting scrolling=no. |
| |
| * DoYouEvenBench/Full.html: |
| * DoYouEvenBench/resources/benchmark-runner.js: |
| (BenchmarkRunner.prototype._appendFrame): |
| |
| 2014-05-30 Ryosuke Niwa <rniwa@webkit.org> |
| |
| DYEBench spits out 404 errors for learn.json |
| https://bugs.webkit.org/show_bug.cgi?id=133416 |
| |
| Reviewed by Oliver Hunt. |
| |
| Add an empty learn.json file so that it won't cause a 404 error when hosted on a http server. |
| |
| Bumped the version number to 0.12. |
| |
| * DoYouEvenBench/Full.html: |
| * DoYouEvenBench/resources/todomvc/learn.json: |
| |
| 2014-05-23 Geoffrey Garen <ggaren@apple.com> |
| |
| Performance testing, diamond-square terrain generation + canvas |
| https://bugs.webkit.org/show_bug.cgi?id=133054 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| This test was written by Hunter Loftis. It originally appeared on his |
| blog @ <http://www.playfuljs.com/realistic-terrain-in-130-lines/>. |
| |
| I did a bit of editing for format and benchmark suitability. |
| |
| * Canvas/terrain.html: Added. |
| |
| 2014-05-13 Ryosuke Niwa <rniwa@webkit.org> |
| |
| DYEBench should run 20 iterations in browser |
| https://bugs.webkit.org/show_bug.cgi?id=132795 |
| |
| Reviewed by Gavin Barraclough. |
| |
| Right now, run-perf-tests runs BYEBench 4 times with different instances of DRT/WTR to get |
| a more stable time and account for differences in the runtime environment, particularly, |
| ASLR (Address Space Layout Randomization). |
| |
| While we can't account for the latter effect when the benchmark is ran inside a browser, |
| we can at least run 20 iterations to get a more stable (but perhaps biased by ALSR) number. |
| |
| While the sample size of 20 is statistically unsound to compute the arithmetic mean from, |
| it's MUCH better than the current sample size of 5. |
| |
| * DoYouEvenBench/Full.html: |
| (benchmarkClient.iterationCount): Set the default iteration count to 20. |
| (startTest): Use benchmarkClient.iterationCount as the iteration count. |
| * DoYouEvenBench/resources/benchmark-report.js: |
| (benchmarkClient.iterationCount): Continue to use the old iteration count of 5 when ran |
| inside run-perf-tests. |
| |
| 2014-05-09 Ryosuke Niwa <rniwa@webkit.org> |
| |
| DYEBench should show 95th percentile right next to the mean with ± |
| https://bugs.webkit.org/show_bug.cgi?id=132729 |
| |
| Reviewed by Darin Adler. |
| |
| Before this patch, Full.html showed the 95th percentile delta for the arthemtic mean in a separate row |
| but this was confusing for some people. Show it right next to mean in the same row separated by ±. |
| |
| * DoYouEvenBench/Full.html: |
| |
| 2014-05-08 Ryosuke Niwa <rniwa@webkit.org> |
| |
| DYEBench should use TodoMVC to test FlightJS for consistency |
| https://bugs.webkit.org/show_bug.cgi?id=132727 |
| |
| Reviewed by Andreas Kling. |
| |
| Add a test suite for the FlightJS version of TodoMVC, and disable FlightJS-MailClient by default. |
| |
| I initially intended to include a wider variety of demo apps in DYEBench |
| but that's not happening any time soon so let us use TodoMVC for all frameworks for now. |
| |
| We can add more demo apps in v2. |
| |
| * DoYouEvenBench/Full.html: Increment the version to 0.10. |
| * DoYouEvenBench/InteractiveRunner.html: Don't check disabled suites by default. |
| * DoYouEvenBench/resources/tests.js: |
| * DoYouEvenBench/resources/todomvc/dependency-examples: Added. |
| * DoYouEvenBench/resources/todomvc/dependency-examples/flight: Added. |
| * DoYouEvenBench/resources/todomvc/dependency-examples/flight/.gitignore: Added. |
| * DoYouEvenBench/resources/todomvc/dependency-examples/flight/.jshintrc: Added. |
| * DoYouEvenBench/resources/todomvc/dependency-examples/flight/app: Added. |
| * DoYouEvenBench/resources/todomvc/dependency-examples/flight/app/js: Added. |
| * DoYouEvenBench/resources/todomvc/dependency-examples/flight/app/js/app.js: Added. |
| * DoYouEvenBench/resources/todomvc/dependency-examples/flight/app/js/data: Added. |
| * DoYouEvenBench/resources/todomvc/dependency-examples/flight/app/js/data/stats.js: Added. |
| * DoYouEvenBench/resources/todomvc/dependency-examples/flight/app/js/data/todos.js: Added. |
| * DoYouEvenBench/resources/todomvc/dependency-examples/flight/app/js/main.js: Added. |
| * DoYouEvenBench/resources/todomvc/dependency-examples/flight/app/js/store.js: Added. |
| * DoYouEvenBench/resources/todomvc/dependency-examples/flight/app/js/ui: Added. |
| * DoYouEvenBench/resources/todomvc/dependency-examples/flight/app/js/ui/main_selector.js: Added. |
| * DoYouEvenBench/resources/todomvc/dependency-examples/flight/app/js/ui/new_item.js: Added. |
| * DoYouEvenBench/resources/todomvc/dependency-examples/flight/app/js/ui/stats.js: Added. |
| * DoYouEvenBench/resources/todomvc/dependency-examples/flight/app/js/ui/todo_list.js: Added. |
| * DoYouEvenBench/resources/todomvc/dependency-examples/flight/app/js/ui/toggle_all.js: Added. |
| * DoYouEvenBench/resources/todomvc/dependency-examples/flight/app/js/ui/with_filters.js: Added. |
| * DoYouEvenBench/resources/todomvc/dependency-examples/flight/app/js/utils.js: Added. |
| * DoYouEvenBench/resources/todomvc/dependency-examples/flight/app/templates: Added. |
| * DoYouEvenBench/resources/todomvc/dependency-examples/flight/app/templates/stats.html: Added. |
| * DoYouEvenBench/resources/todomvc/dependency-examples/flight/app/templates/todo.html: Added. |
| * DoYouEvenBench/resources/todomvc/dependency-examples/flight/bower.json: Added. |
| * DoYouEvenBench/resources/todomvc/dependency-examples/flight/bower_components: Added. |
| * DoYouEvenBench/resources/todomvc/dependency-examples/flight/bower_components/depot: Added. |
| * DoYouEvenBench/resources/todomvc/dependency-examples/flight/bower_components/depot/depot.js: Added. |
| * DoYouEvenBench/resources/todomvc/dependency-examples/flight/bower_components/es5-shim: Added. |
| * DoYouEvenBench/resources/todomvc/dependency-examples/flight/bower_components/es5-shim/es5-sham.js: Added. |
| * DoYouEvenBench/resources/todomvc/dependency-examples/flight/bower_components/es5-shim/es5-shim.js: Added. |
| * DoYouEvenBench/resources/todomvc/dependency-examples/flight/bower_components/flight: Added. |
| * DoYouEvenBench/resources/todomvc/dependency-examples/flight/bower_components/flight/lib: Added. |
| * DoYouEvenBench/resources/todomvc/dependency-examples/flight/bower_components/flight/lib/advice.js: Added. |
| * DoYouEvenBench/resources/todomvc/dependency-examples/flight/bower_components/flight/lib/base.js: Added. |
| * DoYouEvenBench/resources/todomvc/dependency-examples/flight/bower_components/flight/lib/component.js: Added. |
| * DoYouEvenBench/resources/todomvc/dependency-examples/flight/bower_components/flight/lib/compose.js: Added. |
| * DoYouEvenBench/resources/todomvc/dependency-examples/flight/bower_components/flight/lib/debug.js: Added. |
| * DoYouEvenBench/resources/todomvc/dependency-examples/flight/bower_components/flight/lib/index.js: Added. |
| * DoYouEvenBench/resources/todomvc/dependency-examples/flight/bower_components/flight/lib/logger.js: Added. |
| * DoYouEvenBench/resources/todomvc/dependency-examples/flight/bower_components/flight/lib/registry.js: Added. |
| * DoYouEvenBench/resources/todomvc/dependency-examples/flight/bower_components/flight/lib/utils.js: Added. |
| * DoYouEvenBench/resources/todomvc/dependency-examples/flight/bower_components/jquery: Added. |
| * DoYouEvenBench/resources/todomvc/dependency-examples/flight/bower_components/jquery/jquery.js: Added. |
| * DoYouEvenBench/resources/todomvc/dependency-examples/flight/bower_components/requirejs: Added. |
| * DoYouEvenBench/resources/todomvc/dependency-examples/flight/bower_components/requirejs-text: Added. |
| * DoYouEvenBench/resources/todomvc/dependency-examples/flight/bower_components/requirejs-text/text.js: Added. |
| * DoYouEvenBench/resources/todomvc/dependency-examples/flight/bower_components/requirejs/require.js: Added. |
| * DoYouEvenBench/resources/todomvc/dependency-examples/flight/bower_components/todomvc-common: Added. |
| * DoYouEvenBench/resources/todomvc/dependency-examples/flight/bower_components/todomvc-common/base.css: Added. |
| * DoYouEvenBench/resources/todomvc/dependency-examples/flight/bower_components/todomvc-common/base.js: Added. |
| * DoYouEvenBench/resources/todomvc/dependency-examples/flight/bower_components/todomvc-common/bg.png: Added. |
| * DoYouEvenBench/resources/todomvc/dependency-examples/flight/index.html: Added. |
| * DoYouEvenBench/resources/todomvc/dependency-examples/flight/karma.conf.js: Added. |
| * DoYouEvenBench/resources/todomvc/dependency-examples/flight/package.json: Added. |
| * DoYouEvenBench/resources/todomvc/dependency-examples/flight/readme.md: Added. |
| * DoYouEvenBench/resources/todomvc/dependency-examples/flight/test: Added. |
| * DoYouEvenBench/resources/todomvc/dependency-examples/flight/test/.jshintrc: Added. |
| * DoYouEvenBench/resources/todomvc/dependency-examples/flight/test/fixture: Added. |
| * DoYouEvenBench/resources/todomvc/dependency-examples/flight/test/fixture/footer.html: Added. |
| * DoYouEvenBench/resources/todomvc/dependency-examples/flight/test/fixture/new_todo.html: Added. |
| * DoYouEvenBench/resources/todomvc/dependency-examples/flight/test/fixture/toggle_all.html: Added. |
| * DoYouEvenBench/resources/todomvc/dependency-examples/flight/test/mock: Added. |
| * DoYouEvenBench/resources/todomvc/dependency-examples/flight/test/mock/datastore.js: Added. |
| * DoYouEvenBench/resources/todomvc/dependency-examples/flight/test/spec: Added. |
| * DoYouEvenBench/resources/todomvc/dependency-examples/flight/test/spec/data: Added. |
| * DoYouEvenBench/resources/todomvc/dependency-examples/flight/test/spec/data/stats_spec.js: Added. |
| * DoYouEvenBench/resources/todomvc/dependency-examples/flight/test/spec/data/todos_spec.js: Added. |
| * DoYouEvenBench/resources/todomvc/dependency-examples/flight/test/spec/ui: Added. |
| * DoYouEvenBench/resources/todomvc/dependency-examples/flight/test/spec/ui/new_item_spec.js: Added. |
| * DoYouEvenBench/resources/todomvc/dependency-examples/flight/test/spec/ui/stats_spec.js: Added. |
| * DoYouEvenBench/resources/todomvc/dependency-examples/flight/test/spec/ui/toggle_all_spec.js: Added. |
| * DoYouEvenBench/resources/todomvc/dependency-examples/flight/test/test-main.js: Added. |
| |
| 2014-05-07 Manuel Rego Casasnovas <rego@igalia.com> |
| |
| [CSS Grid Layout] Remove runtime feature |
| https://bugs.webkit.org/show_bug.cgi?id=132382 |
| |
| Reviewed by Benjamin Poulain. |
| |
| Remove set of WebKitCSSGridLayoutEnabled preference. |
| |
| * Layout/auto-grid-lots-of-data.html: |
| * Layout/fixed-grid-lots-of-data.html: |
| |
| 2014-05-06 Radu Stavila <stavila@adobe.com> |
| |
| [CSSRegions] Enabled regions performance tests by default |
| https://bugs.webkit.org/show_bug.cgi?id=128244 |
| |
| Reviewed by Andreas Kling. |
| |
| Enabled regions performance tests. |
| |
| * Skipped: |
| |
| 2014-04-25 Andreas Kling <akling@apple.com> |
| |
| Bump jQuery to same version that dromaeo.com uses. |
| |
| Rubber-stamped by Ryosuke Niwa. |
| |
| * Dromaeo/resources/dromaeo/web/lib/jquery-1.10.2.min.js: Added. |
| * Dromaeo/resources/dromaeo/web/tests/cssquery-jquery.html: |
| * Dromaeo/resources/dromaeo/web/tests/jslib-attr-jquery.html: |
| * Dromaeo/resources/dromaeo/web/tests/jslib-event-jquery.html: |
| * Dromaeo/resources/dromaeo/web/tests/jslib-modify-jquery.html: |
| * Dromaeo/resources/dromaeo/web/tests/jslib-style-jquery.html: |
| * Dromaeo/resources/dromaeo/web/tests/jslib-traverse-jquery.html: |
| |
| 2014-04-18 Geoffrey Garen <ggaren@apple.com> |
| |
| Added some more Membuster recordings to MallocBench |
| https://bugs.webkit.org/show_bug.cgi?id=131862 |
| |
| Reviewed by Sam Weinig. |
| |
| * MallocBench/MallocBench/Benchmark.cpp: |
| (Benchmark::Benchmark): |
| (Benchmark::run): |
| * MallocBench/MallocBench/Benchmark.h: |
| * MallocBench/MallocBench/CommandLine.cpp: |
| * MallocBench/MallocBench/CommandLine.h: |
| (CommandLine::runs): Added a --runs option, so we can specify zero runs |
| for memory warning benchmarks. Those benchmarks want zero runs so that |
| they can perform a single warmup, which does not free all allocated |
| objects, and then see how far back to 0MB they can get. Running multiple |
| times would accumulate leaks, which is not representative of the |
| simulated scenario. |
| |
| * MallocBench/MallocBench/Interpreter.cpp: |
| (Interpreter::Interpreter): |
| (Interpreter::run): |
| * MallocBench/MallocBench/Interpreter.h: Support not deallocating all |
| objects allocated during the recording, so we can do low memory warning |
| memory use measurements, as above. |
| |
| * MallocBench/MallocBench/flickr.cpp: |
| (benchmark_flickr_memory_warning): |
| * MallocBench/MallocBench/main.cpp: |
| (main): |
| * MallocBench/MallocBench/reddit.cpp: |
| (benchmark_reddit_memory_warning): |
| * MallocBench/MallocBench/theverge.cpp: |
| (benchmark_theverge_memory_warning): Adopt the API above. |
| |
| * MallocBench/run-malloc-benchmarks: I took a first pass at listing all |
| available benchmarks here. Then I commented out the benchmarks that |
| probably aren't reasonable to run by default. |
| |
| 2014-04-18 Geoffrey Garen <ggaren@apple.com> |
| |
| MallocBench: removed the --measure-heap option |
| https://bugs.webkit.org/show_bug.cgi?id=131854 |
| |
| Reviewed by Sam Weinig. |
| |
| As of <https://bugs.webkit.org/show_bug.cgi?id=131661>, measuring the |
| heap is fast, so there's no reason to disable it. |
| |
| * MallocBench/MallocBench/Benchmark.cpp: |
| (Benchmark::Benchmark): |
| (Benchmark::run): |
| (Benchmark::printReport): |
| * MallocBench/MallocBench/Benchmark.h: |
| * MallocBench/MallocBench/CommandLine.cpp: |
| (CommandLine::printUsage): |
| * MallocBench/MallocBench/CommandLine.h: |
| (CommandLine::heapSize): |
| (CommandLine::measureHeap): Deleted. |
| * MallocBench/MallocBench/main.cpp: |
| (main): |
| |
| 2014-04-16 Alexandru Chiculita <achicu@adobe.com> |
| |
| Improve performance of the RenderLayerCompositor::OverlapMap |
| https://bugs.webkit.org/show_bug.cgi?id=115063 |
| |
| Reviewed by Simon Fraser. |
| |
| Testing the performance of computing the overlap of 5000 layers. |
| |
| * Layout/layers_overlap_2d.html: Added. Using non-composited layers, to check |
| that the performance on the non-composited path is not changing with this patch. |
| * Layout/layers_overlap_3d.html: Added. Records the time to do the layout of 5000 |
| non-overlapping 3D layers. |
| |
| 2014-04-15 Zoltan Horvath <zoltan@webkit.org> |
| |
| [CSS Shapes] Linking stylesheet instead of inline style definition has ruined ShapesRegions test |
| https://bugs.webkit.org/show_bug.cgi?id=131572 |
| |
| Reviewed by Rob Buis. |
| |
| In r167022 I moved the common CSS selectors into RegionsShapes.css, then I linked it into the perf test |
| files, but the measurement results dropped down from about 400ms to 10ms. I realized it's caused by the |
| linked css rule, so I've put the selectors back into every test case, which fixes the test measurements. |
| |
| * Layout/Shapes/resources/RegionsShapes.css: Removed. |
| * Layout/Shapes/resources/RegionsShapesContent.html: |
| * Layout/Shapes/resources/RegionsShapesContentNoRegionsWidth400.html: |
| * Layout/Shapes/resources/RegionsShapesContentNoRegionsWidth600.html: |
| * Layout/Shapes/resources/RegionsShapesContentNoRegionsWidth800.html: |
| * Layout/Shapes/resources/RegionsShapesContentNoShapes.html: |
| |
| 2014-04-14 Geoffrey Garen <ggaren@apple.com> |
| |
| MallocBench should scavenge explicitly instead of waiting |
| https://bugs.webkit.org/show_bug.cgi?id=131661 |
| |
| Reviewed by Andreas Kling. |
| |
| * MallocBench/MallocBench.xcodeproj/project.pbxproj: Don't build mbmalloc |
| by default because it will overwrite any other mbmalloc you're working |
| with in the WebKitBuild directory. |
| |
| * MallocBench/MallocBench/Benchmark.cpp: |
| (Benchmark::run): Scavenge explicitly instead of waiting. This is faster, |
| and it's the only way to get FastMalloc to scavenge. (That's a bug in |
| FastMalloc, but we don't want it to interfere with broader testing.) |
| |
| * MallocBench/MallocBench/mbmalloc.cpp: |
| * MallocBench/MallocBench/mbmalloc.h: Added a scavenge implementation |
| for system malloc. |
| |
| 2014-04-14 Geoffrey Garen <ggaren@apple.com> |
| |
| A few MallocBench record/replay fixes |
| https://bugs.webkit.org/show_bug.cgi?id=131627 |
| |
| Reviewed by Andreas Kling. |
| |
| * MallocBench/MallocBench/Interpreter.cpp: |
| (Interpreter::run): Accept 0-sized allocations without asserting because |
| WebKit does that sometimes. |
| |
| * MallocBench/MallocBench/flickr.ops: |
| * MallocBench/MallocBench/flickr_memory_warning.ops: |
| * MallocBench/MallocBench/reddit.ops: |
| * MallocBench/MallocBench/reddit_memory_warning.ops: |
| * MallocBench/MallocBench/theverge.ops: |
| * MallocBench/MallocBench/theverge_memory_warning.ops: Updated these |
| recordings because a bug in the recording mechanism caused one out of |
| every few thousand slot values to be bogus. |
| |
| 2014-04-13 Geoffrey Garen <ggaren@apple.com> |
| |
| Added some website recordings to MallocBench -- taken from Membuster |
| https://bugs.webkit.org/show_bug.cgi?id=131601 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| Added flickr, reddit, and theverge -- each recorded from Membuster's |
| cache, with and without sending Safari a low memory warning. |
| |
| * MallocBench/MallocBench.xcodeproj/project.pbxproj: |
| * MallocBench/MallocBench/Benchmark.cpp: |
| * MallocBench/MallocBench/flickr.cpp: Added. |
| (benchmark_flickr): |
| (benchmark_flickr_memory_warning): |
| * MallocBench/MallocBench/flickr.h: Added. |
| * MallocBench/MallocBench/flickr.ops: Added. |
| * MallocBench/MallocBench/flickr_memory_warning.ops: Added. |
| * MallocBench/MallocBench/reddit.cpp: Added. |
| (benchmark_reddit): |
| (benchmark_reddit_memory_warning): |
| * MallocBench/MallocBench/reddit.h: Added. |
| * MallocBench/MallocBench/reddit.ops: Added. |
| * MallocBench/MallocBench/reddit_memory_warning.ops: Added. |
| * MallocBench/MallocBench/theverge.cpp: Added. |
| (benchmark_theverge): |
| (benchmark_theverge_memory_warning): |
| * MallocBench/MallocBench/theverge.h: Added. |
| * MallocBench/MallocBench/theverge.ops: Added. |
| * MallocBench/MallocBench/theverge_memory_warning.ops: Added. |
| |
| 2014-04-13 Geoffrey Garen <ggaren@apple.com> |
| |
| MallocBench record/replay should support realloc |
| https://bugs.webkit.org/show_bug.cgi?id=131598 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| * MallocBench/MallocBench.xcodeproj/project.pbxproj: Fixed some linkage |
| issues that caused us not to fully link to system malloc in the default |
| case. Also marked mbmalloc.dylib as required so the error message will |
| be clearer if we mess up. |
| |
| * MallocBench/MallocBench/Interpreter.cpp: |
| (Interpreter::run): |
| * MallocBench/MallocBench/Interpreter.h: Added the realloc case, and |
| upgraded one-letter names to full words. |
| |
| 2014-04-11 Dirk Schulze <krit@webkit.org> |
| |
| Optimize Canvas fill and drawImage with SourceIn, DestinationIn, SourceOut, and DestinationAtop using transparencyLayer. |
| https://bugs.webkit.org/show_bug.cgi?id=79659 |
| |
| Reviewed by Andreas Kling. |
| |
| Add performance tests for real this time. |
| |
| * Canvas/compositing-drawimage.html: Added. |
| * Canvas/compositing-fillRect.html: Added. |
| |
| |
| 2014-04-11 Dirk Schulze <krit@webkit.org> |
| |
| Optimize Canvas fill and drawImage with SourceIn, DestinationIn, SourceOut, and DestinationAtop using transparencyLayer. |
| https://bugs.webkit.org/show_bug.cgi?id=79659 |
| |
| Reviewed by Andreas Kling. |
| |
| Add performance tests for fillRect() and drawImage() on composited contexts. |
| |
| * Canvas/compositing-drawimage.html: Added. |
| * Canvas/compositing-fillRect.html: Added. |
| |
| 2014-04-09 Zoltan Horvath <zoltan@webkit.org> |
| |
| [CSS Shapes] Add no shapes version of RegionsShapes performance test |
| https://bugs.webkit.org/show_bug.cgi?id=131455 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| This is a no shapes version of the RegionsShapes performance test. All the content |
| will wrap around the floating containers. This way we can compare the runtime/memory |
| usage of the RegionsShapes test with/without shapes. The test is skipped by default. |
| |
| * Layout/Shapes/RegionsShapesNoShapes.html: Added. |
| * Layout/Shapes/resources/RegionsShapesContentNoShapes.html: Added. |
| |
| 2014-04-09 Zoltan Horvath <zoltan@webkit.org> |
| |
| [CSS Shapes] Add no regions version of RegionsShapes performance test |
| https://bugs.webkit.org/show_bug.cgi?id=131442 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| We would like have a no regions version for RegionsShapes performance test. The new |
| test produces similar layout to RegionsShapes.html without using regions. It is helpful |
| for us to do further comparisons when necessary. This test is skipped by default. |
| |
| * Layout/Shapes/RegionsShapesNoRegions.html: Added. |
| * Layout/Shapes/resources/RegionsShapes.css: Added. |
| (html, body): |
| (.shape): |
| (#circleShape): |
| (#imageShape): |
| (#insetShape): |
| (#roundedInsetShape): |
| (#triangleLeft): |
| (#triangleRight): |
| (#selfIntersectingStar): |
| (#region1): |
| (#region2): |
| (#region3): |
| * Layout/Shapes/resources/RegionsShapesContent.html: |
| * Layout/Shapes/resources/RegionsShapesContentNoRegionsWidth400.html: Added. |
| * Layout/Shapes/resources/RegionsShapesContentNoRegionsWidth600.html: Added. |
| * Layout/Shapes/resources/RegionsShapesContentNoRegionsWidth800.html: Added. |
| |
| 2014-04-02 Geoffrey Garen <ggaren@apple.com> |
| |
| Unreviewed. |
| |
| Try to ignore some Xcode shmutz in MallocBench. |
| |
| * MallocBench/MallocBench.xcodeproj: Added property svn:ignore. |
| |
| 2014-04-02 Geoffrey Garen <ggaren@apple.com> |
| |
| Let's benchmark malloc |
| https://bugs.webkit.org/show_bug.cgi?id=131118 |
| |
| Reviewed by Mark Hahnenberg. |
| |
| I want to replace fastMalloc with something faster (fasterMalloc?). |
| I wrote these benchmarks to test / drive development. |
| |
| * MallocBench: Added. |
| * MallocBench/MallocBench: Added. |
| * MallocBench/MallocBench.xcodeproj: Added. |
| * MallocBench/MallocBench.xcodeproj/project.pbxproj: Added. |
| * MallocBench/MallocBench/Benchmark.cpp: Added. |
| (allocateHeap): |
| (deallocateHeap): |
| (Benchmark::Benchmark): |
| (Benchmark::printBenchmarks): |
| (Benchmark::runOnce): |
| (Benchmark::run): |
| (Benchmark::printReport): |
| (Benchmark::currentTimeMS): |
| (Benchmark::currentMemoryBytes): |
| * MallocBench/MallocBench/Benchmark.h: Added. |
| (Benchmark::Memory::Memory): |
| (Benchmark::Memory::operator-): |
| (Benchmark::isValid): |
| * MallocBench/MallocBench/CPUCount.cpp: Added. |
| (cpuCount): |
| * MallocBench/MallocBench/CPUCount.h: Added. |
| * MallocBench/MallocBench/CommandLine.cpp: Added. |
| (CommandLine::printUsage): |
| * MallocBench/MallocBench/CommandLine.h: Added. |
| (CommandLine::isValid): |
| (CommandLine::benchmarkName): |
| (CommandLine::isParallel): |
| (CommandLine::heapSize): |
| (CommandLine::measureHeap): |
| * MallocBench/MallocBench/Interpreter.cpp: Added. |
| (Interpreter::Interpreter): |
| (Interpreter::~Interpreter): |
| (Interpreter::run): |
| * MallocBench/MallocBench/Interpreter.h: Added. |
| * MallocBench/MallocBench/balloon.cpp: Added. |
| (benchmark_balloon): |
| * MallocBench/MallocBench/balloon.h: Added. |
| * MallocBench/MallocBench/big.cpp: Added. |
| (benchmark_big): |
| * MallocBench/MallocBench/big.h: Added. |
| * MallocBench/MallocBench/churn.cpp: Added. |
| (HeapDouble::operator new): |
| (HeapDouble::operator delete): |
| (HeapDouble::HeapDouble): |
| (HeapDouble::operator+=): |
| (benchmark_churn): |
| * MallocBench/MallocBench/churn.h: Added. |
| * MallocBench/MallocBench/crash.ops: Added. |
| * MallocBench/MallocBench/facebook.cpp: Added. |
| (benchmark_facebook): |
| * MallocBench/MallocBench/facebook.h: Added. |
| * MallocBench/MallocBench/facebook.ops: Added. |
| * MallocBench/MallocBench/fragment.cpp: Added. |
| (validate): |
| (benchmark_fragment): |
| (benchmark_fragment_iterate): |
| * MallocBench/MallocBench/fragment.h: Added. |
| * MallocBench/MallocBench/list.cpp: Added. |
| (benchmark_list_allocate): |
| (benchmark_list_traverse): |
| * MallocBench/MallocBench/list.h: Added. |
| * MallocBench/MallocBench/main.cpp: Added. |
| (main): |
| * MallocBench/MallocBench/mbmalloc.cpp: Added. |
| * MallocBench/MallocBench/mbmalloc.h: Added. |
| * MallocBench/MallocBench/medium.cpp: Added. |
| (benchmark_medium): |
| * MallocBench/MallocBench/medium.h: Added. |
| * MallocBench/MallocBench/message.cpp: Added. |
| (benchmark_message_one): |
| (benchmark_message_many): |
| * MallocBench/MallocBench/message.h: Added. |
| * MallocBench/MallocBench/realloc.cpp: Added. |
| (benchmark_realloc): |
| * MallocBench/MallocBench/realloc.h: Added. |
| * MallocBench/MallocBench/tree.cpp: Added. |
| (benchmark_tree_allocate): |
| (benchmark_tree_traverse): |
| (benchmark_tree_churn): |
| * MallocBench/MallocBench/tree.h: Added. |
| * MallocBench/run-malloc-benchmarks: Added. |
| |
| 2014-03-29 Mark Lam <mark.lam@apple.com> |
| |
| LongSpider 3d-morph result check is inappropriate. |
| <https://webkit.org/b/130928> |
| |
| Reviewed by Filip Pizlo. |
| |
| The LongSpider 3d-morph component expected result check is incorrect. |
| The existing test checks if the leading digit of a sum starts with "-1". |
| However, it turned out that the expected sum is in the order of |
| -1.8735013540549517e-16 (i.e. very close to 0). With small errors in |
| the terms of the sum adding up, it is very easy for the resultant sum |
| to fluctuate. There is no guarantee that the resultant sum's most |
| significant digit will start with -1 either. |
| |
| The fix is to do a tolerance check on all the terms of the sum as well |
| as the total sum value instead. The tolerance should be more lenient |
| for the sum which accumulates error from the individual terms, then for |
| individual terms. |
| |
| * LongSpider/3d-morph.js: |
| (expect): |
| |
| 2014-03-28 Zoltan Horvath <zoltan@webkit.org> |
| |
| [CSS Shapes] Add performance tests for Shapes with Regions |
| https://bugs.webkit.org/show_bug.cgi?id=129624 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| This tests introduces a real-life like page, which contains different types of shapes within |
| shape-outsides. The content flows through regions, which use media queries. The performance test |
| loads the actual Shapes-Regions test case into iframes with different page sizes (thus the layout |
| triggers the media queries as well), and measures its load time. |
| |
| * Layout/RegionsShapes.html: Added. |
| * Layout/Shapes/resources/RegionsShapesContent.html: Added. |
| |
| 2014-03-20 Zoltan Horvath <zoltan@webkit.org> |
| |
| Add option for hiding Confidence Interval Delta on the performance tests results page |
| https://bugs.webkit.org/show_bug.cgi?id=130483 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| I've found it useful to hide the confidence interval delta from the results table |
| sometimes, for example on copying data, or for a clearer look. This patch introduces |
| a new button for it on the local results page. |
| |
| * resources/results-template.html: |
| |
| 2014-03-20 Laszlo Vidacs <lvidacs.u-szeged@partner.samsung.com> |
| |
| Optimize RenderTable::colToEffCol() for tables without colspans |
| https://bugs.webkit.org/show_bug.cgi?id=129298 |
| |
| Reviewed by Simon Fraser. |
| |
| Create an alternative fast path to RenderTable colToEffCol() and effColToCol() |
| when there is no colspan or colspan does not exceed the width of table. |
| Blink merge https://codereview.chromium.org/154243002 by rhogan |
| |
| * Layout/large-table-with-collapsed-borders-and-colspans-wider-than-table.html: Added. |
| * Layout/large-table-with-collapsed-borders-and-colspans.html: Added. |
| * Layout/large-table-with-collapsed-borders-and-no-colspans.html: Added. |
| * Layout/resources/large-table-with-collapsed-borders.css: Added. |
| * Layout/resources/large-table-with-collapsed-borders.js: Added. |
| |
| 2014-03-14 Maciej Stachowiak <mjs@apple.com> |
| |
| Replace "Apple Computer, Inc." with "Apple Inc." in copyright headers |
| https://bugs.webkit.org/show_bug.cgi?id=130276 |
| <rdar://problem/16266927> |
| |
| Reviewed by Simon Fraser. |
| |
| * Dromaeo/resources/dromaeo/web/tests/sunspider-3d-raytrace.html: |
| * Dromaeo/resources/dromaeo/web/tests/sunspider-bitops-bitwise-and.html: |
| * Dromaeo/resources/dromaeo/web/tests/sunspider-math-cordic.html: |
| * Dromaeo/resources/dromaeo/web/tests/sunspider-string-tagcloud.html: |
| * LongSpider/3d-morph.js: |
| * LongSpider/3d-raytrace.js: |
| * LongSpider/math-cordic.js: |
| * LongSpider/string-tagcloud.js: |
| * Parser/resources/html5-8266.html: |
| * Parser/resources/html5.html: |
| |
| 2014-03-10 Zoltan Horvath <zoltan@webkit.org> |
| |
| [CSS Shapes] Add performance tests for SVG shape with shape-margin |
| https://bugs.webkit.org/show_bug.cgi?id=129930 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| The test is skipped by default. |
| |
| * Layout/Shapes/ShapeOutsideSVGWithMargin.html: Added. |
| * Layout/Shapes/resources/shape.svg: Added. |
| |
| 2014-02-19 Zoltan Horvath <zoltan@webkit.org> |
| |
| [CSS Shapes] Add performance test for stacked floats with shape-outsides |
| https://bugs.webkit.org/show_bug.cgi?id=128821 |
| |
| Reviewed by Brent Fulgham. |
| |
| This tests generate stacked floats content with shape-outsides. |
| The test is skipped by default. |
| |
| * Layout/Shapes/ShapeOutsideStackedPolygons.html: Added. |
| |
| 2014-02-15 Zoltan Horvath <zoltan@webkit.org> |
| |
| [CSS Shapes] Add performance test for raster shape with shape-margin |
| https://bugs.webkit.org/show_bug.cgi?id=128770 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| This patch introduces a new performance test for image valued shapes, |
| where shape-margin is applied on the shape. |
| The test is skipped by default. |
| |
| * Layout/Shapes/ShapeOutsideRasterWithMargin.html: Added. |
| |
| 2014-02-14 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Improve the appearance of DYEBench |
| https://bugs.webkit.org/show_bug.cgi?id=128866 |
| |
| Reviewed by Antti Koivisto. |
| |
| Add a div that shows progress during the test. Also show 95th percentile, |
| and use a table instead of pre to show results. |
| |
| * DoYouEvenBench/Full.html: |
| (.addResult): Added. Shows results in a table. |
| (benchmarkClient.willRunTest): Added to show the progress bar. |
| (benchmarkClient.didRunTest): |
| (benchmarkClient.didRunSuites): |
| (benchmarkClient.didFinishLastIteration): Compute 95th percentile using Statistics.js |
| |
| * DoYouEvenBench/resources/benchmark-runner.js: |
| (BenchmarkRunner.prototype._appendFrame): Fix the bug where marginLeft and marginTop |
| weren't correctly parsed. We were treating top as left and bottom as top somehow. |
| (BenchmarkRunner.prototype._runTestAndRecordResults): Fixed a typo. |
| |
| 2014-02-13 Zoltan Horvath <zoltan@webkit.org> |
| |
| [CSS Shapes] Add performance test for complex polygon with shape-margin |
| https://bugs.webkit.org/show_bug.cgi?id=128769 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| This patch modifies the logic of createShapeOutsideTest to accept multiple |
| CSS properties from the test. The patch adds performance test for complex |
| polygon shape (self intersecting at multiple places) case, moreover we |
| apply shape-margin on the polygon also. |
| |
| * Layout/Shapes/ShapeOutsideContentBox.html: |
| * Layout/Shapes/ShapeOutsideInset.html: |
| * Layout/Shapes/ShapeOutsidePolygonWithMargin.html: Added. |
| * Layout/Shapes/ShapeOutsideRaster.html: |
| * Layout/Shapes/ShapeOutsideSimplePolygon.html: |
| * Layout/Shapes/resources/shapes.js: |
| |
| 2014-02-13 Zoltan Horvath <zoltan@webkit.org> |
| |
| [CSS Shapes] Add performance test for raster shape |
| https://bugs.webkit.org/show_bug.cgi?id=128746 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| This patch adds performance testing for image valued shape-outside. |
| The test is skipped by default for now. |
| |
| * Layout/Shapes/ShapeOutsideRaster.html: Added. |
| * Layout/Shapes/resources/shape.gif: Added. |
| |
| 2014-02-10 Zoltan Horvath <zoltan@webkit.org> |
| |
| [CSS Shapes] Add initial performance tests for polygon shape |
| https://bugs.webkit.org/show_bug.cgi?id=128554 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| This patch adds performance testing for simple polygon shape-outside. |
| The Shapes performance tests directory is skipped by default. |
| |
| * Layout/Shapes/ShapeOutsideSimplePolygon.html: Added. |
| |
| 2014-02-07 Zoltan Horvath <zoltan@webkit.org> |
| |
| [CSS Shapes] Add initial performance tests for inset shape |
| https://bugs.webkit.org/show_bug.cgi?id=128378 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| * Layout/Shapes/ShapeOutsideContentBox.html: Move js to shapes.js. |
| * Layout/Shapes/ShapeOutsideInset.html: Added. |
| * Layout/Shapes/resources/shapes.js: Added. |
| (.): |
| |
| 2014-02-04 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Undelete the "build" directory erroneously removed in r163427. |
| |
| * DoYouEvenBench/resources/todomvc/labs/architecture-examples/react/bower_components/director/build: |
| |
| 2014-02-04 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Revert the change made in r162216 as it broke the benchmark on shipping Safari. |
| |
| * DoYouEvenBench/resources/benchmark-runner.js: |
| |
| 2014-02-04 Ryosuke Niwa <rniwa@webkit.org> |
| |
| DoYouEvenBench: Update Ember.js test case |
| https://bugs.webkit.org/show_bug.cgi?id=128227 |
| |
| Reviewed by Benjamin Poulain. |
| |
| Updated the Ember.js TodoMVC implementation. |
| |
| * DoYouEvenBench/resources/tests.js: |
| * DoYouEvenBench/resources/todomvc/architecture-examples/emberjs/bower.json: |
| * DoYouEvenBench/resources/todomvc/architecture-examples/emberjs/bower_components/ember-data/ember-data.js: Added. |
| * DoYouEvenBench/resources/todomvc/architecture-examples/emberjs/bower_components/ember-localstorage-adapter/localstorage_adapter.js: |
| * DoYouEvenBench/resources/todomvc/architecture-examples/emberjs/bower_components/ember/ember.js: |
| * DoYouEvenBench/resources/todomvc/architecture-examples/emberjs/bower_components/handlebars/handlebars.js: |
| * DoYouEvenBench/resources/todomvc/architecture-examples/emberjs/bower_components/jquery/jquery.js: |
| * DoYouEvenBench/resources/todomvc/architecture-examples/emberjs/bower_components/todomvc-common/base.css: |
| * DoYouEvenBench/resources/todomvc/architecture-examples/emberjs/bower_components/todomvc-common/base.js: |
| * DoYouEvenBench/resources/todomvc/architecture-examples/emberjs/index.html: |
| * DoYouEvenBench/resources/todomvc/architecture-examples/emberjs/js/app.js: |
| * DoYouEvenBench/resources/todomvc/architecture-examples/emberjs/js/controllers/todo_controller.js: |
| * DoYouEvenBench/resources/todomvc/architecture-examples/emberjs/js/controllers/todos_controller.js: |
| * DoYouEvenBench/resources/todomvc/architecture-examples/emberjs/js/helpers/pluralize.js: Added. |
| * DoYouEvenBench/resources/todomvc/architecture-examples/emberjs/js/libs/ember-data.js: Removed. |
| * DoYouEvenBench/resources/todomvc/architecture-examples/emberjs/js/models/store.js: Removed. |
| * DoYouEvenBench/resources/todomvc/architecture-examples/emberjs/js/models/todo.js: |
| * DoYouEvenBench/resources/todomvc/architecture-examples/emberjs/js/router.js: |
| * DoYouEvenBench/resources/todomvc/architecture-examples/emberjs/js/views/edit_todo_view.js: |
| * DoYouEvenBench/resources/todomvc/architecture-examples/emberjs/js/views/todos_view.js: Added. |
| * DoYouEvenBench/resources/todomvc/architecture-examples/emberjs/readme.md: |
| * DoYouEvenBench/resources/todomvc/architecture-examples/emberjs/test.html: |
| |
| 2014-02-04 Zoltan Horvath <zoltan@webkit.org> |
| |
| [CSS Shapes] Add initial performance test for shape-outside: content-box |
| https://bugs.webkit.org/show_bug.cgi?id=128190 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| I've introduced Shapes subdirectory in Layout, every CSS Shapes related performance tests should |
| go there in the future. The initial performance tests uses 'shape-outside: content-box' in order |
| to tests the code paths of the Shapes implementation. I also introduced shapes.js, which allows us |
| to easily add new, simple performance tests for shape-outside. |
| |
| The entire progress is tracked under #128188 meta bug. |
| |
| * Layout/Shapes/ShapeOutsideContentBox.html: Added. |
| * Layout/Shapes/resources/shapes.css: Added. |
| * Layout/Shapes/resources/shapes.js: Added. |
| * Skipped: We skip running the tests by default for now. |
| |
| 2014-01-17 Manuel Rego Casasnovas <rego@igalia.com> |
| |
| [CSS Regions] Minor fixes in regions performance tests |
| https://bugs.webkit.org/show_bug.cgi?id=127041 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| Fix minor issues in CSS Regions performance tests. |
| |
| * Layout/RegionsAuto.html: Change type to lower case. |
| * Layout/RegionsAutoMaxHeight.html: Ditto. |
| * Layout/RegionsFixed.html: Ditto. |
| * Layout/RegionsFixedShort.html: Ditto. |
| * Layout/RegionsSelection.html: Ditto. Move test methods from regions.js. |
| * Layout/resources/regions.js: Remove moved methods. |
| |
| 2014-01-17 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Host DoYouEvenBench on webkit.org |
| https://bugs.webkit.org/show_bug.cgi?id=127185 |
| |
| Reviewed by Benjamin Poulain. |
| |
| Compute the resources directory relative to the benchmark-runner's location |
| so that we can load tests even if the runner HTML was located elsewhere. |
| |
| * DoYouEvenBench/Full.html: |
| * DoYouEvenBench/resources/benchmark-runner.js: |
| (BenchmarkState._containingDirectory): |
| |
| 2014-01-17 Ryosuke Niwa <rniwa@webkit.org> |
| |
| DoYouEvenBench: Move flightjs-example-app and todomvc into resources |
| https://bugs.webkit.org/show_bug.cgi?id=127183 |
| |
| Rubber-stamped by Anders Carlsson. |
| |
| * DoYouEvenBench/InteractiveRunner.html: Copied from PerformanceTests/DoYouEvenBench/benchmark.html. |
| * DoYouEvenBench/benchmark.html: Removed. |
| * DoYouEvenBench/flightjs-example-app: Removed. |
| * DoYouEvenBench/flightjs-example-app/LICENSE.md: Removed. |
| * DoYouEvenBench/flightjs-example-app/README.md: Removed. |
| * DoYouEvenBench/flightjs-example-app/app: Removed. |
| * DoYouEvenBench/flightjs-example-app/app/boot: Removed. |
| * DoYouEvenBench/flightjs-example-app/app/boot/page.js: Removed. |
| * DoYouEvenBench/flightjs-example-app/app/component_data: Removed. |
| * DoYouEvenBench/flightjs-example-app/app/component_data/compose_box.js: Removed. |
| * DoYouEvenBench/flightjs-example-app/app/component_data/mail_items.js: Removed. |
| * DoYouEvenBench/flightjs-example-app/app/component_data/move_to.js: Removed. |
| * DoYouEvenBench/flightjs-example-app/app/component_ui: Removed. |
| * DoYouEvenBench/flightjs-example-app/app/component_ui/compose_box.js: Removed. |
| * DoYouEvenBench/flightjs-example-app/app/component_ui/folders.js: Removed. |
| * DoYouEvenBench/flightjs-example-app/app/component_ui/mail_controls.js: Removed. |
| * DoYouEvenBench/flightjs-example-app/app/component_ui/mail_items.js: Removed. |
| * DoYouEvenBench/flightjs-example-app/app/component_ui/move_to_selector.js: Removed. |
| * DoYouEvenBench/flightjs-example-app/app/component_ui/with_select.js: Removed. |
| * DoYouEvenBench/flightjs-example-app/app/css: Removed. |
| * DoYouEvenBench/flightjs-example-app/app/css/custom.css: Removed. |
| * DoYouEvenBench/flightjs-example-app/app/data.js: Removed. |
| * DoYouEvenBench/flightjs-example-app/app/templates.js: Removed. |
| * DoYouEvenBench/flightjs-example-app/components: Removed. |
| * DoYouEvenBench/flightjs-example-app/components/bootstrap: Removed. |
| * DoYouEvenBench/flightjs-example-app/components/bootstrap/css: Removed. |
| * DoYouEvenBench/flightjs-example-app/components/bootstrap/css/bootstrap-responsive.css: Removed. |
| * DoYouEvenBench/flightjs-example-app/components/bootstrap/css/bootstrap-responsive.min.css: Removed. |
| * DoYouEvenBench/flightjs-example-app/components/bootstrap/css/bootstrap.css: Removed. |
| * DoYouEvenBench/flightjs-example-app/components/bootstrap/css/bootstrap.min.css: Removed. |
| * DoYouEvenBench/flightjs-example-app/components/bootstrap/img: Removed. |
| * DoYouEvenBench/flightjs-example-app/components/bootstrap/img/glyphicons-halflings-white.png: Removed. |
| * DoYouEvenBench/flightjs-example-app/components/bootstrap/img/glyphicons-halflings.png: Removed. |
| * DoYouEvenBench/flightjs-example-app/components/bootstrap/js: Removed. |
| * DoYouEvenBench/flightjs-example-app/components/bootstrap/js/bootstrap.js: Removed. |
| * DoYouEvenBench/flightjs-example-app/components/bootstrap/js/bootstrap.min.js: Removed. |
| * DoYouEvenBench/flightjs-example-app/components/es5-shim: Removed. |
| * DoYouEvenBench/flightjs-example-app/components/es5-shim/.gitignore: Removed. |
| * DoYouEvenBench/flightjs-example-app/components/es5-shim/CHANGES: Removed. |
| * DoYouEvenBench/flightjs-example-app/components/es5-shim/CONTRIBUTORS.md: Removed. |
| * DoYouEvenBench/flightjs-example-app/components/es5-shim/LICENSE: Removed. |
| * DoYouEvenBench/flightjs-example-app/components/es5-shim/README.md: Removed. |
| * DoYouEvenBench/flightjs-example-app/components/es5-shim/component.json: Removed. |
| * DoYouEvenBench/flightjs-example-app/components/es5-shim/es5-sham.js: Removed. |
| * DoYouEvenBench/flightjs-example-app/components/es5-shim/es5-sham.min.js: Removed. |
| * DoYouEvenBench/flightjs-example-app/components/es5-shim/es5-shim.js: Removed. |
| * DoYouEvenBench/flightjs-example-app/components/es5-shim/es5-shim.min.js: Removed. |
| * DoYouEvenBench/flightjs-example-app/components/es5-shim/package.json: Removed. |
| * DoYouEvenBench/flightjs-example-app/components/es5-shim/tests: Removed. |
| * DoYouEvenBench/flightjs-example-app/components/es5-shim/tests/helpers: Removed. |
| * DoYouEvenBench/flightjs-example-app/components/es5-shim/tests/helpers/h-kill.js: Removed. |
| * DoYouEvenBench/flightjs-example-app/components/es5-shim/tests/helpers/h-matchers.js: Removed. |
| * DoYouEvenBench/flightjs-example-app/components/es5-shim/tests/helpers/h.js: Removed. |
| * DoYouEvenBench/flightjs-example-app/components/es5-shim/tests/index.html: Removed. |
| * DoYouEvenBench/flightjs-example-app/components/es5-shim/tests/lib: Removed. |
| * DoYouEvenBench/flightjs-example-app/components/es5-shim/tests/lib/jasmine-html.js: Removed. |
| * DoYouEvenBench/flightjs-example-app/components/es5-shim/tests/lib/jasmine.css: Removed. |
| * DoYouEvenBench/flightjs-example-app/components/es5-shim/tests/lib/jasmine.js: Removed. |
| * DoYouEvenBench/flightjs-example-app/components/es5-shim/tests/lib/jasmine_favicon.png: Removed. |
| * DoYouEvenBench/flightjs-example-app/components/es5-shim/tests/lib/json2.js: Removed. |
| * DoYouEvenBench/flightjs-example-app/components/es5-shim/tests/spec: Removed. |
| * DoYouEvenBench/flightjs-example-app/components/es5-shim/tests/spec/s-array.js: Removed. |
| * DoYouEvenBench/flightjs-example-app/components/es5-shim/tests/spec/s-date.js: Removed. |
| * DoYouEvenBench/flightjs-example-app/components/es5-shim/tests/spec/s-function.js: Removed. |
| * DoYouEvenBench/flightjs-example-app/components/es5-shim/tests/spec/s-object.js: Removed. |
| * DoYouEvenBench/flightjs-example-app/components/es5-shim/tests/spec/s-string.js: Removed. |
| * DoYouEvenBench/flightjs-example-app/components/flight: Removed. |
| * DoYouEvenBench/flightjs-example-app/components/flight/.travis.yml: Removed. |
| * DoYouEvenBench/flightjs-example-app/components/flight/lib: Removed. |
| * DoYouEvenBench/flightjs-example-app/components/flight/lib/advice.js: Removed. |
| * DoYouEvenBench/flightjs-example-app/components/flight/lib/component.js: Removed. |
| * DoYouEvenBench/flightjs-example-app/components/flight/lib/compose.js: Removed. |
| * DoYouEvenBench/flightjs-example-app/components/flight/lib/index.js: Removed. |
| * DoYouEvenBench/flightjs-example-app/components/flight/lib/logger.js: Removed. |
| * DoYouEvenBench/flightjs-example-app/components/flight/lib/registry.js: Removed. |
| * DoYouEvenBench/flightjs-example-app/components/flight/lib/utils.js: Removed. |
| * DoYouEvenBench/flightjs-example-app/components/flight/tools: Removed. |
| * DoYouEvenBench/flightjs-example-app/components/flight/tools/debug: Removed. |
| * DoYouEvenBench/flightjs-example-app/components/flight/tools/debug/debug.js: Removed. |
| * DoYouEvenBench/flightjs-example-app/components/jasmine-flight: Removed. |
| * DoYouEvenBench/flightjs-example-app/components/jasmine-flight/LICENSE.md: Removed. |
| * DoYouEvenBench/flightjs-example-app/components/jasmine-flight/README.md: Removed. |
| * DoYouEvenBench/flightjs-example-app/components/jasmine-flight/bower.json: Removed. |
| * DoYouEvenBench/flightjs-example-app/components/jasmine-flight/lib: Removed. |
| * DoYouEvenBench/flightjs-example-app/components/jasmine-flight/lib/jasmine-flight.js: Removed. |
| * DoYouEvenBench/flightjs-example-app/components/jasmine-jquery: Removed. |
| * DoYouEvenBench/flightjs-example-app/components/jasmine-jquery/lib: Removed. |
| * DoYouEvenBench/flightjs-example-app/components/jasmine-jquery/lib/jasmine-jquery.js: Removed. |
| * DoYouEvenBench/flightjs-example-app/components/jquery: Removed. |
| * DoYouEvenBench/flightjs-example-app/components/jquery/component.json: Removed. |
| * DoYouEvenBench/flightjs-example-app/components/jquery/composer.json: Removed. |
| * DoYouEvenBench/flightjs-example-app/components/jquery/jquery.js: Removed. |
| * DoYouEvenBench/flightjs-example-app/components/jquery/jquery.min.js: Removed. |
| * DoYouEvenBench/flightjs-example-app/components/mustache: Removed. |
| * DoYouEvenBench/flightjs-example-app/components/mustache/mustache.js: Removed. |
| * DoYouEvenBench/flightjs-example-app/components/requirejs: Removed. |
| * DoYouEvenBench/flightjs-example-app/components/requirejs/require.js: Removed. |
| * DoYouEvenBench/flightjs-example-app/index.html: Removed. |
| * DoYouEvenBench/flightjs-example-app/karma.conf.js: Removed. |
| * DoYouEvenBench/flightjs-example-app/package.json: Removed. |
| * DoYouEvenBench/flightjs-example-app/requireMain.js: Removed. |
| * DoYouEvenBench/resources/benchmark-runner.js: |
| * DoYouEvenBench/resources/flightjs-example-app: Copied from PerformanceTests/DoYouEvenBench/flightjs-example-app. |
| * DoYouEvenBench/resources/todomvc: Copied from PerformanceTests/DoYouEvenBench/todomvc. |
| * DoYouEvenBench/todomvc: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/angularjs: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/angularjs/bower.json: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/angularjs/bower_components: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/angularjs/bower_components/angular: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/angularjs/bower_components/angular-mocks: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/angularjs/bower_components/angular-mocks/angular-mocks.js: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/angularjs/bower_components/angular/angular.js: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/angularjs/bower_components/todomvc-common: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/angularjs/bower_components/todomvc-common/base.css: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/angularjs/bower_components/todomvc-common/base.js: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/angularjs/bower_components/todomvc-common/bg.png: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/angularjs/index.html: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/angularjs/js: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/angularjs/js/app.js: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/angularjs/js/controllers: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/angularjs/js/controllers/todoCtrl.js: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/angularjs/js/directives: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/angularjs/js/directives/todoBlur.js: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/angularjs/js/directives/todoEscape.js: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/angularjs/js/directives/todoFocus.js: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/angularjs/js/services: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/angularjs/js/services/todoStorage.js: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/angularjs/readme.md: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/angularjs/test: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/angularjs/test/config: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/angularjs/test/config/testacular.conf.js: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/angularjs/test/package.json: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/angularjs/test/readme.md: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/angularjs/test/unit: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/angularjs/test/unit/directivesSpec.js: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/angularjs/test/unit/todoCtrlSpec.js: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/backbone: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/backbone/bower.json: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/backbone/bower_components: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/backbone/bower_components/backbone: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/backbone/bower_components/backbone.localStorage: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/backbone/bower_components/backbone.localStorage/backbone.localStorage.js: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/backbone/bower_components/backbone/backbone.js: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/backbone/bower_components/jquery: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/backbone/bower_components/jquery/jquery.js: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/backbone/bower_components/todomvc-common: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/backbone/bower_components/todomvc-common/base.css: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/backbone/bower_components/todomvc-common/base.js: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/backbone/bower_components/todomvc-common/bg.png: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/backbone/bower_components/underscore: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/backbone/bower_components/underscore/underscore.js: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/backbone/index.html: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/backbone/js: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/backbone/js/app.js: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/backbone/js/collections: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/backbone/js/collections/todos.js: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/backbone/js/models: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/backbone/js/models/todo.js: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/backbone/js/routers: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/backbone/js/routers/router.js: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/backbone/js/views: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/backbone/js/views/app-view.js: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/backbone/js/views/todo-view.js: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/backbone/readme.md: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/emberjs: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/emberjs/bower.json: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/emberjs/bower_components: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/emberjs/bower_components/ember: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/emberjs/bower_components/ember-localstorage-adapter: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/emberjs/bower_components/ember-localstorage-adapter/localstorage_adapter.js: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/emberjs/bower_components/ember/ember.js: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/emberjs/bower_components/handlebars: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/emberjs/bower_components/handlebars/handlebars.js: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/emberjs/bower_components/jquery: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/emberjs/bower_components/jquery/jquery.js: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/emberjs/bower_components/todomvc-common: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/emberjs/bower_components/todomvc-common/base.css: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/emberjs/bower_components/todomvc-common/base.js: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/emberjs/bower_components/todomvc-common/bg.png: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/emberjs/index.html: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/emberjs/js: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/emberjs/js/app.js: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/emberjs/js/controllers: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/emberjs/js/controllers/todo_controller.js: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/emberjs/js/controllers/todos_controller.js: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/emberjs/js/libs: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/emberjs/js/libs/ember-data.js: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/emberjs/js/models: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/emberjs/js/models/store.js: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/emberjs/js/models/todo.js: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/emberjs/js/router.js: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/emberjs/js/views: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/emberjs/js/views/edit_todo_view.js: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/emberjs/readme.md: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/emberjs/test.html: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/jquery: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/jquery/bower.json: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/jquery/bower_components: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/jquery/bower_components/handlebars: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/jquery/bower_components/handlebars/handlebars.js: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/jquery/bower_components/jquery: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/jquery/bower_components/jquery/jquery.js: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/jquery/bower_components/todomvc-common: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/jquery/bower_components/todomvc-common/base.css: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/jquery/bower_components/todomvc-common/base.js: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/jquery/bower_components/todomvc-common/bg.png: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/jquery/css: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/jquery/css/app.css: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/jquery/index.html: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/jquery/js: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/jquery/js/app.js: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/jquery/readme.md: Removed. |
| * DoYouEvenBench/todomvc/labs: Removed. |
| * DoYouEvenBench/todomvc/labs/architecture-examples: Removed. |
| * DoYouEvenBench/todomvc/labs/architecture-examples/react: Removed. |
| * DoYouEvenBench/todomvc/labs/architecture-examples/react/bower.json: Removed. |
| * DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components: Removed. |
| * DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components/director: Removed. |
| * DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components/director/LICENSE: Removed. |
| * DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components/director/README.md: Removed. |
| * DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components/director/build: Removed. |
| * DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components/director/build/director.js: Removed. |
| * DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components/director/build/director.min.js: Removed. |
| * DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components/director/build/ender.js: Removed. |
| * DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components/react: Removed. |
| * DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components/react/JSXTransformer.js: Removed. |
| * DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components/react/bower.json: Removed. |
| * DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components/react/react.js: Removed. |
| * DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components/react/react.min.js: Removed. |
| * DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components/todomvc-common: Removed. |
| * DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components/todomvc-common/base.css: Removed. |
| * DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components/todomvc-common/base.js: Removed. |
| * DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components/todomvc-common/bg.png: Removed. |
| * DoYouEvenBench/todomvc/labs/architecture-examples/react/index.html: Removed. |
| * DoYouEvenBench/todomvc/labs/architecture-examples/react/js: Removed. |
| * DoYouEvenBench/todomvc/labs/architecture-examples/react/js/app.jsx: Removed. |
| * DoYouEvenBench/todomvc/labs/architecture-examples/react/js/footer.jsx: Removed. |
| * DoYouEvenBench/todomvc/labs/architecture-examples/react/js/todoItem.jsx: Removed. |
| * DoYouEvenBench/todomvc/labs/architecture-examples/react/js/utils.jsx: Removed. |
| * DoYouEvenBench/todomvc/labs/architecture-examples/react/readme.md: Removed. |
| * DoYouEvenBench/todomvc/license.md: Removed. |
| * DoYouEvenBench/todomvc/readme.md: Removed. |
| * DoYouEvenBench/todomvc/vanilla-examples: Removed. |
| * DoYouEvenBench/todomvc/vanilla-examples/vanillajs: Removed. |
| * DoYouEvenBench/todomvc/vanilla-examples/vanillajs/bower.json: Removed. |
| * DoYouEvenBench/todomvc/vanilla-examples/vanillajs/bower_components: Removed. |
| * DoYouEvenBench/todomvc/vanilla-examples/vanillajs/bower_components/todomvc-common: Removed. |
| * DoYouEvenBench/todomvc/vanilla-examples/vanillajs/bower_components/todomvc-common/base.css: Removed. |
| * DoYouEvenBench/todomvc/vanilla-examples/vanillajs/bower_components/todomvc-common/base.js: Removed. |
| * DoYouEvenBench/todomvc/vanilla-examples/vanillajs/bower_components/todomvc-common/bg.png: Removed. |
| * DoYouEvenBench/todomvc/vanilla-examples/vanillajs/index.html: Removed. |
| * DoYouEvenBench/todomvc/vanilla-examples/vanillajs/js: Removed. |
| * DoYouEvenBench/todomvc/vanilla-examples/vanillajs/js/app.js: Removed. |
| * DoYouEvenBench/todomvc/vanilla-examples/vanillajs/js/controller.js: Removed. |
| * DoYouEvenBench/todomvc/vanilla-examples/vanillajs/js/helpers.js: Removed. |
| * DoYouEvenBench/todomvc/vanilla-examples/vanillajs/js/model.js: Removed. |
| * DoYouEvenBench/todomvc/vanilla-examples/vanillajs/js/store.js: Removed. |
| * DoYouEvenBench/todomvc/vanilla-examples/vanillajs/js/view.js: Removed. |
| * DoYouEvenBench/todomvc/vanilla-examples/vanillajs/readme.md: Removed. |
| * Skipped: |
| |
| 2014-01-17 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Build fix. Skip HTML files that are not tests. |
| |
| * Skipped: |
| |
| 2014-01-16 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Automate DoYouEvenBench |
| https://bugs.webkit.org/show_bug.cgi?id=124497 |
| |
| Reviewed by Geoffrey Garen. |
| |
| Enable DoYouEvenBench/Full.html on perf bots by default. |
| |
| Put a space between the time and ms, and fixed a typo in runner.js so that the aggregator name will be reported. |
| |
| * DoYouEvenBench/Full.html: |
| * Skipped: |
| * resources/runner.js: |
| |
| 2014-01-15 Manuel Rego Casasnovas <rego@igalia.com> |
| |
| [CSS Regions] Add performance tests for selection with mixed content |
| https://bugs.webkit.org/show_bug.cgi?id=126427 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| Add new performance tests for selection in CSS Regions mixing regular |
| content with regions. 2 new tests are added, one checking select all |
| command and another simulating a user selection passing through all the |
| paragraphs (similar to Layout/RegionsSelection.html). |
| |
| Test are skipped for now while implementation of selection in CSS |
| Regions is still evolving. |
| |
| * Layout/RegionsExtendingSelectionMixedContent.html: Added. |
| * Layout/RegionsSelectAllMixedContent.html: Added. |
| * Layout/resources/regions.css: |
| (.regular): |
| * Layout/resources/regions.js: |
| * Skipped: |
| |
| 2014-01-14 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Make DoYouEvenBench runnable by run-perf-tests |
| https://bugs.webkit.org/show_bug.cgi?id=127030 |
| |
| Reviewed by Andreas Kling. |
| |
| Added Full.html that runs 5 iterations of DoYouEvenBench. This is the canonical DoYouEvenBench, |
| which is also runnable by run-perf-tests. |
| |
| * DoYouEvenBench/Full.html: Added. |
| |
| * DoYouEvenBench/benchmark.html: |
| (startTest): Updated the code to account for the fact old measuredValues is pushed down to tests |
| property and we now have total property so that we don't have to manually compute the total. |
| |
| * DoYouEvenBench/resources/benchmark-report.js: Added. When we're inside a DRT/WTR, use |
| PerfTestRunner to output that can be parsed by run-perf-tests. Do the same when the query part |
| or the fragment part of the current URL is "webkit" for debugging purposes. |
| |
| * DoYouEvenBench/resources/benchmark-runner.js: |
| (BenchmarkRunner): |
| (BenchmarkRunner.prototype._appendFrame): Position the frame at (0, 0) inside DRT and WTR since |
| we have exactly 800px by 600px inside those two test runners. Also always insert the iframe as |
| the first child of body to avoid inserting it after the pre inserted by the test runner. |
| (BenchmarkRunner.prototype.step): Initializes _measuredValues. |
| (BenchmarkRunner.prototype.runAllSteps): Merged callNextStep in benchmark.html. |
| (BenchmarkRunner.prototype.runMultipleIterations): Added. |
| (BenchmarkRunner.prototype._runTestAndRecordResults): Compute the grand total among suites. |
| Also push down the sync and async time into tests property for consistency. |
| (BenchmarkRunner.prototype._finalize): |
| |
| * Dromaeo/resources/dromaeorunner.js: |
| (DRT.testObject): Renamed dromaeoIterationCount to customIterationCount as this option is also |
| used by DoYouEvenBench. |
| |
| * resources/runner.js: Ditto. |
| (.finish): Spit out the aggregator name. |
| |
| 2014-01-07 Ryosuke Niwa <rniwa@webkit.org> |
| |
| DoYouEvenBench: Turn BenchmarkRunner into a real class |
| https://bugs.webkit.org/show_bug.cgi?id=126613 |
| |
| Reviewed by Stephanie Lewis. |
| |
| Made BenchmarkRunner an instantiatable class. Made tests.js simply create an array of suite objects |
| instead of calling BenchmarkRunner.Suite now that we can have mulitple instances of BenchmarkRunner. |
| |
| * DoYouEvenBench/benchmark.html: |
| (formatTestName): Moved and renamed from BenchmarkRunner._testName. |
| (createUIForSuites): Extracted from a giant blob of code. |
| (startTest): Ditto. |
| * DoYouEvenBench/resources/benchmark-runner.js: |
| (BenchmarkRunner): Added. |
| (BenchmarkRunner.prototype.waitForElement): |
| (BenchmarkRunner.prototype._removeFrame): |
| (BenchmarkRunner.prototype._appendFrame): |
| (BenchmarkRunner.prototype._waitAndWarmUp): |
| (BenchmarkRunner.prototype._runTest): |
| (BenchmarkState.prototype.prepareCurrentSuite): |
| (BenchmarkRunner.prototype.step): |
| (BenchmarkRunner.prototype._runTestAndRecordResults): |
| (BenchmarkRunner.prototype._finalize): |
| * DoYouEvenBench/resources/tests.js: |
| |
| 2014-01-07 Ryosuke Niwa <rniwa@webkit.org> |
| |
| DoYouEvenBench: Extract tests and runner code from benchmark.js/html |
| https://bugs.webkit.org/show_bug.cgi?id=126596 |
| |
| Reviewed by Stephanie Lewis. |
| |
| Extracted benchmark-runner.js and tests.js out of benchmark.js and benchmark.html. |
| |
| Added a "client" interface to BenchmarkRunner so that benchmark.html could register necessary hooks to |
| update its UI. Also made BenchmarkRunner store a tree of results so that the serialization of test names |
| could be isolated from BenchmarkRunner itself in the future. |
| |
| * DoYouEvenBench/benchmark.html: |
| Moved the code to instantiate and update UI here from benchmark.js. The test code was moved out of this |
| file into resources/tests.js. |
| |
| * DoYouEvenBench/resources/benchmark-runner.js: Renamed from PerformanceTests/DoYouEvenBench/benchmark.js. |
| (SimplePromise): Moved from benchmark.js |
| (SimplePromise.prototype.then): Ditto. |
| (SimplePromise.prototype.resolve): Ditto. |
| (BenchmarkTestStep): Added. Wraps each test step. |
| (BenchmarkRunner.suite): Moved from benchmark.js. |
| (BenchmarkRunner.setClient): Added. |
| (BenchmarkRunner.waitForElement): Moved. |
| (BenchmarkRunner._removeFrame): Ditto. |
| (BenchmarkRunner._appendFrame): Ditto. Set the width and the height of the iframe as they're more than |
| presentational as they affect performance. |
| (BenchmarkRunner._waitAndWarmUp): Ditto. |
| (BenchmarkRunner._runTest): Ditto. |
| (BenchmarkRunner._testName): Ditto. |
| (BenchmarkState): Ditto. |
| (BenchmarkState.prototype.currentSuite): Ditto. |
| (BenchmarkState.prototype.currentTest): Ditto. |
| (BenchmarkState.prototype.next): Ditto. |
| (BenchmarkState.prototype.isFirstTest): Ditto. |
| (BenchmarkState.prototype.prepareCurrentSuite): Ditto. |
| (BenchmarkRunner.step): Ditto. |
| (BenchmarkRunner._runTestAndRecordResults): Ditto. Note the code to update the UI has been move to |
| benchmark.html. Also moved the code to accumulate the totals here from _finalize. |
| (BenchmarkRunner._finalize): Moved. |
| |
| * DoYouEvenBench/resources/tests.js: Copied from PerformanceTests/DoYouEvenBench/benchmark.html. |
| Uses BenchmarkTestStep instead of an array for each test step. |
| |
| 2014-01-02 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| Allow ImageBuffer to re-use IOSurfaces |
| https://bugs.webkit.org/show_bug.cgi?id=125477 |
| |
| Reviewed by Geoff Garen. |
| |
| This test times creating a variety of different sizes of canvases |
| once some have already been created. The second creation of the |
| canvases should re-use the existing IOSurfaces. |
| |
| * Canvas/reuse.html: Added. |
| |
| 2013-12-23 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r160945. |
| http://trac.webkit.org/changeset/160945 |
| https://bugs.webkit.org/show_bug.cgi?id=126164 |
| |
| Seems to have broken multiple canvas tests (Requested by ap on |
| #webkit). |
| |
| * Canvas/reuse.html: Removed. |
| |
| 2013-12-09 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| Allow ImageBuffer to re-use IOSurfaces |
| https://bugs.webkit.org/show_bug.cgi?id=125477 |
| |
| Reviewed by Geoff Garen. |
| |
| This test times creating a variety of different sizes of canvases |
| once some have already been created. The second creation of the |
| canvases should re-use the existing IOSurfaces. |
| |
| * Canvas/reuse.html: Added. |
| |
| 2013-12-15 Ryosuke Niwa <rniwa@webkit.org> |
| |
| REGRESSION: 2x regression on Dromaeo DOM query tests |
| https://bugs.webkit.org/show_bug.cgi?id=125377 |
| |
| Reviewed by Filip Pizlo. |
| |
| Added a micro-benchmark for updating a named property on document. |
| |
| * Bindings/update-name-getter.html: Added. |
| * Skipped: |
| |
| 2013-12-03 Manuel Rego Casasnovas <rego@igalia.com> |
| |
| [CSS Regions] Fix Layout/RegionsSelection.html in Mac platform |
| https://bugs.webkit.org/show_bug.cgi?id=124963 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| Layout/RegionsSelection.html introduced in r159488 was not working in |
| Mac platform because of it was trying to use mouse events out of the |
| window dimensions. Use collapse() and extend() methods from Selection |
| object to solve the issue. |
| |
| * Layout/resources/regions.js: Use collapse() and extend() instead of |
| mouse events. |
| |
| 2013-11-27 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Build fix after r159805. |
| |
| * resources/runner.js: |
| |
| 2013-11-26 Sergio Villar Senin <svillar@igalia.com> |
| |
| [CSS Grid Layout] Support grid-definition-{rows|columns} repeat() syntax |
| https://bugs.webkit.org/show_bug.cgi?id=103312 |
| |
| Reviewed by Andreas Kling. |
| |
| Use the repeat() syntax to build the huge grids used by the |
| performance tests. |
| |
| * Layout/auto-grid-lots-of-data.html: |
| * Layout/fixed-grid-lots-of-data.html: |
| |
| 2013-11-26 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Record subtest values in Dromaeo tests |
| https://bugs.webkit.org/show_bug.cgi?id=124498 |
| |
| Reviewed by Andreas Kling. |
| |
| Made Dromaeo's test runner report values in DRT.progress via newly added PerfTestRunner.reportValues. |
| |
| * Dromaeo/resources/dromaeorunner.js: |
| (.): Moved the definition out of DRT.setup. |
| (DRT.setup): Ditto. |
| (DRT.testObject): Extracted from DRT.setup. Set the subtest name and continueTesting. |
| continueTesting is set true for subtests; i.e. when name is specified. |
| (DRT.progress): Call PerfTestRunner.reportValues to report subtest results. |
| (DRT.teardown): Call PerfTestRunner.reportValues instead of measureValueAsync. |
| |
| * resources/runner.js: Made various changes for newly added PerfTestRunner.reportValues. |
| (.): Moved the initialization of completedIterations, results, jsHeapResults, and mallocHeapResults into |
| start since they need to be initialized before running each subtest. Initialize logLines here since we |
| need to use the same logger for all subtests. |
| (.start): Initialize the variables mentioned above here. Also respect doNotLogStart used by reportValues. |
| (ignoreWarmUpAndLog): Added doNotLogProgress. Used by reportValues since it reports all values at once. |
| (finish): Compute the metric name such as FrameFrame and Runs from unit. Also don't log or notify done |
| when continueTesting is set on the test object. |
| (PerfTestRunner.reportValues): Added. Reports all values for the main/sub test. |
| |
| 2013-11-26 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Remove replay performance tests as it's not actively maintained |
| https://bugs.webkit.org/show_bug.cgi?id=124764 |
| |
| Reviewed by Andreas Kling. |
| |
| Removed the replay performance tests. We can add them back when time comes. |
| |
| * Replay/Chinese/chinaz.com.replay: Removed. |
| * Replay/Chinese/www.163.com.replay: Removed. |
| * Replay/Chinese/www.alipay.com.replay: Removed. |
| * Replay/Chinese/www.baidu.com.replay: Removed. |
| * Replay/Chinese/www.csdn.net.replay: Removed. |
| * Replay/Chinese/www.douban.com.replay: Removed. |
| * Replay/Chinese/www.hao123.com.replay: Removed. |
| * Replay/Chinese/www.xinhuanet.com.replay: Removed. |
| * Replay/Chinese/www.xunlei.com.replay: Removed. |
| * Replay/Chinese/www.youku.com.replay: Removed. |
| * Replay/English/beatonna.livejournal.com.replay: Removed. |
| * Replay/English/cakewrecks.blogspot.com.replay: Removed. |
| * Replay/English/chemistry.about.com.replay: Removed. |
| * Replay/English/digg.com.replay: Removed. |
| * Replay/English/en.wikipedia.org-rorschach_test.replay: Removed. |
| * Replay/English/icanhascheezburger.com.replay: Removed. |
| * Replay/English/imgur.com-gallery.replay: Removed. |
| * Replay/English/online.wsj.com.replay: Removed. |
| * Replay/English/stockoverflow.com-best-comment.replay: Removed. |
| * Replay/English/www.alibaba.com.replay: Removed. |
| * Replay/English/www.amazon.com-kindle.replay: Removed. |
| * Replay/English/www.apple.com.replay: Removed. |
| * Replay/English/www.cnet.com.replay: Removed. |
| * Replay/English/www.dailymotion.com.replay: Removed. |
| * Replay/English/www.ehow.com-prevent-fire.replay: Removed. |
| * Replay/English/www.filestube.com-amy-adams.replay: Removed. |
| * Replay/English/www.foxnews.replay: Removed. |
| * Replay/English/www.huffingtonpost.com.replay: Removed. |
| * Replay/English/www.imdb.com-twilight.replay: Removed. |
| * Replay/English/www.mozilla.com-all-order.replay: Removed. |
| * Replay/English/www.php.net.replay: Removed. |
| * Replay/English/www.reddit.com.replay: Removed. |
| * Replay/English/www.telegraph.co.uk.replay: Removed. |
| * Replay/English/www.w3.org-htmlcss.replay: Removed. |
| * Replay/English/www.w3schools.com-html.replay: Removed. |
| * Replay/English/www.youtube.com-music.replay: Removed. |
| * Replay/French/www.orange.fr.replay: Removed. |
| * Replay/Italian/www.repubblica.it.replay: Removed. |
| * Replay/Japanese/2ch.net-newsplus.replay: Removed. |
| * Replay/Japanese/entameblog.seesaa.net.replay: Removed. |
| * Replay/Japanese/ja.wikipedia.org.replay: Removed. |
| * Replay/Japanese/www.hatena.ne.jp.replay: Removed. |
| * Replay/Japanese/www.livedoor.com.replay: Removed. |
| * Replay/Japanese/www.nicovideo.jp.replay: Removed. |
| * Replay/Japanese/www.rakuten.co.jp.replay: Removed. |
| * Replay/Japanese/www.yahoo.co.jp.replay: Removed. |
| * Replay/Korean/www.naver.com.replay: Removed. |
| * Replay/Persian/blogfa.com.replay: Removed. |
| * Replay/Polish/www.wp.pl.replay: Removed. |
| * Replay/Portuguese/www.uol.com.br.replay: Removed. |
| * Replay/Russian/lenta.ru.replay: Removed. |
| * Replay/Russian/vkontakte.ru-help.replay: Removed. |
| * Replay/Russian/www.ixbt.com.replay: Removed. |
| * Replay/Russian/www.kp.ru.replay: Removed. |
| * Replay/Russian/www.liveinternet.ru.replay: Removed. |
| * Replay/Russian/www.pravda.ru.replay: Removed. |
| * Replay/Russian/www.rambler.ru.replay: Removed. |
| * Replay/Russian/www.ucoz.ru.replay: Removed. |
| * Replay/Russian/www.yandex.ru.replay: Removed. |
| * Replay/Spanish/www.taringa.net.replay: Removed. |
| * Replay/Swedish/www.flashback.se.replay: Removed. |
| * Replay/Swedish/www.tradera.com.replay: Removed. |
| * Replay/www.google.com.replay: Removed. |
| * Replay/www.techcrunch.com.replay: Removed. |
| * Replay/www.youtube.com.replay: Removed. |
| |
| 2013-11-22 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Layout Test editing/deleting/password-delete-performance.html is failing |
| https://bugs.webkit.org/show_bug.cgi?id=124781 |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| Add a new performance test to replace editing/deleting/password-delete-performance.html. |
| We skip this test by default since it's a micro benchmark. |
| |
| * Interactive/DeletingInPasswordField.html: Added. |
| * Skipped: |
| |
| 2013-11-18 Sergio Villar Senin <svillar@igalia.com> |
| |
| [CSS Grid Layout] Improve content-sized track layout |
| https://bugs.webkit.org/show_bug.cgi?id=124408 |
| |
| Reviewed by Dean Jackson. |
| |
| From Blink r156122 by <jchaffraix@chromium.org> |
| |
| New test to check the performance of layouting grids with content sized tracks. |
| |
| * Layout/auto-grid-lots-of-data.html: Added. |
| |
| 2013-11-08 Sergio Villar Senin <svillar@igalia.com> |
| |
| [CSS Grid Layout] Run the content-sized tracks sizing algorithm only when required |
| https://bugs.webkit.org/show_bug.cgi?id=124039 |
| |
| Reviewed by Dean Jackson. |
| |
| From Blink r156028 and r156168 by <jchaffraix@chromium.org>. |
| |
| New performance tests for layouts in grids with fixed size tracks. |
| |
| * Layout/fixed-grid-lots-of-data.html: Added. |
| |
| 2013-11-19 Manuel Rego Casasnovas <rego@igalia.com> |
| |
| [CSS Regions] Add performance test for selection |
| https://bugs.webkit.org/show_bug.cgi?id=119230 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| Add new performance test for selection in CSS Regions. It checks a |
| selection from the first region to the last one, passing through all the |
| regions. |
| |
| Test is skipped for now while implementation of selection in CSS Regions |
| is still evolving. |
| |
| * Layout/RegionsSelection.html: Added. |
| * Layout/resources/regions.js: |
| (.): |
| * Skipped: |
| |
| 2013-11-18 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Simplify and reformat the output of performance tests inside test runners |
| https://bugs.webkit.org/show_bug.cgi?id=124496 |
| |
| Reviewed by Antti Koivisto. |
| |
| As a preparation to support subtests for Dromaeo and DoYouEvenBench, simplify the output performance tests generate. |
| Also modernize the output to better support "metric" concept we introduced a while ago. |
| |
| New output on Dromaeo/dom-attr looks like this: |
| ----------------------------------------------- |
| Running 5 times |
| getAttribute -> [1105, 1108, 1134, 1137, 1154] |
| element.property -> [1634, 1655, 1685, 1696, 1723] |
| setAttribute -> [646.3536463536464, 651, 651, 656.3436563436563, 658] |
| element.property = value -> [934, 949, 963, 964, 974] |
| element.expando = value -> [419, 419.5804195804196, 421.57842157842157, 425.57442557442556, 429] |
| element.expando -> [501, 517, 519.4805194805194, 521.4785214785214, 525] |
| |
| 1: 117.40644785571585 runs/s |
| 2: 118.84720469666297 runs/s |
| 3: 119.80547640905021 runs/s |
| 4: 120.51886194758805 runs/s |
| 5: 121.51924380569295 runs/s |
| |
| :Time -> [117.40644785571585, 118.84720469666297, 119.80547640905021, 120.51886194758805, 121.51924380569295] runs/s |
| mean: 119.619446942942 runs/s |
| median: 119.80547640905021 runs/s |
| stdev: 1.5769040458730506 runs/s |
| min: 117.40644785571585 runs/s |
| max: 121.51924380569295 runs/s |
| ----------------------------------------------- |
| |
| * Dromaeo/resources/dromaeorunner.js: |
| (DRT.progress): Use the new format for subtest reports. |
| * resources/runner.js: |
| (.): Declare verboseLogging, which is set to true outside of test runners. |
| (PerfTestRunner.logInfo): Use verboseLogging instead of directly checking window.testRunner. |
| (PerfTestRunner.logDetail): Added. Logs informative text with a label such as "mean: 123 s" with 4-space indentation. |
| (PerfTestRunner.logStatistics): Use logDetail. |
| (.start): Initialize verboseLogging. Also log "Running 20 times" as an informative log using logDetail. |
| (.ignoreWarmUpAndLog): Use logDetail for showing the progress. These logs were useless inside test runners anyway |
| because perftest didn't get to see any output until the test finished running. |
| (.finish): Call logStatistics with metric name as opposed to a label. Each metric name is now prefixed with ':' to be |
| distinguishable from subtests, making the new format forward compatible. |
| |
| 2013-11-18 Ryosuke Niwa <rniwa@webkit.org> |
| |
| [Performance tests] Interactive/SelectAll.html throws an exception |
| https://bugs.webkit.org/show_bug.cgi?id=124495 |
| |
| Reviewed by Antti Koivisto |
| |
| Return a boolean indicating whether more values are needed or not in |
| PerfTestRunner.measureValueAsync so that runTest can terminate gracefully. |
| |
| * Interactive/SelectAll.html: |
| (runTest): Don't schedule a timer for runTest if we've got enough values. |
| * resources/runner.js: |
| (PerfTestRunner.measureValueAsync): Returns true iff more values are needed. |
| |
| 2013-11-13 Antti Koivisto <antti@apple.com> |
| |
| This was supposed to test overflow-wrap:break-word instead of word-break:break-all. |
| |
| Rubber-stamped by Andreas Kling. |
| |
| * Layout/line-layout-simple.html: |
| |
| 2013-11-12 Andreas Kling <akling@apple.com> |
| |
| Remove body onload handler from html5-8266.html that was causing |
| the test to sometimes finish before doing anything interesting. |
| |
| Unskip Parser/HTML5-8266-FullRender.html now that it's stable. |
| |
| Rubber-stamped by Antti Koivisto. |
| |
| * Parser/resources/html5-8266.html: |
| * Skipped: |
| |
| 2013-11-12 Andreas Kling <akling@apple.com> |
| |
| Neutralize external resource loads in the new HTML5 spec copy. |
| |
| Skip Parser/HTML5-8266-FullRender.html until I can make it less flaky. |
| |
| * Parser/resources/html5-8266.html: |
| * Skipped: |
| |
| 2013-11-12 Andreas Kling <akling@apple.com> |
| |
| Import a fresh version of the full HTML5 spec for perf testing. |
| |
| Rubber-stamped by Antti Koivisto. |
| |
| * Parser/HTML5-8266-FullRender.html: Added. |
| * Parser/HTML5-8266-ParseOnly.html: Added. |
| * Parser/resources/html5-8266.html: Added. |
| |
| 2013-11-09 Antti Koivisto <antti@apple.com> |
| |
| Add subtest for word-break:break-all to Layout/line-layout-simple.html |
| https://bugs.webkit.org/show_bug.cgi?id=124103 |
| |
| Reviewed by Andreas Kling. |
| |
| * Layout/line-layout-simple.html: |
| |
| Combination "white-space:pre-wrap; word-break:break-all" is common for pure text. |
| |
| 2013-11-08 Antti Koivisto <antti@apple.com> |
| |
| Add line layout performance test that exercises more cases |
| https://bugs.webkit.org/show_bug.cgi?id=124041 |
| |
| Reviewed by Anders Carlsson. |
| |
| The existing line-layout.html covers the most basic left-aligned case only. |
| Add a test with more coverage for things that are mostly not yet supported by the simple |
| line layout path: |
| |
| - centered text |
| - right aligned text |
| - justified text |
| - pre |
| - white-space:pre-wrap |
| - text with simple inlines |
| - text with br |
| |
| * Layout/line-layout-simple.html: Added. |
| |
| 2013-10-25 Sergio Villar Senin <svillar@igalia.com> |
| |
| Use a Vector instead of HashSet to computed the orderValues in RenderFlexibleBox |
| https://bugs.webkit.org/show_bug.cgi?id=118620 |
| |
| Reviewed by Antti Koivisto. |
| |
| From Blink r152960 by <ojan@chromium.org> |
| |
| New performance test for layouts in flexboxes. |
| |
| * Layout/flexbox-lots-of-data.html: Added. |
| |
| 2013-10-24 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r157916. |
| http://trac.webkit.org/changeset/157916 |
| https://bugs.webkit.org/show_bug.cgi?id=123274 |
| |
| Broke Layout/flexbox-lots-of-data.html on perfbot (Requested |
| by ap on #webkit). |
| |
| * Layout/flexbox-lots-of-data.html: Removed. |
| |
| 2013-10-14 Sergio Villar Senin <svillar@igalia.com> |
| |
| Use a Vector instead of HashSet to computed the orderValues in RenderFlexibleBox |
| https://bugs.webkit.org/show_bug.cgi?id=118620 |
| |
| Reviewed by Antti Koivisto. |
| |
| From Blink r152960 by <ojan@chromium.org> |
| |
| New performance test for layouts in flexboxes. |
| |
| * Layout/flexbox-lots-of-data.html: Added. |
| |
| 2013-10-06 Ryosuke Niwa <rniwa@webkit.org> |
| |
| DoYouEvenBench: Make it work on Internet Explorer 11 Release Preview |
| https://bugs.webkit.org/show_bug.cgi?id=122406 |
| |
| Reviewed by Darin Adler. |
| |
| On Internet Explorer 11, $(elem).closest('li').data('id') fails to find the containig li of elem once |
| the first item is marked complete or deleted until we get back to the event loop in the jQuery/TodoMVC. |
| Worked around this limitation by overriding app.getTodo to use each item's id computed in advance. |
| |
| Also use $.text instead of execCommand('InsertText') in FlightJS/MailClient since Internet Explorer |
| doesn't support execCommand('InsertText'). Also select the recipient to avoid exceptions. |
| |
| * DoYouEvenBench/benchmark.html: |
| |
| 2013-10-05 Ryosuke Niwa <rniwa@webkit.org> |
| |
| DoYouEvenBench: Add Facebook's React TodoMVC test case |
| https://bugs.webkit.org/show_bug.cgi?id=122379 |
| |
| Reviewed by Andreas Kling. |
| |
| Add React/TodoMVC as a new test case. Somehow we beat Firefox on this one as well. |
| |
| * DoYouEvenBench/benchmark.html: |
| * DoYouEvenBench/todomvc/labs: Added. |
| * DoYouEvenBench/todomvc/labs/architecture-examples: Added. |
| * DoYouEvenBench/todomvc/labs/architecture-examples/react: Added. |
| * DoYouEvenBench/todomvc/labs/architecture-examples/react/bower.json: Added. |
| * DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components: Added. |
| * DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components/director: Added. |
| * DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components/director/LICENSE: Added. |
| * DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components/director/README.md: Added. |
| * DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components/director/build: Added. |
| * DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components/director/build/director.js: Added. |
| * DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components/director/build/director.min.js: Added. |
| * DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components/director/build/ender.js: Added. |
| * DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components/react: Added. |
| * DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components/react/JSXTransformer.js: Added. |
| * DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components/react/bower.json: Added. |
| * DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components/react/react.js: Added. |
| * DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components/react/react.min.js: Added. |
| * DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components/todomvc-common: Added. |
| * DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components/todomvc-common/base.css: Added. |
| * DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components/todomvc-common/base.js: Added. |
| * DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components/todomvc-common/bg.png: Added. |
| * DoYouEvenBench/todomvc/labs/architecture-examples/react/index.html: Added. |
| * DoYouEvenBench/todomvc/labs/architecture-examples/react/js: Added. |
| * DoYouEvenBench/todomvc/labs/architecture-examples/react/js/app.jsx: Added. |
| * DoYouEvenBench/todomvc/labs/architecture-examples/react/js/footer.jsx: Added. |
| * DoYouEvenBench/todomvc/labs/architecture-examples/react/js/todoItem.jsx: Added. |
| * DoYouEvenBench/todomvc/labs/architecture-examples/react/js/utils.jsx: Added. |
| * DoYouEvenBench/todomvc/labs/architecture-examples/react/readme.md: Added. |
| |
| 2013-09-25 Ryosuke Niwa <rniwa@webkit.org> |
| |
| DoYouEvenBench: Add a test case for FlightJS |
| https://bugs.webkit.org/show_bug.cgi?id=121926 |
| |
| Reviewed by Antti Koivisto. |
| |
| Add a FlightJS test case. |
| |
| * DoYouEvenBench/benchmark.html: |
| * DoYouEvenBench/benchmark.js: |
| * DoYouEvenBench/flightjs-example-app: Added. |
| * DoYouEvenBench/flightjs-example-app/LICENSE.md: Added. |
| * DoYouEvenBench/flightjs-example-app/README.md: Added. |
| * DoYouEvenBench/flightjs-example-app/app: Added. |
| * DoYouEvenBench/flightjs-example-app/app/boot: Added. |
| * DoYouEvenBench/flightjs-example-app/app/boot/page.js: Added. |
| * DoYouEvenBench/flightjs-example-app/app/component_data: Added. |
| * DoYouEvenBench/flightjs-example-app/app/component_data/compose_box.js: Added. |
| * DoYouEvenBench/flightjs-example-app/app/component_data/mail_items.js: Added. |
| * DoYouEvenBench/flightjs-example-app/app/component_data/move_to.js: Added. |
| * DoYouEvenBench/flightjs-example-app/app/component_ui: Added. |
| * DoYouEvenBench/flightjs-example-app/app/component_ui/compose_box.js: Added. |
| * DoYouEvenBench/flightjs-example-app/app/component_ui/folders.js: Added. |
| * DoYouEvenBench/flightjs-example-app/app/component_ui/mail_controls.js: Added. |
| * DoYouEvenBench/flightjs-example-app/app/component_ui/mail_items.js: Added. |
| * DoYouEvenBench/flightjs-example-app/app/component_ui/move_to_selector.js: Added. |
| * DoYouEvenBench/flightjs-example-app/app/component_ui/with_select.js: Added. |
| * DoYouEvenBench/flightjs-example-app/app/css: Added. |
| * DoYouEvenBench/flightjs-example-app/app/css/custom.css: Added. |
| * DoYouEvenBench/flightjs-example-app/app/data.js: Added. |
| * DoYouEvenBench/flightjs-example-app/app/templates.js: Added. |
| * DoYouEvenBench/flightjs-example-app/components: Added. |
| * DoYouEvenBench/flightjs-example-app/components/bootstrap: Added. |
| * DoYouEvenBench/flightjs-example-app/components/bootstrap/css: Added. |
| * DoYouEvenBench/flightjs-example-app/components/bootstrap/css/bootstrap-responsive.css: Added. |
| * DoYouEvenBench/flightjs-example-app/components/bootstrap/css/bootstrap-responsive.min.css: Added. |
| * DoYouEvenBench/flightjs-example-app/components/bootstrap/css/bootstrap.css: Added. |
| * DoYouEvenBench/flightjs-example-app/components/bootstrap/css/bootstrap.min.css: Added. |
| * DoYouEvenBench/flightjs-example-app/components/bootstrap/img: Added. |
| * DoYouEvenBench/flightjs-example-app/components/bootstrap/img/glyphicons-halflings-white.png: Added. |
| * DoYouEvenBench/flightjs-example-app/components/bootstrap/img/glyphicons-halflings.png: Added. |
| * DoYouEvenBench/flightjs-example-app/components/bootstrap/js: Added. |
| * DoYouEvenBench/flightjs-example-app/components/bootstrap/js/bootstrap.js: Added. |
| * DoYouEvenBench/flightjs-example-app/components/bootstrap/js/bootstrap.min.js: Added. |
| * DoYouEvenBench/flightjs-example-app/components/es5-shim: Added. |
| * DoYouEvenBench/flightjs-example-app/components/es5-shim/.gitignore: Added. |
| * DoYouEvenBench/flightjs-example-app/components/es5-shim/CHANGES: Added. |
| * DoYouEvenBench/flightjs-example-app/components/es5-shim/CONTRIBUTORS.md: Added. |
| * DoYouEvenBench/flightjs-example-app/components/es5-shim/LICENSE: Added. |
| * DoYouEvenBench/flightjs-example-app/components/es5-shim/README.md: Added. |
| * DoYouEvenBench/flightjs-example-app/components/es5-shim/component.json: Added. |
| * DoYouEvenBench/flightjs-example-app/components/es5-shim/es5-sham.js: Added. |
| * DoYouEvenBench/flightjs-example-app/components/es5-shim/es5-sham.min.js: Added. |
| * DoYouEvenBench/flightjs-example-app/components/es5-shim/es5-shim.js: Added. |
| * DoYouEvenBench/flightjs-example-app/components/es5-shim/es5-shim.min.js: Added. |
| * DoYouEvenBench/flightjs-example-app/components/es5-shim/package.json: Added. |
| * DoYouEvenBench/flightjs-example-app/components/es5-shim/tests: Added. |
| * DoYouEvenBench/flightjs-example-app/components/es5-shim/tests/helpers: Added. |
| * DoYouEvenBench/flightjs-example-app/components/es5-shim/tests/helpers/h-kill.js: Added. |
| * DoYouEvenBench/flightjs-example-app/components/es5-shim/tests/helpers/h-matchers.js: Added. |
| * DoYouEvenBench/flightjs-example-app/components/es5-shim/tests/helpers/h.js: Added. |
| * DoYouEvenBench/flightjs-example-app/components/es5-shim/tests/index.html: Added. |
| * DoYouEvenBench/flightjs-example-app/components/es5-shim/tests/lib: Added. |
| * DoYouEvenBench/flightjs-example-app/components/es5-shim/tests/lib/jasmine-html.js: Added. |
| * DoYouEvenBench/flightjs-example-app/components/es5-shim/tests/lib/jasmine.css: Added. |
| * DoYouEvenBench/flightjs-example-app/components/es5-shim/tests/lib/jasmine.js: Added. |
| * DoYouEvenBench/flightjs-example-app/components/es5-shim/tests/lib/jasmine_favicon.png: Added. |
| * DoYouEvenBench/flightjs-example-app/components/es5-shim/tests/lib/json2.js: Added. |
| * DoYouEvenBench/flightjs-example-app/components/es5-shim/tests/spec: Added. |
| * DoYouEvenBench/flightjs-example-app/components/es5-shim/tests/spec/s-array.js: Added. |
| * DoYouEvenBench/flightjs-example-app/components/es5-shim/tests/spec/s-date.js: Added. |
| * DoYouEvenBench/flightjs-example-app/components/es5-shim/tests/spec/s-function.js: Added. |
| * DoYouEvenBench/flightjs-example-app/components/es5-shim/tests/spec/s-object.js: Added. |
| * DoYouEvenBench/flightjs-example-app/components/es5-shim/tests/spec/s-string.js: Added. |
| * DoYouEvenBench/flightjs-example-app/components/flight: Added. |
| * DoYouEvenBench/flightjs-example-app/components/flight/.travis.yml: Added. |
| * DoYouEvenBench/flightjs-example-app/components/flight/lib: Added. |
| * DoYouEvenBench/flightjs-example-app/components/flight/lib/advice.js: Added. |
| * DoYouEvenBench/flightjs-example-app/components/flight/lib/component.js: Added. |
| * DoYouEvenBench/flightjs-example-app/components/flight/lib/compose.js: Added. |
| * DoYouEvenBench/flightjs-example-app/components/flight/lib/index.js: Added. |
| * DoYouEvenBench/flightjs-example-app/components/flight/lib/logger.js: Added. |
| * DoYouEvenBench/flightjs-example-app/components/flight/lib/registry.js: Added. |
| * DoYouEvenBench/flightjs-example-app/components/flight/lib/utils.js: Added. |
| * DoYouEvenBench/flightjs-example-app/components/flight/tools: Added. |
| * DoYouEvenBench/flightjs-example-app/components/flight/tools/debug: Added. |
| * DoYouEvenBench/flightjs-example-app/components/flight/tools/debug/debug.js: Added. |
| * DoYouEvenBench/flightjs-example-app/components/jasmine-flight: Added. |
| * DoYouEvenBench/flightjs-example-app/components/jasmine-flight/LICENSE.md: Added. |
| * DoYouEvenBench/flightjs-example-app/components/jasmine-flight/README.md: Added. |
| * DoYouEvenBench/flightjs-example-app/components/jasmine-flight/bower.json: Added. |
| * DoYouEvenBench/flightjs-example-app/components/jasmine-flight/lib: Added. |
| * DoYouEvenBench/flightjs-example-app/components/jasmine-flight/lib/jasmine-flight.js: Added. |
| * DoYouEvenBench/flightjs-example-app/components/jasmine-jquery: Added. |
| * DoYouEvenBench/flightjs-example-app/components/jasmine-jquery/lib: Added. |
| * DoYouEvenBench/flightjs-example-app/components/jasmine-jquery/lib/jasmine-jquery.js: Added. |
| * DoYouEvenBench/flightjs-example-app/components/jquery: Added. |
| * DoYouEvenBench/flightjs-example-app/components/jquery/component.json: Added. |
| * DoYouEvenBench/flightjs-example-app/components/jquery/composer.json: Added. |
| * DoYouEvenBench/flightjs-example-app/components/jquery/jquery.js: Added. |
| * DoYouEvenBench/flightjs-example-app/components/jquery/jquery.min.js: Added. |
| * DoYouEvenBench/flightjs-example-app/components/mustache: Added. |
| * DoYouEvenBench/flightjs-example-app/components/mustache/mustache.js: Added. |
| * DoYouEvenBench/flightjs-example-app/components/requirejs: Added. |
| * DoYouEvenBench/flightjs-example-app/components/requirejs/require.js: Added. |
| * DoYouEvenBench/flightjs-example-app/index.html: Added. |
| * DoYouEvenBench/flightjs-example-app/karma.conf.js: Added. |
| * DoYouEvenBench/flightjs-example-app/package.json: Added. |
| * DoYouEvenBench/flightjs-example-app/requireMain.js: Added. |
| |
| 2013-09-19 Ryosuke Niwa <rniwa@webkit.org> |
| |
| DoYouEvenBench: Indentations in benchmark.js and benchmark.html are all messed up |
| https://bugs.webkit.org/show_bug.cgi?id=121597 |
| |
| Reviewed by Anders Carlsson. |
| |
| Fixed indentations. |
| |
| * DoYouEvenBench/benchmark.html: |
| * DoYouEvenBench/benchmark.js: |
| (SimplePromise.prototype.resolve.else): |
| (SimplePromise.prototype.resolve): |
| (BenchmarkRunner.waitForElement.resolveIfReady): |
| (BenchmarkRunner.waitForElement): |
| (BenchmarkRunner._waitAndWarmUp.Fibonacci): |
| (BenchmarkRunner._finalize): |
| |
| 2013-09-19 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Add an AngularJS test to DoYouEvenBench |
| https://bugs.webkit.org/show_bug.cgi?id=121595 |
| |
| Reviewed by Antti Koivisto. |
| |
| * DoYouEvenBench/benchmark.html: |
| * DoYouEvenBench/todomvc/architecture-examples/angularjs: Added. |
| * DoYouEvenBench/todomvc/architecture-examples/angularjs/bower.json: Added. |
| * DoYouEvenBench/todomvc/architecture-examples/angularjs/bower_components: Added. |
| * DoYouEvenBench/todomvc/architecture-examples/angularjs/bower_components/angular: Added. |
| * DoYouEvenBench/todomvc/architecture-examples/angularjs/bower_components/angular-mocks: Added. |
| * DoYouEvenBench/todomvc/architecture-examples/angularjs/bower_components/angular-mocks/angular-mocks.js: Added. |
| * DoYouEvenBench/todomvc/architecture-examples/angularjs/bower_components/angular/angular.js: Added. |
| * DoYouEvenBench/todomvc/architecture-examples/angularjs/bower_components/todomvc-common: Added. |
| * DoYouEvenBench/todomvc/architecture-examples/angularjs/bower_components/todomvc-common/base.css: Added. |
| * DoYouEvenBench/todomvc/architecture-examples/angularjs/bower_components/todomvc-common/base.js: Added. |
| * DoYouEvenBench/todomvc/architecture-examples/angularjs/bower_components/todomvc-common/bg.png: Added. |
| * DoYouEvenBench/todomvc/architecture-examples/angularjs/index.html: Added. |
| * DoYouEvenBench/todomvc/architecture-examples/angularjs/js: Added. |
| * DoYouEvenBench/todomvc/architecture-examples/angularjs/js/app.js: Added. |
| * DoYouEvenBench/todomvc/architecture-examples/angularjs/js/controllers: Added. |
| * DoYouEvenBench/todomvc/architecture-examples/angularjs/js/controllers/todoCtrl.js: Added. |
| * DoYouEvenBench/todomvc/architecture-examples/angularjs/js/directives: Added. |
| * DoYouEvenBench/todomvc/architecture-examples/angularjs/js/directives/todoBlur.js: Added. |
| * DoYouEvenBench/todomvc/architecture-examples/angularjs/js/directives/todoEscape.js: Added. |
| * DoYouEvenBench/todomvc/architecture-examples/angularjs/js/directives/todoFocus.js: Added. |
| * DoYouEvenBench/todomvc/architecture-examples/angularjs/js/services: Added. |
| * DoYouEvenBench/todomvc/architecture-examples/angularjs/js/services/todoStorage.js: Added. |
| * DoYouEvenBench/todomvc/architecture-examples/angularjs/readme.md: Added. |
| * DoYouEvenBench/todomvc/architecture-examples/angularjs/test: Added. |
| * DoYouEvenBench/todomvc/architecture-examples/angularjs/test/config: Added. |
| * DoYouEvenBench/todomvc/architecture-examples/angularjs/test/config/testacular.conf.js: Added. |
| * DoYouEvenBench/todomvc/architecture-examples/angularjs/test/package.json: Added. |
| * DoYouEvenBench/todomvc/architecture-examples/angularjs/test/readme.md: Added. |
| * DoYouEvenBench/todomvc/architecture-examples/angularjs/test/unit: Added. |
| * DoYouEvenBench/todomvc/architecture-examples/angularjs/test/unit/directivesSpec.js: Added. |
| * DoYouEvenBench/todomvc/architecture-examples/angularjs/test/unit/todoCtrlSpec.js: Added. |
| |
| 2013-09-17 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Add a not completely unrealistic DOM Benchmark |
| https://bugs.webkit.org/show_bug.cgi?id=121361 |
| |
| Reviewed by Filip Pizlo. |
| |
| Add a DOM benchmark based on TodoMVC for vanilla JS, Ember.js, Backbone.js, and jQuery. |
| We'll add more frameworks and demo apps as we go. |
| |
| * DoYouEvenBench: Added. |
| * DoYouEvenBench/benchmark.html: Added. |
| * DoYouEvenBench/benchmark.js: Added. |
| (SimplePromise): |
| (SimplePromise.prototype.then): |
| (SimplePromise.prototype.resolve.else): |
| (SimplePromise.prototype.resolve): |
| (BenchmarkRunner.suite): |
| (BenchmarkRunner.waitForElement.resolveIfReady): |
| (BenchmarkRunner.waitForElement): |
| (BenchmarkRunner._removeFrame): |
| (BenchmarkRunner._appendFrame): |
| (BenchmarkRunner._waitAndWarmUp.Fibonacci): |
| (BenchmarkRunner._testName): |
| (BenchmarkRunner._testItemId): |
| (BenchmarkRunner.listSuites.button.onclick): |
| (BenchmarkRunner.listSuites.callNextStep): |
| (BenchmarkRunner.listSuites): |
| (BenchmarkState): |
| (BenchmarkState.prototype.currentSuite): |
| (BenchmarkState.prototype.currentTest): |
| (BenchmarkState.prototype.next): |
| (BenchmarkState.prototype.isFirstTest): |
| (BenchmarkState.prototype.prepareCurrentSuite.frame.onload): |
| (BenchmarkRunner.step): |
| (BenchmarkRunner._runTestAndRecordResults): |
| (BenchmarkRunner._finalize): |
| * DoYouEvenBench/todomvc: Added. |
| * DoYouEvenBench/todomvc/architecture-examples: Added. |
| * DoYouEvenBench/todomvc/architecture-examples/backbone: Added. |
| * DoYouEvenBench/todomvc/architecture-examples/backbone/bower.json: Added. |
| * DoYouEvenBench/todomvc/architecture-examples/backbone/bower_components: Added. |
| * DoYouEvenBench/todomvc/architecture-examples/backbone/bower_components/backbone: Added. |
| * DoYouEvenBench/todomvc/architecture-examples/backbone/bower_components/backbone.localStorage: Added. |
| * DoYouEvenBench/todomvc/architecture-examples/backbone/bower_components/backbone.localStorage/backbone.localStorage.js: Added. |
| * DoYouEvenBench/todomvc/architecture-examples/backbone/bower_components/backbone/backbone.js: Added. |
| * DoYouEvenBench/todomvc/architecture-examples/backbone/bower_components/jquery: Added. |
| * DoYouEvenBench/todomvc/architecture-examples/backbone/bower_components/jquery/jquery.js: Added. |
| * DoYouEvenBench/todomvc/architecture-examples/backbone/bower_components/todomvc-common: Added. |
| * DoYouEvenBench/todomvc/architecture-examples/backbone/bower_components/todomvc-common/base.css: Added. |
| * DoYouEvenBench/todomvc/architecture-examples/backbone/bower_components/todomvc-common/base.js: Added. |
| * DoYouEvenBench/todomvc/architecture-examples/backbone/bower_components/todomvc-common/bg.png: Added. |
| * DoYouEvenBench/todomvc/architecture-examples/backbone/bower_components/underscore: Added. |
| * DoYouEvenBench/todomvc/architecture-examples/backbone/bower_components/underscore/underscore.js: Added. |
| * DoYouEvenBench/todomvc/architecture-examples/backbone/index.html: Added. |
| * DoYouEvenBench/todomvc/architecture-examples/backbone/js: Added. |
| * DoYouEvenBench/todomvc/architecture-examples/backbone/js/app.js: Added. |
| * DoYouEvenBench/todomvc/architecture-examples/backbone/js/collections: Added. |
| * DoYouEvenBench/todomvc/architecture-examples/backbone/js/collections/todos.js: Added. |
| * DoYouEvenBench/todomvc/architecture-examples/backbone/js/models: Added. |
| * DoYouEvenBench/todomvc/architecture-examples/backbone/js/models/todo.js: Added. |
| * DoYouEvenBench/todomvc/architecture-examples/backbone/js/routers: Added. |
| * DoYouEvenBench/todomvc/architecture-examples/backbone/js/routers/router.js: Added. |
| * DoYouEvenBench/todomvc/architecture-examples/backbone/js/views: Added. |
| * DoYouEvenBench/todomvc/architecture-examples/backbone/js/views/app-view.js: Added. |
| * DoYouEvenBench/todomvc/architecture-examples/backbone/js/views/todo-view.js: Added. |
| * DoYouEvenBench/todomvc/architecture-examples/backbone/readme.md: Added. |
| * DoYouEvenBench/todomvc/architecture-examples/emberjs: Added. |
| * DoYouEvenBench/todomvc/architecture-examples/emberjs/bower.json: Added. |
| * DoYouEvenBench/todomvc/architecture-examples/emberjs/bower_components: Added. |
| * DoYouEvenBench/todomvc/architecture-examples/emberjs/bower_components/ember: Added. |
| * DoYouEvenBench/todomvc/architecture-examples/emberjs/bower_components/ember-localstorage-adapter: Added. |
| * DoYouEvenBench/todomvc/architecture-examples/emberjs/bower_components/ember-localstorage-adapter/localstorage_adapter.js: Added. |
| * DoYouEvenBench/todomvc/architecture-examples/emberjs/bower_components/ember/ember.js: Added. |
| * DoYouEvenBench/todomvc/architecture-examples/emberjs/bower_components/handlebars: Added. |
| * DoYouEvenBench/todomvc/architecture-examples/emberjs/bower_components/handlebars/handlebars.js: Added. |
| * DoYouEvenBench/todomvc/architecture-examples/emberjs/bower_components/jquery: Added. |
| * DoYouEvenBench/todomvc/architecture-examples/emberjs/bower_components/jquery/jquery.js: Added. |
| * DoYouEvenBench/todomvc/architecture-examples/emberjs/bower_components/todomvc-common: Added. |
| * DoYouEvenBench/todomvc/architecture-examples/emberjs/bower_components/todomvc-common/base.css: Added. |
| * DoYouEvenBench/todomvc/architecture-examples/emberjs/bower_components/todomvc-common/base.js: Added. |
| * DoYouEvenBench/todomvc/architecture-examples/emberjs/bower_components/todomvc-common/bg.png: Added. |
| * DoYouEvenBench/todomvc/architecture-examples/emberjs/index.html: Added. |
| * DoYouEvenBench/todomvc/architecture-examples/emberjs/js: Added. |
| * DoYouEvenBench/todomvc/architecture-examples/emberjs/js/app.js: Added. |
| * DoYouEvenBench/todomvc/architecture-examples/emberjs/js/controllers: Added. |
| * DoYouEvenBench/todomvc/architecture-examples/emberjs/js/controllers/todo_controller.js: Added. |
| * DoYouEvenBench/todomvc/architecture-examples/emberjs/js/controllers/todos_controller.js: Added. |
| * DoYouEvenBench/todomvc/architecture-examples/emberjs/js/libs: Added. |
| * DoYouEvenBench/todomvc/architecture-examples/emberjs/js/libs/ember-data.js: Added. |
| * DoYouEvenBench/todomvc/architecture-examples/emberjs/js/models: Added. |
| * DoYouEvenBench/todomvc/architecture-examples/emberjs/js/models/store.js: Added. |
| * DoYouEvenBench/todomvc/architecture-examples/emberjs/js/models/todo.js: Added. |
| * DoYouEvenBench/todomvc/architecture-examples/emberjs/js/views: Added. |
| * DoYouEvenBench/todomvc/architecture-examples/emberjs/js/views/edit_todo_view.js: Added. |
| * DoYouEvenBench/todomvc/architecture-examples/emberjs/readme.md: Added. |
| * DoYouEvenBench/todomvc/architecture-examples/emberjs/test.html: Added. |
| * DoYouEvenBench/todomvc/architecture-examples/jquery: Added. |
| * DoYouEvenBench/todomvc/architecture-examples/jquery/bower.json: Added. |
| * DoYouEvenBench/todomvc/architecture-examples/jquery/bower_components: Added. |
| * DoYouEvenBench/todomvc/architecture-examples/jquery/bower_components/handlebars: Added. |
| * DoYouEvenBench/todomvc/architecture-examples/jquery/bower_components/handlebars/handlebars.js: Added. |
| * DoYouEvenBench/todomvc/architecture-examples/jquery/bower_components/jquery: Added. |
| * DoYouEvenBench/todomvc/architecture-examples/jquery/bower_components/jquery/jquery.js: Added. |
| * DoYouEvenBench/todomvc/architecture-examples/jquery/bower_components/todomvc-common: Added. |
| * DoYouEvenBench/todomvc/architecture-examples/jquery/bower_components/todomvc-common/base.css: Added. |
| * DoYouEvenBench/todomvc/architecture-examples/jquery/bower_components/todomvc-common/base.js: Added. |
| * DoYouEvenBench/todomvc/architecture-examples/jquery/bower_components/todomvc-common/bg.png: Added. |
| * DoYouEvenBench/todomvc/architecture-examples/jquery/css: Added. |
| * DoYouEvenBench/todomvc/architecture-examples/jquery/css/app.css: Added. |
| * DoYouEvenBench/todomvc/architecture-examples/jquery/index.html: Added. |
| * DoYouEvenBench/todomvc/architecture-examples/jquery/js: Added. |
| * DoYouEvenBench/todomvc/architecture-examples/jquery/js/app.js: Added. |
| * DoYouEvenBench/todomvc/architecture-examples/jquery/readme.md: Added. |
| * DoYouEvenBench/todomvc/license.md: Added. |
| * DoYouEvenBench/todomvc/readme.md: Added. |
| * DoYouEvenBench/todomvc/vanilla-examples: Added. |
| * DoYouEvenBench/todomvc/vanilla-examples/vanillajs: Added. |
| * DoYouEvenBench/todomvc/vanilla-examples/vanillajs/bower.json: Added. |
| * DoYouEvenBench/todomvc/vanilla-examples/vanillajs/bower_components: Added. |
| * DoYouEvenBench/todomvc/vanilla-examples/vanillajs/bower_components/todomvc-common: Added. |
| * DoYouEvenBench/todomvc/vanilla-examples/vanillajs/bower_components/todomvc-common/base.css: Added. |
| * DoYouEvenBench/todomvc/vanilla-examples/vanillajs/bower_components/todomvc-common/base.js: Added. |
| * DoYouEvenBench/todomvc/vanilla-examples/vanillajs/bower_components/todomvc-common/bg.png: Added. |
| * DoYouEvenBench/todomvc/vanilla-examples/vanillajs/index.html: Added. |
| * DoYouEvenBench/todomvc/vanilla-examples/vanillajs/js: Added. |
| * DoYouEvenBench/todomvc/vanilla-examples/vanillajs/js/app.js: Added. |
| * DoYouEvenBench/todomvc/vanilla-examples/vanillajs/js/controller.js: Added. |
| * DoYouEvenBench/todomvc/vanilla-examples/vanillajs/js/helpers.js: Added. |
| * DoYouEvenBench/todomvc/vanilla-examples/vanillajs/js/model.js: Added. |
| * DoYouEvenBench/todomvc/vanilla-examples/vanillajs/js/store.js: Added. |
| * DoYouEvenBench/todomvc/vanilla-examples/vanillajs/js/view.js: Added. |
| * DoYouEvenBench/todomvc/vanilla-examples/vanillajs/readme.md: Added. |
| * Skipped: |
| |
| 2013-09-04 Filip Pizlo <fpizlo@apple.com> |
| |
| Introduce a version of SunSpider that runs for a really long time (about 1 sec on my machine) |
| |
| Rubber stamped by Mark Hahnenberg. |
| |
| This isn't meant for serious VM-to-VM performance comparisons, but it is useful |
| to see how these benchmarks behave when they're completely warmed up. |
| |
| * LongSpider: Added. |
| * LongSpider/3d-cube.js: Added. |
| (DrawLine): |
| (CalcCross): |
| (CalcNormal): |
| (CreateP): |
| (MMulti): |
| (VMulti): |
| (VMulti2): |
| (MAdd): |
| (Translate): |
| (RotateX): |
| (RotateY): |
| (RotateZ): |
| (DrawQube): |
| (Loop): |
| (Init): |
| * LongSpider/3d-morph.js: Added. |
| (loops.3500.nx.120.nz.120.morph): |
| * LongSpider/3d-raytrace.js: Added. |
| (createVector): |
| (sqrLengthVector): |
| (lengthVector): |
| (addVector): |
| (subVector): |
| (scaleVector): |
| (normaliseVector): |
| (add): |
| (sub): |
| (scalev): |
| (dot): |
| (scale): |
| (cross): |
| (normalise): |
| (transformMatrix): |
| (invertMatrix): |
| (Triangle): |
| (Triangle.prototype.intersect): |
| (Scene): |
| (Scene.prototype.intersect): |
| (Scene.prototype.blocked): |
| (Camera): |
| (Camera.prototype.generateRayPair): |
| (renderRows): |
| (Camera.prototype.render): |
| (raytraceScene.floorShader): |
| (raytraceScene): |
| (arrayToCanvasCommands): |
| * LongSpider/access-binary-trees.js: Added. |
| (TreeNode): |
| (TreeNode.prototype.itemCheck): |
| (bottomUpTree): |
| * LongSpider/access-fannkuch.js: Added. |
| (fannkuch): |
| * LongSpider/access-nbody.js: Added. |
| (Body): |
| (Body.prototype.offsetMomentum): |
| (Jupiter): |
| (Saturn): |
| (Uranus): |
| (Neptune): |
| (Sun): |
| (NBodySystem): |
| (NBodySystem.prototype.advance): |
| (NBodySystem.prototype.energy): |
| * LongSpider/access-nsieve.js: Added. |
| (pad): |
| (nsieve): |
| (sieve): |
| * LongSpider/bitops-3bit-bits-in-byte.js: Added. |
| (fast3bitlookup): |
| (TimeFunc): |
| * LongSpider/bitops-bits-in-byte.js: Added. |
| (bitsinbyte): |
| (TimeFunc): |
| * LongSpider/bitops-nsieve-bits.js: Added. |
| (pad): |
| (primes): |
| (sieve): |
| * LongSpider/controlflow-recursive.js: Added. |
| (ack): |
| (fib): |
| (tak): |
| * LongSpider/crypto-aes.js: Added. |
| (Cipher): |
| (SubBytes): |
| (ShiftRows): |
| (MixColumns): |
| (AddRoundKey): |
| (KeyExpansion): |
| (SubWord): |
| (RotWord): |
| (AESEncryptCtr): |
| (AESDecryptCtr): |
| (escCtrlChars): |
| * LongSpider/crypto-md5.js: Added. |
| (hex_md5): |
| (b64_md5): |
| (str_md5): |
| (hex_hmac_md5): |
| (b64_hmac_md5): |
| (str_hmac_md5): |
| (md5_vm_test): |
| (core_md5): |
| (md5_cmn): |
| (md5_ff): |
| (md5_gg): |
| (md5_hh): |
| (md5_ii): |
| (core_hmac_md5): |
| (safe_add): |
| (bit_rol): |
| (str2binl): |
| (binl2str): |
| (binl2hex): |
| (binl2b64): |
| * LongSpider/crypto-sha1.js: Added. |
| (hex_sha1): |
| (b64_sha1): |
| (str_sha1): |
| (hex_hmac_sha1): |
| (b64_hmac_sha1): |
| (str_hmac_sha1): |
| (sha1_vm_test): |
| (core_sha1): |
| (sha1_ft): |
| (sha1_kt): |
| (core_hmac_sha1): |
| (safe_add): |
| (rol): |
| (str2binb): |
| (binb2str): |
| (binb2hex): |
| (binb2b64): |
| * LongSpider/date-format-tofte.js: Added. |
| (arrayExists): |
| (.a): |
| (.A): |
| (.B): |
| (.d): |
| (.D): |
| (.F): |
| (.g): |
| (.G): |
| (.h): |
| (.H): |
| (.i): |
| (.j): |
| (.l): |
| (.L): |
| (.m): |
| (.M): |
| (.n): |
| (.O): |
| (.r): |
| (.S): |
| (.s): |
| (.t): |
| (.U): |
| (.W): |
| (.w): |
| (.Y): |
| (.y): |
| (.z): |
| (Date.prototype.formatDate): |
| * LongSpider/date-format-xparb.js: Added. |
| (Date.prototype.dateFormat): |
| (Date.createNewFormat): |
| (Date.getFormatCode): |
| (Date.parseDate): |
| (Date.createParser): |
| (Date.formatCodeToRegex): |
| (Date.prototype.getTimezone): |
| (Date.prototype.getGMTOffset): |
| (Date.prototype.getDayOfYear): |
| (Date.prototype.getWeekOfYear): |
| (Date.prototype.isLeapYear): |
| (Date.prototype.getFirstDayOfMonth): |
| (Date.prototype.getLastDayOfMonth): |
| (Date.prototype.getDaysInMonth): |
| (Date.prototype.getSuffix): |
| (String.escape): |
| * LongSpider/math-cordic.js: Added. |
| (FIXED): |
| (FLOAT): |
| (DEG2RAD): |
| (cordicsincos): |
| (cordic): |
| * LongSpider/math-partial-sums.js: Added. |
| (partial): |
| * LongSpider/math-spectral-norm.js: Added. |
| (A): |
| (Au): |
| (Atu): |
| (AtAu): |
| (spectralnorm): |
| * LongSpider/string-base64.js: Added. |
| (toBase64): |
| (base64ToString): |
| * LongSpider/string-fasta.js: Added. |
| (rand): |
| (makeCumulative): |
| (fastaRepeat): |
| (fastaRandom): |
| * LongSpider/string-tagcloud.js: Added. |
| (.Array.prototype.toJSONString): |
| (.Boolean.prototype.toJSONString): |
| (.Date.prototype.toJSONString): |
| (.Number.prototype.toJSONString): |
| (.Object.prototype.toJSONString): |
| (.): |
| |
| 2013-06-10 Radu Stavila <stavila@adobe.com> |
| |
| [CSS Regions] Rename region-overflow to region-fragment |
| https://bugs.webkit.org/show_bug.cgi?id=117397 |
| |
| Renamed -webkit-region-overflow to -webkit-region-fragment according to the new working draft |
| at http://www.w3.org/TR/2013/WD-css3-regions-20130528/#the-region-fragment-property |
| |
| Reviewed by Alexander Pavlov. |
| |
| * Layout/resources/regions.css: |
| |
| 2013-06-05 Zan Dobersek <zdobersek@igalia.com> |
| |
| Move MemoryInfo under window.internals |
| https://bugs.webkit.org/show_bug.cgi?id=117197 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| * resources/runner.js: Remove the setMemoryEnabled call, it's not required anymore as the memory |
| info is now accessed through window.internals and doesn't need the setting to be enabled to work. |
| |
| 2013-05-30 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Web Inspector: tests in PerformanceTests/inspector/ are timing out |
| https://bugs.webkit.org/show_bug.cgi?id=77024 |
| |
| Reviewed by Andreas Kling. |
| |
| These tests have been disabled for ages and don't conform to the standard format. |
| |
| * Skipped: |
| * inspector: Removed. |
| * inspector/console-300-lines.html: Removed. |
| * inspector/first-open-elements.html: Removed. |
| * inspector/first-open-resources.html: Removed. |
| * inspector/first-open-scripts.html.broken: Removed. |
| * inspector/heap-snapshot-advanced.html: Removed. |
| * inspector/heap-snapshot-performance-test.js: Removed. |
| * inspector/heap-snapshot.html: Removed. |
| * inspector/inspector-startup-time.html: Removed. |
| * inspector/network-append-30-requests.html.broken: Removed. |
| * inspector/performance-test.js: Removed. |
| * inspector/show-panel.html.broken: Removed. |
| |
| 2013-05-27 Benjamin Poulain <benjamin@webkit.org> |
| |
| Add a balanced benchmark for QuerySelector |
| https://bugs.webkit.org/show_bug.cgi?id=116811 |
| |
| Reviewed by Sam Weinig. |
| |
| The goal of this benchmark is to have an overview of querySelector as typically used |
| by webpages. |
| |
| It uses queries similar to what is used by popular websites and applies somewhat |
| similar weighting for each type of query. |
| |
| The tree used for the queries is intentionally kept simple to ensure we measure QuerySelector |
| a not purely the overhead of traversal. |
| |
| * CSS/QuerySelector.html: Added. |
| * CSS/resources/query-selector.html: Added. |
| |
| 2013-05-18 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Add a performance test for copying |
| https://bugs.webkit.org/show_bug.cgi?id=116394 |
| |
| Reviewed by Andreas Kling. |
| |
| Added. We're going to skip this test by default since it's such a microbenchmark, and also because |
| it currently takes 30 minutes to run. As insane as it sounds, each copy takes rouhgly 57 seconds. |
| |
| Running Interactive/CopyAll.html (1 of 1) |
| RESULT Interactive: CopyAll: Time= 57618.05 ms |
| median= 57135.0 ms, stdev= 1542.07271571 ms, min= 55095.0 ms, max= 60913.0 ms |
| RESULT Interactive: CopyAll: JSHeap= 102811.2 bytes |
| median= 103272.0 bytes, stdev= 1115.28148913 bytes, min= 100648.0 bytes, max= 103504.0 bytes |
| RESULT Interactive: CopyAll: Malloc= 446408712.0 bytes |
| median= 459156772.0 bytes, stdev= 20007346.3266 bytes, min= 415564040.0 bytes, max= 462011928.0 bytes |
| Finished: 1766.883236 s |
| |
| * Interactive/CopyAll.html: Added. |
| * Skipped: |
| |
| 2013-05-13 Seokju Kwon <seokju.kwon@gmail.com> |
| |
| Web Inspector: Get rid of native-memory-snapshot in performance test |
| https://bugs.webkit.org/show_bug.cgi?id=116013 |
| |
| Reviewed by Andreas Kling. |
| |
| Remove native-memory-snapshot.html from PerformanceTests. |
| |
| * inspector/native-memory-snapshot.html: Removed. |
| * inspector/performance-test.js: |
| (initialize_TimeTracker.Timer): |
| (initialize_TimeTracker.Timer.prototype._dump): |
| (initialize_TimeTracker.InspectorTest.runPerformanceTest): |
| |
| 2013-04-10 Benjamin Poulain <bpoulain@apple.com> |
| |
| Mass remove all the empty directories |
| |
| Rubberstamped by Ryosuke Niwa. |
| |
| * Bindings/resources: Removed. |
| |
| 2013-04-02 Glenn Adams <glenn@skynav.com> |
| |
| Need japanese line layout performance test |
| https://bugs.webkit.org/show_bug.cgi?id=113811 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| Will be used by https://bugs.webkit.org/show_bug.cgi?id=105692 to test potential performance regression |
| for Japanese (and other CJK) line break changes. |
| |
| * Layout/LineLayoutJapanese.html: Added. |
| * Skipped: Skip this test by default. |
| |
| 2013-03-29 Andrei Bucur <abucur@adobe.com> |
| |
| [CSS Regions] Add performance tests |
| https://bugs.webkit.org/show_bug.cgi?id=113303 |
| |
| Reviewed by Antti Koivisto. |
| |
| Add simple performance tests for regions, without nested named flows: a region chain and a flow article. |
| The regions.js script is used to generate the tests and can set the following parameters: the number of regions, |
| the number of paragraphs, the regions width, height, max-height and the propability of a forced break after a paragraph. |
| |
| The tests are skipped for now. They should be enabled once the regions performance is stable enough to create a baseline. |
| |
| * Layout/RegionsAuto.html: Added. A few regions with a short article. The regions have auto-height and some |
| paragraphs (80%) have forced breaks after. Stress test for the auto-height algorithm. |
| * Layout/RegionsAutoMaxHeight.html: Added. A lot of regions with auto-height and max-height. Tests the impact of |
| max-height on the auto-height algorithm. |
| * Layout/RegionsFixed.html: Added. A lot of regions with a long article. Some paragraphs (50%) have forced breaks after. |
| Stress test for the regions layout algorithm. |
| * Layout/RegionsFixedShort.html: Added. A lot of short regions with a long content. Tests the impact of unforced breaks |
| on the layout speed. |
| * Layout/resources/regions.css: Added. |
| (.articleInFlow): |
| (.articleNone): |
| (.region): |
| (.contentParagraph): |
| (.breakAfter): |
| (.regionContainer): |
| * Layout/resources/regions.js: Added. |
| (.): |
| * Skipped: |
| |
| 2013-03-26 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Add a performance tests for selecting all content in a document |
| https://bugs.webkit.org/show_bug.cgi?id=113358 |
| |
| Reviewed by Levi Weintraub. |
| |
| Add a performance test for selecting all. We wait for paint to happen by setTimeout(~, 0). |
| |
| Example outputs: |
| RESULT Interactive: SelectAll: Time= 652.6 ms |
| median= 644.5 ms, stdev= 54.6177144967 ms, min= 599.0 ms, max= 773.0 ms |
| |
| RESULT Interactive: SelectAll: Time= 654.4 ms |
| median= 633.5 ms, stdev= 55.9223145368 ms, min= 600.0 ms, max= 769.0 ms |
| |
| RESULT Interactive: SelectAll: Time= 657.9 ms |
| median= 640.0 ms, stdev= 54.1420159833 ms, min= 604.0 ms, max= 774.0 ms |
| |
| * Interactive/SelectAll.html: Added. |
| * Skipped: |
| |
| 2013-03-19 Alexei Filippov <alph@chromium.org> |
| |
| Web Inspector: Fix heap profiler performance tests. |
| https://bugs.webkit.org/show_bug.cgi?id=112701 |
| |
| Reviewed by Yury Semikhatsky. |
| |
| The tests were broken by profile types refactoring. |
| |
| * inspector/heap-snapshot-performance-test.js: |
| (test.performanceTest.step0): |
| (test.performanceTest.step1): |
| |
| 2013-03-05 Eric Seidel <eric@webkit.org> |
| |
| Add html-parser-threaded perf test now that the threaded parser is enabled by default |
| https://bugs.webkit.org/show_bug.cgi?id=111200 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| The old srcdoc test no longer triggers the threaded parser due to compatibility fixes. |
| |
| * Parser/html-parser-threaded.html: Renamed from PerformanceTests/Parser/html-parser-srcdoc.html. |
| * Skipped: Unfortunately this new test is still skipped too. |
| |
| 2013-03-04 Eric Seidel <eric@webkit.org> |
| |
| Add PerformanceTest for document startup via iframe append/remove |
| https://bugs.webkit.org/show_bug.cgi?id=111389 |
| |
| Reviewed by Kentaro Hara. |
| |
| We'd like pages with lots of iframes to be fast. |
| This test shows that at least for V8/Chromium we spend |
| all our time booting v8. |
| |
| On my 32-core linux machine I see about 70 runs/sec in |
| Release and 5 runs/sec in Debug. |
| |
| * DOM/iframe-append-remove.html: Added. |
| |
| 2013-03-03 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Some perf. tests have variances that differ greatly between runs |
| https://bugs.webkit.org/show_bug.cgi?id=97510 |
| |
| Reviewed by Benjamin Poulain. |
| |
| In order to control the number of iterations and processes to use from run-perf-tests, always use 20 |
| iterations on all tests except Dromaeo, where even doing 5 iterations is prohibitively slow, by default. |
| Without this change, it'll become extremely hard for us to tweak the number of iterations and processes |
| to use from run-perf-tests. |
| |
| * Animation/balls.html: |
| * DOM/DOMTable.html: |
| * DOM/resources/dom-perf.js: |
| (runBenchmarkSuite.PerfTestRunner.measureTime): |
| * Dromaeo/resources/dromaeorunner.js: |
| * Layout/floats_100_100.html: |
| * Layout/floats_100_100_nested.html: |
| * Layout/floats_20_100.html: |
| * Layout/floats_20_100_nested.html: |
| * Layout/floats_2_100.html: |
| * Layout/floats_2_100_nested.html: |
| * Layout/floats_50_100.html: |
| * Layout/floats_50_100_nested.html: |
| * Layout/subtree-detaching.html: |
| * Parser/html5-full-render.html: |
| * SVG/SvgHitTesting.html: |
| * resources/runner.js: |
| * resources/results-template.html: |
| |
| 2013-02-25 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Use perf.webkit.org JSON format in results page |
| https://bugs.webkit.org/show_bug.cgi?id=110842 |
| |
| Reviewed by Benjamin Poulain. |
| |
| Updated the results page template to use the new JSON format. |
| |
| Since new JSON format doesn't contain statistics such as stdev and min, added statistics.js to compute |
| these values. Also use 95% percentile confidence interval instead of standard deviation in various places. |
| |
| * resources/results-template.html: Added statistics.js as dependency. |
| (TestResult): Updated to take a metric instead of its test. Replaced stdev() with confidenceIntervalDelta() |
| now that we have a fancy Statistics class. |
| |
| (TestRun.webkitRevision): |
| (PerfTestMetric): Renamed from PerfTest since this object now encapsulates each measurement (such as time, |
| JS heap, and malloc) in test. Also added a conversion table from a metric name to a unit since new format |
| doesn't contain units. |
| (PerfTestMetric.name): Updated to compute the full metric name from test name and metric name, matching |
| the old behavior. |
| (PerfTestMetric.isMemoryTest): Explicitly look for 'JSHeap' and 'Malloc' tests. |
| (PerfTestMetric.smallerIsBetter): |
| |
| (attachPlot): Deleted the code to deal with tests that don't provide individual iteration measurement |
| since such tests no longer exist. Also fixed up the code compute y-axis range. |
| |
| (createTableRow.markupForRun): Updated to use confidenceIntervalDelta() instead of stdev(). |
| |
| (init.addTests): Added. Recursively add metrics. |
| |
| * resources/statistics.js: Added. Imported from perf.webkit.org. |
| (Statistics.max): |
| (Statistics.min): |
| (Statistics.sum): |
| (Statistics.squareSum): |
| (Statistics.sampleStandardDeviation): |
| (Statistics.supportedConfidenceLevels): |
| (Statistics.confidenceIntervalDelta): |
| (Statistics.confidenceInterval): |
| |
| 2013-02-11 Alexei Filippov <alph@chromium.org> |
| |
| Web Inspector: Split Profiler domain in protocol into Profiler and HeapProfiler |
| https://bugs.webkit.org/show_bug.cgi?id=108653 |
| |
| Reviewed by Yury Semikhatsky. |
| |
| Currently CPU and heap profilers share the same domain 'Profiler' in the protocol. |
| In fact these two profile types have not too much in common. So put each into its own domain. |
| It should also help when Profiles panel gets split into several tools. |
| This is the phase 1 which adds InspectorHeapProfilerAgent but doesn't |
| change the original InspectorProfilerAgent. |
| |
| * inspector/heap-snapshot-performance-test.js: |
| (test.performanceTest.cleanup): |
| |
| 2013-02-05 Dominik Röttsches <dominik.rottsches@intel.com> |
| |
| Add a performance test for arabic line breaking |
| https://bugs.webkit.org/show_bug.cgi?id=108948 |
| |
| Reviewed by Eric Seidel. |
| |
| Adding a perfomance test based to exercise the complex |
| font path used in rendering arabic script. |
| |
| * Layout/ArabicLineLayout.html: Added. |
| * Skipped: New test skipped by default as per Ryosuke's request. |
| |
| 2013-01-23 Yury Semikhatsky <yurys@chromium.org> |
| |
| Web Inspector: some measurements are missing in PerformanceTests/inspector/heap-*.html |
| https://bugs.webkit.org/show_bug.cgi?id=107687 |
| |
| Reviewed by Pavel Feldman. |
| |
| * inspector/heap-snapshot-performance-test.js: override methods on JSHeapSnapshot instead |
| of HeapSnapshot, otherwise overrides from JSHeapSnapshot will rule. |
| |
| 2013-01-18 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Skip DOM/TraverseChildNodes.html as intended in r140070. |
| |
| * Skipped: |
| |
| 2013-01-17 Dominic Cooney <dominicc@chromium.org> |
| |
| Unreviewed, re-land r140051. |
| |
| I overzealously rolled this out; the test was intended to be |
| skipped, but was not skipped because of a typo in Skipped. See |
| <https://bugs.webkit.org/show_bug.cgi?id=107210> |
| |
| * Parser/html-parser-srcdoc.html: Added. |
| * Skipped: Big-P Parser. |
| |
| 2013-01-17 Sheriff Bot <webkit.review.bot@gmail.com> |
| |
| Unreviewed, rolling out r140051. |
| http://trac.webkit.org/changeset/140051 |
| https://bugs.webkit.org/show_bug.cgi?id=107210 |
| |
| html-parser-srcdoc.html failing on Chromium Linux Perf and |
| Chromium Mac Perf with a lot of error spew about blocked |
| script execution in 'about:srcdoc' (Requested by dominicc on |
| #webkit). |
| |
| * Parser/html-parser-srcdoc.html: Removed. |
| * Skipped: |
| |
| 2013-01-16 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Remove NodeListsNodeData when it's no longer needed |
| https://bugs.webkit.org/show_bug.cgi?id=107074 |
| |
| Reviewed by Darin Adler. |
| |
| Added a micro benchmark to see the benefit of removing NodeListsNodeData. |
| The test traverses all elements in the html5 specification page and accesses childNodes. |
| |
| Don't enable this test for now since it's really a micro benchmark specifically |
| designed to test this patch. |
| |
| * DOM/TraverseChildNodes.html: Added. |
| * Skipped: Don't enable newly added test by default. |
| * resources/results-template.html: Compare against the unscaled unit (e.g. "bytes") as |
| opposed to scaled units such as "K bytes". |
| * resources/runner.js: |
| (.start): Moved the code to call currentTest.setup from measureRunsPerSecondOnce so that |
| it'll be ran for all test types, namely of PerfTestRunner.measureTime. |
| (.measureRunsPerSecondOnce): |
| |
| 2013-01-17 Eric Seidel <eric@webkit.org> |
| |
| Add a version of the html-parser benchmark which uses srcdoc instead of document.write so it tests the threaded parser |
| https://bugs.webkit.org/show_bug.cgi?id=107158 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| Currently this test even opts-in to the threaded parser if available. |
| We'll remove that line when the threaded parser becomes default or goes away. |
| |
| * Parser/html-parser-srcdoc.html: Added. |
| |
| 2013-01-16 Arnaud Renevier <a.renevier@sisa.samsung.com> |
| |
| inconsistency in drawImage with target rect negative dimensions. |
| https://bugs.webkit.org/show_bug.cgi?id=100026 |
| |
| Reviewed by Dean Jackson. |
| |
| Create a drawImage performance test. There is no significative change |
| in performance: 27144.6851528 runs/s without the patch; 27153.517612 |
| runs/s with the patch. Test is currently skipped. |
| |
| * Canvas/drawimage.html: Added. |
| * Skipped: |
| |
| 2013-01-15 Dominic Cooney <dominicc@chromium.org> |
| |
| Allow zero values as results from the runFunction. |
| https://bugs.webkit.org/show_bug.cgi?id=102500 |
| |
| Reviewed by Kentaro Hara. |
| |
| DOM/DOMWalk.js fails on the Chromium Win perf bot because one or |
| more parts of the test usually return zero at some point. |
| |
| * resources/runner.js: Accept merely non-negative results. |
| |
| 2012-12-28 Yury Semikhatsky <yurys@chromium.org> |
| |
| Web Inspector: rename distanceToWindow to distance |
| https://bugs.webkit.org/show_bug.cgi?id=105823 |
| |
| Reviewed by Pavel Feldman. |
| |
| Updated heap profiler performance test after renaming distanceToWindow to distance. |
| |
| * inspector/heap-snapshot-performance-test.js: |
| |
| 2012-12-18 Hayato Ito <hayato@chromium.org> |
| |
| Use element.webkitCreateShadowRoot instead of WebKitShadowRoot in PerformanceTests. |
| https://bugs.webkit.org/show_bug.cgi?id=105256 |
| |
| Reviewed by Dimitri Glazkov. |
| |
| WebKitShadowRoot constructor was deleted in favor of element.webkitCreateShadowRoot(). |
| |
| * ShadowDOM/ChangingClassNameShadowDOM.html: |
| * ShadowDOM/ChangingSelect.html: |
| * ShadowDOM/ContentReprojection.html: |
| * ShadowDOM/DistributionWithMultipleShadowRoots.html: |
| * ShadowDOM/LargeDistributionWithLayout.html: |
| * ShadowDOM/MultipleInsertionPoints.html: |
| * ShadowDOM/ShadowReprojection.html: |
| * ShadowDOM/SmallDistributionWithLayout.html: |
| |
| 2012-12-17 Shinya Kawanaka <shinyak@chromium.org> |
| |
| [Shadow] LargeDistributionWithLayout.html should be updated |
| https://bugs.webkit.org/show_bug.cgi?id=105242 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| Since this test was written when distribution took O(N^2). However, now it's almost O(N), so this test finishes |
| in very short time. We should convert it unit to runs/s. |
| |
| This test contains a some error to cause test failure, e.g. using obsolete API, so they also should be fixed. |
| |
| * ShadowDOM/LargeDistributionWithLayout.html: |
| |
| 2012-12-13 Ryosuke Niwa <rniwa@webkit.org> |
| |
| [chromium perf] DOM/DOMWalk.html failures |
| https://bugs.webkit.org/show_bug.cgi?id=104866 |
| |
| Reviewed by Eric Seidel. |
| |
| Use PerfTestRunner.now which in turn uses window.performance.now() when it's available. |
| |
| * DOM/resources/dom-perf.js: |
| (Interval.start): |
| (Interval.stop): |
| (BenchmarkSuite.prototype.RunSingle): |
| |
| 2012-12-05 Shinya Kawanaka <shinyak@chromium.org> |
| |
| [Shadow] Performance tests for ShadowDOM distribution |
| https://bugs.webkit.org/show_bug.cgi?id=103617 |
| |
| Reviewed by Dimitri Glazkov. |
| |
| We would like to measure ShadowDOM distribution performance in various cases. |
| In this patch, we add performance tests for several distribution patterns. |
| |
| * ShadowDOM/ContentReprojection.html: Added. |
| * ShadowDOM/DistributionWithMultipleShadowRoots.html: Added. |
| * ShadowDOM/LargeDistributionWithLayout.html: Added. |
| * ShadowDOM/MultipleInsertionPoints.html: Added. |
| * ShadowDOM/ShadowReprojection.html: Added. |
| * ShadowDOM/SmallDistributionWithLayout.html: Added. |
| |
| 2012-12-05 Shinya Kawanaka <shinyak@chromium.org> |
| |
| [Shadow] Performance tests of distribution for changing className |
| https://bugs.webkit.org/show_bug.cgi?id=103612 |
| |
| Reviewed by Dimitri Glazkov. |
| |
| We would like to measure ShadowDOM performance and compare it to the similar functional HTML without using ShadowDOM. |
| In this patch, we add a case when classNames of distributed elemeents are changed. |
| |
| * ShadowDOM/ChangingClassName.html: Added. |
| * ShadowDOM/ChangingClassNameShadowDOM.html: Added. |
| |
| 2012-12-03 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Dromaeo should report individual test result |
| https://bugs.webkit.org/show_bug.cgi?id=99800 |
| |
| Reviewed by Eric Seidel. |
| |
| Made one small modification to Droameo's webrunner.js so that it reports individual runs/s values |
| for each subtest. This allows us to compute the aggregated run/s for each iteration like other |
| performance tests. |
| |
| Also stop measuring memory usage in Dromaeo tests because some Dromaeo tests (e.g. jslib-modify-jquery) |
| have unrealistic memory usage, and measuring them at the time of teardown doesn't make much sense. |
| |
| * Animation/balls.html: Fixed typo: measureValueAync. |
| * Dromaeo/resources/dromaeo/web/webrunner.js: |
| |
| * Dromaeo/resources/dromaeorunner.js: |
| (DRT.setup): Call prepareToMeasureValuesAsync so that DRT.teardown can use meausreValueAsync, and log |
| "Running 5 times". Since the log container will be inserted before iframe, we need to explicitly insert |
| the iframe as the first child of the body element to avoid logs from affecting the iframe's position. |
| Also specify the number of iterations by calling PerfTestRunner.iterationCount() so that we may adjust |
| the number of iterations in PerfTestRunner. |
| |
| (DRT.progress): Log individual measurement for each subtest. |
| (DRT.teardown): Compute the aggregated result for each iteration, and log them using measureValueAsync. |
| |
| * resources/runner.js: |
| (PerfTestRunner.logStatistics): Merged printStatistics since it's no longer needed after r131638. |
| (PerfTestRunner): Removed getAndPrintMemoryStatistics since it was used only in Dromaeo tests but |
| we no longer measure memory usage in Dromaeo tests. |
| |
| (start): Increment completedRuns from -1 to 0 for Dromaeo tests where we don't want to ignore the initial |
| measurement. Note that ignoreWarmUpAndLog ignores the measurements for which completedRuns is negative. |
| |
| (ignoreWarmUpAndLog): We don't measure memory usage in Dromaeo tests. See above. |
| (PerfTestRunner.iterationCount): Added. This abstraction allows us to auto-adjust the number of iterations from |
| run-perf-tests in near future. |
| (PerfTestRunner.measureValueAsync): Renamed from measureValueAync. |
| |
| 2012-11-29 Shinya Kawanaka <shinyak@chromium.org> |
| |
| [Shadow] Performance tests of distribution for changing select attribute |
| https://bugs.webkit.org/show_bug.cgi?id=103611 |
| |
| Reviewed by Hajime Morita. |
| |
| We would like to measure ShadowDOM performance and compare it to the similar functional HTML without using ShadowDOM. |
| In this patch, we add a case when select attribute of HTMLContentElement is changed. |
| |
| * ShadowDOM/ChangingSelect.html: Added. |
| * ShadowDOM/ChangingSelectWithoutShadow.html: Added. |
| * Skipped: |
| |
| 2012-11-19 Shinya Kawanaka <shinyak@chromium.org> |
| |
| Changing id, className, or attribute should invalidate distribution |
| https://bugs.webkit.org/show_bug.cgi?id=100738 |
| |
| Reviewed by Dimitri Glazkov. |
| |
| Added test code to modify id/class/attribute. |
| |
| * DOM/ModifyAttribute.html: Added. |
| * DOM/resources/dom-perf/modify-attribute.js: Added. |
| (ModifyAttribute.CreateElementToSetUp): |
| (ModifyAttribute.ModifyId): |
| (ModifyAttribute.ModifyClass): |
| (ModifyAttribute.ModifyTitle): |
| |
| 2012-11-14 Ryosuke Niwa <rniwa@webkit.org> |
| |
| runCount in runner.js should be renamed to iterationCount |
| https://bugs.webkit.org/show_bug.cgi?id=102208 |
| |
| Reviewed by Tony Chang. |
| |
| Prior to this patch, there were terminology confusions between "runs" and "iterations". |
| The term "run" should refer to running a performance test once, and "iteration" should |
| refer to one measurement in the test. i.e. Executing run-perf-should once will result in |
| a single "run" of performance tests and each test may execute multiple "iterations" |
| to complete the run. |
| |
| Unfortunately, we still overload the meaning of "runs" in "runs/s" (is "function calls/s") |
| but that could be addressed in a separate patch. |
| |
| * Animation/balls.html: |
| * DOM/DOMTable.html: |
| * DOM/resources/dom-perf.js: |
| * Layout/floats_100_100.html: |
| * Layout/floats_100_100_nested.html: |
| * Layout/floats_20_100.html: |
| * Layout/floats_20_100_nested.html: |
| * Layout/floats_2_100.html: |
| * Layout/floats_2_100_nested.html: |
| * Layout/floats_50_100.html: |
| * Layout/floats_50_100_nested.html: |
| * Layout/subtree-detaching.html: |
| * Parser/html5-full-render.html: |
| * SVG/SvgHitTesting.html: |
| * resources/runner.js: |
| |
| 2012-11-13 Dimitri Glazkov <dglazkov@chromium.org> |
| |
| Unreviewed, rolling out r134367. |
| http://trac.webkit.org/changeset/134367 |
| https://bugs.webkit.org/show_bug.cgi?id=100738 |
| |
| Speculative rollout, could have cause Dromaeo setAttribute |
| perf regression. |
| |
| * DOM/ModifyAttribute.html: Removed. |
| * DOM/resources/dom-perf/modify-attribute.js: Removed. |
| |
| 2012-11-12 Shinya Kawanaka <shinyak@chromium.org> |
| |
| Changing id, className, or attribute should invalidate distribution |
| https://bugs.webkit.org/show_bug.cgi?id=100738 |
| |
| Reviewed by Dimitri Glazkov. |
| |
| Added test code to modify id/class/attribute. |
| |
| * DOM/ModifyAttribute.html: Added. |
| * DOM/resources/dom-perf/modify-attribute.js: Added. |
| (ModifyAttribute.CreateElementToSetUp): |
| (ModifyAttribute.ModifyId): |
| (ModifyAttribute.ModifyClass): |
| (ModifyAttribute.ModifyTitle): |
| |
| 2012-11-06 Adam Barth <abarth@webkit.org> |
| |
| DOMImplementation should use ScriptWrappable |
| https://bugs.webkit.org/show_bug.cgi?id=101279 |
| |
| Reviewed by Eric Seidel. |
| |
| This simple PerformanceTest measure how quickly we can access |
| document.implementation. The goal of this performance test is just to |
| validate that using ScriptWrappable actually makes the bindings faster. |
| |
| * Bindings/document-implementation.html: Added. |
| |
| 2012-11-05 Geoffrey Garen <ggaren@apple.com> |
| |
| WebKit should have performance tests for book chapter reflow |
| https://bugs.webkit.org/show_bug.cgi?id=101271 |
| |
| Reviewed by Dan Bernstein. |
| |
| I grabbed a book chapter from the Project Gutenberg front page: |
| |
| * Layout/chapter-reflow-once.html: Added. |
| * Layout/chapter-reflow-thrice.html: Added. |
| * Layout/chapter-reflow-twice.html: Added. |
| * Layout/chapter-reflow.html: Added. |
| |
| I also created a torture-test random text generator: |
| |
| * Layout/chapter-reflow-once-random.html: Added. |
| |
| 2012-10-29 Zoltan Horvath <zoltan@webkit.org> |
| |
| Turn PageLoad tests into simple performancetests, commit #7 (last) |
| https://bugs.webkit.org/show_bug.cgi?id=99899 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| We cannot provide an elegant way to measure the memory consumption of the PageLoad tests, but we can turn them into simple |
| performance tests and measure their memory footprint and performance that way. This change moves and renames the related files |
| to their new location and adds html/js wrappers for them. |
| |
| This is the #7 (last) commit of the whole patch. |
| |
| * PageLoad: Removed. |
| * PageLoad/svg: Removed. |
| * PageLoad/svg/LICENSES: Removed. |
| * PageLoad/svg/files: Removed. |
| * PageLoad/svg/files/33041-Samurai.svg: Removed. |
| * PageLoad/svg/files/42450-under the see.svg: Removed. |
| * PageLoad/svg/files/world-iso.svg: Removed. |
| * PageLoad/svg/svg.pltsuite: Removed. |
| * SVG/Samurai.html: Added. |
| * SVG/UnderTheSee.html: Added. |
| * SVG/WorldIso.html: Added. |
| * SVG/resources/LICENSES: Copied from PerformanceTests/PageLoad/svg/LICENSES. |
| * SVG/resources/Samurai.svg: Copied from PerformanceTests/PageLoad/svg/files/33041-Samurai.svg. |
| * SVG/resources/UnderTheSee.svg: Copied from PerformanceTests/PageLoad/svg/files/42450-under%20the%20see.svg. |
| * SVG/resources/WorldIso.svg: Copied from PerformanceTests/PageLoad/svg/files/world-iso.svg. |
| * SVG/resources/svg.pltsuite: Copied from PerformanceTests/PageLoad/svg/svg.pltsuite. |
| * Skipped: Rename the files on the skipped list also. |
| |
| 2012-10-26 Eric Seidel <eric@webkit.org> |
| |
| Add a microbenchmark for Hindi (complex-text) line-layout |
| https://bugs.webkit.org/show_bug.cgi?id=100024 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| I wrote this to make sure that we don't regress line-breaking performance |
| for the complex-text codepath. This test has shown me that TOT is |
| already 5% slower than Safari 6.0.1 here. :( |
| |
| * Layout/hindi-line-layout.html: Added. |
| |
| 2012-10-26 Zoltan Horvath <zoltan@webkit.org> |
| |
| Turn PageLoad tests into simple performancetests, commit #6 |
| https://bugs.webkit.org/show_bug.cgi?id=99899 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| We cannot provide an elegant way to measure the memory consumption of the PageLoad tests, but we can turn them into simple |
| performance tests and measure their memory footprint and performance that way. This change moves and renames the related files |
| to their new location and adds html/js wrappers for them. |
| |
| This is the #6 commit of the whole patch. |
| |
| * PageLoad/svg/files/gearflowers.svg: Removed. |
| * PageLoad/svg/files/hereGear4.svg: Removed. |
| * PageLoad/svg/files/worldcup.svg: Removed. |
| * SVG/GearFlowers.html: Added. |
| * SVG/HereGear.html: Added. |
| * SVG/Worldcup.html: Added. |
| * SVG/resources/GearFlowers.svg: Copied from PerformanceTests/PageLoad/svg/files/gearflowers.svg. |
| * SVG/resources/HereGear.svg: Copied from PerformanceTests/PageLoad/svg/files/hereGear4.svg. |
| * SVG/resources/Worldcup.svg: Copied from PerformanceTests/PageLoad/svg/files/worldcup.svg. |
| * Skipped: Rename the files on the skipped list also. |
| |
| 2012-10-26 Zoltan Horvath <zoltan@webkit.org> |
| |
| Turn PageLoad tests into simple performancetests, commit #5 |
| https://bugs.webkit.org/show_bug.cgi?id=99899 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| We cannot provide an elegant way to measure the memory consumption of the PageLoad tests, but we can turn them into simple |
| performance tests and measure their memory footprint and performance that way. This change moves and renames the related files |
| to their new location and adds html/js wrappers for them. |
| |
| This is the #5 commit of the whole patch. |
| |
| * PageLoad/svg/files/Harvey_Rayner.svg: Removed. |
| * PageLoad/svg/files/Sierpinski_carpet_6.svg: Removed. |
| * PageLoad/svg/files/mtsthelens.svg: Removed. |
| * PageLoad/svg/files/mtsthelens0.jpg: Removed. |
| * SVG/HarveyRayner.html: Added. |
| * SVG/MtSaintHelens.html: Added. |
| * SVG/SierpinskiCarpet.html: Added. |
| * SVG/resources/HarveyRayner.svg: Copied from PerformanceTests/PageLoad/svg/files/Harvey_Rayner.svg. |
| * SVG/resources/MtSaintHelens.svg: Copied from PerformanceTests/PageLoad/svg/files/mtsthelens.svg. |
| * SVG/resources/SierpinskiCarpet.svg: Copied from PerformanceTests/PageLoad/svg/files/Sierpinski_carpet_6.svg. |
| * SVG/resources/mtsthelens0.jpg: Copied from PerformanceTests/PageLoad/svg/files/mtsthelens0.jpg. |
| * Skipped: Rename the files on the skipped list also. |
| |
| 2012-10-25 Zoltan Horvath <zoltan@webkit.org> |
| |
| Turn PageLoad tests into simple performancetests, commit #4 |
| https://bugs.webkit.org/show_bug.cgi?id=99899 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| We cannot provide an elegant way to measure the memory consumption of the PageLoad tests, but we can turn them into simple |
| performance tests and measure their memory footprint and performance that way. This change moves and renames the related files |
| to their new location and adds html/js wrappers for them. |
| |
| This is the #4 commit of the whole patch. |
| |
| * PageLoad/svg/files/france.svg: Removed. |
| * PageLoad/svg/files/francobollo_gnome_ezechi_02.svg: Removed. |
| * SVG/France.html: Added. |
| * SVG/FrancoBolloGnomeEzechi.html: Added. |
| * SVG/resources/France.svg: Copied from PerformanceTests/PageLoad/svg/files/france.svg. |
| * SVG/resources/FrancoBolloGnomeEzechi.svg: Copied from PerformanceTests/PageLoad/svg/files/francobollo_gnome_ezechi_02.svg. |
| * Skipped: Rename the files on the skipped list also. |
| |
| 2012-10-25 Zoltan Horvath <zoltan@webkit.org> |
| |
| Turn PageLoad tests into simple performancetests, commit #3 |
| https://bugs.webkit.org/show_bug.cgi?id=99899 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| We cannot provide an elegant way to measure the memory consumption of the PageLoad tests, but we can turn them into simple |
| performance tests and measure their memory footprint and performance that way. This change moves and renames the related files |
| to their new location and adds html/js wrappers for them. |
| |
| This is the #3 commit of the whole patch. |
| |
| * PageLoad/svg/files/42470-flower_from_my_garden_v2.svg: Removed. |
| * PageLoad/svg/files/44057-drops on a blade.svg: Removed. |
| * PageLoad/svg/files/deb9frac1.svg: Removed. |
| * PageLoad/svg/files/food_leif_lodahl_01.svg: Removed. |
| * SVG/Debian.html: Added. |
| * SVG/DropsOnABlade.html: Added. |
| * SVG/FlowerFromMyGarden.html: Added. |
| * SVG/FoodLeifLodahl.html: Added. |
| * SVG/resources/Debian.svg: Copied from PerformanceTests/PageLoad/svg/files/deb9frac1.svg. |
| * SVG/resources/DropsOnABlade.svg: Copied from PerformanceTests/PageLoad/svg/files/44057-drops%20on%20a%20blade.svg. |
| * SVG/resources/FlowerFromMyGarden.svg: Copied from PerformanceTests/PageLoad/svg/files/42470-flower_from_my_garden_v2.svg. |
| * SVG/resources/FoodLeifLodahl.svg: Copied from PerformanceTests/PageLoad/svg/files/food_leif_lodahl_01.svg. |
| |
| 2012-10-24 Zoltan Horvath <zoltan@webkit.org> |
| |
| Turn PageLoad tests into simple performancetests, commit #2 |
| https://bugs.webkit.org/show_bug.cgi?id=99899 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| We cannot provide an elegant way to measure the memory consumption of the PageLoad tests, but we can turn them into simple |
| performance tests and measure their memory footprint and performance that way. This change moves and renames the related files |
| to their new location and adds html/js wrappers for them. |
| |
| This is the #2 commit of the whole patch. |
| |
| * PageLoad/svg/files/cacuts_01.svg: Removed. |
| * PageLoad/svg/files/cowboy.svg: Removed. |
| * PageLoad/svg/files/crawfish2_ganson.svg: Removed. |
| * SVG/Cactus.html: Added. |
| * SVG/Cowboy.html: Added. |
| * SVG/CrawFishGanson.html: Added. |
| * SVG/resources/Cactus.svg: Copied from PerformanceTests/PageLoad/svg/files/cacuts_01.svg. |
| * SVG/resources/Cowboy.svg: Copied from PerformanceTests/PageLoad/svg/files/cowboy.svg. |
| * SVG/resources/CrawFishGanson.svg: Copied from PerformanceTests/PageLoad/svg/files/crawfish2_ganson.svg. |
| * Skipped: Remove az-lizard_benji_park_01.svg from the skipped list. |
| |
| 2012-10-24 Zoltan Horvath <zoltan@webkit.org> |
| |
| Turn PageLoad tests into simple performancetests, commit #1 |
| https://bugs.webkit.org/show_bug.cgi?id=99899 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| We cannot provide an elegant way to measure the memory consumption of the PageLoad tests, but we can turn them into simple |
| performance tests and measure their memory footprint and performance that way. This change moves and renames the related files |
| to their new location and adds html/js wrappers for them. |
| |
| This is the #1 commit of the whole patch. |
| |
| * PageLoad/svg/files/az-lizard_benji_park_01.svg: Removed. |
| * PageLoad/svg/files/bamboo_01.svg: Removed. |
| * SVG/AzLizardBenjiPark.html: Added. |
| * SVG/Bamboo.html: Added. |
| * SVG/resources: Added. |
| * SVG/resources/AzLizardBenjiPark.svg: Copied from PerformanceTests/PageLoad/svg/files/az-lizard_benji_park_01.svg. |
| * SVG/resources/Bamboo.svg: Copied from PerformanceTests/PageLoad/svg/files/bamboo_01.svg. |
| |
| 2012-10-24 Zoltan Horvath <zoltan@webkit.org> |
| |
| REGRESSION(r131982): Skip SVG/SvgNestedUse.html performancetest since it is crashing |
| https://bugs.webkit.org/show_bug.cgi?id=100262 |
| |
| Unreviewed. |
| |
| Skip until proper fix. |
| |
| * Skipped: Add SVG/SvgNestedUse.html |
| |
| 2012-10-23 Zoltan Horvath <zoltan@webkit.org> |
| |
| Store the loaded file locally in measurePageLoadTime |
| https://bugs.webkit.org/show_bug.cgi?id=100172 |
| |
| Reviewed by Csaba Osztrogonác. |
| |
| Store the loaded file as a local variable instead of attaching it to the test object. |
| Handle chunkSize inside test.run. |
| |
| * resources/runner.js: |
| (.): |
| |
| 2012-10-23 Zoltan Horvath <zoltan@webkit.org> |
| |
| Add measurePageLoadTime function to PerfTestRunner |
| https://bugs.webkit.org/show_bug.cgi?id=100029 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| Adopt chunk based loading logic from html5-full-render.html into measurePageLoadTime function, |
| this is needed to measure the performance and the memory consumption of the PageLoadTests as |
| we do it for all other performancetests. |
| |
| * Parser/html5-full-render.html: Move the behavior to runner.js. |
| * resources/runner.js: |
| (.): Add measurePageLoadTime function. |
| |
| 2012-10-22 Adam Barth <abarth@webkit.org> |
| |
| [V8] Vastly simplify V8GCController's NodeVisitor |
| https://bugs.webkit.org/show_bug.cgi?id=99884 |
| |
| Reviewed by Kentaro Hara. |
| |
| Adds some performance tests for the garbage collector. |
| |
| * Bindings/gc-forest.html: Added. |
| * Bindings/gc-mini-tree.html: Added. |
| * Bindings/gc-tree.html: Added. |
| |
| 2012-10-17 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Bump up the number of iterations of html5-full-render to 5 |
| https://bugs.webkit.org/show_bug.cgi?id=99657 |
| |
| Reviewed by Andreas Kling. |
| |
| Now that html5-full-render.html runs in less than 15 seconds after r131553, |
| we can afford to get 5 instead of 2 samples. |
| |
| * Parser/html5-full-render.html: |
| |
| 2012-10-17 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Rename PerfTestRunner.runPerSecond to PerfTestRunner.measureRunsPerSecond for consistency |
| https://bugs.webkit.org/show_bug.cgi?id=99642 |
| |
| Reviewed by Dirk Pranke. |
| |
| Renamed the method. |
| |
| * Bindings/append-child.html: |
| * Bindings/create-element.html: |
| * Bindings/event-target-wrapper.html: |
| * Bindings/first-child.html: |
| * Bindings/get-attribute.html: |
| * Bindings/get-element-by-id.html: |
| * Bindings/get-elements-by-tag-name.html: |
| * Bindings/id-getter.html: |
| * Bindings/id-setter.html: |
| * Bindings/insert-before.html: |
| * Bindings/node-list-access.html: |
| * Bindings/scroll-top.html: |
| * Bindings/set-attribute.html: |
| * Bindings/typed-array-construct-from-array.html: |
| * Bindings/typed-array-construct-from-same-type.html: |
| * Bindings/typed-array-construct-from-typed.html: |
| * Bindings/typed-array-set-from-typed.html: |
| * Bindings/undefined-first-child.html: |
| * Bindings/undefined-get-element-by-id.html: |
| * Bindings/undefined-id-getter.html: |
| * CSS/CSSPropertySetterGetter.html: |
| * CSS/CSSPropertyUpdateValue.html: |
| * CSS/PseudoClassSelectors.html: |
| * DOM/textarea-dom.html: |
| * DOM/textarea-edit.html: |
| * Interactive/resources/window-resize.js: |
| * Layout/flexbox-column-nowrap.html: |
| * Layout/flexbox-column-wrap.html: |
| * Layout/flexbox-row-nowrap.html: |
| * Layout/flexbox-row-wrap.html: |
| * Layout/line-layout.html: |
| * Parser/css-parser-yui.html: |
| * Parser/innerHTML-setter.html: |
| * Parser/query-selector-deep.html: |
| * Parser/query-selector-first.html: |
| * Parser/query-selector-last.html: |
| * Parser/simple-url.html: |
| * Parser/textarea-parsing.html: |
| * Parser/tiny-innerHTML.html: |
| * Parser/url-parser.html: |
| * Parser/xml-parser.html: |
| * SVG/SvgNestedUse.html: |
| * resources/runner.js: |
| |
| 2012-10-17 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Performance test should support asynchronous tests |
| https://bugs.webkit.org/show_bug.cgi?id=95668 |
| |
| Reviewed by Dirk Pranke. |
| |
| Added PerfTestRunner.prepareToMeasureValuesAsync and PerfTestRunner.measureValueAsync, |
| and deployed it in Animation/balls. |
| |
| * Animation/balls.html: |
| * resources/runner.js: |
| |
| 2012-10-16 Elliott Sprehn <esprehn@chromium.org> |
| |
| html5-full-render.html test uses substring but meant substr |
| https://bugs.webkit.org/show_bug.cgi?id=99495 |
| |
| Reviewed by Adam Barth. |
| |
| This test intended to chunk up the HTML5 spec into chunks of 500k chars, but used |
| substring(to,from) instead of substr(from,length) so it actually loaded 5x more |
| content than was in the HTML5 spec. |
| |
| * Parser/html5-full-render.html: |
| |
| 2012-10-11 James Simonsen <simonjam@chromium.org> |
| |
| unprefix window.performance.webkitNow() |
| https://bugs.webkit.org/show_bug.cgi?id=88278 |
| |
| Reviewed by Tony Gentilcore. |
| |
| * resources/runner.js: Bind to proper object to avoid invalid invocation errors. |
| |
| 2012-10-08 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Skip Layout/subtree-detaching.html temporarily as it's very noisy and |
| takes 112s to run on Chromium Mac. This is tracked by the bug 98708. |
| |
| * Skipped: |
| |
| 2012-10-08 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Perf. test results page is broken when runs have different sets of tests |
| https://bugs.webkit.org/show_bug.cgi?id=98691 |
| |
| Reviewed by Daniel Bates. |
| |
| Add "missing" columns for tests that are missing some runs. |
| |
| Also fix regressions from the previous patch: |
| - Make reference run switch work again |
| - Load jquery plugins from the remote server when the jquery is loaded from the remote server. |
| |
| * resources/results-template.html: |
| |
| 2012-10-08 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Perf test pesults page takes forever to load on a machine with a slow Internet connection |
| https://bugs.webkit.org/show_bug.cgi?id=98561 |
| |
| Reviewed by Ojan Vafai. |
| |
| Try loading jquery both locally and remotely, and use the same method to load the remaining |
| jquery plugins when either one succeeds. |
| |
| * resources/results-template.html: |
| |
| 2012-10-04 Hayato Ito <hayato@chromium.org> |
| |
| [Refactoring] Introduce a traversal strategy in SelectorChecker |
| https://bugs.webkit.org/show_bug.cgi?id=97298 |
| |
| Reviewed by Antti Koivisto. |
| |
| Introduces querySelector() performance tests to check SelectorChecker performance. |
| |
| * CSS/PseudoClassSelectors.html: Added. |
| |
| 2012-10-03 Philip Rogers <pdr@google.com> |
| |
| Force GC between PageLoad tests. |
| https://bugs.webkit.org/show_bug.cgi?id=98203 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| Previously, our PageLoad PerfTests had multi-modal distributions, |
| typically with a small cluster at 1-2x the median. This turned out |
| to be caused by not garbage collecting between tests! |
| |
| This patch adds a new file, force-gc.html, and loads this file between |
| PageLoad tests to force a GC. I manually verified that this cleans up |
| our perf test outliers. |
| |
| * resources/force-gc.html: Added. |
| |
| 2012-10-03 Julien Chaffraix <jchaffraix@webkit.org> |
| |
| Add a performance test for subtree detaching |
| https://bugs.webkit.org/show_bug.cgi?id=98281 |
| |
| Reviewed by Eric Seidel. |
| |
| The new test tries to stress detaching on a heavy subtree (2 levels deep but with 1,000 nodes per level). |
| We set display: none on the root and measure the time it takes to update the tree. Note that we will also |
| measure the time taken by recalcStyle and relayout but I don't think we can avoid that. |
| |
| * Layout/subtree-detaching.html: Added. |
| |
| 2012-10-02 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Build fix after r130135. Dromaeo tests only report single memory value, |
| and computeStatistics should report variance as 0 in such cases. |
| |
| * resources/runner.js: |
| |
| 2012-10-02 Philip Rogers <pdr@google.com> |
| |
| Fix PerfTest standard deviation calculation. |
| https://bugs.webkit.org/show_bug.cgi?id=98115 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| Previously our standard deviation calculation was incorrect. This patch |
| updates perftest.py's algorithm to calculate the sample standard deviation |
| (with Bessel's correction) using Knuth's online algorithm: |
| http://en.wikipedia.org/wiki/Algorithms_for_calculating_variance#Online_algorithm |
| An existing test has been modified to prove our new results. |
| |
| This patch also updates runner.js to use Bessel's correction in |
| its sample standard deviation calculation, which is more accurate |
| for small sample sizes. |
| |
| Additionally, runner.js has been modified to not calculate |
| the 'sum' statistic, which was not very useful. |
| |
| * resources/runner.js: |
| (PerfTestRunner.computeStatistics): |
| |
| 2012-10-01 Ryosuke Niwa <rniwa@webkit.org> |
| |
| PerfTestRunner: Move all functions into the closure and always use double quotation for string literals |
| https://bugs.webkit.org/show_bug.cgi?id=98093 |
| |
| Reviewed by Ojan Vafai. |
| |
| Move all methods of PerfTestRunner into the closure that defines it. |
| Also always use double quotations for string literals for consistency. |
| |
| * resources/runner.js: |
| |
| 2012-10-01 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Encapsulate private properties in PerfTestRunner better |
| https://bugs.webkit.org/show_bug.cgi?id=97833 |
| |
| Reviewed by Ojan Vafai. |
| |
| This patch moves "private" methods and properties of PerfTestRunner into a closure so that they're |
| inaccssible from outside. Also catch exceptions from test.run, test.done, and other runner code |
| to ensure we call notifyDone() even if we broke tests. Otherwise DRT will timeout and we end up |
| waiting for 10 minutes per each broken test on bots. |
| |
| * resources/runner.js: |
| (PerfTestRunner.gc): |
| (logInDocument): Extracted from PerfTestRunner.log. |
| (PerfTestRunner.log): Moved. |
| (logFatalError): Added. |
| (start): Renamed from PerfTestRunner._start. |
| (scheduleNextRun): Extracted from PerfTestRunner._runLoop. Also catch any exceptions that happen |
| in the runner and ignoreWarmUpAndLog so that we don't end up timing out. We call logFatalError in |
| such cases, which in turn ensures notifyDone() is called. |
| (ignoreWarmUpAndLog): Renamed from PerfTestRunner._ignoreWarmUpAndLog. |
| (finish): Extracted from PerfTestRunner._runLoop. |
| (PerfTestRunner.measureTime): Moved. The initialization of runCount is moved into start(). |
| (measureTimeOnce): Renamed from PerfTestRunner._measureTimeOnce. |
| (PerfTestRunner.runPerSecond): Moved. Ditto about runCount. |
| (measureRunsPerSecondOnce): Renamed from PerfTestRunner._measureRunsPerSecondOnce. |
| (callRunAndMeasureTime): Renamed from PerfTestRunner._perSecondRunnerIterator. |
| |
| 2012-10-01 Florin Malita <fmalita@chromium.org> |
| |
| Add a performance test for nested <use> elements |
| https://bugs.webkit.org/show_bug.cgi?id=98047 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| Currently at ~5 runs per second on my workstation, but should go up significantly (100+) |
| after landing a fix for https://bugs.webkit.org/show_bug.cgi?id=97905. |
| |
| * SVG/SvgNestedUse.html: Added. |
| |
| 2012-09-28 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Add back test.runCount for runPerSecond as it's used by tests in fast/harness/perftests. |
| |
| * resources/runner.js: |
| (PerfTestRunner.runPerSecond): |
| |
| 2012-09-27 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Build fix after r129824. |
| |
| * DOM/resources/dom-perf.js: |
| (runBenchmarkSuite): |
| |
| 2012-09-27 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Remove unused features and reduce code duplications in PerfTestRunner |
| https://bugs.webkit.org/show_bug.cgi?id=97852 |
| |
| Reviewed by Kentaro Hara. |
| |
| Made the following refactoring changes: |
| - Remove PerfTestRunner.info since it's never used. |
| - Moved the js heap/malloc related functions up to where they belong. |
| - Moved the initialization of _callsPerIteration, _test, and -description into _start, |
| and stopped initializing _runFunction and _doneFunction since both test times now |
| use _test object. |
| - Made _measureTimeOnce and _measureRunsPerSecondOnce return the measured value |
| instead of calling ignoreWarmUpAndLog and _runLoop to share the code; they're now |
| called in _measureRunsPerSecondOnce. |
| |
| * resources/runner.js: |
| (PerfTestRunner.storeHeapResults): Moved. |
| (PerfTestRunner.getUsedMallocHeap): Moved. |
| (PerfTestRunner.getUsedJSHeap): Moved. |
| (PerfTestRunner.getAndPrintMemoryStatistics): Moved. |
| (PerfTestRunner._scheduleNextMeasurementOrNotifyDone): Renamed from _runLoop. Calls |
| ignoreWarmUpAndLog and schedules the next call. |
| (PerfTestRunner._measureTimeOnce): Renamed from _runner. |
| (PerfTestRunner._start): Renamed from initAndStartLoop. |
| (PerfTestRunner.measureTime): |
| (PerfTestRunner.runPerSecond): |
| (PerfTestRunner._measureRunsPerSecondOnce): Renamed from _measureRunsPerSecondOnce. |
| (PerfTestRunner._perSecondRunnerIterator): |
| |
| 2012-09-27 Ryosuke Niwa <rniwa@webkit.org> |
| |
| PerfTestRunner.run should take an object |
| https://bugs.webkit.org/show_bug.cgi?id=97743 |
| |
| Reviewed by Kentaro Hara. |
| |
| Rename PerfTestRunner.run to PerfTestRunner.measureTime and make it take an object instead of |
| 5 arguments. Also get rid of PerfTestRunner._loopsPerRun since it's no longer used (it's always 1). |
| |
| * CSS/StyleSheetInsert.html: |
| * DOM/resources/dom-perf.js: |
| * Layout/floats_100_100.html: |
| * Layout/floats_100_100_nested.html: |
| * Layout/floats_20_100.html: |
| * Layout/floats_20_100_nested.html: |
| * Layout/floats_2_100.html: |
| * Layout/floats_2_100_nested.html: |
| * Layout/floats_50_100.html: |
| * Layout/floats_50_100_nested.html: |
| * Parser/html-parser.html: |
| * Parser/html5-full-render.html: |
| * SVG/SvgCubics.html: |
| * SVG/SvgHitTesting.html: |
| * resources/runner.js: |
| |
| 2012-09-27 Ryosuke Niwa <rniwa@webkit.org> |
| |
| PerformanceTests/CSS/StyleSheetInsert.html has a time-dependent non-Gaussian distribution |
| https://bugs.webkit.org/show_bug.cgi?id=97741 |
| |
| Reviewed by Antti Koivisto. |
| |
| Reset the content in the iframe in each run so that the runtime from each run follows a normal distribution. |
| We can cleanup this code once my patch to replace the argument list of run by an object is landed. |
| |
| * CSS/StyleSheetInsert.html: |
| |
| 2012-09-27 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Unreviewed. Minor appearance tweaks after r129813. |
| |
| * resources/results-template.html: |
| |
| 2012-09-27 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Results page should warn about time-dependent distributions |
| https://bugs.webkit.org/show_bug.cgi?id=97818 |
| |
| Reviewed by Ojan Vafai. |
| |
| Add a simple linear regression analysis on results page to detect time-dependent distributions. |
| We add a warning sign (inline SVG) when the regression gave us a slope of at least 0.01 and a R^2 of at least 0.6. |
| Also added time-series graphs per run under the bar graphs so that humans can manually inspect them. |
| |
| A nice follow up would be to add some normality test (e.g. Shapiro-Wilk) to detect bi-modal distributions |
| but we probably need to restructure the code to run it asynchronously since normality tests are slow. |
| |
| * resources/results-template.html: |
| |
| 2012-09-26 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Use runPerSecond in PerformanceTests/Bindings/typed-array* and event-target-wrapper |
| https://bugs.webkit.org/show_bug.cgi?id=97625 |
| |
| Reviewed by Eric Seidel. |
| |
| Use PerfTestRunner.runPerSecond instead of PerfTestRunner.run. Also reduce the fixed number of |
| elements and iterations in these tests by a factor of 10 since runPerSecond can dynamically |
| adjust the number of function calls. |
| |
| * Bindings/event-target-wrapper.html: |
| * Bindings/typed-array-construct-from-array.html: |
| * Bindings/typed-array-construct-from-same-type.html: |
| * Bindings/typed-array-construct-from-typed.html: |
| * Bindings/typed-array-set-from-typed.html: |
| |
| 2012-09-25 Antti Koivisto <antti@apple.com> |
| |
| Optimize stylesheet insertions |
| https://bugs.webkit.org/show_bug.cgi?id=97627 |
| |
| Reviewed by Andreas Kling. |
| |
| Add synthetic performance test for avoiding style recalcs on stylesheet inserts. |
| |
| * CSS/StyleSheetInsert.html: Added. |
| |
| 2012-09-25 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Skip Dromaeo/jslib-modify-jquery.html per bug 95376. |
| It runs out of memory on Chromium port, and it takes unreasonably long time (~5 minutes) |
| to run on other ports. |
| |
| * Skipped: |
| |
| 2012-09-20 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Results page should show indivisual value |
| https://bugs.webkit.org/show_bug.cgi?id=97178 |
| |
| Reviewed by Tony Chang. |
| |
| Show indivisual values instead of statistics (min, max, stdev). |
| |
| * resources/results-template.html: |
| |
| 2012-09-20 Ryosuke Niwa <rniwa@webkit.org> |
| |
| run-perf-tests should record individual value instead of statistics |
| https://bugs.webkit.org/show_bug.cgi?id=97155 |
| |
| Reviewed by Hajime Morita. |
| |
| Report the list of values as "values" so that run-perf-tests can parse them. |
| |
| * resources/runner.js: |
| (PerfTestRunner.computeStatistics): |
| (PerfTestRunner.printStatistics): |
| |
| 2012-09-20 Sheriff Bot <webkit.review.bot@gmail.com> |
| |
| Unreviewed, rolling out r129091. |
| http://trac.webkit.org/changeset/129091 |
| https://bugs.webkit.org/show_bug.cgi?id=97205 |
| |
| It broke perf tests everywhere (Requested by Ossy on #webkit). |
| |
| * resources/runner.js: |
| (PerfTestRunner.computeStatistics): |
| (PerfTestRunner.printStatistics): |
| |
| 2012-09-19 Ryosuke Niwa <rniwa@webkit.org> |
| |
| run-perf-tests should record indivisual value instead of statistics |
| https://bugs.webkit.org/show_bug.cgi?id=97155 |
| |
| Reviewed by Hajime Morita. |
| |
| Report the list of values as "values" so that run-perf-tests can parse them. |
| |
| * resources/runner.js: |
| (PerfTestRunner.computeStatistics): |
| (PerfTestRunner.printStatistics): |
| |
| 2012-09-17 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Perf test results is incomprehensive |
| https://bugs.webkit.org/show_bug.cgi?id=94668 |
| |
| Reviewed by Eric Seidel. |
| |
| Overhauled the results page to have a tabular view. Clicking on each row shows a flot graph we used to have. |
| For each run and test, we show the mean value with the standard deviation along with the percent difference |
| against the reference run chosen by the user if the difference is statistically significant; it also indicates |
| whether the new value is progression or not. |
| |
| The unit of each test is adjusted automatically using SI prefixes (Kilo, Mega, Milli), and rows can be sorted |
| by each column. Time and memory results are separated into two tabs. |
| |
| * resources/jquery.tablesorter.min.js: Added. |
| * resources/results-template.html: |
| |
| 2012-09-14 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Use performance.webkitNow in PerfTestRunner |
| https://bugs.webkit.org/show_bug.cgi?id=92826 |
| |
| Reviewed by Eric Seidel. |
| |
| Use performance.webkitNow with Date.now as a fallback for more accurate time measurements. |
| |
| * resources/runner.js: |
| (PerfTestRunner._runner): |
| (PerfTestRunner._perSecondRunnerIterator): |
| |
| 2012-09-14 Sheriff Bot <webkit.review.bot@gmail.com> |
| |
| Unreviewed, rolling out r128562. |
| http://trac.webkit.org/changeset/128562 |
| https://bugs.webkit.org/show_bug.cgi?id=96747 |
| |
| It broke perf tests on Qt and Chromium (Requested by Ossy on |
| #webkit). |
| |
| * resources/runner.js: |
| (PerfTestRunner._runner): |
| (PerfTestRunner._perSecondRunnerIterator): |
| |
| 2012-09-14 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Use performance.webkitNow in PerfTestRunner |
| https://bugs.webkit.org/show_bug.cgi?id=92826 |
| |
| Reviewed by Eric Seidel. |
| |
| Use performance.webkitNow with Date.now as a fallback for more acurate time measurements. |
| |
| * resources/runner.js: |
| (PerfTestRunner._runner): |
| (PerfTestRunner._perSecondRunnerIterator): |
| |
| 2012-08-23 Ilya Tikhonovsky <loislo@chromium.org> |
| |
| WebInspector: unreviewed single line test fix. |
| |
| The test has to open profiles panel explicitly because it is creating lazily. |
| |
| * inspector/heap-snapshot-performance-test.js: |
| |
| 2012-08-15 Scott Graham <scottmg@chromium.org> |
| |
| Rename window.internals.fastMallocStatistics to mallocStatistics |
| https://bugs.webkit.org/show_bug.cgi?id=94033 |
| |
| Reviewed by Adam Barth. |
| |
| * resources/runner.js: |
| (PerfTestRunner.storeHeapResults): |
| (PerfTestRunner.getUsedMallocHeap): |
| (PerfTestRunner.getAndPrintMemoryStatistics): |
| (PerfTestRunner.initAndStartLoop): |
| |
| 2012-08-10 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Unreviewed; fix an insanely silly typo. |
| |
| * resources/results-template.html: |
| |
| 2012-08-09 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Another build fix after r125178. |
| |
| * resources/runner.js: |
| |
| 2012-08-09 Zoltan Horvath <zoltan@webkit.org> |
| |
| Add memory measurement to balls.html and dromaeorunner.js |
| https://bugs.webkit.org/show_bug.cgi?id=93617 |
| |
| Reviewed by Adam Barth. |
| |
| Since we added memory measurement support to performance tests we need to modify these tests. |
| |
| * Animation/balls.html: |
| * Dromaeo/resources/dromaeorunner.js: |
| |
| 2012-08-09 Zoltan Horvath <zoltan@webkit.org> |
| |
| JSHeap and FastMallocStatistics based memory measurement for performance-tests |
| https://bugs.webkit.org/show_bug.cgi?id=90858 |
| |
| Reviewed Ryosuke Niwa. |
| |
| Measure the memory usage of the performancetests with the help of the windows.memory.usedJSHeapSize |
| object and the window.internals.fastMallocStatistics() function call. |
| |
| * resources/runner.js: |
| (PerfTestRunner.logStatistics): |
| (PerfTestRunner.printStatistics): |
| (PerfTestRunner.storeHeapResults): |
| (PerfTestRunner.getUsedFastMallocHeap): |
| (PerfTestRunner.getUsedJSHeap): |
| (PerfTestRunner.getAndPrintMemoryStatistics): |
| (PerfTestRunner.ignoreWarmUpAndLog): |
| (PerfTestRunner.initAndStartLoop): |
| |
| 2012-08-08 Benjamin Poulain <benjamin@webkit.org> |
| |
| Calling internals from the performance test runner prevents manual running |
| https://bugs.webkit.org/show_bug.cgi?id=93527 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| Since r125065, it is impossible to run the Performance tests manually. The problem is |
| "internals" is not defined when running outside the test runner, so the whole script |
| evaluation fails. |
| |
| * resources/runner.js: Verify is window.internals is available before invoking something on it. |
| |
| 2012-08-08 Zoltan Horvath <zoltan@webkit.org> |
| |
| Set access to MemoryInfo enabled for the performance tests |
| https://bugs.webkit.org/show_bug.cgi?id=92498 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| We need access to console.memory for the memory measurements. |
| |
| * resources/runner.js: |
| |
| 2012-08-07 Ryosuke Niwa <rniwa@webkit.org> |
| |
| run-perf-tests should support --no-show-results |
| https://bugs.webkit.org/show_bug.cgi?id=93409 |
| |
| Reviewed by Dirk Pranke. |
| |
| Add a flot as a separate file and load it as an external resource. |
| |
| Also include scripts as external resources from both local filesystem and webkit.org |
| so that it continues to work regardless of where you put it. |
| |
| It breaks when someone else receives the file and save it somewhere and doesn't have |
| a network connection but that seems like a scenario we don't care that much. |
| |
| * resources/jquery.flot.min.js: Added. |
| * resources/results-template.html: |
| |
| 2012-08-06 Ryosuke Niwa <rniwa@webkit.org> |
| |
| run-webkit-tests should have ability to add description to its JSON output |
| https://bugs.webkit.org/show_bug.cgi?id=93296 |
| |
| Reviewed by Dirk Pranke. |
| |
| Parse description and show it with the WebKit revision on the results page. Also use bar graphs |
| instead of line graphs since we're not depicting the time series here per arv's suggestion. |
| Finally, add the ability to adjust y-axis between the adjusted value and 0 (plot even doesn't adjust |
| y-axis automatically now) by a mouse click. |
| |
| * resources/results-template.html: |
| |
| 2012-08-04 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Use testRunner instead of layoutTestController in performance tests |
| https://bugs.webkit.org/show_bug.cgi?id=93184 |
| |
| Reviewed by Adam Barth. |
| |
| * Animation/balls.html: |
| * Dromaeo/resources/dromaeorunner.js: |
| * inspector/console-300-lines.html: |
| * inspector/inspector-startup-time.html: |
| * inspector/network-append-30-requests.html.broken: |
| * inspector/show-panel.html.broken: |
| * resources/runner.js: |
| (PerfTestRunner.logInfo): |
| (PerfTestRunner.initAndStartLoop): |
| |
| 2012-08-02 Arnaud Renevier <a.renevier@sisa.samsung.com> |
| |
| TypedArray set method is slow when called with another typed array |
| https://bugs.webkit.org/show_bug.cgi?id=92556 |
| |
| Reviewed by Kenneth Russell. |
| |
| * Bindings/typed-array-set-from-typed.html: Added. |
| |
| 2012-07-28 Ryosuke Niwa <rniwa@webkit.org> |
| |
| run-perf-tests should generate a results page |
| https://bugs.webkit.org/show_bug.cgi?id=92575 |
| |
| Reviewed by Eric Seidel. |
| |
| Add a results page template. This page includes flot and flot.fillbetween. |
| jQuery and the json that contains test results are injected by run-perf-tests. |
| |
| * resources/results-template.html: Added. |
| |
| 2012-07-27 Arnaud Renevier <a.renevier@sisa.samsung.com> |
| |
| use createUninitialized when creating TypedArray from another array |
| https://bugs.webkit.org/show_bug.cgi?id=92518 |
| |
| Reviewed by Kenneth Russell. |
| |
| * Bindings/typed-array-construct-from-array.html: Added. |
| |
| 2012-07-27 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Add more Russian replay performance tests |
| https://bugs.webkit.org/show_bug.cgi?id=92462 |
| |
| Reviewed by Tony Chang. |
| |
| Add more Russian sites as suggested by loislo. |
| |
| * Replay/Russian/lenta.ru.replay: Added. |
| * Replay/Russian/www.ixbt.com.replay: Added. |
| * Replay/Russian/www.kp.ru.replay: Added. |
| * Replay/Russian/www.liveinternet.ru.replay: Added. |
| * Replay/Russian/www.pravda.ru.replay: Added. |
| |
| 2012-07-26 Arnaud Renevier <a.renevier@sisa.samsung.com> |
| |
| constructing TypedArray from another TypedArray is slow |
| https://bugs.webkit.org/show_bug.cgi?id=90838 |
| |
| Reviewed by Kenneth Russell. |
| |
| * Bindings/typed-array-construct-from-same-type.html: Added. |
| * Bindings/typed-array-construct-from-typed.html: Added. |
| |
| 2012-07-25 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Import more replay performance tests from Mozilla's Tp5 test suite |
| https://bugs.webkit.org/show_bug.cgi?id=92229 |
| |
| Reviewed by Andreas Kling. |
| |
| Add more replay tests based on Mozilla's Tp5 test suite [1]. Unfortunately, |
| we cannot import all URLs because some of them are not archived on archive.org |
| and others do not replay well on web-page-replay. Nonethless, we're still adding |
| 60+ URLs in this patch. |
| |
| [1] http://people.mozilla.org/~jmaher/tp5.manifest |
| |
| * Replay/Chinese: Added. |
| * Replay/Chinese/chinaz.com.replay: Added. |
| * Replay/Chinese/www.163.com.replay: Added. |
| * Replay/Chinese/www.alipay.com.replay: Added. |
| * Replay/Chinese/www.baidu.com.replay: Added. |
| * Replay/Chinese/www.csdn.net.replay: Added. |
| * Replay/Chinese/www.douban.com.replay: Added. |
| * Replay/Chinese/www.hao123.com.replay: Added. |
| * Replay/Chinese/www.xinhuanet.com.replay: Added. |
| * Replay/Chinese/www.xunlei.com.replay: Added. |
| * Replay/Chinese/www.youku.com.replay: Added. |
| * Replay/English: Added. |
| * Replay/English/beatonna.livejournal.com.replay: Added. |
| * Replay/English/cakewrecks.blogspot.com.replay: Added. |
| * Replay/English/chemistry.about.com.replay: Added. |
| * Replay/English/digg.com.replay: Added. |
| * Replay/English/en.wikipedia.org-rorschach_test.replay: Added. |
| * Replay/English/icanhascheezburger.com.replay: Added. |
| * Replay/English/imgur.com-gallery.replay: Added. |
| * Replay/English/online.wsj.com.replay: Added. |
| * Replay/English/stockoverflow.com-best-comment.replay: Added. |
| * Replay/English/www.alibaba.com.replay: Added. |
| * Replay/English/www.amazon.com-kindle.replay: Added. |
| * Replay/English/www.apple.com.replay: Added. |
| * Replay/English/www.cnet.com.replay: Added. |
| * Replay/English/www.dailymotion.com.replay: Added. |
| * Replay/English/www.ehow.com-prevent-fire.replay: Added. |
| * Replay/English/www.filestube.com-amy-adams.replay: Added. |
| * Replay/English/www.foxnews.replay: Added. |
| * Replay/English/www.huffingtonpost.com.replay: Added. |
| * Replay/English/www.imdb.com-twilight.replay: Added. |
| * Replay/English/www.mozilla.com-all-order.replay: Added. |
| * Replay/English/www.php.net.replay: Added. |
| * Replay/English/www.reddit.com.replay: Added. |
| * Replay/English/www.telegraph.co.uk.replay: Added. |
| * Replay/English/www.w3.org-htmlcss.replay: Added. |
| * Replay/English/www.w3schools.com-html.replay: Added. |
| * Replay/English/www.youtube.com-music.replay: Added. |
| * Replay/French: Added. |
| * Replay/French/www.orange.fr.replay: Added. |
| * Replay/German: Added. |
| * Replay/Italian: Added. |
| * Replay/Italian/www.repubblica.it.replay: Added. |
| * Replay/Japanese/entameblog.seesaa.net.replay: Added. |
| * Replay/Japanese/www.hatena.ne.jp.replay: Added. |
| * Replay/Japanese/www.nicovideo.jp.replay: Added. |
| * Replay/Korean: Added. |
| * Replay/Korean/www.naver.com.replay: Added. |
| * Replay/Persian: Added. |
| * Replay/Persian/blogfa.com.replay: Added. |
| * Replay/Polish: Added. |
| * Replay/Polish/www.wp.pl.replay: Added. |
| * Replay/Portuguese: Added. |
| * Replay/Portuguese/www.uol.com.br.replay: Added. |
| * Replay/Russian: Added. |
| * Replay/Russian/vkontakte.ru-help.replay: Added. |
| * Replay/Russian/www.rambler.ru.replay: Added. |
| * Replay/Russian/www.ucoz.ru.replay: Added. |
| * Replay/Russian/www.yandex.ru.replay: Added. |
| * Replay/Spanish: Added. |
| * Replay/Spanish/www.taringa.net.replay: Added. |
| |
| 2012-07-24 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Add some Japanese and Swedish websites to replay tests |
| https://bugs.webkit.org/show_bug.cgi?id=92076 |
| |
| Reviewed by Andreas Kling. |
| |
| Added new replay tests as follows. |
| |
| * Replay/Japanese: Added. |
| * Replay/Japanese/2ch.net-newsplus.replay: Added. |
| * Replay/Japanese/ja.wikipedia.org.replay: Added. |
| * Replay/Japanese/www.livedoor.com.replay: Added. |
| * Replay/Japanese/www.rakuten.co.jp.replay: Added. |
| * Replay/Japanese/www.yahoo.co.jp.replay: Added. |
| * Replay/Swedish: Added. |
| * Replay/Swedish/www.flashback.se.replay: Added. |
| * Replay/Swedish/www.tradera.com.replay: Added. |
| * Replay/www.techcrunch.com.replay: Added. |
| |
| 2012-07-18 MORITA Hajime <morrita@google.com> |
| |
| Add window resize benchmark |
| https://bugs.webkit.org/show_bug.cgi?id=91070 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| Added window-resize.html which exercise html5.html. This test |
| resizes the window and forces re-layout repeatedly. |
| |
| * Interactive/resources/window-resize.js: Added. |
| * Interactive/window-resize.html: Added. |
| * Parser/resources/html5.html: Modified to inject driver scripts. |
| |
| 2012-07-11 Philip Rogers <pdr@google.com> |
| |
| Add a performance test for hit testing in SVG |
| https://bugs.webkit.org/show_bug.cgi?id=90811 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| The shape rendering code is changing a lot and I'd like a performance test to |
| make sure we don't regress, and to track our improvements. |
| |
| Performance results in my Linux desktop: |
| RESULT SVG: SvgHitTesting= 105.0 ms |
| median= 103.5 ms, stdev= 4.60434577329 ms, min= 101.0 ms, max= 116.0 ms |
| |
| RESULT SVG: SvgHitTesting= 97.8 ms |
| median= 96.5 ms, stdev= 2.67581763205 ms, min= 95.0 ms, max= 102.0 ms |
| |
| RESULT SVG: SvgHitTesting= 104.3 ms |
| median= 104.0 ms, stdev= 1.41774468788 ms, min= 102.0 ms, max= 107.0 ms |
| |
| RESULT SVG: SvgHitTesting= 103.6 ms |
| median= 103.5 ms, stdev= 1.2 ms, min= 102.0 ms, max= 106.0 ms |
| |
| * SVG/SvgHitTesting.html: Added. |
| |
| 2012-07-03 Jan Keromnes <janx@linux.com> |
| |
| Web Inspector: WebInspector.TextViewer should be renamed WebInspector.TextEditor |
| https://bugs.webkit.org/show_bug.cgi?id=89939 |
| |
| Reviewed by Vsevolod Vlasov. |
| |
| * inspector/first-open-scripts.html.broken: |
| |
| 2012-06-22 Philip Rogers <pdr@google.com> |
| |
| Make SvgCubics performance test more consistent |
| https://bugs.webkit.org/show_bug.cgi?id=89778 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| Previously this test ran twice for each iteration, but this led to inconsistent repaints. |
| This change updates the test to only run once per iteration, and adds even more cubics |
| so that the test runs consistently in the 80ms range on my Linux desktop. |
| |
| Performance results on my desktop: |
| RESULT SVG: SvgCubics= 80.5 ms |
| median= 82.0 ms, stdev= 3.04138126515 ms, min= 75.0 ms, max= 85.0 ms |
| |
| RESULT SVG: SvgCubics= 80.1 ms |
| median= 81.0 ms, stdev= 4.27668095607 ms, min= 74.0 ms, max= 88.0 ms |
| |
| RESULT SVG: SvgCubics= 81.45 ms |
| median= 83.0 ms, stdev= 4.01839520207 ms, min= 75.0 ms, max= 89.0 ms |
| |
| RESULT SVG: SvgCubics= 78.9 ms |
| median= 80.0 ms, stdev= 4.75289385533 ms, min= 72.0 ms, max= 87.0 ms |
| |
| * SVG/SvgCubics.html: |
| |
| 2012-06-22 Ilya Tikhonovsky <loislo@chromium.org> |
| |
| Web Inspector: partially instrument DOM Tree native memory. |
| https://bugs.webkit.org/show_bug.cgi?id=89568 |
| |
| This patch adds MemoryInstrumentation class that counts all visited |
| objects and calls reportMemoryUsage. |
| |
| Reviewed by Yury Semikhatsky. |
| |
| * inspector/native-memory-snapshot.html: |
| |
| 2012-06-21 Kentaro Hara <haraken@chromium.org> |
| |
| Add a perf-test for innerHTML setter for a large DOM tree |
| https://bugs.webkit.org/show_bug.cgi?id=89723 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| We want a benchmark for innerHTML setter for the following reason: |
| |
| - innerHTML setter is widely used in the real world. |
| - I am planning to optimize innerHTML setter in the near future. |
| - I want to use the innerHTML setter benchmark for the patch of bug 88834. |
| |
| Performance results in my Linux desktop: |
| |
| RESULT Parser: innerHTML-setter= 289.782649995 runs/s |
| median= 290.046269741 runs/s, stdev= 1.06575112224 runs/s, min= 286.831812256 runs/s, max= 291.005291005 runs/s |
| |
| RESULT Parser: innerHTML-setter= 289.020706132 runs/s |
| median= 289.093298292 runs/s, stdev= 0.985203313093 runs/s, min= 286.831812256 runs/s, max= 290.620871863 runs/s |
| |
| RESULT Parser: innerHTML-setter= 288.912051701 runs/s |
| median= 291.005291005 runs/s, stdev= 3.65241325588 runs/s, min= 283.505154639 runs/s, max= 292.553191489 runs/s |
| |
| RESULT Parser: innerHTML-setter= 288.644186666 runs/s |
| median= 288.713910761 runs/s, stdev= 1.31889053717 runs/s, min= 286.085825748 runs/s, max= 290.620871863 runs/s |
| |
| RESULT Parser: innerHTML-setter= 288.698714577 runs/s |
| median= 288.713910761 runs/s, stdev= 1.03938198202 runs/s, min= 286.458333333 runs/s, max= 290.237467018 runs/s |
| |
| * Parser/innerHTML-setter.html: Added. |
| |
| 2012-06-20 Philip Rogers <pdr@google.com> |
| |
| Add a performance test for paths in SVG |
| https://bugs.webkit.org/show_bug.cgi?id=89547 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| This change adds the first performance test for SVG paths. |
| In the test we modify complex cubic paths in several ways, testing: |
| transformations, clipping, d attribute changes, stroke properties, |
| text on a path, and opacity. |
| |
| Sample test results on my Linux desktop: |
| RESULT SVG: SvgCubics= 68.85 ms |
| median= 69.5 ms, stdev= 4.70398767005 ms, min= 56.0 ms, max= 75.0 ms |
| |
| RESULT SVG: SvgCubics= 68.4 ms |
| median= 69.0 ms, stdev= 3.51283361405 ms, min= 59.0 ms, max= 74.0 ms |
| |
| RESULT SVG: SvgCubics= 66.95 ms |
| median= 67.0 ms, stdev= 3.4420197559 ms, min= 59.0 ms, max= 74.0 ms |
| |
| RESULT SVG: SvgCubics= 70.2 ms |
| median= 71.5 ms, stdev= 3.23419232576 ms, min= 63.0 ms, max= 74.0 ms |
| |
| * SVG: Added. |
| * SVG/SvgCubics.html: Added. |
| |
| 2012-06-20 Tom Zakrajsek <tomz@codeaurora.org> |
| |
| Import themaninblue.com/experiment/AnimationBenchmark/ as performance tests |
| https://bugs.webkit.org/show_bug.cgi?id=78789 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| Added PerfTestRunner fixture around it. |
| |
| * Animation/balls.html: Added. |
| |
| 2012-06-18 Ilya Tikhonovsky <loislo@chromium.org> |
| |
| Web Inspector: native memory snapshot performance and coverage test implementation. |
| https://bugs.webkit.org/show_bug.cgi?id=89363 |
| |
| We have to track the performance of MemoryAgent.getProcessMemoryDistribution. |
| Also this test will work as a burn down chart for Unknown memory metric. |
| |
| Reviewed by Pavel Feldman. |
| |
| * inspector/native-memory-snapshot.html: Added. |
| * inspector/performance-test.js: |
| (initialize_TimeTracker.InspectorTest.runPerformanceTest.Timer): |
| (initialize_TimeTracker.InspectorTest.runPerformanceTest.Timer.prototype.reportSize): |
| (initialize_TimeTracker.InspectorTest.runPerformanceTest.Timer.prototype._dump): |
| (initialize_TimeTracker.InspectorTest.runPerformanceTest): |
| |
| 2012-06-05 Alexei Filippov <alexeif@chromium.org> |
| |
| Web Inspector: serialize edge counts instead of indexes in heap snapshot |
| https://bugs.webkit.org/show_bug.cgi?id=88324 |
| |
| The serialized node structure currently holds an index |
| of its first containment edge in the edges array. |
| The index can be quite big (up to 7 digits for large snapshots). |
| The patch changes the serialization format to pass |
| node containment edge count instead. For most nodes the count |
| is just a single digit number. |
| This reduces serialized snapshot size and therefore its transfer time. |
| |
| Reviewed by Yury Semikhatsky. |
| |
| * inspector/heap-snapshot-performance-test.js: |
| |
| 2012-06-04 Alexei Filippov <alexeif@chromium.org> |
| |
| Web Inspector: speed up _calculateRetainedSizes function |
| https://bugs.webkit.org/show_bug.cgi?id=87863 |
| |
| Reviewed by Yury Semikhatsky. |
| |
| * inspector/heap-snapshot-advanced.html: Added. |
| * inspector/heap-snapshot-performance-test.js: Copied from PerformanceTests/inspector/heap-snapshot.html. |
| (test.performanceTest.step0): |
| (test.performanceTest.step1): |
| (test.performanceTest.step2): |
| (test.performanceTest.cleanup): |
| (test.performanceTest.done): |
| (test.performanceTest): |
| (test): |
| * inspector/heap-snapshot.html: |
| |
| 2012-06-03 Kentaro Hara <haraken@chromium.org> |
| |
| [perf-test] Add a benchmark of querySelector() for an element that appears in the depths in the document |
| https://bugs.webkit.org/show_bug.cgi?id=88202 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| query-selector-first.html tests querySelector() for an element |
| that appears at the head of the document. query-selector-last.html |
| tests querySelector() for an element that appears at the tail of |
| the document. In addition, we want a benchmark of querySelector() |
| for an element that appears in the depths in the document. |
| |
| Test results in my Linux desktop: |
| |
| RESULT Parser: query-selector-deep= 460.776980611 runs/s |
| median= 460.947503201 runs/s, stdev= 1.72274941942 runs/s, min= 455.696202532 runs/s, max= 463.32046332 runs/s |
| |
| RESULT Parser: query-selector-deep= 458.925050915 runs/s |
| median= 459.183673469 runs/s, stdev= 1.47930124139 runs/s, min= 454.545454545 runs/s, max= 460.947503201 runs/s |
| |
| RESULT Parser: query-selector-deep= 461.866981491 runs/s |
| median= 461.538461538 runs/s, stdev= 1.14613123359 runs/s, min= 459.183673469 runs/s, max= 463.917525773 runs/s |
| |
| RESULT Parser: query-selector-deep= 453.922010788 runs/s |
| median= 454.258855898 runs/s, stdev= 1.77279123317 runs/s, min= 447.204968944 runs/s, max= 455.696202532 runs/s |
| |
| RESULT Parser: query-selector-deep= 454.666321221 runs/s |
| median= 454.545454545 runs/s, stdev= 1.65775667417 runs/s, min= 451.127819549 runs/s, max= 456.852791878 runs/s |
| |
| * Parser/query-selector-deep.html: Added. |
| |
| 2012-06-03 Kentaro Hara <haraken@chromium.org> |
| |
| [perf-test] Make query-selector-last.html more realistic |
| https://bugs.webkit.org/show_bug.cgi?id=88203 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| query-selector-last.html tests querySelector() for an element |
| that appears after 1000 div elements, all of which have the same |
| id and class. To test the performance of querySelector() under |
| a lot of ids and classes, we should make the ids and classes of |
| the 1000 elements different. |
| |
| This patch degrades the performance of query-selector-last.html |
| by 3.6%. |
| |
| [Before] |
| RESULT Parser: query-selector-last= 476.382274152 runs/s |
| median= 476.821192053 runs/s, stdev= 1.14578875814 runs/s, min= 474.308300395 runs/s, max= 478.087649402 runs/s |
| |
| RESULT Parser: query-selector-last= 478.423061861 runs/s |
| median= 478.723404255 runs/s, stdev= 1.54876867255 runs/s, min= 473.684210526 runs/s, max= 481.347773767 runs/s |
| |
| RESULT Parser: query-selector-last= 479.849287174 runs/s |
| median= 480.0 runs/s, stdev= 1.69849752498 runs/s, min= 475.561426684 runs/s, max= 481.927710843 runs/s |
| |
| RESULT Parser: query-selector-last= 476.765438846 runs/s |
| median= 477.453580902 runs/s, stdev= 1.8724488664 runs/s, min= 471.821756225 runs/s, max= 478.723404255 runs/s |
| |
| RESULT Parser: query-selector-last= 481.715340644 runs/s |
| median= 481.637742305 runs/s, stdev= 1.81446361145 runs/s, min= 475.561426684 runs/s, max= 483.675937122 runs/s |
| |
| [After] |
| RESULT Parser: query-selector-last= 458.866623582 runs/s |
| median= 459.183673469 runs/s, stdev= 1.48881464737 runs/s, min= 453.972257251 runs/s, max= 460.947503201 runs/s |
| |
| RESULT Parser: query-selector-last= 460.363532897 runs/s |
| median= 460.358056266 runs/s, stdev= 1.58512056995 runs/s, min= 456.273764259 runs/s, max= 462.130937099 runs/s |
| |
| RESULT Parser: query-selector-last= 457.727448451 runs/s |
| median= 458.015267176 runs/s, stdev= 1.23681915516 runs/s, min= 453.972257251 runs/s, max= 459.183673469 runs/s |
| |
| RESULT Parser: query-selector-last= 465.57336853 runs/s |
| median= 465.717981889 runs/s, stdev= 1.6616925374 runs/s, min= 460.947503201 runs/s, max= 467.532467532 runs/s |
| |
| RESULT Parser: query-selector-last= 459.836252019 runs/s |
| median= 459.770114943 runs/s, stdev= 1.84485630505 runs/s, min= 455.696202532 runs/s, max= 462.724935733 runs/s |
| |
| * Parser/query-selector-last.html: |
| |
| 2012-06-01 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Add public page loading performance tests using web-page-replay |
| https://bugs.webkit.org/show_bug.cgi?id=84008 |
| |
| Reviewed by Dirk Pranke. |
| |
| Add replay tests for google.com and youtube.com as examples. |
| |
| * Replay: Added. |
| * Replay/www.google.com.replay: Added. |
| * Replay/www.youtube.com.replay: Added. |
| |
| 2012-05-30 Kentaro Hara <haraken@chromium.org> |
| |
| [perf-test] Add a benchmark for querySelector() |
| https://bugs.webkit.org/show_bug.cgi?id=87742 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| Now I am optimizing querySelector() (bug 87625). |
| This patch adds a performance test for querySelector(). |
| query-selector-first.html queries an element that appears |
| at the head of the document. On the other hand, |
| query-selector-last.html queries an element that appears |
| at the tail of the document. |
| |
| Test results in my desktop: |
| |
| [query-selector-first.html] |
| RESULT Parser: query-selector-first= 252.339803014 runs/s |
| median= 253.646265594 runs/s, stdev= 2.32610873209 runs/s, min= 248.138957816 runs/s, max= 254.777070064 runs/s |
| |
| RESULT Parser: query-selector-first= 252.688468897 runs/s |
| median= 252.684876579 runs/s, stdev= 3.60008778708 runs/s, min= 246.002460025 runs/s, max= 258.397932817 runs/s |
| |
| RESULT Parser: query-selector-first= 253.466019656 runs/s |
| median= 254.129606099 runs/s, stdev= 1.78002675664 runs/s, min= 247.831474597 runs/s, max= 254.777070064 runs/s |
| |
| RESULT Parser: query-selector-first= 256.245078189 runs/s |
| median= 257.06940874 runs/s, stdev= 2.84722072201 runs/s, min= 249.687890137 runs/s, max= 259.74025974 runs/s |
| |
| RESULT Parser: query-selector-first= 252.203100497 runs/s |
| median= 252.047989175 runs/s, stdev= 1.75233446036 runs/s, min= 248.138957816 runs/s, max= 255.427841635 runs/s |
| |
| [query-selector-last.html] |
| RESULT Parser: query-selector-last= 356.009616076 runs/s |
| median= 355.781448539 runs/s, stdev= 0.841519086864 runs/s, min= 354.430379747 runs/s, max= 358.056265985 runs/s |
| |
| RESULT Parser: query-selector-last= 360.735271001 runs/s |
| median= 361.057532424 runs/s, stdev= 1.12253219867 runs/s, min= 358.514724712 runs/s, max= 362.225097025 runs/s |
| |
| RESULT Parser: query-selector-last= 359.598592463 runs/s |
| median= 359.435173299 runs/s, stdev= 0.816538258728 runs/s, min= 358.056265985 runs/s, max= 360.824742268 runs/s |
| |
| RESULT Parser: query-selector-last= 357.260651715 runs/s |
| median= 357.598978289 runs/s, stdev= 1.17393159885 runs/s, min= 353.982300885 runs/s, max= 358.974358974 runs/s |
| |
| RESULT Parser: query-selector-last= 351.696240713 runs/s |
| median= 351.980025916 runs/s, stdev= 1.14200564038 runs/s, min= 348.692403487 runs/s, max= 353.535353535 runs/s |
| |
| * Parser/query-selector-first.html: Added. |
| * Parser/query-selector-last.html: Added. |
| |
| 2012-05-25 Ilya Tikhonovsky <loislo@chromium.org> |
| |
| Web Inspector: HeapSnapshot: introduce performance counter for HeapSnapshotConstructorsDataGrid._aggregatesReceived method. |
| https://bugs.webkit.org/show_bug.cgi?id=87393 |
| |
| Reviewed by Yury Semikhatsky. |
| |
| * inspector/heap-snapshot.html: |
| |
| 2012-05-25 Ilya Tikhonovsky <loislo@chromium.org> |
| |
| Web Inspector: HeapProfiler's perf test: each N-th run pushes the run results N-th times. |
| https://bugs.webkit.org/show_bug.cgi?id=87476 |
| |
| The time tracking wrappers were attaching on each run. |
| |
| Reviewed by Yury Semikhatsky. |
| |
| * inspector/heap-snapshot.html: |
| |
| 2012-05-22 Ilya Tikhonovsky <loislo@chromium.org> |
| |
| Web Inspector: HeapProfiler: upstream retainedSize calculation. |
| https://bugs.webkit.org/show_bug.cgi?id=87107 |
| |
| This patch upstreams V8::HeapSnapshotGenerator::CalculateRetainedSizes function to front-end. |
| After that we will be able to drop retainedSize field from the snapshot serialized data. |
| See meta-bug https://bugs.webkit.org/show_bug.cgi?id=87089 |
| |
| Reviewed by Yury Semikhatsky. |
| |
| * inspector/heap-snapshot.html: add counter for the _calculateRetainedSize method. |
| |
| 2012-05-21 Kent Tamura <tkent@chromium.org> |
| |
| Add performance tests for <textarea> |
| https://bugs.webkit.org/show_bug.cgi?id=86994 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| * DOM/textarea-dom.html: Added. |
| * DOM/textarea-edit.html: Added. |
| * Parser/textarea-parsing.html: Added. |
| |
| 2012-05-18 Ilya Tikhonovsky <loislo@chromium.org> |
| |
| Web Inspector: upstream build dominators tree procedure from v8. |
| https://bugs.webkit.org/show_bug.cgi?id=86640 |
| |
| The idea is to reduce transfer size and move all the post-processing steps to the front-end. |
| The JS implementation is ~1.5 times slower. |
| |
| Reviewed by Yury Semikhatsky. |
| |
| Covered by existing tests and performance tests. |
| |
| * inspector/heap-snapshot.html: |
| |
| 2012-05-18 Kentaro Hara <haraken@chromium.org> |
| |
| [perf-test] Remove Bindings/dom-attributes.html |
| https://bugs.webkit.org/show_bug.cgi?id=86820 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| Bindings/dom-attributes.html is just a collection of random |
| DOM attributes and methods. Now we've added more reasonable |
| micro benchmarks by classifying DOM binding call paths, we |
| can remove Bindings/dom-attributes.html. |
| |
| * Bindings/dom-attributes.html: Removed. |
| |
| 2012-05-18 Kentaro Hara <haraken@chromium.org> |
| |
| [perf-test] Add a binding benchmark for getElementById() for an undefined id |
| https://bugs.webkit.org/show_bug.cgi?id=86812 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| We should remove Bindings/dom-attributes.html and instead add more |
| reasonable micro benchmarks by classifying DOM binding call paths. |
| |
| This patch adds a benchmark for document.getElementById() for an undefined id. |
| This benchmark covers 'getElementById (not in document)' in Dromaeo/dom-query.html, |
| and other Node-query methods that return a null.' |
| |
| (Note: This benchmark is slower than document.getElementById() for a defined id. |
| We will fix the performance issue soon.) |
| |
| Test results in my Linux desktop: |
| |
| RESULT Bindings: undefined-get-element-by-id= 271.945751345 runs/s |
| median= 273.122389532 runs/s, stdev= 6.78219237299 runs/s, min= 257.4002574 runs/s, max= 281.690140845 runs/s |
| |
| RESULT Bindings: undefined-get-element-by-id= 269.105872408 runs/s |
| median= 268.948655257 runs/s, stdev= 5.73707323755 runs/s, min= 257.4002574 runs/s, max= 278.128950695 runs/s |
| |
| RESULT Bindings: undefined-get-element-by-id= 269.987513372 runs/s |
| median= 272.952853598 runs/s, stdev= 5.30252336078 runs/s, min= 255.754475703 runs/s, max= 273.97260274 runs/s |
| |
| RESULT Bindings: undefined-get-element-by-id= 270.169625901 runs/s |
| median= 271.604938272 runs/s, stdev= 5.29502391906 runs/s, min= 258.064516129 runs/s, max= 278.481012658 runs/s |
| |
| RESULT Bindings: undefined-get-element-by-id= 269.054631422 runs/s |
| median= 267.966292802 runs/s, stdev= 6.27197240579 runs/s, min= 258.064516129 runs/s, max= 278.481012658 runs/s |
| |
| * Bindings/undefined-get-element-by-id.html: Added. |
| |
| 2012-05-18 Kentaro Hara <haraken@chromium.org> |
| |
| [perf-test] Add a binding benchmark for getElementsByTagName() |
| https://bugs.webkit.org/show_bug.cgi?id=86810 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| We should remove Bindings/dom-attributes.html and instead add more |
| reasonable micro benchmarks by classifying DOM binding call paths. |
| |
| This patch adds a benchmark for document.getElementsByTagName(). |
| This benchmark covers 'getElementsByTagName (not in document)', |
| 'getElementsByTagName', 'getElementsByName (not in document)' |
| and 'getElementsByName' in Dromaeo/dom-query.html, and other DOM |
| methods that return a NodeList. |
| |
| Test results in my Linux desktop: |
| |
| RESULT Bindings: get-elements-by-tag-name= 364.542328875 runs/s |
| median= 366.972477064 runs/s, stdev= 5.25387955333 runs/s, min= 351.317440402 runs/s, max= 368.421052632 runs/s |
| |
| RESULT Bindings: get-elements-by-tag-name= 364.341569369 runs/s |
| median= 366.492146597 runs/s, stdev= 4.867374197 runs/s, min= 352.644836272 runs/s, max= 367.936925099 runs/s |
| |
| RESULT Bindings: get-elements-by-tag-name= 363.924242967 runs/s |
| median= 366.013071895 runs/s, stdev= 5.16768212289 runs/s, min= 351.317440402 runs/s, max= 367.936925099 runs/s |
| |
| RESULT Bindings: get-elements-by-tag-name= 365.332594438 runs/s |
| median= 367.454068241 runs/s, stdev= 6.17046918572 runs/s, min= 350.0 runs/s, max= 370.37037037 runs/s |
| |
| RESULT Bindings: get-elements-by-tag-name= 363.999514324 runs/s |
| median= 366.492146597 runs/s, stdev= 5.31235674905 runs/s, min= 350.877192982 runs/s, max= 368.421052632 runs/s |
| |
| * Bindings/get-elements-by-tag-name.html: Added. |
| |
| 2012-05-18 Kentaro Hara <haraken@chromium.org> |
| |
| [perf-test] Add 7 micro benchmarks for DOM bindings |
| https://bugs.webkit.org/show_bug.cgi?id=86816 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| We should remove Bindings/dom-attributes.html and instead add more |
| reasonable micro benchmarks by classifying DOM binding call paths. |
| This patch adds seven micro benchmarks for DOM bindings. |
| |
| id-getter.html covers 'element.property' in Dromaeo/dom-attr.html, |
| 'innerHTML' in Dromaeo/dom-modify.html, and other DOM attributes that |
| return a String. |
| |
| id-setter.html covers 'element.property = value' in Dromaeo/dom-attr.html, |
| and other DOM attributes that sets a String. |
| |
| undefined-id-getter.html covers undefined DOM attributes that return an empty String. |
| |
| append-child.html covers 'appendChild' and 'removeChild' in Dromaeo/dom-modify.html. |
| |
| insert-before.html covers 'insertBefore' in Dromaeo/dom-modify.html and replaceChild(). |
| |
| create-element.html covers 'createElement', 'createTextNode' and 'cloneNode' |
| in Dromaeo/dom-modify.html, and other DOM methods that return a new Node object. |
| |
| node-list-access.html covers 'childNodes' in Dromaeo/dom-traverse.html, |
| and other DOM attributes that access NodeList. |
| |
| Test results in my Linux desktop: |
| |
| [id-getter] |
| RESULT Bindings: id-getter= 550.517821097 runs/s |
| median= 550.688360451 runs/s, stdev= 0.970723739106 runs/s, min= 548.628428928 runs/s, max= 552.070263488 runs/s |
| |
| RESULT Bindings: id-getter= 550.655839847 runs/s |
| median= 550.688360451 runs/s, stdev= 1.03312821884 runs/s, min= 549.313358302 runs/s, max= 552.070263488 runs/s |
| |
| RESULT Bindings: id-getter= 550.277753355 runs/s |
| median= 550.344180225 runs/s, stdev= 1.19960683464 runs/s, min= 547.945205479 runs/s, max= 552.070263488 runs/s |
| |
| RESULT Bindings: id-getter= 550.072271009 runs/s |
| median= 550.344180225 runs/s, stdev= 1.38925152131 runs/s, min= 547.263681592 runs/s, max= 552.070263488 runs/s |
| |
| RESULT Bindings: id-getter= 548.802050235 runs/s |
| median= 548.628428928 runs/s, stdev= 1.18244513683 runs/s, min= 545.905707196 runs/s, max= 550.688360451 runs/s |
| |
| [id-setter] |
| RESULT Bindings: id-setter= 211.370591663 runs/s |
| median= 210.803689065 runs/s, stdev= 1.4555795889 runs/s, min= 209.973753281 runs/s, max= 214.285714286 runs/s |
| |
| RESULT Bindings: id-setter= 215.439081352 runs/s |
| median= 214.797136038 runs/s, stdev= 1.50920388121 runs/s, min= 213.049267643 runs/s, max= 218.446601942 runs/s |
| |
| RESULT Bindings: id-setter= 216.721698466 runs/s |
| median= 215.956886352 runs/s, stdev= 1.54090749644 runs/s, min= 214.285714286 runs/s, max= 219.78021978 runs/s |
| |
| RESULT Bindings: id-setter= 216.343019087 runs/s |
| median= 215.827338129 runs/s, stdev= 1.46619894553 runs/s, min= 215.053763441 runs/s, max= 218.97810219 runs/s |
| |
| RESULT Bindings: id-setter= 216.799288017 runs/s |
| median= 215.956886352 runs/s, stdev= 1.49100776978 runs/s, min= 215.311004785 runs/s, max= 219.78021978 runs/s |
| |
| [undefined-id-getter] |
| RESULT Bindings: undefined-id-getter= 494.104255241 runs/s |
| median= 494.132368875 runs/s, stdev= 1.13092821109 runs/s, min= 490.797546012 runs/s, max= 495.662949195 runs/s |
| |
| RESULT Bindings: undefined-id-getter= 493.921802916 runs/s |
| median= 493.827160494 runs/s, stdev= 1.25097443119 runs/s, min= 490.196078431 runs/s, max= 495.662949195 runs/s |
| |
| RESULT Bindings: undefined-id-getter= 491.976485667 runs/s |
| median= 492.004920049 runs/s, stdev= 0.947090576896 runs/s, min= 490.196078431 runs/s, max= 493.827160494 runs/s |
| |
| RESULT Bindings: undefined-id-getter= 491.987710185 runs/s |
| median= 494.132368875 runs/s, stdev= 8.66602543327 runs/s, min= 454.545454545 runs/s, max= 495.662949195 runs/s |
| |
| RESULT Bindings: undefined-id-getter= 494.195515847 runs/s |
| median= 494.437577256 runs/s, stdev= 1.06135681702 runs/s, min= 490.797546012 runs/s, max= 495.662949195 runs/s |
| |
| [append-child] |
| RESULT Bindings: append-child= 260.628237026 runs/s |
| median= 260.926399352 runs/s, stdev= 2.55231060598 runs/s, min= 256.739409499 runs/s, max= 265.604249668 runs/s |
| |
| RESULT Bindings: append-child= 280.796193436 runs/s |
| median= 280.791435348 runs/s, stdev= 2.53961321867 runs/s, min= 277.427490542 runs/s, max= 286.085825748 runs/s |
| |
| RESULT Bindings: append-child= 279.856209714 runs/s |
| median= 280.25477707 runs/s, stdev= 2.85447647301 runs/s, min= 275.344180225 runs/s, max= 284.237726098 runs/s |
| |
| RESULT Bindings: append-child= 280.834502714 runs/s |
| median= 280.25477707 runs/s, stdev= 2.67738046429 runs/s, min= 277.427490542 runs/s, max= 287.206266319 runs/s |
| |
| RESULT Bindings: append-child= 274.723872106 runs/s |
| median= 273.291925466 runs/s, stdev= 3.03671746706 runs/s, min= 272.614622057 runs/s, max= 282.413350449 runs/s |
| |
| [insert-before] |
| RESULT Bindings: insert-before= 180.986913006 runs/s |
| median= 180.878552972 runs/s, stdev= 0.758038687299 runs/s, min= 180.18018018 runs/s, max= 183.968462549 runs/s |
| |
| RESULT Bindings: insert-before= 186.339916144 runs/s |
| median= 186.170212766 runs/s, stdev= 0.869022097127 runs/s, min= 185.676392573 runs/s, max= 189.798339265 runs/s |
| |
| RESULT Bindings: insert-before= 189.45344838 runs/s |
| median= 189.349112426 runs/s, stdev= 0.811854866567 runs/s, min= 187.79342723 runs/s, max= 192.539109507 runs/s |
| |
| RESULT Bindings: insert-before= 189.363295991 runs/s |
| median= 189.349112426 runs/s, stdev= 0.75387713097 runs/s, min= 188.014101058 runs/s, max= 192.076830732 runs/s |
| |
| RESULT Bindings: insert-before= 189.252041642 runs/s |
| median= 189.349112426 runs/s, stdev= 0.840447225363 runs/s, min= 187.573270809 runs/s, max= 192.076830732 runs/s |
| |
| [create-element] |
| RESULT Bindings: create-element= 280.675830077 runs/s |
| median= 280.701824914 runs/s, stdev= 0.788606343054 runs/s, min= 279.441117764 runs/s, max= 282.542885974 runs/s |
| |
| RESULT Bindings: create-element= 276.427631436 runs/s |
| median= 277.227722772 runs/s, stdev= 3.39874667549 runs/s, min= 262.417994377 runs/s, max= 279.162512463 runs/s |
| |
| RESULT Bindings: create-element= 277.156894411 runs/s |
| median= 277.227722772 runs/s, stdev= 1.13255119226 runs/s, min= 274.914089347 runs/s, max= 278.884462151 runs/s |
| |
| RESULT Bindings: create-element= 278.066825356 runs/s |
| median= 278.191822254 runs/s, stdev= 0.686497782792 runs/s, min= 276.953511375 runs/s, max= 279.162512463 runs/s |
| |
| RESULT Bindings: create-element= 276.431538109 runs/s |
| median= 276.406712734 runs/s, stdev= 0.759593662298 runs/s, min= 275.229357798 runs/s, max= 278.053624628 runs/s |
| |
| [node-list-access] |
| RESULT Bindings: node-list-access= 222.747504073 runs/s |
| median= 222.772277228 runs/s, stdev= 0.789027527555 runs/s, min= 221.674876847 runs/s, max= 224.159402242 runs/s |
| |
| RESULT Bindings: node-list-access= 220.722448287 runs/s |
| median= 221.266217576 runs/s, stdev= 1.65463497875 runs/s, min= 217.391304348 runs/s, max= 222.222222222 runs/s |
| |
| RESULT Bindings: node-list-access= 222.195870443 runs/s |
| median= 222.222222222 runs/s, stdev= 0.489709262091 runs/s, min= 221.13022113 runs/s, max= 223.048327138 runs/s |
| |
| RESULT Bindings: node-list-access= 221.431121677 runs/s |
| median= 221.538545435 runs/s, stdev= 0.608292116087 runs/s, min= 220.048899756 runs/s, max= 222.772277228 runs/s |
| |
| RESULT Bindings: node-list-access= 219.001367135 runs/s |
| median= 221.538545435 runs/s, stdev= 4.65773933007 runs/s, min= 209.973753281 runs/s, max= 222.496909765 runs/s |
| |
| * Bindings/append-child.html: Added. |
| * Bindings/create-element.html: Added. |
| * Bindings/id-getter.html: Added. |
| * Bindings/id-setter.html: Added. |
| * Bindings/insert-before.html: Added. |
| * Bindings/node-list-access.html: Added. |
| * Bindings/undefined-id-getter.html: Added. |
| |
| 2012-05-18 Kentaro Hara <haraken@chromium.org> |
| |
| [perf-test] Add a binding benchmark for div.setAttribute() |
| https://bugs.webkit.org/show_bug.cgi?id=86815 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| We should remove Bindings/dom-attributes.html and instead add more |
| reasonable micro benchmarks by classifying DOM binding call paths. |
| |
| This patch adds a benchmark for div.setAttribute(). This benchmark |
| covers 'setAttribute' in Dromaeo/dom-attr.html and other DOM methods |
| that return an undefined. |
| |
| Test results in my Linux desktop: |
| |
| RESULT Bindings: set-attribute= 793.745073252 runs/s |
| median= 791.589665765 runs/s, stdev= 6.00467159709 runs/s, min= 785.27607362 runs/s, max= 808.080808081 runs/s |
| |
| RESULT Bindings: set-attribute= 790.858444164 runs/s |
| median= 787.918921436 runs/s, stdev= 7.86264953655 runs/s, min= 780.234070221 runs/s, max= 806.04534005 runs/s |
| |
| RESULT Bindings: set-attribute= 787.277571417 runs/s |
| median= 784.31372549 runs/s, stdev= 7.45363346657 runs/s, min= 778.588807786 runs/s, max= 804.020100503 runs/s |
| |
| RESULT Bindings: set-attribute= 782.401393791 runs/s |
| median= 779.062978802 runs/s, stdev= 6.48250081621 runs/s, min= 777.642770352 runs/s, max= 796.019900498 runs/s |
| |
| RESULT Bindings: set-attribute= 791.792516608 runs/s |
| median= 791.556728232 runs/s, stdev= 6.49182980397 runs/s, min= 779.220779221 runs/s, max= 808.080808081 runs/s |
| |
| * Bindings/set-attribute.html: Added. |
| |
| 2012-05-17 Kentaro Hara <haraken@chromium.org> |
| |
| [perf-test] Add a binding benchmark for div.getAttribute() |
| https://bugs.webkit.org/show_bug.cgi?id=86814 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| We should remove Bindings/dom-attributes.html and instead add more |
| reasonable micro benchmarks by classifying DOM binding call paths. |
| |
| This patch adds a benchmark for div.getAttribute(). This benchmark |
| covers 'getAttribute' in Dromaeo/dom-attr.html, and other DOM methods |
| that return a String. |
| |
| Test results in my Linux desktop: |
| |
| RESULT Bindings: get-attribute= 250.088158538 runs/s |
| median= 250.469728765 runs/s, stdev= 4.66551901315 runs/s, min= 240.673886883 runs/s, max= 256.739409499 runs/s |
| |
| RESULT Bindings: get-attribute= 250.209764698 runs/s |
| median= 250.626959986 runs/s, stdev= 4.12030002477 runs/s, min= 241.254523522 runs/s, max= 255.102040816 runs/s |
| |
| RESULT Bindings: get-attribute= 248.907532887 runs/s |
| median= 250.312891114 runs/s, stdev= 3.23173125874 runs/s, min= 240.673886883 runs/s, max= 251.572327044 runs/s |
| |
| RESULT Bindings: get-attribute= 250.243680844 runs/s |
| median= 250.783797637 runs/s, stdev= 4.19327170024 runs/s, min= 240.963855422 runs/s, max= 255.102040816 runs/s |
| |
| RESULT Bindings: get-attribute= 245.329046608 runs/s |
| median= 244.948040416 runs/s, stdev= 2.24314248534 runs/s, min= 240.384615385 runs/s, max= 248.756218905 runs/s |
| |
| * Bindings/get-attribute.html: Added. |
| |
| 2012-05-17 Kentaro Hara <haraken@chromium.org> |
| |
| [perf-test] Add a binding benchmark for getElementById() |
| https://bugs.webkit.org/show_bug.cgi?id=86808 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| Currently Bindings/dom-attributes.html is just a collection |
| of random DOM attributes and methods. We should remove it and |
| instead add more reasonable micro benchmarks by classifying |
| DOM binding call paths. |
| |
| This patch adds a benchmark for document.getElementById(), |
| which covers other DOM methods that return a Node Object. |
| |
| The reason why we want to add a benchmark for document.getElementById() |
| in spite of the fact that Dromaeo/dom-query.html is already testing |
| document.getElementById(), is that Dromaeo/dom-query.html outputs one |
| result for several benchmarks (i.e. getElementById().nodeType, |
| getElementsByTagName()[0].nodeType etc), and thus we cannot observe |
| regression of getElementById() itself. (Catching regression of |
| getElementById() would be critical.) |
| |
| Test results in my Linux desktop: |
| |
| RESULT Bindings: get-element-by-id= 300.933707795 runs/s |
| median= 302.267002519 runs/s, stdev= 3.04954648504 runs/s, min= 295.930949445 runs/s, max= 305.34351145 runs/s |
| |
| RESULT Bindings: get-element-by-id= 302.030324483 runs/s |
| median= 302.267481977 runs/s, stdev= 1.78518068367 runs/s, min= 298.507462687 runs/s, max= 304.568527919 runs/s |
| |
| RESULT Bindings: get-element-by-id= 301.993483538 runs/s |
| median= 302.648171501 runs/s, stdev= 1.87604126626 runs/s, min= 296.662546354 runs/s, max= 304.568527919 runs/s |
| |
| RESULT Bindings: get-element-by-id= 301.936607982 runs/s |
| median= 302.45758701 runs/s, stdev= 1.88991087072 runs/s, min= 298.879202989 runs/s, max= 304.955527319 runs/s |
| |
| RESULT Bindings: get-element-by-id= 301.952234563 runs/s |
| median= 302.648171501 runs/s, stdev= 1.59929752614 runs/s, min= 299.625468165 runs/s, max= 304.568527919 runs/s |
| |
| * Bindings/get-element-by-id.html: Added. |
| |
| 2012-05-17 Kentaro Hara <haraken@chromium.org> |
| |
| [perf-test] Add a benchmark for body.scrollTop |
| https://bugs.webkit.org/show_bug.cgi?id=86806 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| Currently Bindings/dom-attributes.html is just a collection of random |
| DOM attributes and methods. We should remove it and instead add more |
| reasonable micro benchmarks by classifying DOM binding call paths. |
| |
| This patch adds a benchmark for body.scrollTop, which covers other |
| DOM attributes that return small integers. |
| |
| (Note: Performance optimization for the benchmark will be coming soon.) |
| |
| Test results in my Linux desktop: |
| |
| RESULT Bindings: scroll-top= 209.410654239 runs/s |
| median= 211.64021164 runs/s, stdev= 4.09958741195 runs/s, min= 201.005025126 runs/s, max= 212.483399734 runs/s |
| |
| RESULT Bindings: scroll-top= 195.651111157 runs/s |
| median= 196.319018405 runs/s, stdev= 1.77011627406 runs/s, min= 191.846522782 runs/s, max= 197.28729963 runs/s |
| RESULT Bindings: scroll-top= 200.004907612 runs/s |
| median= 201.511335013 runs/s, stdev= 3.27455403827 runs/s, min= 193.236714976 runs/s, max= 202.53164557 runs/s |
| |
| RESULT Bindings: scroll-top= 209.582737512 runs/s |
| median= 210.803689065 runs/s, stdev= 3.16769655464 runs/s, min= 203.045685279 runs/s, max= 211.920529801 runs/s |
| |
| RESULT Bindings: scroll-top= 199.924607687 runs/s |
| median= 201.13144338 runs/s, stdev= 3.11080503619 runs/s, min= 193.003618818 runs/s, max= 202.02020202 runs/s |
| |
| * Bindings/scroll-top.html: Added. |
| |
| 2012-05-17 Kentaro Hara <haraken@chromium.org> |
| |
| [perf-test] Add a micro benchmark for div.firstChild getter for an undefined firstChild |
| https://bugs.webkit.org/show_bug.cgi?id=86725 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| We are going to remove Bindings/dom-attributes.html and instead add more |
| reasonable micro benchmarks by classifying DOM binding call paths. |
| |
| In this bug, we add a micro benchmark for div.firstChild getter for an |
| undefined firstChild. This benchmark covers other undefined DOM attributes |
| that return a null. |
| |
| (Note: In V8, div.firstChild for an undefined firstChild is currently slower |
| than div.firstChild for a defined firstChild.) |
| |
| Test results in my Linux desktop: |
| |
| RESULT Bindings: undefined-first-child= 541.408311042 runs/s |
| median= 541.205412054 runs/s, stdev= 1.29841219187 runs/s, min= 537.897310513 runs/s, max= 543.209876543 runs/s |
| |
| RESULT Bindings: undefined-first-child= 541.00750695 runs/s |
| median= 540.540540541 runs/s, stdev= 0.967521230965 runs/s, min= 539.215686275 runs/s, max= 543.209876543 runs/s |
| |
| RESULT Bindings: undefined-first-child= 523.630714897 runs/s |
| median= 523.560209424 runs/s, stdev= 1.01570919645 runs/s, min= 522.193211488 runs/s, max= 525.624178712 runs/s |
| |
| RESULT Bindings: undefined-first-child= 553.077663588 runs/s |
| median= 553.459119497 runs/s, stdev= 0.805697397863 runs/s, min= 551.378446115 runs/s, max= 554.156171285 runs/s |
| |
| RESULT Bindings: undefined-first-child= 541.5401432 runs/s |
| median= 541.538666618 runs/s, stdev= 0.954301364767 runs/s, min= 539.877300613 runs/s, max= 543.209876543 runs/s |
| |
| * Bindings/undefined-first-child.html: Added. |
| |
| 2012-05-17 Kentaro Hara <haraken@chromium.org> |
| |
| [Performance test] Add a micro benchmark for div.firstChild getter |
| https://bugs.webkit.org/show_bug.cgi?id=86582 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| We are going to remove Bindings/dom-attributes.html and instead add more |
| reasonable micro benchmarks by classifying DOM binding call paths. |
| |
| In this bug, we add a micro benchmark for div.firstChild getter. |
| This benchmark covers 'firstChild', 'lastChild', 'nextSibling' and |
| 'previousSibling' in Dromaeo/dom-traverse.html, and other DOM attributes |
| that return a Node object. |
| |
| Multiple test results in my Linux desktop: |
| |
| RESULT Bindings: first-child= 798.157160346 runs/s |
| median= 798.004987531 runs/s, stdev= 1.52006063407 runs/s, min= 796.019900498 runs/s, max= 801.001251564 runs/s |
| RESULT Bindings: first-child= 797.603608554 runs/s |
| median= 797.872340426 runs/s, stdev= 2.2522621261 runs/s, min= 791.556728232 runs/s, max= 801.001251564 runs/s |
| RESULT Bindings: first-child= 798.656295468 runs/s |
| median= 798.004987531 runs/s, stdev= 1.79367478063 runs/s, min= 797.01120797 runs/s, max= 803.011292346 runs/s |
| RESULT Bindings: first-child= 797.812784267 runs/s |
| median= 798.004987531 runs/s, stdev= 2.31766523191 runs/s, min= 791.100123609 runs/s, max= 802.005012531 runs/s |
| RESULT Bindings: first-child= 797.963311597 runs/s |
| median= 798.004987531 runs/s, stdev= 2.53014907337 runs/s, min= 789.14919852 runs/s, max= 801.001251564 runs/s |
| |
| * Bindings/first-child.html: Added. |
| |
| 2012-05-16 Kentaro Hara <haraken@chromium.org> |
| |
| [Performance test] Support "description" for PerfTestRunner.run and PerfTestRunner.runPerSecond |
| https://bugs.webkit.org/show_bug.cgi?id=86696 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| We want to add some description for each PerfTestRunner.run and |
| PerfTestRunner.runPerSecond, so that people can know what each |
| run is testing. |
| |
| Output example: |
| |
| $ ./Tools/Scripts/run-perf-tests Bindings/first-child.html |
| Running Bindings/first-child.html (1 of 1) |
| DESCRIPTION: Benchmark for DOM attributes that return a Node object. |
| RESULT Bindings: first-child= 788.359076534 runs/s |
| median= 797.508097751 runs/s, stdev= 19.0972905207 runs/s, min= 746.666666667 runs/s, max= 801.001251564 runs/s |
| |
| * resources/runner.js: |
| (PerfTestRunner.logStatistics): |
| (PerfTestRunner.printStatistics): |
| (PerfTestRunner.runPerSecond): |
| |
| 2012-05-16 Yury Semikhatsky <yurys@chromium.org> |
| |
| Unreviewed. Fix heap profiler performance test after r117234. |
| |
| * inspector/heap-snapshot.html: |
| |
| 2012-05-14 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Convert CSS and Parser tests to runs/s tests |
| https://bugs.webkit.org/show_bug.cgi?id=86399 |
| |
| Reviewed by Ojan Vafai. |
| |
| Use runPerSecond instead of run to measure results in function calls per second (run/s) instead of time (ms). |
| This allows us to continue measuring performance reliably even when WebKit's performance improves and results |
| become too small for Date.now()'s precision (around 15 ms). |
| |
| It should also reduce perf. bots cycle time for slower tests because we limit the number of function calls by time. |
| |
| * CSS/CSSPropertySetterGetter.html: |
| * CSS/CSSPropertyUpdateValue.html: |
| * Parser/css-parser-yui.html: |
| * Parser/simple-url.html: |
| * Parser/tiny-innerHTML.html: |
| * Parser/url-parser.html: |
| * Parser/xml-parser.html: |
| |
| 2012-05-14 Dan Bernstein <mitz@apple.com> |
| |
| Add a line layout performance test |
| https://bugs.webkit.org/show_bug.cgi?id=86216 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| * Layout/line-layout.html: Added. |
| |
| 2012-05-14 Tony Chang <tony@chromium.org> |
| |
| Don't append log lines while perf tests are running. |
| https://bugs.webkit.org/show_bug.cgi?id=86028 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| In some tests, the extra DOM nodes can cause the test timing to change. |
| Avoid adding DOM nodes until the test is over. When running in a browser, |
| we append nodes as we run so the user can have some feedback. |
| |
| * resources/runner.js: |
| (PerfTestRunner.log): Store the log lines in an array until the test is finished. |
| |
| 2012-05-14 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Build fix. Don't adjust calls per iteration in the second run. |
| |
| * resources/runner.js: |
| (PerfTestRunner._perSecondRunner): |
| |
| 2012-05-13 Ryosuke Niwa <rniwa@webkit.org> |
| |
| performance tests should be able to measure runs/sec rather than time |
| https://bugs.webkit.org/show_bug.cgi?id=86021 |
| |
| Reviewed by Ojan Vafai. |
| |
| Add PerfTestRunner.runPerSecond. It uses _runLoop but replaces _runner by _perSecondRunner |
| to compute runs/s of runFunction. |
| |
| When _perSecondRunner is called for the first time, i.e. _completedRuns is 0 (notice this is -1 |
| in regular run/_runner), it slowly increases the number of function calls to runFunction between |
| time measurements in order to discount the time used by new Date() calls themselves until the |
| total time spent reaches 100 milliseconds. |
| |
| By default, runPerSecond runs the test for at least 750 milliseconds in each run, and executes |
| 21 runs, yielding the total run time of roughly 18 seconds. This is significantly faster than |
| most of existing performance tests. Also see http://ejohn.org/blog/accuracy-of-javascript-time/. |
| |
| Finally, refactored the existing methods of PerfTestRunner to allow "runs/s" unit and share code. |
| |
| * Layout/flexbox-column-nowrap.html: |
| * Layout/flexbox-column-wrap.html: |
| * Layout/flexbox-row-nowrap.html: |
| * Layout/flexbox-row-wrap.html: |
| * resources/runner.js: |
| (PerfTestRunner.computeStatistics): Takes unit. |
| (PerfTestRunner.logStatistics): Ditto. |
| (PerfTestRunner._runLoop): |
| (PerfTestRunner._runner): |
| (PerfTestRunner.runPerSecond): Added. |
| (PerfTestRunner._perSecondRunner): Added. Called by _runLoop. |
| (PerfTestRunner._perSecondRunnerIterator): Added. |
| |
| 2012-05-09 Tony Chang <tony@chromium.org> |
| |
| add some basic perf-o-matic tests for flexbox |
| https://bugs.webkit.org/show_bug.cgi?id=86017 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| Each of these tests take < 3s on my machine. |
| |
| * Layout/flexbox-column-nowrap.html: Added. |
| * Layout/flexbox-column-wrap.html: Added. |
| * Layout/flexbox-row-nowrap.html: Added. |
| * Layout/flexbox-row-wrap.html: Added. |
| |
| 2012-05-05 Ilya Tikhonovsky <loislo@chromium.org> |
| |
| Web Inspector: unreviewed followup fix for the performance test after r116218. |
| |
| * inspector/heap-snapshot.html: |
| |
| 2012-05-02 Tom Zakrajsek <tomz@codeaurora.org> |
| |
| Need tests for PerfTestRunner.computeStatistics |
| https://bugs.webkit.org/show_bug.cgi?id=85410 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| * resources/runner.js: |
| |
| 2012-05-02 Sheriff Bot <webkit.review.bot@gmail.com> |
| |
| Unreviewed, rolling out r115905. |
| http://trac.webkit.org/changeset/115905 |
| https://bugs.webkit.org/show_bug.cgi?id=85435 |
| |
| New computeStatistics test is failing on chromium ports |
| (Requested by tomz on #webkit). |
| |
| * resources/runner.js: |
| |
| 2012-05-02 Tom Zakrajsek <tomz@codeaurora.org> |
| |
| Need tests for PerfTestRunner.computeStatistics |
| https://bugs.webkit.org/show_bug.cgi?id=85410 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| * resources/runner.js: |
| |
| 2012-04-29 Tom Zakrajsek <tomz@codeaurora.org> |
| |
| PerfTestRunner.computeStatistics incorrectly calculates min, max and median |
| https://bugs.webkit.org/show_bug.cgi?id=85111 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| The sort of the data input was being done alphabetically. |
| So I provided a numeric compare function. |
| |
| * resources/runner.js: |
| |
| 2012-04-17 Ilya Tikhonovsky <loislo@chromium.org> |
| |
| Web Inspector: the fix for test after massive rename in r114271. |
| https://bugs.webkit.org/show_bug.cgi?id=84147 |
| |
| Drive by fix. The test was renamed to heap-snapshot.html |
| |
| Reviewed by Yury Semikhatsky. |
| |
| * inspector/heap-snapshot.html: Renamed from PerformanceTests/inspector/detailed-heapshots-smoke-test.html. |
| |
| 2012-04-16 Yury Semikhatsky <yurys@chromium.org> |
| |
| Web Inspector: rename heap profiler files and classes DetailedHeapshot* ->HeapSnapshot* |
| https://bugs.webkit.org/show_bug.cgi?id=84038 |
| |
| A bunch of renames "detailed heapshot" -> "heap snapshot". |
| |
| Reviewed by Pavel Feldman. |
| |
| * inspector/detailed-heapshots-smoke-test.html: |
| |
| 2012-04-13 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Fix skipped list. |
| |
| * Skipped: |
| |
| 2012-04-12 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Enable SVG page loading performance tests |
| https://bugs.webkit.org/show_bug.cgi?id=83861 |
| |
| Reviewed by Adam Barth. |
| |
| Unskip PageLoad directory and skip tests that load too fast (less than 100ms) and are unstable, |
| and the ones that take too long to load (more than 20s). |
| |
| * Skipped: |
| |
| 2012-04-04 Ilya Tikhonovsky <loislo@chromium.org> |
| |
| Web Inspector: Unreviewed. temporary disable broken inspector tests. |
| |
| * inspector/first-open-scripts.html.broken: Renamed from PerformanceTests/inspector/first-open-scripts.html. |
| * inspector/network-append-30-requests.html.broken: Renamed from PerformanceTests/inspector/network-append-30-requests.html. |
| * inspector/show-panel.html.broken: Renamed from PerformanceTests/inspector/show-panel.html. |
| |
| 2012-04-04 Ilya Tikhonovsky <loislo@chromium.org> |
| |
| Web Inspector: linearise aggregate's retaining size calculation. |
| https://bugs.webkit.org/show_bug.cgi?id=83125 |
| |
| This version is twice as fast as the original and it is non-recursive. |
| |
| Reviewed by Yury Semikhatsky. |
| |
| * inspector/detailed-heapshots-smoke-test.html: |
| |
| 2012-03-30 David Barr <davidbarr@chromium.org> |
| |
| Split up top-level .gitignore and .gitattributes |
| https://bugs.webkit.org/show_bug.cgi?id=82687 |
| |
| Reviewed by Tor Arne Vestbø. |
| |
| * .gitattributes: Added. |
| |
| 2012-03-28 Yury Semikhatsky <yurys@chromium.org> |
| |
| Web Inspector: switch heap profiler front-end to separate storage of nodes and edges |
| https://bugs.webkit.org/show_bug.cgi?id=82453 |
| |
| Updated heap profiler performance test after heap profiler front-end |
| changes. |
| |
| Reviewed by Pavel Feldman. |
| |
| * inspector/detailed-heapshots-smoke-test.html: |
| |
| 2012-03-27 Alexis Menard <alexis.menard@openbossa.org> |
| |
| Add a perf test which updates the value of an already declared CSS property. |
| https://bugs.webkit.org/show_bug.cgi?id=82321 |
| |
| Reviewed by Andreas Kling. |
| |
| This benchmark update CSS existing properties of the style from JS. |
| |
| * CSS/CSSPropertyUpdateValue.html: Added. |
| |
| 2012-03-15 Kentaro Hara <haraken@chromium.org> |
| |
| [PerformanceTests] run-perf-tests should output correct units |
| https://bugs.webkit.org/show_bug.cgi?id=78303 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| Previously run-perf-tests just supported "ms" for units. |
| Consequently, Dromaeo perf tests had been reporting runs/s as "ms". |
| This patch fixes run-perf-tests so that they can support custom units. |
| The default unit is "ms". |
| |
| The test result looks like this: |
| |
| $ ./Tools/Scripts/run-perf-tests Dromaeo/dom-attr.html |
| RESULT Dromaeo: dom-attr= 6465.9525483 runs/s |
| median= 0.0 runs/s, stdev= 24.2983433436 runs/s, min= 6435.87649402 runs/s, max= 6515.63693392 runs/s |
| |
| * Dromaeo/resources/dromaeorunner.js: |
| (.): |
| * resources/runner.js: |
| (PerfTestRunner.computeStatistics): |
| (PerfTestRunner.printStatistics): |
| |
| 2012-03-15 Alexis Menard <alexis.menard@openbossa.org> |
| |
| Fix the test failing with run-perf-tests. |
| |
| Rubber stamped by Ryosuke Niwa. |
| |
| * CSS/CSSPropertySetterGetter.html: |
| |
| 2012-03-14 Alexis Menard <alexis.menard@openbossa.org> |
| |
| Add a new perf test to benchmark setting and reading CSS properties from JS. |
| https://bugs.webkit.org/show_bug.cgi?id=81155 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| This benchmark read and set CSS properties from JS. It contains a list |
| of common CSS properties. |
| |
| * CSS/CSSPropertySetterGetter.html: Added. |
| |
| 2012-03-14 Alexandru Chiculita <achicu@adobe.com> |
| |
| Layout/floats.html should be runnable by run-perf-tests |
| https://bugs.webkit.org/show_bug.cgi?id=77051 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| I've split Layout/floats.html into multiple tests for each button in the original manual test. |
| Some tests take longer to run and I've changed the number of iterations, so that each tests finishes under 30s per run. |
| |
| * DOM/resources/dom-perf.js: |
| * Layout/floats.html: Removed. |
| * Layout/floats_100_100.html: Added. |
| * Layout/floats_100_100_nested.html: Added. |
| * Layout/floats_20_100.html: Added. |
| * Layout/floats_20_100_nested.html: Added. |
| * Layout/floats_2_100.html: Added. |
| * Layout/floats_2_100_nested.html: Added. |
| * Layout/floats_50_100.html: Added. |
| * Layout/floats_50_100_nested.html: Added. |
| * Layout/resources/floats.css: Added. |
| (.container): |
| (.float): |
| (.big): |
| (.float-end): |
| * Layout/resources/floats.js: Added. |
| (.): |
| * Skipped: |
| * resources/runner.js: |
| (PerfTestRunner.resetRandomSeed): |
| (PerfTestRunner.random): |
| (Math.random): |
| Moved the Math.random to runner.js to be used by all tests. |
| Added resetRandomSeed to bring the randomizer back to initial seed. |
| It is useful to get the same results at every run and minimize the |
| differences between runs. |
| |
| 2012-03-14 Sheriff Bot <webkit.review.bot@gmail.com> |
| |
| Unreviewed, rolling out r110559. |
| http://trac.webkit.org/changeset/110559 |
| https://bugs.webkit.org/show_bug.cgi?id=81142 |
| |
| Broke Dromaeo tests (Requested by rniwa on #webkit). |
| |
| * Dromaeo/resources/dromaeorunner.js: |
| (.): |
| |
| 2012-03-13 Kentaro Hara <haraken@chromium.org> |
| |
| Dromaeo perf-tests results are wrong |
| https://bugs.webkit.org/show_bug.cgi?id=80974 |
| |
| Reviewed by Hajime Morita. |
| |
| Dromaeo perf-tests had reported the sum of runs/seconds as "ms". |
| This patch fixes them to report the execution time per run. |
| |
| At present, they report "0.0ms" for "stdev". This is because |
| dromaeorunner.js can just know stdev of "runs/seconds" |
| and cannot calculate stdev of "ms" from that. We can fix it later. |
| |
| * Dromaeo/resources/dromaeorunner.js: |
| (.): |
| |
| 2012-03-12 Ilya Tikhonovsky <loislo@chromium.org> |
| |
| Web Inspector: chromium: increase heap snapshot performance coverage. |
| https://bugs.webkit.org/show_bug.cgi?id=80829 |
| |
| Reviewed by Yury Semikhatsky. |
| |
| * inspector/detailed-heapshots-smoke-test.html: |
| * inspector/performance-test.js: |
| (initialize_TimeTracker.InspectorTest.measureFunction): |
| |
| 2012-03-06 Kentaro Hara <haraken@chromium.org> |
| |
| [Perf tests] Reduce the number of loops in dom-attributes.html |
| https://bugs.webkit.org/show_bug.cgi?id=80077 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| dom-attributes.html takes 100~ seconds in the perf bots. This patch reduces |
| the time by reducing the number of loops. |
| |
| This is just a temporary fix. After more detailed investigation, I will reduce |
| the number of tests in dom-attributes.html, and revert back the number of loops |
| to guarantee the reliability of the perf test results. |
| |
| * Bindings/dom-attributes.html: |
| |
| 2012-03-06 Ilya Tikhonovsky <loislo@chromium.org> |
| |
| Web Inspector: Heap Snapshot test: split overal time metric into separate metrics. |
| https://bugs.webkit.org/show_bug.cgi?id=80409 |
| |
| Reviewed by Yury Semikhatsky. |
| |
| * inspector/detailed-heapshots-smoke-test.html: |
| |
| 2012-03-05 Ilya Tikhonovsky <loislo@chromium.org> |
| |
| Web Inspector: [chromium] introduce HeapSnapshot performance test. |
| https://bugs.webkit.org/show_bug.cgi?id=80280 |
| |
| Reviewed by Pavel Feldman. |
| |
| * inspector/detailed-heapshots-smoke-test.html: Added. |
| |
| 2012-03-01 Ryosuke Niwa <rniwa@webkit.org> |
| |
| DOM tests take too long to run |
| https://bugs.webkit.org/show_bug.cgi?id=80082 |
| |
| Reviewed by Eric Seidel. |
| |
| Reduce benchmark.timeToRun from 500ms to 100ms. Doesn't seem to affect test results much |
| (except DOM/DOMTable.html) but significantly reduces the runtime of tests. |
| |
| * DOM/resources/dom-perf.js: |
| (BenchmarkSuite.prototype.RunSingle): |
| |
| 2012-02-26 Kentaro Hara <haraken@chromium.org> |
| |
| [Performance Tests] [Chromium] Bindings/dom-attributes.html is timing out |
| https://bugs.webkit.org/show_bug.cgi?id=79593 |
| |
| Reviewed by Adam Barth. |
| |
| This patch halves the execution time of Bindings/dom-attributes.html |
| in order to avoid timeout in Chromium. The reason for the timeout is that |
| V8 DOM bindings are too much slower than JSC bindings. |
| I am a bit afraid that this patch will reduce the accuracy of the |
| perf test results, but it would make sense to reduce the execution time |
| until we fix the performance issue in V8 DOM bindings. |
| |
| * Bindings/dom-attributes.html: |
| |
| 2012-02-24 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Rename dom*_*attributes.html to dom*-*attributes.html to follow the WebKit convention. |
| |
| * Bindings/dom-attributes.html: Copied from PerformanceTests/Bindings/dom_attributes.html. |
| * Bindings/dom_attributes.html: Removed. |
| |
| 2012-02-24 Kentaro Hara <haraken@chromium.org> |
| |
| Unreviewed, rolling out r108477. |
| http://trac.webkit.org/changeset/108477 |
| https://bugs.webkit.org/show_bug.cgi?id=79209 |
| |
| The perf tests committed in r108748 covers the perf tests |
| committed in r108477. So I'll roll out r108477. |
| |
| * Bindings/dom_attributes_id_getter.html: Removed. |
| * Bindings/dom_attributes_id_setter.html: Removed. |
| * Bindings/resources/dom_attributes_common.js: Removed. |
| |
| 2012-02-24 Kentaro Hara <haraken@chromium.org> |
| |
| Add performance tests for DOM attribute getters and setters |
| https://bugs.webkit.org/show_bug.cgi?id=79208 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| This patch adds performance micro-benchmarks for DOM attribute |
| getters and setters. We selected DOM attributes from HTMLElement, |
| Element and Node which will most impact on the DOM performance |
| in the real Web and which have different call-paths from another |
| DOM attribute. |
| |
| The perf test result in my local Chromium/Linux environment is as follows: |
| median= 14967.0 ms, stdev= 85.2385476178 ms, min= 14861.0 ms, max= 15155.0 ms |
| |
| If we run the test with DumpRenderTree, we can get the following test results: |
| Info: [HTMLElement.id] avg=65.76ms, median=65.00ms, stdev=2.14ms, min=63, max=70 |
| Info: [HTMLElement.title] avg=64.05ms, median=63.00ms, stdev=1.50ms, min=63, max=67 |
| Info: [HTMLElement.lang] avg=64.19ms, median=63.00ms, stdev=1.82ms, min=62, max=67 |
| Info: [HTMLElement.dir] avg=64.10ms, median=63.00ms, stdev=1.72ms, min=62, max=68 |
| Info: [HTMLElement.className] avg=63.33ms, median=63.00ms, stdev=0.89ms, min=63, max=67 |
| Info: [HTMLElement.classList] avg=1946.00ms, median=1945.00ms, stdev=38.22ms, min=1921, max=2110 |
| Info: [HTMLElement.tabIndex] avg=83.52ms, median=80.00ms, stdev=6.00ms, min=79, max=94 |
| Info: [HTMLElement.draggable] avg=78.14ms, median=81.00ms, stdev=3.51ms, min=74, max=82 |
| Info: [HTMLElement.webkitdropzone] avg=64.33ms, median=63.00ms, stdev=1.98ms, min=63, max=68 |
| Info: [HTMLElement.hidden] avg=65.57ms, median=64.00ms, stdev=3.27ms, min=63, max=71 |
| Info: [HTMLElement.accessKey] avg=64.43ms, median=63.00ms, stdev=2.11ms, min=62, max=68 |
| Info: [HTMLElement.children] avg=130.76ms, median=128.00ms, stdev=9.75ms, min=109, max=143 |
| Info: [HTMLElement.isContentEditable] avg=74.29ms, median=75.00ms, stdev=2.00ms, min=71, max=77 |
| Info: [HTMLElement.spellcheck] avg=79.52ms, median=80.00ms, stdev=2.52ms, min=76, max=82 |
| Info: [HTMLElement.innerHTML] avg=279.05ms, median=279.00ms, stdev=1.96ms, min=276, max=283 |
| Info: [HTMLElement.innerText] avg=204.14ms, median=203.00ms, stdev=2.95ms, min=200, max=210 |
| Info: [HTMLElement.outerHTML] avg=1544.10ms, median=1546.00ms, stdev=15.56ms, min=1514, max=1568 |
| Info: [HTMLElement.outerText] avg=216.05ms, median=207.00ms, stdev=18.19ms, min=201, max=247 |
| Info: [HTMLElement.contentEditable] avg=334.24ms, median=323.00ms, stdev=36.06ms, min=318, max=446 |
| Info: [HTMLElement.id="foo"] avg=53.19ms, median=53.00ms, stdev=1.76ms, min=52, max=58 |
| Info: [HTMLElement.title="foo"] avg=63.14ms, median=63.00ms, stdev=0.35ms, min=63, max=64 |
| Info: [HTMLElement.lang="foo"] avg=60.86ms, median=61.00ms, stdev=0.56ms, min=60, max=62 |
| Info: [HTMLElement.dir="foo"] avg=53.57ms, median=54.00ms, stdev=0.58ms, min=53, max=55 |
| Info: [HTMLElement.className="foo"] avg=64.52ms, median=64.00ms, stdev=0.91ms, min=63, max=66 |
| Info: [HTMLElement.tabIndex="foo"] avg=367.86ms, median=369.00ms, stdev=8.06ms, min=352, max=380 |
| Info: [HTMLElement.draggable="foo"] avg=79.43ms, median=79.00ms, stdev=0.58ms, min=79, max=81 |
| Info: [HTMLElement.webkitdropzone="foo"] avg=62.14ms, median=62.00ms, stdev=0.35ms, min=62, max=63 |
| Info: [HTMLElement.hidden="foo"] avg=61.67ms, median=62.00ms, stdev=0.71ms, min=61, max=64 |
| Info: [HTMLElement.accessKey="foo"] avg=61.86ms, median=62.00ms, stdev=0.56ms, min=61, max=63 |
| Info: [HTMLElement.spellcheck="foo"] avg=79.57ms, median=80.00ms, stdev=0.58ms, min=78, max=80 |
| Info: [HTMLElement.innerHTML="foo"] avg=1176.67ms, median=1169.00ms, stdev=26.60ms, min=1146, max=1246 |
| Info: [HTMLElement.innerText="foo"] avg=51.62ms, median=52.00ms, stdev=0.72ms, min=50, max=53 |
| Info: [Element.tagName] avg=79.52ms, median=80.00ms, stdev=1.05ms, min=78, max=81 |
| Info: [Element.style] avg=126.19ms, median=126.00ms, stdev=10.40ms, min=104, max=161 |
| Info: [Element.offsetLeft] avg=98.95ms, median=104.00ms, stdev=4.01ms, min=100, max=99 |
| Info: [Element.clientLeft] avg=98.33ms, median=102.00ms, stdev=2.59ms, min=100, max=99 |
| Info: [Element.scrollLeft] avg=103.29ms, median=96.00ms, stdev=15.63ms, min=100, max=97 |
| Info: [Element.dataset] avg=2448.62ms, median=2441.00ms, stdev=20.43ms, min=2426, max=2503 |
| Info: [Element.firstElementChild] avg=58.71ms, median=58.00ms, stdev=2.37ms, min=57, max=65 |
| Info: [Element.lastElementChild] avg=56.33ms, median=55.00ms, stdev=1.83ms, min=54, max=59 |
| Info: [Element.previousElementSibling] avg=52.95ms, median=52.00ms, stdev=1.70ms, min=52, max=57 |
| Info: [Element.nextElementSibling] avg=58.48ms, median=58.00ms, stdev=1.79ms, min=57, max=63 |
| Info: [Element.childElementCount] avg=64.57ms, median=64.00ms, stdev=1.81ms, min=63, max=71 |
| Info: [Element.onload] avg=98.38ms, median=98.00ms, stdev=0.49ms, min=98, max=99 |
| Info: [Element.scrollLeft="foo"] avg=95.24ms, median=95.00ms, stdev=0.92ms, min=94, max=98 |
| Info: [Element.onload="foo"] avg=67.14ms, median=67.00ms, stdev=0.56ms, min=66, max=68 |
| Info: [Node.nodeName] avg=76.29ms, median=76.00ms, stdev=0.63ms, min=75, max=77 |
| Info: [Node.nodeType] avg=53.05ms, median=52.00ms, stdev=2.61ms, min=52, max=61 |
| Info: [Node.parentNode] avg=53.52ms, median=53.00ms, stdev=1.22ms, min=52, max=56 |
| Info: [Node.childNodes] avg=118.33ms, median=123.00ms, stdev=8.85ms, min=107, max=129 |
| Info: [Node.firstChild] avg=53.62ms, median=53.00ms, stdev=1.13ms, min=51, max=55 |
| Info: [Node.lastChild] avg=53.14ms, median=53.00ms, stdev=1.21ms, min=52, max=55 |
| Info: [Node.previousSibling] avg=51.86ms, median=51.00ms, stdev=1.55ms, min=50, max=54 |
| Info: [Node.nextSibling] avg=52.86ms, median=54.00ms, stdev=1.81ms, min=50, max=55 |
| Info: [Node.attributes] avg=2027.71ms, median=2026.00ms, stdev=10.48ms, min=2010, max=2051 |
| Info: [Node.ownerDocument] avg=152.14ms, median=152.00ms, stdev=1.73ms, min=149, max=155 |
| Info: [Node.namespaceURI] avg=60.86ms, median=59.00ms, stdev=3.85ms, min=56, max=66 |
| Info: [Node.localName] avg=60.00ms, median=59.00ms, stdev=2.71ms, min=57, max=66 |
| Info: [Node.baseURI] avg=671.10ms, median=668.00ms, stdev=10.66ms, min=659, max=706 |
| Info: [Node.parentElement] avg=55.05ms, median=56.00ms, stdev=2.15ms, min=52, max=58 |
| Info: [Node.nodeValue] avg=61.24ms, median=60.00ms, stdev=2.56ms, min=59, max=68 |
| Info: [Node.prefix] avg=60.90ms, median=58.00ms, stdev=4.26ms, min=57, max=68 |
| Info: [Node.textContent] avg=149.71ms, median=149.00ms, stdev=1.12ms, min=148, max=152 |
| Info: [Node.nodeValue="foo"] avg=23.62ms, median=23.00ms, stdev=0.72ms, min=23, max=25 |
| Info: [Node.prefix="foo"] avg=49.57ms, median=49.00ms, stdev=0.73ms, min=49, max=51 |
| Info: [Node.textContent="foo"] avg=145.81ms, median=140.00ms, stdev=17.43ms, min=138, max=199 |
| |
| * Bindings/dom_attributes.html: Added. |
| * resources/runner.js: |
| (PerfTestRunner.info): |
| |
| 2012-02-22 Kentaro Hara <haraken@chromium.org> |
| |
| Add performance tests for the Element.id getter and setter |
| https://bugs.webkit.org/show_bug.cgi?id=79209 |
| |
| Reviewed by Adam Barth. |
| |
| This patch adds performance tests for the Element.id getter and setter. |
| |
| The results of 10 runs in my local Chromium/Linux are as follows: |
| |
| dom_attributes_id_getter.html: |
| median= 92.0 ms, stdev= 1.65151445649 ms, min= 89.0 ms, max= 96.0 ms |
| median= 87.5 ms, stdev= 1.84390889146 ms, min= 85.0 ms, max= 92.0 ms |
| median= 94.0 ms, stdev= 1.46543508898 ms, min= 90.0 ms, max= 95.0 ms |
| median= 86.0 ms, stdev= 1.66958078571 ms, min= 84.0 ms, max= 91.0 ms |
| median= 94.0 ms, stdev= 2.25610283454 ms, min= 103.0 ms, max= 98.0 ms |
| median= 86.0 ms, stdev= 1.49666295471 ms, min= 84.0 ms, max= 91.0 ms |
| median= 86.0 ms, stdev= 1.5321553446 ms, min= 84.0 ms, max= 90.0 ms |
| median= 86.0 ms, stdev= 2.20227155455 ms, min= 84.0 ms, max= 94.0 ms |
| median= 96.0 ms, stdev= 1.74570902501 ms, min= 101.0 ms, max= 99.0 ms |
| median= 86.0 ms, stdev= 1.63935963108 ms, min= 84.0 ms, max= 90.0 ms |
| median= 94.0 ms, stdev= 1.49248115566 ms, min= 90.0 ms, max= 95.0 ms |
| median= 88.0 ms, stdev= 5.20192272146 ms, min= 84.0 ms, max= 98.0 ms |
| median= 86.0 ms, stdev= 1.41067359797 ms, min= 84.0 ms, max= 89.0 ms |
| median= 86.0 ms, stdev= 1.48660687473 ms, min= 84.0 ms, max= 89.0 ms |
| median= 94.0 ms, stdev= 1.58113883008 ms, min= 93.0 ms, max= 97.0 ms |
| median= 86.0 ms, stdev= 1.95959179423 ms, min= 84.0 ms, max= 93.0 ms |
| median= 86.0 ms, stdev= 1.8547236991 ms, min= 84.0 ms, max= 92.0 ms |
| median= 86.0 ms, stdev= 1.39283882772 ms, min= 84.0 ms, max= 89.0 ms |
| median= 88.0 ms, stdev= 1.48660687473 ms, min= 85.0 ms, max= 90.0 ms |
| median= 86.5 ms, stdev= 2.3 ms, min= 84.0 ms, max= 93.0 ms |
| |
| dom_attributes_id_setter.html: |
| median= 123.0 ms, stdev= 2.06397674406 ms, min= 119.0 ms, max= 128.0 ms |
| median= 119.0 ms, stdev= 1.92028643697 ms, min= 117.0 ms, max= 123.0 ms |
| median= 121.0 ms, stdev= 1.8781639971 ms, min= 118.0 ms, max= 123.0 ms |
| median= 123.0 ms, stdev= 2.21585198062 ms, min= 119.0 ms, max= 130.0 ms |
| median= 124.5 ms, stdev= 2.36378933071 ms, min= 119.0 ms, max= 129.0 ms |
| median= 122.0 ms, stdev= 2.4474476501 ms, min= 118.0 ms, max= 128.0 ms |
| median= 123.0 ms, stdev= 1.76351920885 ms, min= 118.0 ms, max= 125.0 ms |
| median= 119.0 ms, stdev= 1.79652442232 ms, min= 117.0 ms, max= 125.0 ms |
| median= 121.0 ms, stdev= 1.49916643506 ms, min= 119.0 ms, max= 123.0 ms |
| median= 119.5 ms, stdev= 1.85135085816 ms, min= 117.0 ms, max= 125.0 ms |
| median= 124.0 ms, stdev= 1.43090880213 ms, min= 120.0 ms, max= 124.0 ms |
| median= 122.0 ms, stdev= 1.45859521458 ms, min= 118.0 ms, max= 123.0 ms |
| median= 123.0 ms, stdev= 1.50332963784 ms, min= 120.0 ms, max= 124.0 ms |
| median= 123.0 ms, stdev= 1.3638181697 ms, min= 120.0 ms, max= 125.0 ms |
| median= 119.0 ms, stdev= 1.43527000944 ms, min= 117.0 ms, max= 121.0 ms |
| median= 122.5 ms, stdev= 1.71682847134 ms, min= 118.0 ms, max= 124.0 ms |
| median= 121.0 ms, stdev= 1.44481832768 ms, min= 118.0 ms, max= 123.0 ms |
| median= 120.0 ms, stdev= 1.40978721799 ms, min= 117.0 ms, max= 122.0 ms |
| median= 122.0 ms, stdev= 1.68522995464 ms, min= 119.0 ms, max= 125.0 ms |
| median= 122.0 ms, stdev= 1.55804364509 ms, min= 118.0 ms, max= 123.0 ms |
| |
| |
| * Bindings/dom_attributes_id_getter.html: Added. |
| * Bindings/dom_attributes_id_setter.html: Added. |
| * Bindings/resources/dom_attributes_common.js: Added. |
| |
| 2012-02-16 Alexis Menard <alexis.menard@openbossa.org> |
| |
| Add a perf test for the CSS parser. |
| https://bugs.webkit.org/show_bug.cgi?id=78114 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| Add a perf test for the CSS parser. It load a big CSS chunk |
| which contains some snippets of the YUI library from Yahoo!. |
| |
| * Parser/css-parser-yui.html: Added. |
| |
| 2012-02-08 Hajime Morrita <morrita@chromium.org> |
| |
| [PerformanceTests] sunspider-crypto-md5.html and sunspider-crypto-sha1.html are timing out on cr-mac perf bot |
| https://bugs.webkit.org/show_bug.cgi?id=78174 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| Pulled back removed files. |
| |
| * Dromaeo/resources/dromaeo/web/tests/sunspider-crypto-md5.html: Added. |
| * Dromaeo/resources/dromaeo/web/tests/sunspider-crypto-sha1.html: Added. |
| |
| 2012-02-02 Hajime Morrita <morrita@chromium.org> |
| |
| [PerformanceTests] Each Dromaeo test needs its landing html. |
| https://bugs.webkit.org/show_bug.cgi?id=77504 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| - Added landing pages for each test which are listed in MANIFEST.json |
| - Removed some tests which depends on the library whose license is incompatible to WebKit. |
| - Added local copy of corresponding library. And replace the references to the remote sources |
| to the local copies. |
| - Removed old library files under Dromaeo/resources/dromaeo/web/lib/. |
| - Skipped Sunsupier and v8 test. Such JS centric test should have its own test instead of |
| running as a part of Dromaeo. |
| |
| * Dromaeo/cssquery-dojo.html: Added. |
| * Dromaeo/cssquery-jquery.html: Added. |
| * Dromaeo/cssquery-prototype.html: Added. |
| * Dromaeo/dom-attr.html: Added. |
| * Dromaeo/dom-modify.html: Added. |
| * Dromaeo/dom-traverse.html: Added. |
| * Dromaeo/dromaeo-3d-cube.html: Added. |
| * Dromaeo/dromaeo-core-eval.html: Added. |
| * Dromaeo/dromaeo-object-array.html: Added. |
| * Dromaeo/dromaeo-object-regexp.html: Added. |
| * Dromaeo/dromaeo-object-string.html: Added. |
| * Dromaeo/dromaeo-string-base64.html: Added. |
| * Dromaeo/jslib-attr-jquery.html: Added. |
| * Dromaeo/jslib-attr-prototype.html: Added. |
| * Dromaeo/jslib-event-jquery.html: Added. |
| * Dromaeo/jslib-event-prototype.html: Added. |
| * Dromaeo/jslib-modify-jquery.html: Added. |
| * Dromaeo/jslib-modify-prototype.html: Added. |
| * Dromaeo/jslib-style-jquery.html: Added. |
| * Dromaeo/jslib-style-prototype.html: Added. |
| * Dromaeo/jslib-traverse-jquery.html: Added. |
| * Dromaeo/jslib-traverse-prototype.html: Added. |
| * Dromaeo/resources/dromaeo/web/lib/dojo.js: Removed. |
| * Dromaeo/resources/dromaeo/web/lib/dojo-1.6.1.js: Added. |
| * Dromaeo/resources/dromaeo/web/lib/jquery.js: Removed. |
| * Dromaeo/resources/dromaeo/web/lib/jquery-1.6.4.js: Added. |
| * Dromaeo/resources/dromaeo/web/lib/mootools.js: Removed. |
| * Dromaeo/resources/dromaeo/web/lib/prototype.js: Removed. |
| * Dromaeo/resources/dromaeo/web/lib/prototype-1.7.js: Added. |
| * Dromaeo/resources/dromaeo/web/tests/cssquery-dojo.html: |
| * Dromaeo/resources/dromaeo/web/tests/cssquery-jquery.html: |
| * Dromaeo/resources/dromaeo/web/tests/cssquery-mootools.html: Removed. |
| * Dromaeo/resources/dromaeo/web/tests/cssquery-prototype.html: |
| * Dromaeo/resources/dromaeo/web/tests/jslib-attr-jquery.html: |
| * Dromaeo/resources/dromaeo/web/tests/jslib-attr-prototype.html: |
| * Dromaeo/resources/dromaeo/web/tests/jslib-event-jquery.html: |
| * Dromaeo/resources/dromaeo/web/tests/jslib-event-prototype.html: |
| * Dromaeo/resources/dromaeo/web/tests/jslib-modify-jquery.html: |
| * Dromaeo/resources/dromaeo/web/tests/jslib-modify-prototype.html: |
| * Dromaeo/resources/dromaeo/web/tests/jslib-style-jquery.html: |
| * Dromaeo/resources/dromaeo/web/tests/jslib-style-prototype.html: |
| * Dromaeo/resources/dromaeo/web/tests/jslib-traverse-jquery.html: |
| * Dromaeo/resources/dromaeo/web/tests/jslib-traverse-prototype.html: |
| * Dromaeo/sunspider-3d-morph.html: Added. |
| * Dromaeo/sunspider-3d-raytrace.html: Added. |
| * Dromaeo/sunspider-access-binary-trees.html: Added. |
| * Dromaeo/sunspider-access-fannkuch.html: Added. |
| * Dromaeo/sunspider-access-nbody.html: Added. |
| * Dromaeo/sunspider-access-nsieve.html: Added. |
| * Dromaeo/sunspider-bitops-3bit-bits-in-byte.html: Added. |
| * Dromaeo/sunspider-bitops-bits-in-byte.html: Added. |
| * Dromaeo/sunspider-bitops-bitwise-and.html: Added. |
| * Dromaeo/sunspider-bitops-nsieve-bits.html: Added. |
| * Dromaeo/sunspider-controlflow-recursive.html: Added. |
| * Dromaeo/sunspider-crypto-aes.html: Added. |
| * Dromaeo/sunspider-crypto-md5.html: Added. |
| * Dromaeo/sunspider-crypto-sha1.html: Added. |
| * Dromaeo/sunspider-date-format-tofte.html: Added. |
| * Dromaeo/sunspider-date-format-xparb.html: Added. |
| * Dromaeo/sunspider-math-cordic.html: Added. |
| * Dromaeo/sunspider-math-partial-sums.html: Added. |
| * Dromaeo/sunspider-math-spectral-norm.html: Added. |
| * Dromaeo/sunspider-regexp-dna.html: Added. |
| * Dromaeo/sunspider-string-fasta.html: Added. |
| * Dromaeo/sunspider-string-tagcloud.html: Added. |
| * Dromaeo/sunspider-string-unpack-code.html: Added. |
| * Dromaeo/sunspider-string-validate-input.html: Added. |
| * Dromaeo/v8-crypto.html: Added. |
| * Dromaeo/v8-deltablue.html: Added. |
| * Dromaeo/v8-earley-boyer.html: Added. |
| * Dromaeo/v8-raytrace.html: Added. |
| * Dromaeo/v8-richards.html: Added. |
| * Skipped: |
| |
| 2012-02-02 Sheriff Bot <webkit.review.bot@gmail.com> |
| |
| Unreviewed, rolling out r106543. |
| http://trac.webkit.org/changeset/106543 |
| https://bugs.webkit.org/show_bug.cgi?id=77671 |
| |
| Made tests less stable (Requested by rniwa on #webkit). |
| |
| * resources/init.html: Removed. |
| |
| 2012-02-02 Ryosuke Niwa <rniwa@webkit.org> |
| |
| [PerformanceTests] tests have dependencies |
| https://bugs.webkit.org/show_bug.cgi?id=77506 |
| |
| Reviewed by Hajime Morita. |
| |
| * resources/init.html: Added. |
| |
| 2012-02-01 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Fix after r106386. The empty anchor element was generating an erroneous whitespace. |
| |
| * Bindings/event-target-wrapper.html: |
| |
| 2012-02-01 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Another fix after r106379. |
| |
| * Parser/html5-full-render.html: |
| |
| 2012-01-31 Hajime Morrita <morrita@chromium.org> |
| |
| Import Dromaeo to WebKit repository. |
| https://bugs.webkit.org/show_bug.cgi?id=77328 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| Imported a modified version of Dromaeo which is able to |
| run on the DRT. |
| |
| The imported version originally came from: |
| https://github.com/omo/dromaeo/commit/c942a1452109cdd5f759b3c4aee8d68d490d44a2 |
| |
| * Dromaeo/resources/dromaeo/web/application.css: Added. |
| * Dromaeo/resources/dromaeo/web/favicon.ico: Added. |
| * Dromaeo/resources/dromaeo/web/favicon.png: Added. |
| * Dromaeo/resources/dromaeo/web/htmlrunner.js: Added. |
| * Dromaeo/resources/dromaeo/web/ie.css: Added. |
| * Dromaeo/resources/dromaeo/web/images/bg.png: Added. |
| * Dromaeo/resources/dromaeo/web/images/clouds.png: Added. |
| * Dromaeo/resources/dromaeo/web/images/clouds2.png: Added. |
| * Dromaeo/resources/dromaeo/web/images/comets.png: Added. |
| * Dromaeo/resources/dromaeo/web/images/dino1.png: Added. |
| * Dromaeo/resources/dromaeo/web/images/dino2.png: Added. |
| * Dromaeo/resources/dromaeo/web/images/dino3.png: Added. |
| * Dromaeo/resources/dromaeo/web/images/dino4.png: Added. |
| * Dromaeo/resources/dromaeo/web/images/dino5.png: Added. |
| * Dromaeo/resources/dromaeo/web/images/dino6.png: Added. |
| * Dromaeo/resources/dromaeo/web/images/dino7.png: Added. |
| * Dromaeo/resources/dromaeo/web/images/dino8.png: Added. |
| * Dromaeo/resources/dromaeo/web/images/left.png: Added. |
| * Dromaeo/resources/dromaeo/web/images/logo.png: Added. |
| * Dromaeo/resources/dromaeo/web/images/logo2.png: Added. |
| * Dromaeo/resources/dromaeo/web/images/logo3.png: Added. |
| * Dromaeo/resources/dromaeo/web/images/right.png: Added. |
| * Dromaeo/resources/dromaeo/web/images/top.png: Added. |
| * Dromaeo/resources/dromaeo/web/images/water.png: Added. |
| * Dromaeo/resources/dromaeo/web/index.html: Added. |
| * Dromaeo/resources/dromaeo/web/jquery.js: Added. |
| * Dromaeo/resources/dromaeo/web/lib/dojo.js: Added. |
| * Dromaeo/resources/dromaeo/web/lib/jquery.js: Added. |
| * Dromaeo/resources/dromaeo/web/lib/mootools.js: Added. |
| * Dromaeo/resources/dromaeo/web/lib/prototype.js: Added. |
| * Dromaeo/resources/dromaeo/web/pngfix.js: Added. |
| * Dromaeo/resources/dromaeo/web/reset.css: Added. |
| * Dromaeo/resources/dromaeo/web/test-head.html: Added. |
| * Dromaeo/resources/dromaeo/web/test-head.js: Added. |
| * Dromaeo/resources/dromaeo/web/test-tail.html: Added. |
| * Dromaeo/resources/dromaeo/web/test-tail.js: Added. |
| * Dromaeo/resources/dromaeo/web/tests/MANIFEST.json: Added. |
| * Dromaeo/resources/dromaeo/web/tests/cssquery-dojo.html: Added. |
| * Dromaeo/resources/dromaeo/web/tests/cssquery-jquery.html: Added. |
| * Dromaeo/resources/dromaeo/web/tests/cssquery-mootools.html: Added. |
| * Dromaeo/resources/dromaeo/web/tests/cssquery-prototype.html: Added. |
| * Dromaeo/resources/dromaeo/web/tests/cssquery-yui.html: Added. |
| * Dromaeo/resources/dromaeo/web/tests/dom-attr.html: Added. |
| * Dromaeo/resources/dromaeo/web/tests/dom-modify.html: Added. |
| * Dromaeo/resources/dromaeo/web/tests/dom-query.html: Added. |
| * Dromaeo/resources/dromaeo/web/tests/dom-traverse.html: Added. |
| * Dromaeo/resources/dromaeo/web/tests/dromaeo-3d-cube.html: Added. |
| * Dromaeo/resources/dromaeo/web/tests/dromaeo-core-eval.html: Added. |
| * Dromaeo/resources/dromaeo/web/tests/dromaeo-object-array.html: Added. |
| * Dromaeo/resources/dromaeo/web/tests/dromaeo-object-regexp.html: Added. |
| * Dromaeo/resources/dromaeo/web/tests/dromaeo-object-string.html: Added. |
| * Dromaeo/resources/dromaeo/web/tests/dromaeo-string-base64.html: Added. |
| * Dromaeo/resources/dromaeo/web/tests/jslib-attr-jquery.html: Added. |
| * Dromaeo/resources/dromaeo/web/tests/jslib-attr-prototype.html: Added. |
| * Dromaeo/resources/dromaeo/web/tests/jslib-event-jquery.html: Added. |
| * Dromaeo/resources/dromaeo/web/tests/jslib-event-prototype.html: Added. |
| * Dromaeo/resources/dromaeo/web/tests/jslib-modify-jquery.html: Added. |
| * Dromaeo/resources/dromaeo/web/tests/jslib-modify-prototype.html: Added. |
| * Dromaeo/resources/dromaeo/web/tests/jslib-style-jquery.html: Added. |
| * Dromaeo/resources/dromaeo/web/tests/jslib-style-prototype.html: Added. |
| * Dromaeo/resources/dromaeo/web/tests/jslib-traverse-jquery.html: Added. |
| * Dromaeo/resources/dromaeo/web/tests/jslib-traverse-prototype.html: Added. |
| * Dromaeo/resources/dromaeo/web/tests/sunspider-3d-morph.html: Added. |
| * Dromaeo/resources/dromaeo/web/tests/sunspider-3d-raytrace.html: Added. |
| * Dromaeo/resources/dromaeo/web/tests/sunspider-access-binary-trees.html: Added. |
| * Dromaeo/resources/dromaeo/web/tests/sunspider-access-fannkuch.html: Added. |
| * Dromaeo/resources/dromaeo/web/tests/sunspider-access-nbody.html: Added. |
| * Dromaeo/resources/dromaeo/web/tests/sunspider-access-nsieve.html: Added. |
| * Dromaeo/resources/dromaeo/web/tests/sunspider-bitops-3bit-bits-in-byte.html: Added. |
| * Dromaeo/resources/dromaeo/web/tests/sunspider-bitops-bits-in-byte.html: Added. |
| * Dromaeo/resources/dromaeo/web/tests/sunspider-bitops-bitwise-and.html: Added. |
| * Dromaeo/resources/dromaeo/web/tests/sunspider-bitops-nsieve-bits.html: Added. |
| * Dromaeo/resources/dromaeo/web/tests/sunspider-controlflow-recursive.html: Added. |
| * Dromaeo/resources/dromaeo/web/tests/sunspider-crypto-aes.html: Added. |
| * Dromaeo/resources/dromaeo/web/tests/sunspider-crypto-md5.html: Added. |
| * Dromaeo/resources/dromaeo/web/tests/sunspider-crypto-sha1.html: Added. |
| * Dromaeo/resources/dromaeo/web/tests/sunspider-date-format-tofte.html: Added. |
| * Dromaeo/resources/dromaeo/web/tests/sunspider-date-format-xparb.html: Added. |
| * Dromaeo/resources/dromaeo/web/tests/sunspider-math-cordic.html: Added. |
| * Dromaeo/resources/dromaeo/web/tests/sunspider-math-partial-sums.html: Added. |
| * Dromaeo/resources/dromaeo/web/tests/sunspider-math-spectral-norm.html: Added. |
| * Dromaeo/resources/dromaeo/web/tests/sunspider-regexp-dna.html: Added. |
| * Dromaeo/resources/dromaeo/web/tests/sunspider-string-fasta.html: Added. |
| * Dromaeo/resources/dromaeo/web/tests/sunspider-string-tagcloud.html: Added. |
| * Dromaeo/resources/dromaeo/web/tests/sunspider-string-unpack-code.html: Added. |
| * Dromaeo/resources/dromaeo/web/tests/sunspider-string-validate-input.html: Added. |
| * Dromaeo/resources/dromaeo/web/tests/v8-crypto.html: Added. |
| * Dromaeo/resources/dromaeo/web/tests/v8-deltablue.html: Added. |
| * Dromaeo/resources/dromaeo/web/tests/v8-earley-boyer.html: Added. |
| * Dromaeo/resources/dromaeo/web/tests/v8-raytrace.html: Added. |
| * Dromaeo/resources/dromaeo/web/tests/v8-richards.html: Added. |
| * Dromaeo/resources/dromaeo/web/tests/72px.png: Added. |
| * Dromaeo/resources/dromaeo/web/web-style.css: Added. |
| * Dromaeo/resources/dromaeo/web/webrunner.js: Added. |
| * Skipped: Unskip the dromaeo driver. |
| |
| 2012-01-31 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Fix Parser/html5-full-render.html after r106379. |
| |
| * Parser/html5-full-render.html: |
| |
| 2012-01-31 Ryosuke Niwa <rniwa@webkit.org> |
| |
| PerfTestRunner should automatically create pre#log |
| https://bugs.webkit.org/show_bug.cgi?id=77469 |
| |
| Reviewed by Tony Chang. |
| |
| Automatically generate <pre id="log"></pre> if there isn't one. |
| |
| * Bindings/event-target-wrapper.html: |
| * DOM/Accessors.html: |
| * DOM/CloneNodes.html: |
| * DOM/CreateNodes.html: |
| * DOM/DOMDivWalk.html: |
| * DOM/DOMTable.html: |
| * DOM/DOMWalk.html: |
| * DOM/Events.html: |
| * DOM/GetElement.html: |
| * DOM/GridSort.html: |
| * DOM/Template.html: |
| * Dromaeo/dom-query.html: |
| * Dromaeo/resources/dromaeorunner.js: |
| * Parser/html-parser.html: |
| * Parser/html5-full-render.html: |
| * Parser/simple-url.html: |
| * Parser/tiny-innerHTML.html: |
| * Parser/url-parser.html: |
| * Parser/xml-parser.html: |
| * resources/runner.js: |
| (PerfTestRunner.log): |
| (PerfTestRunner.printStatistics): |
| |
| 2012-01-31 Ryosuke Niwa <rniwa@webkit.org> |
| |
| runner.js in performance tests should define a class |
| https://bugs.webkit.org/show_bug.cgi?id=77074 |
| |
| Reviewed by Eric Seidel. |
| |
| Wrap all functions in runner.js by PerfTestRunner and update tests that runner.js accordingly. |
| Also replace compute* functions in runner.js by more robust code from dom-perf.js. |
| |
| * Bindings/event-target-wrapper.html: |
| * DOM/DOMTable.html: |
| * DOM/resources/dom-perf.js: |
| (BenchmarkSuite.prototype.RunSingle): |
| (runBenchmarkSuite): |
| * Mutation/append-child-deep.html: |
| * Mutation/append-child.html: |
| * Mutation/inner-html.html: |
| * Mutation/remove-child-deep.html: |
| * Mutation/remove-child.html: |
| * Parser/html-parser.html: |
| * Parser/html5-full-render.html: |
| * Parser/simple-url.html: |
| * Parser/tiny-innerHTML.html: |
| * Parser/url-parser.html: |
| * Parser/xml-parser.html: |
| * resources/runner.js: |
| (PerfTestRunner.log): |
| (PerfTestRunner.logInfo): |
| (PerfTestRunner.loadFile): |
| (PerfTestRunner.computeStatistics): |
| (PerfTestRunner.logStatistics): |
| (PerfTestRunner._runLoop.else): |
| (PerfTestRunner._runLoop): |
| (PerfTestRunner._runner): |
| |
| 2012-01-31 Hajime Morrita <morrita@chromium.org> |
| |
| [PerformanceTests] Add landing html for Dromaeo dom-query test |
| https://bugs.webkit.org/show_bug.cgi?id=77329 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| Added a "landing html" which includes actual dromaemo page and |
| send messages to interact with it. The landing html also dumps the |
| score in run-perf-tests friendly format. |
| |
| This test isn't enabled until Dromaemo itself is available for run-perf-tests. |
| It will happen in a separate change. |
| |
| * Dromaeo/dom-query.html: Added. |
| * Dromaeo/resources/dromaeorunner.js: Added. |
| * Skipped: Skipping this for now. |
| |
| 2012-01-30 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Skip inspector tests since they have been timing out. |
| |
| * Skipped: |
| |
| 2012-01-29 Ryosuke Niwa <rniwa@webkit.org> |
| |
| DOM/DOMDivWalk.html result is unreliable |
| https://bugs.webkit.org/show_bug.cgi?id=77313 |
| |
| Reviewed by Adam Barth. |
| |
| Trigger garbage collection manually between test runs to avoid GC |
| to occur in the middle of runs. |
| |
| * DOM/resources/dom-perf.js: |
| (BenchmarkSuite.prototype.RunSingle): |
| * resources/runner.js: |
| (gc.else.gcRec): |
| (gc): |
| (runLoop): |
| |
| 2012-01-26 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Import Chromium's dom_perf test |
| https://bugs.webkit.org/show_bug.cgi?id=77175 |
| |
| Reviewed by Adam Barth. |
| |
| Import dom_perf. |
| |
| Note resources/dom/suites.js isn't used by any html file yet but it will be used by Chromium port |
| once its perf bots start pulling test files from WebKit repository instead of Google's internal repository. |
| |
| * DOM: Added. |
| * DOM/Accessors.html: Added. |
| * DOM/CloneNodes.html: Added. |
| * DOM/CreateNodes.html: Added. |
| * DOM/DOMDivWalk.html: Added. |
| * DOM/DOMTable.html: Added. |
| * DOM/DOMWalk.html: Added. |
| * DOM/Events.html: Added. |
| * DOM/GetElement.html: Added. |
| * DOM/GridSort.html: Added. |
| * DOM/Template.html: Added. |
| * DOM/resources: Added. |
| * DOM/resources/dom-perf.js: Added. |
| * DOM/resources/dom-perf: Added. |
| * DOM/resources/dom-perf/accessors.js: Added. |
| * DOM/resources/dom-perf/clonenodes.js: Added. |
| * DOM/resources/dom-perf/createnodes.js: Added. |
| * DOM/resources/dom-perf/domdivwalk.js: Added. |
| * DOM/resources/dom-perf/domtable.js: Added. |
| * DOM/resources/dom-perf/domwalk.js: Added. |
| * DOM/resources/dom-perf/events.js: Added. |
| * DOM/resources/dom-perf/getelement.js: Added. |
| * DOM/resources/dom-perf/gridsort.js: Added. |
| * DOM/resources/dom-perf/suites.js: Added. |
| * DOM/resources/dom-perf/template.js: Added. |
| * resources/runner.js: |
| |
| 2012-01-25 Ryosuke Niwa <rniwa@webkit.org> |
| |
| html5-full-render.html fails due to a log |
| https://bugs.webkit.org/show_bug.cgi?id=77046 |
| |
| Reviewed by Adam Barth. |
| |
| Replace the call to log() in html5-full-render.html by a call to newly added logInfo(), |
| which doesn't print anything inside DRT. |
| |
| * Parser/html5-full-render.html: |
| * resources/runner.js: |
| (logInfo): |
| |
| 2012-01-19 Adam Barth <abarth@webkit.org> |
| |
| PerformanceTests's runner.js shouldn't be Parser-specific |
| https://bugs.webkit.org/show_bug.cgi?id=76670 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| This runner script is used by a bunch of difference performance tests. |
| It shouldn't be in the Parser directory anymore. |
| |
| * Bindings/event-target-wrapper.html: |
| * Mutation/append-child-deep.html: |
| * Mutation/append-child.html: |
| * Mutation/inner-html.html: |
| * Mutation/remove-child-deep.html: |
| * Mutation/remove-child.html: |
| * Parser/html-parser.html: |
| * Parser/html5-full-render.html: |
| * Parser/resources/runner.js: Removed. |
| * Parser/simple-url.html: |
| * Parser/tiny-innerHTML.html: |
| * Parser/url-parser.html: |
| * Parser/xml-parser.html: |
| * resources: Added. |
| * resources/runner.js: Copied from PerformanceTests/Parser/resources/runner.js. |
| |
| 2012-01-19 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Some perf tests time out when ran by run-perf-tests |
| https://bugs.webkit.org/show_bug.cgi?id=76612 |
| |
| Reviewed by Dirk Pranke and Eric Seidel. |
| |
| Replace all images in html5.html by geenbox.png to avoid accessing whatwg.org when |
| running the parser tests. Also call dumpAsText, waitUntilDone, and notifyDone automatically |
| inside runner.js to avoid having to call them in individual tests. |
| |
| * Bindings/event-target-wrapper.html: Removed calls to layoutTestController methods since |
| they are now called by runner.js automatically. |
| * Parser/resources/greenbox.png: Copied from LayoutTests/fast/css/resources/greenbox.png. |
| * Parser/resources/html5.html: |
| * Parser/resources/runner.js: |
| (runLoop): |
| |
| 2012-01-18 Ryosuke Niwa <rniwa@webkit.org> |
| |
| run-perf-tests should support Skipped list |
| https://bugs.webkit.org/show_bug.cgi?id=76594 |
| |
| Reviewed by Adam Barth. |
| |
| Add Skipped list to be used by run-perf-tests as it can only runs tests in |
| Bindings, Parser, and inspector at the moment. |
| |
| * Skipped: Added. |
| |
| 2012-01-12 Ilya Tikhonovsky <loislo@chromium.org> |
| |
| Web Inspector: performance: restore 'log 300 messages into console' test. |
| https://bugs.webkit.org/show_bug.cgi?id=76170 |
| |
| It was removed in order of transition from layout tests to perf tests. |
| |
| Reviewed by Yury Semikhatsky. |
| |
| * inspector/console-300-lines.html: Added. |
| |
| 2012-01-12 Ilya Tikhonovsky <loislo@chromium.org> |
| |
| Web Inspector: performance tests: fix memory leak in first-open-resources test. |
| https://bugs.webkit.org/show_bug.cgi?id=76049 |
| |
| first-open-resources doesn't reset resource panel properly after test run. |
| |
| Reviewed by Yury Semikhatsky. |
| |
| * inspector/first-open-resources.html: |
| |
| 2012-01-10 Ilya Tikhonovsky <loislo@chromium.org> |
| |
| Unreviewed. WebInspector: Remove unnecessary logging from the test. |
| |
| * inspector/first-open-resources.html: |
| |
| 2012-01-10 Ilya Tikhonovsky <loislo@chromium.org> |
| |
| Unreviewed. Restore test that was removed during migration from LayoutTests folder. |
| |
| * inspector/first-open-resources.html: Added. |
| |
| 2012-01-09 Ilya Tikhonovsky <loislo@chromium.org> |
| |
| Unreviewed test fix after r103683. |
| |
| * inspector/first-open-scripts.html: |
| * inspector/show-panel.html: |
| |
| 2012-01-03 Adam Barth <abarth@webkit.org> |
| |
| html-parser.html takes too long to run |
| https://bugs.webkit.org/show_bug.cgi?id=75515 |
| |
| Reviewed by Eric Seidel. |
| |
| In working on runner.js, we introduced a factor of 10 increase to the |
| running time of this benchmark. This patch dials down the number of |
| iterations to something more user-friendly. |
| |
| * Parser/html-parser.html: |
| |
| 2011-12-18 Ilya Tikhonovsky <loislo@chromium.org> |
| |
| Web Inspector: move heap data stats to separate tab. |
| https://bugs.webkit.org/show_bug.cgi?id=74704 |
| |
| Reviewed by Pavel Feldman. |
| |
| * inspector/performance-test.js: |
| (initialize_TimeTracker.InspectorTest.runPerformanceTest.Timer.prototype._dump): |
| (initialize_TimeTracker.InspectorTest.runPerformanceTest): |
| |
| 2011-12-01 Ilya Tikhonovsky <loislo@chromium.org> |
| |
| Web Inspector: chromium: move and adapt Inspector's performance tests for running with run-inspector-perf-tests.py. |
| https://bugs.webkit.org/show_bug.cgi?id=72260 |
| |
| Reviewed by Pavel Feldman. |
| |
| * inspector/first-open-elements.html: Renamed from LayoutTests/inspector/performance/resources/first-open-elements.html. |
| * inspector/first-open-scripts.html: Renamed from LayoutTests/inspector/performance/resources/first-open-scripts.html. |
| * inspector/inspector-startup-time.html: Renamed from LayoutTests/inspector/performance/resources/inspector-startup-time.html. |
| * inspector/network-append-30-requests.html: Renamed from LayoutTests/inspector/performance/resources/network-append-30-requests.html. |
| * inspector/performance-test.js: Renamed from LayoutTests/inspector/performance/resources/performance-test.js. |
| (initialize_TimeTracker.InspectorTest.runPerformanceTest.Timer): |
| (initialize_TimeTracker.InspectorTest.runPerformanceTest.Timer.prototype.start): |
| (initialize_TimeTracker.InspectorTest.runPerformanceTest.Timer.prototype.finish): |
| (initialize_TimeTracker.InspectorTest.runPerformanceTest.Timer.prototype._getJSHeapSize): |
| (initialize_TimeTracker.InspectorTest.runPerformanceTest.Timer.prototype.done): |
| (initialize_TimeTracker.InspectorTest.runPerformanceTest.Timer.prototype._runTest): |
| (initialize_TimeTracker.InspectorTest.runPerformanceTest.Timer.prototype._dump): |
| (initialize_TimeTracker.InspectorTest.runPerformanceTest): |
| (initialize_TimeTracker.InspectorTest.mark): |
| * inspector/show-panel.html: Renamed from LayoutTests/inspector/performance/resources/show-panel.html. |
| |
| 2011-11-09 Adam Klein <adamk@chromium.org> |
| |
| [MutationObservers] Microbenchmarks for appendChild, removeChild, and innerHTML |
| https://bugs.webkit.org/show_bug.cgi?id=71939 |
| |
| Reviewed by Ojan Vafai. |
| |
| These benchmarks time both the DOM mutations themselves and the time taken |
| to call the MutationCallback. This measurement is achieved by |
| executing the code entirely within the MutationCallback itself. |
| |
| * Mutation/append-child-deep.html: Added. Covers appendChild in a 200-node-deep tree with subtree observation. |
| * Mutation/append-child.html: Added. Covers appendChild in a flat tree. |
| * Mutation/inner-html.html: Added. Covers innerHTML adding and removing many nodes at a time. |
| * Mutation/remove-child-deep.html: Added. Covers removeChild in a 200-node-deep tree with subtree observation. |
| * Mutation/remove-child.html: Added. Covers removeChild in a flat tree. |
| |
| 2011-10-25 Adam Barth <abarth@webkit.org> |
| |
| EventTargetFactory.in is not sorted |
| https://bugs.webkit.org/show_bug.cgi?id=70855 |
| |
| Reviewed by Eric Seidel. |
| |
| Add a microbenchmark for wrapping event target. |
| |
| * Bindings: Added. |
| * Bindings/event-target-wrapper.html: Added. |
| * Parser/resources/runner.js: |
| (runLoop): |
| - Let the user of the harness get a callback when the test is done. |
| |
| 2011-10-04 Eric Seidel <eric@webkit.org> |
| |
| Update html5-full-render.html to load the HTML5 spec incrementally, closer to how the browser would |
| https://bugs.webkit.org/show_bug.cgi?id=69374 |
| |
| Unreviewed. |
| |
| Per https://bugs.webkit.org/show_bug.cgi?id=69374#c7 |
| updating the chunksize to be a bit smaller now that the total |
| size of the html5 spec is smaller than when I wrote the test. |
| |
| This should increase the prevalence of style resolution in the |
| sample time, which more closely matches instrument samples |
| taken when loading the full page in Safari. |
| |
| * Parser/html5-full-render.html: |
| |
| 2011-10-04 Eric Seidel <eric@webkit.org> |
| |
| Update html5-full-render.html to load the HTML5 spec incrementally, closer to how the browser would |
| https://bugs.webkit.org/show_bug.cgi?id=69374 |
| |
| Reviewed by James Robinson. |
| |
| This should finally be able to provide us with a repeatable metric |
| for how fast we're currently able to load the HTML5 spec. |
| There are a variety of interesting functions which show up in this |
| sample, including of course style resolution. |
| |
| * Parser/html5-full-render.html: |
| |
| 2011-10-04 Eric Seidel <eric@webkit.org> |
| |
| Update our copy of the HTML5 spec used for performance testing to match the latest version |
| https://bugs.webkit.org/show_bug.cgi?id=69364 |
| |
| Unreviewed. The patch is too large to post, so landing this unreviewed. :( |
| |
| The copy of the html5 spec we were using for testing was over a year old |
| and didn't have any of the subresources with it (we were only using it |
| as an HTML parsing benchmark). I'm about to use it for testing |
| the full load/render time of the benchmark, so I've updated to the latest |
| version of the spec (now 8mb instead of 5mb) and inlined two of the |
| CSS files. (Inlining the CSS was necessary to make my testing consistent |
| as there seems to be a race with some timer fired after CSS load.) |
| |
| Increasing from 5mb to 8mb showed a similar 30% slowdown in our parser |
| benchmarks as expected. |
| |
| * Parser/resources/html5.html: |
| |
| 2011-10-04 Eric Seidel <eric@webkit.org> |
| |
| Add loopsPerRun option to Parser performance test runner |
| https://bugs.webkit.org/show_bug.cgi?id=69363 |
| |
| Reviewed by Antti Koivisto. |
| |
| Add loopsPerRun option and abstract out runLoop function (to make the UI more responsive). |
| No change in behavior in any of the tests. |
| |
| * Parser/resources/runner.js: |
| (runLoop): |
| (run): |
| (start): |
| |
| 2011-10-03 Eric Seidel <eric@webkit.org> |
| |
| Add a microbenchmark for a full-page render of the HTML5 spec |
| https://bugs.webkit.org/show_bug.cgi?id=69285 |
| |
| Reviewed by Adam Barth. |
| |
| This was designed to be a test for https://bugs.webkit.org/show_bug.cgi?id=68944 |
| But it seems that by far our dominating cost for the HTML5 benchmark is |
| time spent laying out lines (which isn't actually that surprising). |
| |
| I'm adding the performance test for posterity. |
| |
| * Parser/html-parser.html: |
| - Removed use of "about:blank" which abarth says is a no-op. Made comment more accurate. |
| * Parser/html5-full-render.html: Copied from PerformanceTests/Parser/html-parser.html. |
| |
| 2011-10-03 Eric Seidel <eric@webkit.org> |
| |
| PerformanceTests/Parser/html-parser is only testing parsing of the head element |
| https://bugs.webkit.org/show_bug.cgi?id=69283 |
| |
| Reviewed by Adam Barth. |
| |
| While investigating https://bugs.webkit.org/show_bug.cgi?id=68944 |
| I found that the html-parser benchmark was only parsing up to the |
| first script tag per loop! We've fixed this by adding the sandbox |
| tag which will deny all external loads and allow the parser to |
| synchronously continue parsing the entire document to completion |
| (as we had expected it was doing). |
| |
| This changes the profile somewhat. Line number counting is much |
| hotter, since we're actually accounting for the parse of the entire |
| document in our sample. |
| |
| Total sample time only about doubles, from 1800ms to 3800ms on my machine |
| which is less than I would have expected. |
| |
| * Parser/html-parser.html: |
| |
| 2011-08-09 Alexandru Chiculita <achicu@adobe.com> |
| |
| Fixing 65868 REGRESSION(r92610) caused by 65668 - Optimize floating elements lookup |
| https://bugs.webkit.org/show_bug.cgi?id=65871 |
| |
| Reviewed by Dave Hyatt. |
| |
| * Layout/floats.html: Added the nested divs, so that we can test the propagation impact of the floats tree. |
| |
| 2011-08-08 Sheriff Bot <webkit.review.bot@gmail.com> |
| |
| Unreviewed, rolling out r92610. |
| http://trac.webkit.org/changeset/92610 |
| https://bugs.webkit.org/show_bug.cgi?id=65868 |
| |
| Caused assertion failures when running fast/multicol tests |
| (Requested by andersca on #webkit). |
| |
| * Layout/floats.html: |
| |
| 2011-08-08 Alexandru Chiculita <achicu@adobe.com> |
| |
| Optimize floating elements lookup |
| https://bugs.webkit.org/show_bug.cgi?id=65668 |
| |
| Reviewed by David Hyatt. |
| |
| * Layout/floats.html: Added the nested divs, so that we can test the propagation impact of the floats tree. |
| |
| 2011-08-04 Alexandru Chiculita <achicu@adobe.com> |
| |
| Add a performance test for floating elements layout algorithm |
| https://bugs.webkit.org/show_bug.cgi?id=65741 |
| |
| The test creating lots of small floats and randomly changes |
| the width of one element at a time. It measures how often it can do that. |
| |
| Reviewed by Adam Barth. |
| |
| * Layout/floats.html: Added. |
| |
| 2011-05-30 Daniel Bates <dbates@webkit.org> |
| |
| Reviewed by Adam Barth. |
| |
| Rename XSSFilter to XSSAuditor |
| https://bugs.webkit.org/show_bug.cgi?id=61718 |
| |
| Currently we use the names XSSFilter and XSSAuditor throughout the project. |
| Instead, we should choose one name for consistency. |
| |
| No functionality was changed. So, no new tests. |
| |
| * XSSAuditor: Copied from PerformanceTests/XSSFilter. |
| * XSSFilter: Removed. |
| * XSSFilter/large-post-many-events.html: Removed. |
| * XSSFilter/large-post-many-inline-scripts-and-events.html: Removed. |
| * XSSFilter/resources: Removed. |
| * XSSFilter/resources/target-for-large-post-many-inline-scripts-and-events.html: Removed. |
| |
| 2011-03-25 Leo Yang <leo.yang@torchmobile.com.cn> |
| |
| Reviewed by Dirk Schulze. |
| |
| SVG <use> element performance improvement |
| https://bugs.webkit.org/show_bug.cgi?id=57077 |
| |
| Add a manual test case which is from |
| http://upload.wikimedia.org/wikipedia/commons/4/4e/Sierpinski_carpet_6.svg |
| for svg <use> element performance test. |
| |
| * PageLoad/svg/files/Sierpinski_carpet_6.svg: Added. |
| * PageLoad/svg/svg.pltsuite: |
| |
| 2011-02-05 Eric Seidel <eric@webkit.org> |
| |
| Reviewed by Adam Barth. |
| |
| Add performance tests for URL parsing |
| https://bugs.webkit.org/show_bug.cgi?id=53845 |
| |
| The final-url-en URL corpus is from: |
| http://corpus.leeds.ac.uk/internet.html |
| |
| There are also other language corpuses which we may want to use in the future. |
| |
| The usage instructions were as follows: |
| "URL lists and other resources: you can freely use them in your research |
| provided that you supply a link to this website: http://corpus.leeds.ac.uk/." |
| Done. |
| |
| * Parser/simple-url.html: Added. |
| On my machine: |
| Firefox: 255ms |
| TOT WebKit: 378ms |
| Chrome: 286ms |
| Opera: 2830ms (no, that is not a typo) |
| * Parser/url-parser.html: Added. |
| Firefox: 381ms |
| TOT WebKit: 216ms |
| Chrome: 131ms |
| Opera: 1383ms (again, not a typo) |
| * Parser/resources/final-url-en: Added. |
| |
| 2011-02-03 Adam Barth <abarth@webkit.org> |
| |
| Reviewed by Daniel Bates. |
| |
| Add another XSSFilter PerformanceTest |
| https://bugs.webkit.org/show_bug.cgi?id=53750 |
| |
| This PerformanceTest tests the case that was slow in |
| https://bugs.webkit.org/show_bug.cgi?id=49845 |
| |
| * XSSFilter/large-post-many-inline-scripts-and-events.html: Added. |
| * XSSFilter/resources: Added. |
| * XSSFilter/resources/target-for-large-post-many-inline-scripts-and-events.html: Added. |
| |
| 2011-02-03 Adam Barth <abarth@webkit.org> |
| |
| Reviewed by Eric Seidel. |
| |
| Add PerformanceTest for XSSFilter |
| https://bugs.webkit.org/show_bug.cgi?id=53741 |
| |
| This performance tests covers the case of a large POST data and many |
| small event handlers. |
| |
| * XSSFilter: Added. |
| * XSSFilter/large-post-many-events.html: Added. |
| |
| 2011-02-02 Adam Barth <abarth@webkit.org> |
| |
| Rubber-stamped by Eric Seidel. |
| |
| Merge PerformanceTests/Parser/ChangeLog and |
| PerformanceTests/PageLoad/ChangeLog into PerformanceTests/ChangeLog. |
| |
| It's silly to have ChangeLogs for each of these directories separately. |
| I've left SunSpider with its own ChangeLog because it's more of an |
| independent entity. |
| |
| * ChangeLog: Added. |
| |
| 2011-02-02 Eric Seidel <eric@webkit.org> |
| |
| Unreviewed. Just fixing an exception seen in Firefox. |
| |
| HTML5 TreeBuilder regressed a Peacekeeper DOM test by 40% |
| https://bugs.webkit.org/show_bug.cgi?id=48719 |
| |
| Make the benchmarks work in Firefox/Opera. |
| |
| * resources/runner.js: |
| (log): |
| |
| 2011-01-27 Eric Seidel <eric@webkit.org> |
| |
| Reviewed by Darin Adler. |
| |
| HTML5 TreeBuilder regressed a Peacekeeper DOM test by 40% |
| https://bugs.webkit.org/show_bug.cgi?id=48719 |
| |
| It's unclear exactly what the Peacekeeper benchmark is testing, |
| because I haven't found a way to run it myself. |
| |
| However, I constructed a benchmark which shows at least one possible slow point. |
| The HTML5 spec talks about creating a new document for every time we use |
| the fragment parsing algorithm. Document() it turns out, it a huge bloated |
| mess, and the constructor and destructor do a huge amount of work. |
| |
| * benchmarks/parser/tiny-innerHTML.html: Added. |
| |
| 2011-01-29 Sheriff Bot <webkit.review.bot@gmail.com> |
| |
| Unreviewed, rolling out r77050. |
| http://trac.webkit.org/changeset/77050 |
| https://bugs.webkit.org/show_bug.cgi?id=53371 |
| |
| Caused a crash in Chromium's test_shell_tests (Requested by |
| rniwa on #webkit). |
| |
| * resources/performance-test.js: Removed. |
| * tiny-innerHTML.html: Removed. |
| |
| 2011-01-28 Eric Seidel <eric@webkit.org> |
| |
| Reviewed by Darin Adler. |
| |
| HTML5 TreeBuilder regressed a Peacekeeper DOM test by 40% |
| https://bugs.webkit.org/show_bug.cgi?id=48719 |
| |
| It's unclear exactly what the Peacekeeper benchmark is testing, |
| because I haven't found a way to run it myself. |
| |
| However, I constructed a benchmark which shows at least one possible slow point. |
| The HTML5 spec talks about creating a new document for every time we use |
| the fragment parsing algorithm. Document() it turns out, it a huge bloated |
| mess, and the constructor and destructor do a huge amount of work. |
| To avoid constructing (or destructing) documents for each innerHTML call, |
| this patch adds a shared dummy document used by all innerHTML calls. |
| |
| * benchmarks/parser/tiny-innerHTML.html: Added. |
| |
| 2010-12-31 Adam Barth <abarth@webkit.org> |
| |
| Rubber-stamped by Eric Seidel. |
| |
| Move HTML and XML parser benchmarks into PerformanceTests/Parser |
| https://bugs.webkit.org/show_bug.cgi?id=51772 |
| |
| Add a ChangeLog for tracking changes to the Parser PerformanceTest. |
| |
| * ChangeLog: Added. |
| |
| 2010-12-31 Adam Barth <abarth@webkit.org> |
| |
| Rubber-stamped by Eric Seidel. |
| |
| Move PageLoadTests to PerformanceTests/PageLoad |
| https://bugs.webkit.org/show_bug.cgi?id=51771 |
| |
| Update URLs to point to the new directory name. |
| |
| * svg/svg.pltsuite: |
| |
| 2006-12-26 Eric Seidel <eric@webkit.org> |
| |
| Reviewed by olliej. |
| |
| * svg/svg.pltsuite: re-enable word-iso.svg after fixing http://bugs.webkit.org/show_bug.cgi?id=11987 |
| |
| 2006-12-26 Eric Seidel <eric@webkit.org> |
| |
| Reviewed by bradee-oh. |
| |
| Add new PageLoadTests directory (this one) |
| Add LICENSES file to explain where each SVG came from. |
| |
| * ChangeLog: Added. |
| * svg/LICENSES: Added. |
| * svg/files/33041-Samurai.svg: Added. |
| * svg/files/42470-flower_from_my_garden_v2.svg: Added. |
| * svg/files/Harvey_Rayner.svg: Added. |
| * svg/files/az-lizard_benji_park_01.svg: Added. |
| * svg/files/bamboo_01.svg: Added. |
| * svg/files/cacuts_01.svg: Added. |
| * svg/files/cowboy.svg: Added. |
| * svg/files/crawfish2_ganson.svg: Added. |
| * svg/files/deb9frac1.svg: Added. |
| * svg/files/food_leif_lodahl_01.svg: Added. |
| * svg/files/france.svg: Added. |
| * svg/files/francobollo_gnome_ezechi_02.svg: Added. |
| * svg/files/gearflowers.svg: Added. |
| * svg/files/hereGear4.svg: Added. |
| * svg/files/mtsthelens.svg: Added. |
| * svg/files/mtsthelens0.jpg: Added. |
| * svg/files/world-iso.svg: Added. |
| * svg/files/worldcup.svg: Added. |
| * svg/svg.pltsuite: Added. |
| |