1. 19 Jun, 2017 1 commit
  2. 09 Jun, 2017 1 commit
  3. 06 Jun, 2017 1 commit
  4. 02 Jun, 2017 1 commit
  5. 18 May, 2017 1 commit
    • Adam Klein's avatar
      Revert "[parser] Refactor streaming scanner streams." · 9397c1b7
      Adam Klein authored
      This reverts commit ce538f70.
      
      Reason for revert: breaks BOM handling (thus breaking Outlook web apps).
      
      Original change's description:
      > [parser] Refactor streaming scanner streams.
      > 
      > Unify, simplify logic, reduce UTF8 specific handling.
      > 
      > Intend of this is also to have stream views.
      > Stream views can be used concurrently by multiple threads, but
      > only one thread may fetch new data from the underlying source.
      > This together with unified stream view creation is intended to be
      > used for parse tasks.
      > 
      > BUG=v8:6093
      > 
      > Change-Id: Ied8e93090c506d4735080298f0fdaeed32043915
      > Reviewed-on: https://chromium-review.googlesource.com/501789
      > Commit-Queue: Wiktor Garbacz <wiktorg@google.com>
      > Reviewed-by: Daniel Vogelheim <vogelheim@chromium.org>
      > Reviewed-by: Marja Hölttä <marja@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#45336}
      
      TBR=marja@chromium.org,vogelheim@chromium.org,jochen@chromium.org,wiktorg@google.com
      BUG=v8:6093, chromium:724166
      
      Change-Id: I022a23b8052d20d83a640c07b7864c622548bf90
      Reviewed-on: https://chromium-review.googlesource.com/508888Reviewed-by: 's avatarAdam Klein <adamk@chromium.org>
      Commit-Queue: Adam Klein <adamk@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#45404}
      9397c1b7
  6. 16 May, 2017 1 commit
  7. 09 May, 2017 1 commit
  8. 03 May, 2017 1 commit
  9. 30 Jan, 2017 1 commit
  10. 05 Dec, 2016 1 commit
  11. 11 Nov, 2016 1 commit
  12. 03 Nov, 2016 1 commit
  13. 28 Oct, 2016 1 commit
  14. 05 Oct, 2016 1 commit
  15. 21 Sep, 2016 1 commit
  16. 20 Sep, 2016 1 commit
  17. 16 Sep, 2016 1 commit
    • vogelheim's avatar
      Rework scanner-character-streams. · 642d6d31
      vogelheim authored
      - Smaller, more consistent streams API (Advance, Back, pos, Seek)
      - Remove implementations from the header, in favor of creation functions.
      
      Observe:
      - Performance:
        - All Utf16CharacterStream methods have an inlinable V8_LIKELY w/ a
          body of only a few instructions. I expect most calls to end up there.
        - There used to be performance problems w/ bookmarking, particularly
          with copying too much data on SetBookmark w/ UTF-8 streaming streams.
          All those copies are gone.
        - The old streaming streams implementation used to copy data even for
          2-byte input. It no longer does.
        - The only remaining 'slow' method is the Seek(.) slow case for utf-8
          streaming streams. I don't expect this to be called a lot; and even if,
          I expect it to be offset by the gains in the (vastly more frequent)
          calls to the other methods or the 'fast path'.
        - If it still bothers us, there are several ways to speed it up.
      - API & code cleanliness:
        - I want to remove the 'old' API in a follow-up CL, which should mostly
          delete code, or replace it 1:1.
        - In a 2nd follow-up I want to delete much of the UTF-8 handling in Blink
          for streaming streams.
        - The "bookmark" is now always implemented (and mostly very fast), so we
          should be able to use it for more things.
      - Testing & correctness:
        - The unit tests now cover all stream implementations,
          and are pretty good and triggering all the edge cases.
        - Vastly more DCHECKs of the invariants.
      
      BUG=v8:4947
      
      Review-Url: https://codereview.chromium.org/2314663002
      Cr-Commit-Position: refs/heads/master@{#39464}
      642d6d31
  18. 25 Aug, 2016 1 commit
  19. 23 Aug, 2016 1 commit
    • vogelheim's avatar
      Remove unused Utf8ToUtf16CharacterStream. · e954e954
      vogelheim authored
      - The static method CopyChars was actually used and has been extracted.
      - It was used in tests, where it's been replaced w/ ExternalOneByteString...
      - Only one test actually relied on Utf8 handling (as opposed to ASCII only),
        and that was the test testing Utf8ToUtf16CharacterStream itself.
      
      +66 -277 LOC :)
      
      BUG=v8:4947
      
      Review-Url: https://codereview.chromium.org/2256273002
      Cr-Commit-Position: refs/heads/master@{#38824}
      e954e954
  20. 29 Jul, 2016 1 commit
  21. 11 Jan, 2016 1 commit
  22. 26 Nov, 2015 1 commit
  23. 18 Sep, 2015 1 commit
  24. 16 Sep, 2015 1 commit
  25. 20 Aug, 2015 1 commit
  26. 01 Jun, 2015 1 commit
  27. 29 May, 2015 1 commit
  28. 27 May, 2015 1 commit
    • vogelheim's avatar
      Fix DCHECK on SetBookmark. · 21e6831e
      vogelheim authored
      The DCHECK was a lie. The idea was that - when a bookmark is set -
      the scanner must clearly be at a character boundary and hence the
      bookmark does not need to save a 'partial' UTF-8 code point. The
      first part is true - the Scanner is always at a character boundary -
      but the 'partial' UTF-8 code point is at the end of a block, not at
      the current character position of the Scanner.
      Hence, the 'partial' character needs to be saved as well.
      
      jkummerow: Thanks for noticing.
      
      BUG=chromium:470930
      R=jochen@chromium.org, jkummerow@chromium.org
      LOG=N
      
      Review URL: https://codereview.chromium.org/1154773004
      
      Cr-Commit-Position: refs/heads/master@{#28661}
      21e6831e
  29. 26 May, 2015 1 commit
  30. 06 May, 2015 1 commit
  31. 05 Feb, 2015 1 commit
  32. 20 Oct, 2014 1 commit
    • marja@chromium.org's avatar
      Script streaming: more UTF-8 handing fixes (again). · 394af55a
      marja@chromium.org authored
      1) Since we fill the output buffer both from the chunks and the conversion
      buffer, it's possible that we run out of space and call CopyCharsHelper with 0
      length. The underlying functions don't handle it gracefully, so check there.
      
      2) There was a bug where we used to try to copy too many characters from the
      beginning of the data chunk into the conversion buffer. Continuation bytes in
      UTF-8 are of the form 0b10XXXXXX. If a byte is bigger than that, it's the first
      byte of a new UTF-8 character and we should ignore it.
      
      These two together (or maybe in combination with surrogates) are a probable
      reason for crbug.com/420932.
      
      3) The test data was off; \uc481 is \xec\x92\x81.
      
      BUG=420932
      LOG=N
      R=yangguo@chromium.org
      
      Review URL: https://codereview.chromium.org/662003003
      
      git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24725 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
      394af55a
  33. 13 Oct, 2014 1 commit
  34. 26 Sep, 2014 1 commit
  35. 12 Sep, 2014 1 commit
  36. 11 Sep, 2014 2 commits
  37. 04 Aug, 2014 1 commit
  38. 09 Jul, 2014 1 commit
  39. 03 Jun, 2014 1 commit