1. 28 Oct, 2016 2 commits
  2. 27 Oct, 2016 1 commit
  3. 26 Oct, 2016 2 commits
    • neis's avatar
      Don't wrap roots in Handle just to dereference immediately. · d5de8f0d
      neis authored
      R=adamk@chromium.org
      BUG=
      
      Review-Url: https://codereview.chromium.org/2452543003
      Cr-Commit-Position: refs/heads/master@{#40584}
      d5de8f0d
    • bmeurer's avatar
      [builtins] Don't canonicalize results of Math double operations. · 9f4f582b
      bmeurer authored
      For Math builtins that likely yield double results, i.e. Math.sin,
      Math.cos and friends, don't bother trying to canonicalize the result
      to Smi. The rationale behind this is that other parts of V8 use the
      HeapNumber representation as a hint to assume that certain values
      should be represented as double (i.e. for the array elements kind
      and for double field tracking). This way the chance that we make
      the ideal decision early on is better.
      
      For Math.abs we establish the contract that if the input value is a
      Smi, then we try hard to return a Smi (doesn't work for minimal Smi
      value), otherwise we preserve the HeapNumberness of the input.
      
      Same for the generic Add, Subtract, Multiply, etc. code stubs.
      
      R=yangguo@chromium.org
      
      Review-Url: https://codereview.chromium.org/2451973003
      Cr-Commit-Position: refs/heads/master@{#40573}
      9f4f582b
  4. 25 Oct, 2016 2 commits
  5. 24 Oct, 2016 4 commits
  6. 21 Oct, 2016 7 commits
    • jgruber's avatar
      [builtins] Update TFJ macro to take actual argc · 44375382
      jgruber authored
      Up until now, the TFJ macro would take 'argc + 1' for the implicitly
      passed receiver. Decrease the cognitive load by making it take the
      explicit argc.
      
      BUG=
      
      Review-Url: https://chromiumcodereview.appspot.com/2439013003
      Cr-Commit-Position: refs/heads/master@{#40509}
      44375382
    • leszeks's avatar
      [compiler] Mark shared functions for optimization · 4a31323e
      leszeks authored
      The current method of marking functions for optimization, which replaces
      the JSFunction's code object with one that triggers optimization, would
      never allow unnamed functions to be optimized. This is an issue for a
      style of programming which heavily relies on passing around closures.
      
      This patch sets a bit on the SharedFunctionInfo when a JSFunction is
      marked. When another JSFunction referring to the same SharedFunctionInfo
      is lazily compiled, it immediately triggers a non-concurrent optimize.
      
      BUG=v8:5512
      
      Review-Url: https://chromiumcodereview.appspot.com/2437043002
      Cr-Commit-Position: refs/heads/master@{#40506}
      4a31323e
    • jgruber's avatar
      [regexp] Add fast-path for global, callable replace · a8e30c0e
      jgruber authored
      This adds a fast-path for calls to RegExp.prototype[@@replace] for cases in
      which the given regexp is unmodified and global, and the given replace argument
      is callable.
      
      The fast-path implementation itself is almost identical to the original JS
      implementation except that it currently does not reuse result_array.
      
      SunSpider/unpack-code relies heavily on this codepath.
      
      BUG=v8:5339
      
      Review-Url: https://chromiumcodereview.appspot.com/2433923003
      Cr-Commit-Position: refs/heads/master@{#40504}
      a8e30c0e
    • jgruber's avatar
      [stubs] Add IsCallableMap predicate to CSA · 0e76a9c3
      jgruber authored
      Add an IsCallableMap predicate to code-stub-assembler which tests
      whether the given map is callable, and adjust all use sites.
      
      BUG=
      
      Review-Url: https://chromiumcodereview.appspot.com/2435283002
      Cr-Commit-Position: refs/heads/master@{#40502}
      0e76a9c3
    • jgruber's avatar
      [regexp] Use consistent map checks for fast paths · eb10dc4c
      jgruber authored
      These map checks were implemented for TF code already. This CL makes
      sure that parts implemented in C++ follow the same logic, which is:
      
      An object is an unmodified regexp if:
      1) it's a receiver,
      2) its map is the initial regexp map,
      3) its prototype is a receiver,
      4) and its prototype's map is the initial prototype's initial map.
      
      We can now be smarter in @@replace and @@split since checking maps
      (unlike the previous check of RegExp.prototype.exec) is not observable,
      so we can perform fast-path checks at a time of our choosing.
      
      BUG=v8:5339,v8:5434,v8:5123
      
      Review-Url: https://chromiumcodereview.appspot.com/2434983002
      Cr-Commit-Position: refs/heads/master@{#40501}
      eb10dc4c
    • machenbach's avatar
      Revert of [regexp] Use consistent map checks for fast paths (patchset #7... · 0b7e35ff
      machenbach authored
      Revert of [regexp] Use consistent map checks for fast paths (patchset #7 id:120001 of https://chromiumcodereview.appspot.com/2434983002/ )
      
      Reason for revert:
      https://build.chromium.org/p/client.v8.fyi/builders/V8-Blink%20Linux%2064/builds/10853
      
      Original issue's description:
      > [regexp] Use consistent map checks for fast paths
      >
      > These map checks were implemented for TF code already. This CL makes
      > sure that parts implemented in C++ follow the same logic, which is:
      >
      > An object is an unmodified regexp if:
      > 1) it's a receiver,
      > 2) its map is the initial regexp map,
      > 3) its prototype is a receiver,
      > 4) and its prototype's map is the initial prototype's initial map.
      >
      > We can now be smarter in @@replace and @@split since checking maps
      > (unlike the previous check of RegExp.prototype.exec) is not observable,
      > so we can perform fast-path checks at a time of our choosing.
      >
      > BUG=v8:5339,v8:5434,v8:5123
      
      TBR=yangguo@chromium.org,jgruber@chromium.org
      # Skipping CQ checks because original CL landed less than 1 days ago.
      NOPRESUBMIT=true
      NOTREECHECKS=true
      NOTRY=true
      BUG=v8:5339,v8:5434,v8:5123
      
      Review-Url: https://chromiumcodereview.appspot.com/2438283002
      Cr-Commit-Position: refs/heads/master@{#40499}
      0b7e35ff
    • jgruber's avatar
      [regexp] Use consistent map checks for fast paths · bac992a1
      jgruber authored
      These map checks were implemented for TF code already. This CL makes
      sure that parts implemented in C++ follow the same logic, which is:
      
      An object is an unmodified regexp if:
      1) it's a receiver,
      2) its map is the initial regexp map,
      3) its prototype is a receiver,
      4) and its prototype's map is the initial prototype's initial map.
      
      We can now be smarter in @@replace and @@split since checking maps
      (unlike the previous check of RegExp.prototype.exec) is not observable,
      so we can perform fast-path checks at a time of our choosing.
      
      BUG=v8:5339,v8:5434,v8:5123
      
      Review-Url: https://chromiumcodereview.appspot.com/2434983002
      Cr-Commit-Position: refs/heads/master@{#40495}
      bac992a1
  7. 20 Oct, 2016 1 commit
  8. 19 Oct, 2016 3 commits
  9. 18 Oct, 2016 8 commits
  10. 17 Oct, 2016 3 commits
  11. 14 Oct, 2016 7 commits