Add a V8 API to communicate the RAIL performance state of the embedder. Tune V8 performance to optimize for the given RAIL state.
The following revision refers to this bug: https://chromium.googlesource.com/v8/v8.git/+/ba8ecfd58f62fa0ce762861758391038bf48e684 commit ba8ecfd58f62fa0ce762861758391038bf48e684 Author: hpayer <hpayer@chromium.org> Date: Fri May 20 13:36:02 2016 Adding a SetRAILMode API. BUG= chromium:613518 LOG=n Review-Url: https://codereview.chromium.org/1999743002 Cr-Commit-Position: refs/heads/master@{#36411} [modify] https://crrev.com/ba8ecfd58f62fa0ce762861758391038bf48e684/include/v8.h [modify] https://crrev.com/ba8ecfd58f62fa0ce762861758391038bf48e684/src/api.cc [modify] https://crrev.com/ba8ecfd58f62fa0ce762861758391038bf48e684/src/flag-definitions.h [modify] https://crrev.com/ba8ecfd58f62fa0ce762861758391038bf48e684/src/isolate.cc [modify] https://crrev.com/ba8ecfd58f62fa0ce762861758391038bf48e684/src/isolate.h
The following revision refers to this bug: https://chromium.googlesource.com/v8/v8.git/+/aea4f1a704829fcb3fc3584b9d9948deeb5bcaa5 commit aea4f1a704829fcb3fc3584b9d9948deeb5bcaa5 Author: ulan <ulan@chromium.org> Date: Fri Dec 02 16:33:45 2016 [heap] Use RAIL mode for initial heap sizing BUG= chromium:613518 Review-Url: https://codereview.chromium.org/2407153002 Cr-Commit-Position: refs/heads/master@{#41459} [modify] https://crrev.com/aea4f1a704829fcb3fc3584b9d9948deeb5bcaa5/src/heap/heap.cc [modify] https://crrev.com/aea4f1a704829fcb3fc3584b9d9948deeb5bcaa5/src/heap/heap.h [modify] https://crrev.com/aea4f1a704829fcb3fc3584b9d9948deeb5bcaa5/src/heap/incremental-marking-job.cc [modify] https://crrev.com/aea4f1a704829fcb3fc3584b9d9948deeb5bcaa5/src/heap/incremental-marking-job.h [modify] https://crrev.com/aea4f1a704829fcb3fc3584b9d9948deeb5bcaa5/src/isolate.cc [modify] https://crrev.com/aea4f1a704829fcb3fc3584b9d9948deeb5bcaa5/src/isolate.h [modify] https://crrev.com/aea4f1a704829fcb3fc3584b9d9948deeb5bcaa5/test/cctest/heap/test-heap.cc [modify] https://crrev.com/aea4f1a704829fcb3fc3584b9d9948deeb5bcaa5/test/cctest/test-api.cc
The following revision refers to this bug: https://chromium.googlesource.com/v8/v8.git/+/a1680631ff09a6082538fd8887bab00e0bdb3383 commit a1680631ff09a6082538fd8887bab00e0bdb3383 Author: ulan <ulan@chromium.org> Date: Mon Dec 05 10:15:02 2016 Revert "[heap] Use RAIL mode for initial heap sizing" This reverts commit aea4f1a704829fcb3fc3584b9d9948deeb5bcaa5. Reason: performance regression on benchmarks (crbug.com/671118). BUG=chromium:671118, chromium:613518 TBR=hpayer@chromium.org Review-Url: https://codereview.chromium.org/2549053002 Cr-Commit-Position: refs/heads/master@{#41479} [modify] https://crrev.com/a1680631ff09a6082538fd8887bab00e0bdb3383/src/heap/heap.cc [modify] https://crrev.com/a1680631ff09a6082538fd8887bab00e0bdb3383/src/heap/heap.h [modify] https://crrev.com/a1680631ff09a6082538fd8887bab00e0bdb3383/src/heap/incremental-marking-job.cc [modify] https://crrev.com/a1680631ff09a6082538fd8887bab00e0bdb3383/src/heap/incremental-marking-job.h [modify] https://crrev.com/a1680631ff09a6082538fd8887bab00e0bdb3383/src/isolate.cc [modify] https://crrev.com/a1680631ff09a6082538fd8887bab00e0bdb3383/src/isolate.h [modify] https://crrev.com/a1680631ff09a6082538fd8887bab00e0bdb3383/test/cctest/heap/test-heap.cc [modify] https://crrev.com/a1680631ff09a6082538fd8887bab00e0bdb3383/test/cctest/test-api.cc
The following revision refers to this bug: https://chromium.googlesource.com/v8/v8.git/+/7bdb906946b94e9ba10de13e104a39bbcabedbd6 commit 7bdb906946b94e9ba10de13e104a39bbcabedbd6 Author: ulan <ulan@chromium.org> Date: Fri Dec 16 16:59:44 2016 [heap] Reland "Use RAIL mode for initial heap sizing". The original patch was reverted because of performance regressions caused by removal of old heap sizing heuristics. This patch keeps the old heuristics and adds RAIL mode. BUG= chromium:613518 Review-Url: https://codereview.chromium.org/2576543002 Cr-Commit-Position: refs/heads/master@{#41773} [modify] https://crrev.com/7bdb906946b94e9ba10de13e104a39bbcabedbd6/src/heap/heap.cc [modify] https://crrev.com/7bdb906946b94e9ba10de13e104a39bbcabedbd6/src/heap/heap.h [modify] https://crrev.com/7bdb906946b94e9ba10de13e104a39bbcabedbd6/src/isolate.cc [modify] https://crrev.com/7bdb906946b94e9ba10de13e104a39bbcabedbd6/src/isolate.h
The following revision refers to this bug: https://chromium.googlesource.com/v8/v8.git/+/039e29f7505cf75d27d7681fab51d50f53dcc7bd commit 039e29f7505cf75d27d7681fab51d50f53dcc7bd Author: ulan <ulan@chromium.org> Date: Mon Dec 19 11:34:34 2016 [heap] Use RAIL mode for starting incremental marking. This patch delays start of incremental marking during L phase of RAIL and adjusts ShouldOptimizeForLoadTime to check allocation limit. BUG= chromium:613518 Review-Url: https://codereview.chromium.org/2583033003 Cr-Commit-Position: refs/heads/master@{#41797} [modify] https://crrev.com/039e29f7505cf75d27d7681fab51d50f53dcc7bd/src/heap/heap.cc [modify] https://crrev.com/039e29f7505cf75d27d7681fab51d50f53dcc7bd/src/heap/heap.h
Marking as fixed since this project is completed.
Comment 1 by hpayer@chromium.org
, May 20 2016