1. 16 Mar, 2017 1 commit
  2. 09 Mar, 2017 1 commit
  3. 23 Feb, 2017 1 commit
  4. 16 Feb, 2017 1 commit
    • jwolfe's avatar
      Implement new Function.prototype.toString --harmony-function-tostring · d1d4b9ce
      jwolfe authored
      For functions declared in source code, the .toString() representation
      will be an excerpt of the source code.
      * For functions declared with the "function" keyword, the excerpt
        starts at the "function" or "async" keyword and ends at the final "}".
        The previous behavior would start the excerpt at the "(" of the
        parameter list, and prepend a canonical `"function " + name` or
        similar, which would discard comments and formatting surrounding the
        function's name. Anonymous functions declared as function expressions
        no longer get the name "anonymous" in their toString representation.
      * For methods, the excerpt starts at the "get", "set", "*" (for
        generator methods), or property name, whichever comes first.
        Previously, the toString representation for methods would use a
        canonical prefix before the "(" of the parameter list. Note that any
        "static" keyword is omitted.
      * For arrow functions and class declarations, the excerpt is unchanged.
      
      For functions created with the Function, GeneratorFunction, or
      AsyncFunction constructors:
      * The string separating the parameter text and body text is now
        "\n) {\n", where previously it was "\n/*``*/) {\n" or ") {\n".
      * At one point, newline normalization was required by the spec here,
        but that was removed from the spec, and so this CL does not do it.
      
      Included in this CL is a fix for CreateDynamicFunction parsing. ')'
      and '`' characters in the parameter string are no longer disallowed,
      and Function("a=function(", "}){") is no longer allowed.
      
      BUG=v8:4958, v8:4230
      
      Review-Url: https://codereview.chromium.org/2156303002
      Cr-Commit-Position: refs/heads/master@{#43262}
      d1d4b9ce
  5. 06 Dec, 2016 1 commit
  6. 01 Dec, 2016 1 commit
  7. 16 Nov, 2016 2 commits
  8. 15 Nov, 2016 1 commit
  9. 14 Oct, 2016 1 commit
  10. 12 Oct, 2016 1 commit
  11. 07 Sep, 2016 1 commit
    • bmeurer's avatar
      [builtins] Migrate Number predicates and make them optimizable. · 7ac19fe5
      bmeurer authored
      Migrate the isNaN, isFinite, Number.isFinite, Number.isInteger,
      Number.isSafeInteger and Number.isNaN predicates to TurboFan
      builtins and make them optimizable (for certain input types) in
      JavaScript callees being optimized by TurboFan. That means both
      the baseline and the optimized version is now always at maximum,
      consistent performance. Especially TurboFan suffered from poor
      baseline (and optimized) performance because it cannot play the
      same weird tricks that Crankshaft plays for %_IsSmi.
      
      This also adds a bunch of new tests to properly cover the use
      of the Harmony predicates in optimized code.
      
      R=franzih@chromium.org
      BUG=v8:5049,v8:5267
      
      Review-Url: https://codereview.chromium.org/2313073002
      Cr-Commit-Position: refs/heads/master@{#39242}
      7ac19fe5
  12. 03 Aug, 2016 1 commit
    • jochen's avatar
      Do an access check before compiling code via eval() · 2f8d4f44
      jochen authored
      Similarly to how we check whether the entered context has access to the target
      context when invoking the function constructor, we should check the involved
      contexts before invoking eval().
      
      I forgot to add this in the initial CL that adds the check for the function
      constructor. Move the code to a common location, and use it for the GlobalEval
      builtin as well.
      
      BUG=chromium:541703
      R=verwaest@chromium.org
      
      Review-Url: https://codereview.chromium.org/2199343002
      Cr-Commit-Position: refs/heads/master@{#38277}
      2f8d4f44
  13. 20 Jul, 2016 2 commits