1. 21 Feb, 2017 1 commit
    • Caitlin Potter's avatar
      [builtins] fix slow-path handling of -Infinity in ArrayIncludes · 4cd8a8b7
      Caitlin Potter authored
      This is a speculative fix, but I believe it might work.
      
      Idea is to keep `start_from` as a double while establishing an appropriate
      index to begin iteration. This should keep -Infinity intact rather than
      converting it to a positive high value, which would break the algorithm.
      This is similar to what had been implemented on the fast path before it was
      changed to send non-Smis to the slow path.
      
      BUG=v8:5986
      R=bmeurer@chromium.org, cbruni@chromium.org, machenbach@chromium.org, adamk@chromium.org
      
      Change-Id: I9965fd2e75a8972f3f1c7a18e51bd580030a66ea
      Reviewed-on: https://chromium-review.googlesource.com/445857
      Commit-Queue: Caitlin Potter <caitp@igalia.com>
      Reviewed-by: 's avatarAdam Klein <adamk@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#43358}
      4cd8a8b7
  2. 03 Feb, 2017 1 commit
  3. 18 Jan, 2017 1 commit
  4. 13 Jan, 2017 3 commits
  5. 09 Jan, 2017 1 commit
  6. 05 Jan, 2017 1 commit
  7. 16 Dec, 2016 1 commit
  8. 07 Dec, 2016 1 commit
    • petermarshall's avatar
      [Ignition/turbo] Add a NewWithSpread bytecode. · a25e7688
      petermarshall authored
      This just calls into a runtime function for implementation currently.
      
      Intermediate step in speeding up constructor calls containing a spread.
      
      The NewWithSpread bytecode will probably end up having different arguments with future CLs - the constructor and the new.target should have their own regs. For now we are calling into the runtime function, so we need the regs together.
      
      BUG=v8:5659
      
      Review-Url: https://codereview.chromium.org/2541113004
      Cr-Commit-Position: refs/heads/master@{#41542}
      a25e7688
  9. 01 Dec, 2016 1 commit
  10. 29 Nov, 2016 1 commit
  11. 18 Nov, 2016 1 commit
  12. 15 Nov, 2016 1 commit
    • petermarshall's avatar
      Fastpath some spread-call desugaring. · a63eeb48
      petermarshall authored
      Avoid using the iterator for arrays with fast elements where the iterator has
      not been modified.
      
      Only deals with the case where there is a single spread argument.
      
      Improves the six-speed "spread" benchmark to 1.5x slower than baseline es5 implementation, compared to 19x slower previously.
      
      BUG=v8:5511
      
      Review-Url: https://codereview.chromium.org/2465253011
      Cr-Commit-Position: refs/heads/master@{#40998}
      a63eeb48
  13. 14 Nov, 2016 1 commit
  14. 18 Oct, 2016 2 commits
    • bmeurer's avatar
      [intrinsics] Nuke %HasCachedArrayIndex and %GetCachedArrayIndex. · 6c85285b
      bmeurer authored
      These intrinsics are unused now, and so we can drop all the code in
      fullcodegen and Crankshaft that deals with those. TurboFan and Ignition
      never tried to optimize those.
      
      R=mstarzinger@chromium.org
      BUG=v8:5049
      
      Review-Url: https://codereview.chromium.org/2427673004
      Cr-Commit-Position: refs/heads/master@{#40401}
      6c85285b
    • caitp's avatar
      [builtins] implement Array.prototype[@@iterator] in TFJ builtins · 86d0dd36
      caitp authored
      Implements the variations of CreateArrayIterator() in TFJ builtins
      (ArrayPrototypeValues, ArrayPrototypeEntries and ArrayPrototypeKeys), and
      provides two new Object types with numerous maps which identify certain
      behaviours, which will be useful for inlining.
      
      Removes src/js/array-iterator.js entirely
      
      Also adds support for printing Symbol literals inserted by the Parser during
      desugaring when FLAG_print_builtin_ast is set to true.
      
      BUG=v8:5388
      R=bmeurer@chromium.org, cbruni@chromium.org
      TBR=ulan@chromium.org
      
      Review-Url: https://codereview.chromium.org/2405253006
      Cr-Commit-Position: refs/heads/master@{#40373}
      86d0dd36
  15. 07 Oct, 2016 3 commits
  16. 25 Aug, 2016 1 commit
  17. 22 Aug, 2016 1 commit
  18. 09 Aug, 2016 1 commit
  19. 03 Aug, 2016 1 commit
  20. 02 Aug, 2016 1 commit
  21. 01 Aug, 2016 1 commit
  22. 28 Jul, 2016 1 commit
    • danno's avatar
      Add a flag to help platform ports bootstrap V8 · c07c675e
      danno authored
      A "--minimal" flag turns off all optimizing compilers and activates the
      interpreter. The idea is that with this flag activated, only the
      platform-specific stubs and a Turbofan implementation must be complete to start
      d8 and run the bulk of the tests. Note that although this flag is constructed as
      a runtime flag, it must be set to true when building the snapshot and therefore
      creates a compile-time dependency.
      
      BUG=chromium:608675
      
      Review-Url: https://codereview.chromium.org/2189663002
      Cr-Commit-Position: refs/heads/master@{#38150}
      c07c675e
  23. 21 Jul, 2016 1 commit
    • bmeurer's avatar
      [runtime] %TransitionElementsKind works for any kind of JSObject. · f793cb1f
      bmeurer authored
      The optimizing compilers actually invoke %TransitionElementsKind for
      any kind of JSObject, the only relevant thing is the elements kind.
      The runtime function was however checking for JSArray unnecessarily.
      This only worked by coincindence in Crankshaft because the stub would
      normally not call into the runtime fallback.
      
      R=jarin@chromium.org
      BUG=chromium:629823
      
      Review-Url: https://codereview.chromium.org/2166963004
      Cr-Commit-Position: refs/heads/master@{#37919}
      f793cb1f
  24. 19 Jul, 2016 1 commit
    • bmeurer's avatar
      [turbofan] Introduce a TransitionElementsKind simplified operator. · 908cd09f
      bmeurer authored
      Instead of wriring the elements kind transitions into the control flow
      early on, we do instead put this marker into the effect chain, so that
      the elements transitions are visible to the LoadElimination and can
      thus be optimized properly there.
      
      This CL itself doesn't add any of those optimizations, but just adds
      the foundations to make them possible later.
      
      R=jarin@chromium.org
      BUG=v8:4930,v8:5141
      
      Review-Url: https://codereview.chromium.org/2164573003
      Cr-Commit-Position: refs/heads/master@{#37869}
      908cd09f
  25. 13 Jun, 2016 1 commit
  26. 10 Jun, 2016 1 commit
  27. 08 Jun, 2016 2 commits
  28. 06 Jun, 2016 1 commit
  29. 30 May, 2016 1 commit
    • cbruni's avatar
      [api] Add more parameters to Object::GetPropertyNames · 63efe9e4
      cbruni authored
      Expose more or less the full functionality of the KeyAccumulator in the API:
      - use the PropertyFilter introduced for GetOwnPropertyNames
      - use KeyCollectionLimit for OWN_ONLY or INLCUDE_PROTOS
      - use IndexFilter to eithe SKIP_INDICES or INCLUDE_INDICES
      
      Rewire Object::GetOwnPropertyNames to use GetPropertyNames.
      
      BUG=chromium:148757
      
      Review-Url: https://codereview.chromium.org/2002203002
      Cr-Commit-Position: refs/heads/master@{#36595}
      63efe9e4
  30. 25 May, 2016 1 commit
  31. 24 May, 2016 4 commits