1. 01 Aug, 2019 1 commit
    • Mythri A's avatar
      [ic] Don't transition to premonomorphic state · 159df248
      Mythri A authored
      We used to use premonomorphic state to delay initializing the ICs.
      This optimization was to avoid the cost of setting up handlers if the
      code executed only once. With lazy feedback allocation we no longer
      need this.
      
      This cl also renames LoadIC_Uninitialized to LoadIC_Nofeedback and
      StoreIC_Uninitialized to StoreIC_Nofeedback since we now miss to
      runtime in the uninitialized state and use the builtin when there
      is no feedback.
      
      
      Change-Id: I1633e61ea74664da51348e362c34c47a017a264a
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1683525
      Commit-Queue: Mythri Alle <mythria@chromium.org>
      Reviewed-by: 's avatarToon Verwaest <verwaest@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#63020}
      159df248
  2. 23 Jul, 2019 1 commit
  3. 19 Jul, 2019 1 commit
  4. 18 Jul, 2019 2 commits
  5. 17 Jul, 2019 2 commits
  6. 11 Jul, 2019 1 commit
    • Mythri A's avatar
      Check that function was prepared before optimizing using manually · b086cb7b
      Mythri A authored
      With lazy feedback allocation and bytecode flushing we need to call
      %PrepareFunctionForOptimize before we call %OptimizeFunctionOnNextCall/
      %OptimizeOsr. This cl:
      1. Adds an additional state in pending optimized table to check if the
      optimization was triggered manually.
      2. Changes the compilation pipeline to delete the entry from pending
      optimized table only if the optimization was triggered through
      %OptimizeFunctionOnNextCall / %OptimizeOsr.
      3. Adds a check to enforce %PrepareFunctionForOptimize was called.
      4. Adds a new run-time flag to only check in the d8 test runner. We
      don't want this check enabled in other cases like clusterfuzz that doesn't
      ensure %PrepareFunctionForOptimize is called.
      
      Bug: v8:8394, v8:8801, v8:9183
      Change-Id: I9ae2b2da812e313c746b6df0b2da864c2ed5de51
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1664810
      Commit-Queue: Mythri Alle <mythria@chromium.org>
      Reviewed-by: 's avatarMichael Achenbach <machenbach@chromium.org>
      Reviewed-by: 's avatarRoss McIlroy <rmcilroy@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#62653}
      b086cb7b
  7. 08 Jul, 2019 1 commit
  8. 03 Jul, 2019 2 commits
  9. 28 Jun, 2019 2 commits
  10. 26 Jun, 2019 1 commit
  11. 14 Jun, 2019 1 commit
  12. 12 Jun, 2019 1 commit
    • Z Nguyen-Huu's avatar
      Add fast path for proxy with preventExtensions trap · 8e0ef9b9
      Z Nguyen-Huu authored
      ObjectPreventExtensions and ReflectPreventExtensions are now Torque builtins (previously CPP) and the Proxy path is implemented completely in Torque while everything else calls into runtime (and is thus a bit slower than previously).
      
      Perf improvement in micro-benchmark JSTests/Proxies
      Before:
      PreventExtensionsWithoutTrap-Proxies(Score): 1978
      PreventExtensionsWithTrap-Proxies(Score): 739
      
      After:
      PreventExtensionsWithoutTrap-Proxies(Score): 3017
      PreventExtensionsWithTrap-Proxies(Score): 2044
      
      Bug: v8:6664
      Change-Id: I6505d730cea6b0d197f6f5d0540b39056c8b763d
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1652688
      Commit-Queue: Z Nguyen-Huu <duongn@microsoft.com>
      Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Reviewed-by: 's avatarMaya Lekova <mslekova@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#62130}
      8e0ef9b9
  13. 06 Jun, 2019 1 commit
  14. 05 Jun, 2019 1 commit
  15. 27 May, 2019 1 commit
  16. 14 May, 2019 1 commit
  17. 02 May, 2019 1 commit
  18. 30 Apr, 2019 3 commits
  19. 17 Apr, 2019 1 commit
  20. 12 Apr, 2019 1 commit
  21. 25 Mar, 2019 1 commit
  22. 20 Mar, 2019 1 commit
  23. 19 Feb, 2019 1 commit
  24. 07 Feb, 2019 1 commit
  25. 04 Feb, 2019 1 commit
  26. 01 Feb, 2019 1 commit
  27. 30 Jan, 2019 1 commit
  28. 29 Jan, 2019 1 commit
  29. 16 Jan, 2019 2 commits
  30. 10 Jan, 2019 1 commit
    • Leszek Swirski's avatar
      [ignition] Fix iteration finalization exception suppression · 7fbbce5f
      Leszek Swirski authored
      The IteratorClose spec specifies that exceptions in
      %GetMethod(iterator.return) are not suppressed by exceptions in the
      given continuation (body of a loop, assignments in destructuring),
      while exceptions in the execution of iterator.return() are.
      
      This means that we have to split out the property access + a typeof
      check to be outside the try-catch, and keep the call inside of it.
      
      The non-split version is only for cases when there is no 'throws'
      continuation (as is the case for yield* calling IteratorClose), so
      the existing BuildIteratorClose can be renamed to reflect this.
      
      Change-Id: Id71aea4fddd6ffb986bd9aaa09d29615a8800f71
      Reviewed-on: https://chromium-review.googlesource.com/c/1402789Reviewed-by: 's avatarGeorg Neis <neis@chromium.org>
      Commit-Queue: Leszek Swirski <leszeks@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#58694}
      7fbbce5f
  31. 07 Jan, 2019 1 commit
    • peterwmwong's avatar
      [js] Remove CORE JS Natives (prologue.js), port extra utils to C++/Torque · 263dce9b
      peterwmwong authored
      - Removes the last `CORE` JS native script: `prologue.js`.
      - Removes build step and bootstrapping associated with building/loading `CORE` JS natives.
      - Removes `natives_utils_object` from context.
      - Deprecates `--expose-natives-as` flag.
      - Ports extra utils functions to C++ (`uncurryThis`) or Torque
        (`createPrivateSymbol`, `markPromiseAsHandled`, and `promiseState`).
      - Move extra utils constants initialization into bootstrapper
        (`kPROMISE_PENDING`, `kPROMISE_FULFILLED`, `kPROMISE_REJECTED`).
      - Removes unused extra utils functions `log` and `logStackTrace`.
      
      Drive-by: Added test coverage for Array#includes being an unscopeable.
      
      Bug: v8:7624
      Change-Id: I5d983f8d11b76cb4dd3c2c67592ce1dc88364cd9
      Reviewed-on: https://chromium-review.googlesource.com/c/1381672Reviewed-by: 's avatarYang Guo <yangguo@chromium.org>
      Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Commit-Queue: Peter Wong <peter.wm.wong@gmail.com>
      Cr-Commit-Position: refs/heads/master@{#58577}
      263dce9b
  32. 04 Jan, 2019 1 commit
  33. 19 Dec, 2018 1 commit