1. 26 Nov, 2014 1 commit
    • svenpanne's avatar
      Disable ParserSync test for now, it takes waaaaay too long. · fd13969e
      svenpanne authored
      Running this in x64.release mode on a powerful HP620 takes 4 seconds,
      this is at least 2 orders of magnitude too slow and leads to tons of
      false positives on our build bots due to timeouts. As it is, the
      cost-benefit ratio is far too low.
      
      The whole approach needs to be changed: Instead of trying to exhaust
      some search space in unit tests, this should be turned into a fuzzing
      test where only a small but random number of things are tested. The
      exhaustive approach can be done separately, but definitely not in the
      unit tests.
      
      BUG=v8:3707
      
      Review URL: https://codereview.chromium.org/762743002
      
      Cr-Commit-Position: refs/heads/master@{#25510}
      fd13969e
  2. 20 Nov, 2014 1 commit
  3. 19 Nov, 2014 1 commit
  4. 18 Nov, 2014 1 commit
  5. 17 Nov, 2014 1 commit
  6. 14 Nov, 2014 1 commit
  7. 13 Nov, 2014 2 commits
  8. 12 Nov, 2014 1 commit
  9. 11 Nov, 2014 1 commit
  10. 07 Nov, 2014 1 commit
    • marja@chromium.org's avatar
      Scanner: disallow unicode escapes in regexp flags. · 2b026851
      marja@chromium.org authored
      The spec explicitly forbids them. V8 never handled them properly either, just
      the Scanner accepted them (it had code to add them literally to the
      LiteralBuffer) and later on, Regexp constructor disallowed them.
      
      According to the spec, unicode escapes in regexp flags should be an early error
      ("It is a Syntax Error if IdentifierPart contains a Unicode escape sequence.").
      
      Note that Scanner is still more relaxed about regexp flags than the
      spec. Especially, it accepts any identifier parts (not just a small set of
      letters) and doesn't check for duplicates.
      
      R=rossberg@chromium.org
      
      Review URL: https://codereview.chromium.org/700373003
      
      Cr-Commit-Position: refs/heads/master@{#25215}
      git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25215 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
      2b026851
  11. 03 Nov, 2014 1 commit
  12. 31 Oct, 2014 1 commit
    • marja@chromium.org's avatar
      Scanner: remove PushBack calls when we're going to return ILLEGAL. · 1bb79539
      marja@chromium.org authored
      This simplifies escape handling and makes it easier to extend escapes for ES6.
      
      PushBack just before detecting ILLEGAL is unnecessary, since we will abort the
      scanning / parsing anyway at that point, and it doesn't matter where the cursor
      exactly is. The error messages w/ PushBack are not any better or more correct
      than without.
      
      In addition: remove a comment about handling invalid escapes gracefully when we
      no longer do. (*)
      
      This CL includes a behavioral change: For input "var r = /foobar/g\urrrr;" we
      used to report "unexpected_token: ILLEGAL" for "\u", but now we report
      malformed_regexp_flags which is a more correct error message. (Note that the
      code for reporting invalid_regexp_flags was dead, and invalid_regexp_flags is
      not the right error message.)
      
      Note that the V8 is more relaxed about unicode escapes in regexp flags than ES6
      (see
      http://people.mozilla.org/~jorendorff/es6-draft.html#sec-regular-expressions )
      and this CL doesn't change it. (V8 accepts any \uxxxx, ES6 spec says only a
      certain value range is acceptable.)
      
      (*) Code archaeology:
      
      Originally, doing PushBack in ScanHexEscape made sense (see e.g., here
      https://codereview.chromium.org/5063003/diff/6001/src/prescanner.h ), since we
      wouldn't return ILLEGAL but treat an invalid escape sequence "\uxxxx" as
      "uxxxx".
      
      (The repo at that point contains another instance of the same function, from the
      initial commit. The logic is the same.)
      
      This behavior was changed in a "renaming" commit
      https://codereview.chromium.org/7739020.
      
      BUG=
      R=rossberg@chromium.org
      
      Review URL: https://codereview.chromium.org/684873002
      
      Cr-Commit-Position: refs/heads/master@{#25031}
      git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25031 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
      1bb79539
  13. 28 Oct, 2014 2 commits
  14. 27 Oct, 2014 2 commits
  15. 24 Oct, 2014 1 commit
  16. 23 Oct, 2014 3 commits
  17. 21 Oct, 2014 3 commits
  18. 16 Oct, 2014 1 commit
    • wingo@igalia.com's avatar
      Track usage of "this" and "arguments" in Scope · 0841f724
      wingo@igalia.com authored
      This adds flags in Scope to track wheter a Scope uses "this" and,
      "arguments". The information is exposed via Scope::uses_this(),
      and Scope::uses_arguments(), respectively. Flags for tracking
      usage on any inner scope uses are available as well via
      Scope::inner_uses_this(), and Scope::inner_uses_arguments().
      
      Knowing whether scopes use "this" and "arguments" will be handy
      to generate the code needed to capture their values when generating
      the code for arrow functions.
      
      BUG=v8:2700
      LOG=
      R=rossberg@chromium.org
      
      Review URL: https://codereview.chromium.org/422923004
      
      Patch from Adrian Perez de Castro <aperez@igalia.com>.
      
      git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24663 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
      0841f724
  19. 29 Sep, 2014 1 commit
  20. 18 Sep, 2014 1 commit
  21. 16 Sep, 2014 2 commits
  22. 10 Sep, 2014 2 commits
  23. 08 Sep, 2014 1 commit
  24. 02 Sep, 2014 1 commit
    • marja@chromium.org's avatar
      Refactor Parser to make it usable on a background thread. · 7955937d
      marja@chromium.org authored
      - Background Parsers cannot get the following data from Isolate (pass it to the
      ctor instead): stack limit (background Parsers need a different stack limit),
      UnicodeCache (background parsers need a separate UnicodeCache), hash seed
      (Parser cannot access the Heap to get it). The Parser::Parse API won't change.
      
      - Make the internalization phase (where Parser interacts with the heap) more
      explicit. Previously, Parser was interacting with the heap here and there.
      
      - Move HandleSourceURLComments out of DoParseProgram, so that background parsing
      can use DoParseProgram too.
      
      BUG=
      R=rossberg@chromium.org
      
      Review URL: https://codereview.chromium.org/527763002
      
      git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23600 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
      7955937d
  25. 26 Aug, 2014 1 commit
  26. 21 Aug, 2014 1 commit
  27. 20 Aug, 2014 1 commit
  28. 18 Aug, 2014 1 commit
  29. 07 Aug, 2014 1 commit
  30. 04 Aug, 2014 1 commit
  31. 30 Jul, 2014 1 commit