1. 05 Jul, 2016 3 commits
  2. 29 Jun, 2016 1 commit
    • neis's avatar
      Fix order of conversions in String.prototype.substr. · f96be554
      neis authored
      The start argument must be converted to an integer before the length argument is
      converted.  (Consequently, the start argument is converted even when the length
      is 0.)  This matters because conversion is observable.
      
      Also rewrite the function in a way that closely resembles the spec text.
      
      R=littledan@chromium.org
      BUG=v8:5140
      
      Review-Url: https://codereview.chromium.org/2109583002
      Cr-Commit-Position: refs/heads/master@{#37378}
      f96be554
  3. 27 Jun, 2016 1 commit
  4. 30 May, 2016 2 commits
  5. 27 May, 2016 1 commit
  6. 24 May, 2016 1 commit
  7. 21 May, 2016 1 commit
    • bmeurer's avatar
      [builtins] Migrate String.fromCharCode to C++. · cc71837f
      bmeurer authored
      The previous JavaScript version created way too many ConsStrings for
      longer strings, i.e. when using String.fromCharCode together with
      Function.prototype.apply and arrays of char codes.
      
      This version now always allocates sequential strings and therefore uses
      way less memory when turning longer character sequences into strings,
      and therefore fixes the memory regression on Google Maps.
      
      BUG=chromium:609831
      R=yangguo@chromium.org
      
      Review-Url: https://codereview.chromium.org/2004733002
      Cr-Commit-Position: refs/heads/master@{#36427}
      cc71837f
  8. 12 Apr, 2016 3 commits
  9. 08 Apr, 2016 2 commits
  10. 01 Apr, 2016 1 commit
  11. 28 Mar, 2016 1 commit
  12. 22 Mar, 2016 1 commit
  13. 07 Mar, 2016 1 commit
    • littledan's avatar
      Base the right RegExp brand checks on Symbol.match · e99d2929
      littledan authored
      The ES2015 specification requires that String.prototype.startsWith,
      String.prototype.endsWith and String.prototype.includes use the IsRegExp
      internal algorithm to determine whether to throw a TypeError to prevent
      a RegExp from being accidentally cast to a String for those methods.
      That internal algorithm checks the presence/truthiness of Symbol.match
      to make its determination. This patch switches the builtins to use
      this correct test, rather than checking for the [[RegExpMatcher]]
      internal slot as the builtins previously did.
      
      R=yangguo
      
      Review URL: https://codereview.chromium.org/1762183002
      
      Cr-Commit-Position: refs/heads/master@{#34547}
      e99d2929
  14. 12 Feb, 2016 2 commits
  15. 28 Jan, 2016 1 commit
    • bmeurer's avatar
      [builtins] Make Math.max and Math.min fast by default. · cb9b8010
      bmeurer authored
      The previous versions of Math.max and Math.min made it difficult to
      optimize those (that's why we already have custom code in Crankshaft),
      and due to lack of ideas what to do about the variable number of
      arguments, we will probably need to stick in special code in TurboFan
      as well; so inlining those builtins is off the table, hence there's no
      real advantage in having them around as "not quite JS" with extra work
      necessary in the optimizing compilers to still make those builtins
      somewhat fast in cases where we cannot inline them (also there's a
      tricky deopt loop in Crankshaft related to Math.min and Math.max, but
      that will be dealt with later).
      
      So to sum up: Instead of trying to make Math.max and Math.min semi-fast
      in the optimizing compilers with weird work-arounds support %_Arguments
      %_ArgumentsLength, we do provide the optimal code as native builtins
      instead and call it a day (which gives a nice performance boost on some
      benchmarks).
      
      R=jarin@chromium.org
      
      Review URL: https://codereview.chromium.org/1641083003
      
      Cr-Commit-Position: refs/heads/master@{#33582}
      cb9b8010
  16. 19 Jan, 2016 1 commit
    • littledan's avatar
      Separate String.prototype.replace into RegExp.prototype[Symbol.replace] · 837e374e
      littledan authored
      This patch implements one aspect of ES2015 RegExp subclassing:
      String.prototype.replace is separated into two parts, a method on
      RegExp.prototype in case the first argument is a RegExp, and the
      String.prototype.replace method, which handles the string pattern
      case. This separation is described in the ES2015 specification.
      Most of the patch is simply moving code from string.js to regexp.js.
      
      R=yangguo
      LOG=Y
      BUG=v8:4343
      
      Review URL: https://codereview.chromium.org/1590673002
      
      Cr-Commit-Position: refs/heads/master@{#33393}
      837e374e
  17. 14 Dec, 2015 1 commit
  18. 10 Dec, 2015 1 commit
  19. 24 Nov, 2015 1 commit
  20. 20 Nov, 2015 1 commit
  21. 13 Nov, 2015 1 commit
  22. 10 Nov, 2015 1 commit
  23. 09 Nov, 2015 1 commit
  24. 05 Nov, 2015 5 commits
  25. 04 Nov, 2015 5 commits