1. 04 Oct, 2017 4 commits
    • Benedikt Meurer's avatar
      [es2015] Optimize Object.is baseline and interesting cases. · d4da17c6
      Benedikt Meurer authored
      The Object.is builtin provides an entry point to the abstract operation
      SameValue, which properly distinguishes -0 and 0, and also identifies
      NaNs. Most of the time you don't need these, but rather just regular
      strict equality, but when you do, Object.is(o, -0) is the most readable
      way to check for minus zero.
      
      This is for example used in Node.js by formatNumber to properly print -0
      for negative zero. However since the builtin thus far implemented as C++
      builtin and TurboFan didn't know anything about it, Node.js considering
      to go with a more performant, less readable version (which also makes
      assumptions about the input value) in
      
        https://github.com/nodejs/node/pull/15726
      
      until the performance of Object.is will be on par (so hopefully we can
      go back to Object.is in Node 9).
      
      This CL ports the baseline implementation of Object.is to CSA, which
      is pretty straight-forward since SameValue is already available in
      CodeStubAssembler, and inlines a few interesting cases into TurboFan,
      i.e. comparing same SSA node, and checking for -0 and NaN explicitly.
      
      On the micro-benchmarks we go from
      
        testNumberIsMinusZero: 1000 ms.
        testObjectIsMinusZero: 929 ms.
        testObjectIsNaN: 954 ms.
        testObjectIsSame: 793 ms.
        testStrictEqualSame: 104 ms.
      
      to
      
        testNumberIsMinusZero: 89 ms.
        testObjectIsMinusZero: 88 ms.
        testObjectIsNaN: 88 ms.
        testObjectIsSame: 86 ms.
        testStrictEqualSame: 105 ms.
      
      which is a nice 10x to 11x improvement and brings Object.is on par with
      strict equality for most cases.
      
      Drive-by-fix: Also refactor and optimize the SameValue check in the
      CodeStubAssembler to avoid code bloat (by not inlining StrictEqual
      into every user of SameValue, and also avoiding useless checks).
      
      Bug: v8:6882
      Change-Id: Ibffd8c36511f219fcce0d89ed4e1073f5d6c6344
      Reviewed-on: https://chromium-review.googlesource.com/700254Reviewed-by: 's avatarJaroslav Sevcik <jarin@chromium.org>
      Commit-Queue: Benedikt Meurer <bmeurer@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#48275}
      d4da17c6
    • v8-autoroll's avatar
      Update V8 DEPS. · bfb43f8c
      v8-autoroll authored
      Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/05cc4b1..7311b74
      
      Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/3f41f93..672cabd
      
      TBR=machenbach@chromium.org,hablich@chromium.org
      
      Change-Id: I5663213d2835b02d0ed9c953749cb722b8422a58
      Reviewed-on: https://chromium-review.googlesource.com/700015Reviewed-by: 's avatarv8 autoroll <v8-autoroll@chromium.org>
      Commit-Queue: v8 autoroll <v8-autoroll@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#48274}
      bfb43f8c
    • Deepti Gandluri's avatar
      [wasm] Compute opcode length for Atomic ops · 06d1ffb5
      Deepti Gandluri authored
      When atomic operations are used in loops, return the correct opcode length
      for loop assignment.
      
      Bug=v8:6842,v8:6532
      
      Change-Id: I306db704d8a0baa5d98c05702360e6dfae11cbfa
      Reviewed-on: https://chromium-review.googlesource.com/699561Reviewed-by: 's avatarBrad Nelson <bradnelson@chromium.org>
      Commit-Queue: Brad Nelson <bradnelson@chromium.org>
      Commit-Queue: Deepti Gandluri <gdeepti@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#48273}
      06d1ffb5
    • Jakob Kummerow's avatar
      [bigint] Implement BigIntShortPrint · d96463a2
      Jakob Kummerow authored
      For an improved debugging experience.
      
      Bug: v8:6791
      Change-Id: Id4f7fea47036e4520e7b24edf34f210b664672bc
      Reviewed-on: https://chromium-review.googlesource.com/699427Reviewed-by: 's avatarAdam Klein <adamk@chromium.org>
      Commit-Queue: Jakob Kummerow <jkummerow@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#48272}
      d96463a2
  2. 03 Oct, 2017 7 commits
  3. 02 Oct, 2017 14 commits
  4. 01 Oct, 2017 2 commits
  5. 30 Sep, 2017 5 commits
  6. 29 Sep, 2017 8 commits