1. 02 May, 2018 1 commit
  2. 23 Apr, 2018 1 commit
  3. 29 Nov, 2017 2 commits
  4. 14 Nov, 2017 1 commit
  5. 02 Nov, 2017 1 commit
  6. 30 Oct, 2017 1 commit
    • peterwmwong's avatar
      [builtins] Port WeakMap.p.set and WeakSet.p.add to CSA from JS · 7ae0a2f9
      peterwmwong authored
      - Add WeakMapPrototypeSet and WeakSetPrototypeAdd TFJ builtins
        - Fast paths for...
          1) existing key
          2) new key when ObjectHashTable has a "sufficient capacity"
      - Create WeakCollectionsBuiltinsAssembler to consolidate common WeakMap/WeakSet code generation
      - Convert existing WeakMapLookupHashIndex to use WeakCollectionsBuiltinsAssembler
      
      Some quick benchmarks shows performance gains of...
      - 1.56x - 1.98x for WeakMap constructor
      - 1.66x - 2.06x for WeakSet constructor
      - 1.50x - 2.11x for WeakMap.p.set
      - 1.54x - 2.26x for WeakSet.p.add
      
      https: //github.com/peterwmwong/v8-perf/blob/master/weakcollection-set/README.md
      Bug: v8:5049, v8:6604
      Change-Id: I3499d46be6b2b3b1d8d46720ebe86cc5142ee542
      Reviewed-on: https://chromium-review.googlesource.com/737935
      Commit-Queue: Jakob Gruber <jgruber@chromium.org>
      Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#49036}
      7ae0a2f9
  7. 20 Oct, 2017 1 commit
    • Mathias Bynens's avatar
      [js] Remove CHECK_OBJECT_COERCIBLE for Array methods · 35b6aa38
      Mathias Bynens authored
      The spec got rid of `CheckObjectCoercible` a while back, and so should
      we. This change is not observable in most of the affected cases since
      `ToObject` is up near the top of most Array method algorithms. An
      example of an observable effect of this change occurs for the following
      input:
      
          Array.prototype.sort.call(null, 1);
      
      Behavior before applying the patch (incorrect message):
      
          TypeError: Array.prototype.sort called on null or undefined
      
      Expected behavior:
      
          TypeError: The comparison function must be either a function or
                     undefined
      
      This patch removes `CheckObjectCoercible` and adds tests to ensure the
      few observable cases are addressed correctly.
      
      The patch also adds a missing `ToObject(this)` to
      `Array.prototype.lastIndexOf` which would otherwise become observable
      as a result of `CheckObjectCoercible` being removed.
      
      BUG=v8:3577,v8:6921
      
      Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel
      Change-Id: Ia086095076c4bf4d8d58dab26bc28df02994ed01
      Reviewed-on: https://chromium-review.googlesource.com/718577Reviewed-by: 's avatarAdam Klein <adamk@chromium.org>
      Reviewed-by: 's avatarToon Verwaest <verwaest@chromium.org>
      Commit-Queue: Mathias Bynens <mathias@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#48800}
      35b6aa38
  8. 16 Oct, 2017 1 commit
    • peterwmwong's avatar
      [builtins] Port String.prototype.{padStart, padEnd} to CSA · 33b23529
      peterwmwong authored
      - Extract core StringPrototypeRepeat code into a TFS builtin (StringRepeat)
        - Assumes arguments are a string and smi (no range checks)
      - Add StringPrototypePadStart and StringPrototypePadEnd TFJ builtins
        - Added StringPadAssembler to ensure common behavior
      - Removed functionality from string.js
      
      A quick benchmark shows significant performance gains for unoptimized
      code (2.1x to 2.46x) and optimized code (1.03x - 1.56x).
      
      https: //github.com/peterwmwong/v8-perf/blob/master/string-pad/README.md
      Bug: v8:5049
      Change-Id: I6e4fe99fb62a3edb3d6906fd4f78b3576b5b0d13
      Reviewed-on: https://chromium-review.googlesource.com/720067
      Commit-Queue: Jakob Gruber <jgruber@chromium.org>
      Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#48595}
      33b23529
  9. 11 Oct, 2017 1 commit
  10. 15 Sep, 2017 1 commit
  11. 06 Sep, 2017 1 commit
  12. 23 Aug, 2017 1 commit
  13. 20 Jul, 2017 1 commit
  14. 20 Jun, 2017 1 commit
    • bmeurer's avatar
      [turbofan] Introduce new JSCallWithArrayLike operator. · 767ce788
      bmeurer authored
      Add a new JSCallWithArrayLike operator that is backed by the
      CallWithArrayLike builtin, and use that operator for both
      Function.prototype.apply and Reflect.apply inlining. Also unify
      the handling of JSCallWithArrayLike and JSCallWithSpread in
      the JSCallReducer to reduce the copy&paste overhead.
      
      Drive-by-fix: Add a lot of test coverage for Reflect.apply and
      Function.prototype.apply in optimized code, especially for some
      corner cases, which was missing so far.
      
      BUG=v8:4587,v8:5269
      R=petermarshall@chromium.org
      
      Review-Url: https://codereview.chromium.org/2950773002
      Cr-Commit-Position: refs/heads/master@{#46041}
      767ce788
  15. 19 Apr, 2017 1 commit
  16. 18 Apr, 2017 2 commits
  17. 06 Apr, 2017 1 commit
  18. 03 Apr, 2017 2 commits
  19. 30 Mar, 2017 1 commit
  20. 14 Feb, 2017 1 commit
  21. 13 Feb, 2017 6 commits
  22. 05 Sep, 2016 1 commit
  23. 01 Sep, 2016 3 commits
  24. 24 Jun, 2016 1 commit
  25. 17 May, 2016 1 commit
    • bmeurer's avatar
      [es6] Reintroduce the instanceof operator in the backends. · 551e0aa1
      bmeurer authored
      This adds back the instanceof operator support in the backends and
      introduces a @@hasInstance protector cell on the isolate that guards the
      fast path for the InstanceOfStub. This way we recover the ~10%
      regression on Octane EarleyBoyer in Crankshaft and greatly improve
      TurboFan and Ignition performance of instanceof.
      
      R=ishell@chromium.org
      TBR=hpayer@chromium.org,rossberg@chromium.org
      BUG=chromium:597249, v8:4447
      LOG=n
      
      Review-Url: https://codereview.chromium.org/1980483003
      Cr-Commit-Position: refs/heads/master@{#36275}
      551e0aa1
  26. 25 Mar, 2016 1 commit
    • adamk's avatar
      Remove --harmony-regexps flag · 06403470
      adamk authored
      It's been on since M49. Also moved tests from harmony -> es6,
      one of which was merged with another test of the same name.
      
      While moving stuff over to regexp.js, I also noticed that there
      were unused calls to %FunctionSetName and %SetNativeFlag (those
      calls are already handled by InstallGetter()).
      
      Review URL: https://codereview.chromium.org/1838563003
      
      Cr-Commit-Position: refs/heads/master@{#35076}
      06403470
  27. 21 Mar, 2016 2 commits
  28. 18 Mar, 2016 1 commit
  29. 02 Mar, 2016 1 commit