1. 05 Apr, 2017 1 commit
  2. 29 Mar, 2017 1 commit
  3. 28 Mar, 2017 3 commits
  4. 27 Mar, 2017 3 commits
  5. 24 Mar, 2017 3 commits
  6. 23 Mar, 2017 1 commit
  7. 17 Mar, 2017 1 commit
    • Marja Hölttä's avatar
      [parser] Skipping inner funcs: store and use the inner function data. · 1191e6f6
      Marja Hölttä authored
      The data needed to be modified a bit to actually allow skipping over functions
      based on it. In particular, we need to allow skipping over an unknown inner
      scope structure (in the previous stage, we just had tests comparing the data
      against some baseline truth, so it wasn't needed).
      
      also removing the current "skip functions based on preparse data" logic,
      since preparser data is not used any more. At a later stage, I'll consider
      plugging the preparser-scope-analysis-data into that pipeline (so I don't want
      to remove the full code yet).
      
      Integration to the various forms of compilation is still incomplete; this CL
      integrates just enough to get the minimal example to pass:
      
      (function foo() {
        function preparsed() {
          var var1 = 10;
          function skip_me() {
            print(var1);
          }
          return skip_me;
        }
        return preparsed;
      })()()();
      
      BUG=v8:5516
      
      Change-Id: I0d24b4c3b338f7e6b6c3bf7cf2c1ceb29608e2f2
      Reviewed-on: https://chromium-review.googlesource.com/446336
      Commit-Queue: Marja Hölttä <marja@chromium.org>
      Reviewed-by: 's avatarDaniel Vogelheim <vogelheim@chromium.org>
      Reviewed-by: 's avatarToon Verwaest <verwaest@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#43908}
      1191e6f6
  8. 16 Mar, 2017 6 commits
  9. 15 Mar, 2017 1 commit
    • Leszek Swirski's avatar
      [compiler] Mark shared functions which have an optimization job (reland) · 8ab9080d
      Leszek Swirski authored
      Marking shared functions for tier-up was optimizing the functions
      non-concurrently, to avoid the case where the same shared function is
      optimized concurrently by multiple JS functions. This was particularly a
      problem for small functions, which (if called in a loop) could get
      marked for optimisation quite quickly.
      
      In this CL, the shared function is instead marked as having an active
      optimization job running, and these do not spawn a compilation job.
      
      BUG=chromium:693590
      BUG=chromium:700863
      BUG=chromium:701665
      
      Change-Id: I2b1c5af8e7aa8d779f86814c22c65c78bee0630f
      Reviewed-on: https://chromium-review.googlesource.com/455779Reviewed-by: 's avatarMichael Achenbach <machenbach@chromium.org>
      Commit-Queue: Leszek Swirski <leszeks@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#43833}
      8ab9080d
  10. 14 Mar, 2017 6 commits
  11. 13 Mar, 2017 1 commit
  12. 01 Mar, 2017 1 commit
    • Michael Starzinger's avatar
      [compiler] Fix {UseTurboFan} for disabled optimization. · 6ec735e0
      Michael Starzinger authored
      This fixes a corner-case in the above predicate that was introduced to
      allow fully disabling optimization using %NeverOptimizeFunction. This
      property of a function is a transient property (i.e. changes over time),
      whereas {UseTurboFan} is designed to be a static property (i.e. gives
      same answer over time). Violating this led to cases where functions got
      optimization disabled for other reasons would suddenly be baselined.
      The correct place to check transient properties is when optimization is
      requested.
      
      R=jarin@chromium.org
      TEST=mjsunit/never-baseline
      
      Change-Id: I37eb0c70d2b39704be29fd4bda76975bfbede66b
      Reviewed-on: https://chromium-review.googlesource.com/447937Reviewed-by: 's avatarJaroslav Sevcik <jarin@chromium.org>
      Commit-Queue: Michael Starzinger <mstarzinger@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#43514}
      6ec735e0
  13. 23 Feb, 2017 2 commits
  14. 22 Feb, 2017 1 commit
  15. 16 Feb, 2017 5 commits
  16. 14 Feb, 2017 1 commit
  17. 10 Feb, 2017 3 commits