1. 22 Nov, 2016 1 commit
  2. 16 Nov, 2016 1 commit
    • vogelheim's avatar
      Return kBadChar for longest subpart of incomplete utf-8 character. · fd40ebb1
      vogelheim authored
      This brings the two utf-8 decoders (bulk + incremental) in line.
      Technically, either behaviour was correct, since the utf-8 spec
      demands incomplete utf-8 be handled, but does not specify how.
      Unicode recommends that "the maximal subpart at that offset
      should be replaced by a single U+FFFD," and with this change we
      consistently do that. More details + spec references in the bug.
      
      BUG=chromium:662822
      
      Review-Url: https://codereview.chromium.org/2493143003
      Cr-Commit-Position: refs/heads/master@{#41025}
      fd40ebb1
  3. 11 Nov, 2016 1 commit
  4. 05 Oct, 2016 1 commit
  5. 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
  6. 12 May, 2016 1 commit
    • clemensh's avatar
      [wasm] Add UTF-8 validation · f0523e30
      clemensh authored
      Names passed for imports and exports are checked during decoding,
      leading to errors if they are no valid UTF-8. Function names are not
      checked during decode, but rather lead to undefined being returned at
      runtime if they are not UTF-8.
      
      We need to do these checks on the Wasm side, since the factory
      methods assume to get valid UTF-8 strings.
      
      R=titzer@chromium.org, yangguo@chromium.org
      
      Review-Url: https://codereview.chromium.org/1967023004
      Cr-Commit-Position: refs/heads/master@{#36208}
      f0523e30
  7. 03 Sep, 2015 1 commit
  8. 22 May, 2015 1 commit
  9. 05 Feb, 2015 1 commit
  10. 08 Oct, 2014 1 commit
  11. 04 Aug, 2014 1 commit
  12. 20 Jun, 2014 1 commit
  13. 03 Jun, 2014 1 commit
  14. 29 Apr, 2014 1 commit
  15. 10 Feb, 2014 1 commit
  16. 05 Jul, 2013 1 commit
  17. 03 Jan, 2013 1 commit
  18. 20 Dec, 2012 1 commit
  19. 12 Mar, 2012 1 commit
  20. 06 Mar, 2012 1 commit
  21. 16 Jan, 2012 1 commit
  22. 18 Mar, 2011 3 commits
  23. 03 Jan, 2011 1 commit
  24. 30 Jul, 2010 2 commits
  25. 13 Jul, 2009 1 commit
  26. 18 Mar, 2009 1 commit
  27. 26 Nov, 2008 1 commit
  28. 25 Nov, 2008 1 commit
  29. 02 Oct, 2008 1 commit
  30. 09 Sep, 2008 1 commit
  31. 08 Sep, 2008 1 commit
  32. 28 Aug, 2008 1 commit
  33. 03 Jul, 2008 1 commit