1. 22 Jan, 2019 1 commit
  2. 04 Dec, 2018 1 commit
  3. 27 Nov, 2018 1 commit
  4. 26 Nov, 2018 2 commits
  5. 25 Sep, 2018 2 commits
    • Ross McIlroy's avatar
      Reland "[Compile] Refactor BackgroundCompileTask to enable its use by CompilerDispatcher" · dc204cc6
      Ross McIlroy authored
      This is a reland of 31228a69
      
      TBR=yangguo@chromium.org,verwaest@chromium.org
      
      Original change's description:
      > [Compile] Refactor BackgroundCompileTask to enable its use by CompilerDispatcher
      >
      > Splits background compilation data out of ScriptStreamingData and into
      > BackgroundCompileTask. Also makes BackgroundCompileTask no longer a sub-class
      > of ScriptStreamingTask, and instead have ScriptStreamingTask delegate to a
      > BackgroundCompileTask.
      >
      > As part of this change, we now create the CharacterStream on the main thread,
      > and therefore have to set the (thread-local) runtime_call_stats on the already
      > created CharacterStream when the BackgroundCompileTask is run on the background
      > thread. As such, changes to CharacterStream were needed to feed the
      > runtime_call_stats through appropriately.
      >
      > Deprecates Source::GetCachedData and StreamedSource::GetCachedData since they are
      > no longer used, and the streamed source never has cached data (streaming is
      > suppressed if cached data is available). Also removes Utf8ChunkedStream which
      > is dead code.
      >
      > BUG=v8:8041, v8:8015
      > TBR=yangguo@chromium.org
      >
      > Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng
      > Change-Id: Ifcc723ebf930a1dc01135fcb70929d6168471cb3
      > Reviewed-on: https://chromium-review.googlesource.com/1236353
      > Commit-Queue: Ross McIlroy <rmcilroy@chromium.org>
      > Reviewed-by: Toon Verwaest <verwaest@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#56182}
      
      Bug: v8:8041, v8:8015
      Change-Id: Ied5132c537d4c25c6e355f289c2a9cc1f8ff98e9
      Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng
      Reviewed-on: https://chromium-review.googlesource.com/1242097
      Commit-Queue: Ross McIlroy <rmcilroy@chromium.org>
      Reviewed-by: 's avatarMaya Lekova <mslekova@chromium.org>
      Reviewed-by: 's avatarRoss McIlroy <rmcilroy@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#56201}
      dc204cc6
    • Maya Lekova's avatar
      Revert "[Compile] Refactor BackgroundCompileTask to enable its use by CompilerDispatcher" · 875480d2
      Maya Lekova authored
      This reverts commit 31228a69.
      
      Reason for revert: Introduces new pretty consistent flakes on Linux sanitizers, one of which block LKGR. Please see https://crbug.com/v8/8219
      
      Original change's description:
      > [Compile] Refactor BackgroundCompileTask to enable its use by CompilerDispatcher
      > 
      > Splits background compilation data out of ScriptStreamingData and into
      > BackgroundCompileTask. Also makes BackgroundCompileTask no longer a sub-class
      > of ScriptStreamingTask, and instead have ScriptStreamingTask delegate to a
      > BackgroundCompileTask.
      > 
      > As part of this change, we now create the CharacterStream on the main thread,
      > and therefore have to set the (thread-local) runtime_call_stats on the already
      > created CharacterStream when the BackgroundCompileTask is run on the background
      > thread. As such, changes to CharacterStream were needed to feed the
      > runtime_call_stats through appropriately.
      > 
      > Deprecates Source::GetCachedData and StreamedSource::GetCachedData since they are
      > no longer used, and the streamed source never has cached data (streaming is
      > suppressed if cached data is available). Also removes Utf8ChunkedStream which
      > is dead code.
      > 
      > BUG=v8:8041, v8:8015
      > TBR=yangguo@chromium.org
      > 
      > Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng
      > Change-Id: Ifcc723ebf930a1dc01135fcb70929d6168471cb3
      > Reviewed-on: https://chromium-review.googlesource.com/1236353
      > Commit-Queue: Ross McIlroy <rmcilroy@chromium.org>
      > Reviewed-by: Toon Verwaest <verwaest@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#56182}
      
      TBR=rmcilroy@chromium.org,yangguo@chromium.org,verwaest@chromium.org
      
      Change-Id: Ib05bcbde2e9a588bd4008d2155f75cdac5cc47f5
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Bug: v8:8041, v8:8015
      Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng
      Reviewed-on: https://chromium-review.googlesource.com/1241958Reviewed-by: 's avatarMaya Lekova <mslekova@chromium.org>
      Commit-Queue: Maya Lekova <mslekova@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#56187}
      875480d2
  6. 24 Sep, 2018 1 commit
    • Ross McIlroy's avatar
      [Compile] Refactor BackgroundCompileTask to enable its use by CompilerDispatcher · 31228a69
      Ross McIlroy authored
      Splits background compilation data out of ScriptStreamingData and into
      BackgroundCompileTask. Also makes BackgroundCompileTask no longer a sub-class
      of ScriptStreamingTask, and instead have ScriptStreamingTask delegate to a
      BackgroundCompileTask.
      
      As part of this change, we now create the CharacterStream on the main thread,
      and therefore have to set the (thread-local) runtime_call_stats on the already
      created CharacterStream when the BackgroundCompileTask is run on the background
      thread. As such, changes to CharacterStream were needed to feed the
      runtime_call_stats through appropriately.
      
      Deprecates Source::GetCachedData and StreamedSource::GetCachedData since they are
      no longer used, and the streamed source never has cached data (streaming is
      suppressed if cached data is available). Also removes Utf8ChunkedStream which
      is dead code.
      
      BUG=v8:8041, v8:8015
      TBR=yangguo@chromium.org
      
      Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng
      Change-Id: Ifcc723ebf930a1dc01135fcb70929d6168471cb3
      Reviewed-on: https://chromium-review.googlesource.com/1236353
      Commit-Queue: Ross McIlroy <rmcilroy@chromium.org>
      Reviewed-by: 's avatarToon Verwaest <verwaest@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#56182}
      31228a69
  7. 04 Sep, 2018 1 commit
  8. 28 Aug, 2018 1 commit
  9. 21 Aug, 2018 1 commit
    • Toon Verwaest's avatar
      [scanner] Go back to untemplatized scanning with buffering · fcfd995a
      Toon Verwaest authored
      This reverts the following 3 CLs:
      
      Revert "[scanner] Templatize scan functions by encoding"
      Revert "[asm] Remove invalid static cast of character stream"
      Revert "[scanner] Prepare CharacterStreams for specializing scanner and parser by character type"
      
      The original idea behind this work was to avoid copying, converting and
      buffering characters to be scanned by specializing the scanner functions. The
      additional benefit was for scanner functions to have a bigger window over the
      input. Even though we can get a pretty nice speedup from having a larger
      window, in practice this rarely helps. The cost is a larger binary.
      
      Since we can't eagerly convert utf8 to utf16 due to memory overhead, we'd also
      need to have a specialized version of the scanner just for utf8. That's pretty
      complex, and likely won't be better than simply bulk converting and buffering
      utf8 as utf16.
      
      Change-Id: Ic3564683932a0097e3f9f51cd88f62c6ac879dcb
      Reviewed-on: https://chromium-review.googlesource.com/1183190Reviewed-by: 's avatarAndreas Haas <ahaas@chromium.org>
      Reviewed-by: 's avatarMarja Hölttä <marja@chromium.org>
      Commit-Queue: Toon Verwaest <verwaest@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#55258}
      fcfd995a
  10. 20 Aug, 2018 1 commit
  11. 02 Aug, 2018 1 commit
  12. 01 Aug, 2018 1 commit
  13. 26 Jul, 2018 1 commit
  14. 12 Jul, 2018 1 commit
  15. 05 Jul, 2018 3 commits
  16. 04 Jul, 2018 1 commit
  17. 11 Dec, 2017 1 commit
    • Justin Ridgewell's avatar
      Implement DFA Unicode Decoder · cedec225
      Justin Ridgewell authored
      This is a separation of the DFA Unicode Decoder from
      https://chromium-review.googlesource.com/c/v8/v8/+/789560
      
      I attempted to make the DFA's table a bit more explicit in this CL. Still, the
      linter prevents me from letting me present the array as a "table" in source
      code. For a better representation, please refer to
      https://docs.google.com/spreadsheets/d/1L9STtkmWs-A7HdK5ZmZ-wPZ_VBjQ3-Jj_xN9c6_hLKA
      
      - - - - -
      
      Now for a big copy-paste from 789560:
      
      Essentially, reworks a standard FSM (imagine an
      array of structs) and flattens it out into a single-dimension array.
      Using Table 3-7 of the Unicode 10.0.0 standard (page 126 of
      http://www.unicode.org/versions/Unicode10.0.0/ch03.pdf), we can nicely
      map all bytes into one of 12 character classes:
      
      00. 0x00-0x7F
      01. 0x80-0x8F (split from general continuation because this range is not
          valid after a 0xF0 leading byte)
      02. 0x90-0x9F (split from general continuation because this range is not
          valid after a 0xE0 nor a 0xF4 leading byte)
      03. 0xA0-0xBF (the rest of the continuation range)
      04. 0xC0-0xC1, 0xF5-0xFF (the joined range of invalid bytes, notice this
          includes 255 which we use as a known bad byte during hex-to-int
              decoding)
      05. 0xC2-0xDF (leading bytes which require any continuation byte
          afterwards)
      06. 0xE0 (leading byte which requires a 0xA0-0xBF afterwards then any
          continuation byte after that)
      07. 0xE1-0xEC, 0xEE-0xEF (leading bytes which requires any continuation
          afterwards then any continuation byte after that)
      08. 0xED (leading byte which requires a 0x80-0x9F afterwards then any
          continuation byte after that)
      09. 0xF1-F3 (leading bytes which requires any continuation byte
          afterwards then any continuation byte then any continuation byte)
      10. 0xF0 (leading bytes which requires a 0x90-0xBF afterwards then any
          continuation byte then any continuation byte)
      11. 0xF4 (leading bytes which requires a 0x80-0x8F afterwards then any
          continuation byte then any continuation byte)
      
      Note that 0xF0 and 0xF1-0xF3 were swapped so that fewer bytes were
      needed to represent the transition state ("9, 10, 10, 10" vs.
      "10, 9, 9, 9").
      
      Using these 12 classes as "transitions", we can map from one state to
      the next. Each state is defined as some multiple of 12, so that we're
      always starting at the 0th column of each row of the FSM. From each
      state, we add the transition and get a index of the new row the FSM is
      entering.
      
      If at any point we encounter a bad byte, the state + bad-byte-transition
      is guaranteed to map us into the first row of the FSM (which contains no
      valid exiting transitions).
      
      The key differences from Björn's original (or his self-modified) DFA is
      the "bad" state is now mapped to 0 (or the first row of the FSM) instead
      of 12 (the second row). This saves ~50 bytes when gzipping, and also
      speeds up determining if a string is properly encoded (see his sample
      code at http://bjoern.hoehrmann.de/utf-8/decoder/dfa/#performance).
      
      Finally, I've replace his ternary check with an array access, to make
      the algorithm branchless. This places a requirement on the caller to 0
      out the code point between successful decodings, which it could always
      have done because it's already branching.
      
      R=marja@google.com
      
      Bug: 
      Change-Id: I574f208a84dc5d06caba17127b0d41f7ce1a3395
      Reviewed-on: https://chromium-review.googlesource.com/805357
      Commit-Queue: Justin Ridgewell <jridgewell@google.com>
      Reviewed-by: 's avatarMarja Hölttä <marja@chromium.org>
      Reviewed-by: 's avatarMathias Bynens <mathias@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#50012}
      cedec225
  18. 02 Dec, 2017 1 commit
    • Mathias Bynens's avatar
      Normalize casing of hexadecimal digits · 822be9b2
      Mathias Bynens authored
      This patch normalizes the casing of hexadecimal digits in escape
      sequences of the form `\xNN` and integer literals of the form
      `0xNNNN`.
      
      Previously, the V8 code base used an inconsistent mixture of uppercase
      and lowercase.
      
      Google’s C++ style guide uses uppercase in its examples:
      https://google.github.io/styleguide/cppguide.html#Non-ASCII_Characters
      
      Moreover, uppercase letters more clearly stand out from the lowercase
      `x` (or `u`) characters at the start, as well as lowercase letters
      elsewhere in strings.
      
      BUG=v8:7109
      TBR=marja@chromium.org,titzer@chromium.org,mtrofin@chromium.org,mstarzinger@chromium.org,rossberg@chromium.org,yangguo@chromium.org,mlippautz@chromium.org
      NOPRESUBMIT=true
      
      Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.linux:linux_chromium_rel_ng
      Change-Id: I790e21c25d96ad5d95c8229724eb45d2aa9e22d6
      Reviewed-on: https://chromium-review.googlesource.com/804294
      Commit-Queue: Mathias Bynens <mathias@chromium.org>
      Reviewed-by: 's avatarJakob Kummerow <jkummerow@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#49810}
      822be9b2
  19. 30 Nov, 2017 1 commit
  20. 16 Oct, 2017 1 commit
  21. 18 Sep, 2017 1 commit
  22. 08 Sep, 2017 1 commit
  23. 24 Aug, 2017 1 commit
    • Marja Hölttä's avatar
      [script streaming] Fix U+feff handling. · 4e453429
      Marja Hölttä authored
      U+feff is the UTF BOM but if it occurs inside the text, it's a "zero-width
      no-break space". However, the UTF-8 decoder in script streaming still thought
      it's a BOM and skipped it. The correct way to handle it would be to create a
      U+feff code point instead - the Scanner will then handle it as whitespace.
      
      This is a discrepancy between the Blink UTF-8 decoder and the V8 UTF-8 decoder,
      and caused the source positions be off by one. This bug went unnoticed, since
      normally off-by-one in this situation doesn't make the code to break.
      
      BUG=chromium:758508,chromium:758236
      
      Change-Id: Ib92a3ee65c402e21b77e42537db2a021cff55379
      Reviewed-on: https://chromium-review.googlesource.com/632096Reviewed-by: 's avatarAdam Klein <adamk@chromium.org>
      Commit-Queue: Marja Hölttä <marja@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#47583}
      4e453429
  24. 22 Aug, 2017 1 commit
  25. 02 Aug, 2017 1 commit
  26. 19 Jun, 2017 1 commit
  27. 09 Jun, 2017 1 commit
  28. 06 Jun, 2017 1 commit
  29. 02 Jun, 2017 1 commit
  30. 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
  31. 16 May, 2017 1 commit
  32. 09 May, 2017 1 commit
  33. 03 May, 2017 1 commit
  34. 30 Jan, 2017 1 commit
  35. 05 Dec, 2016 1 commit
  36. 11 Nov, 2016 1 commit