1. 24 Jun, 2021 3 commits
  2. 18 Jun, 2021 1 commit
  3. 10 Jun, 2020 1 commit
  4. 01 Apr, 2020 1 commit
    • Clemens Backes's avatar
      [asm] Fix double literals without dots · 7bb686a9
      Clemens Backes authored
      Double literals without dots should still be parsed as double constants,
      not unsigned constants. The static_cast would remove the fractional
      part, making constants like "1e-15" come out as "0" unsigned constants.
      
      The precise semantics is not spec'ed, so we still consider literals like
      "1e1" to be unsigned, and only switch to double if there is a fractional
      part.
      
      R=ecmziegler@chromium.org
      
      Bug: chromium:1065635
      Change-Id: I0aac018058a149632e0849572d19fdcc7b2af7aa
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2126922Reviewed-by: 's avatarEmanuel Ziegler <ecmziegler@chromium.org>
      Commit-Queue: Clemens Backes <clemensb@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#66949}
      7bb686a9
  5. 15 Nov, 2019 1 commit
  6. 24 May, 2019 1 commit
  7. 21 May, 2019 1 commit
  8. 15 May, 2019 2 commits
  9. 07 Mar, 2019 1 commit
  10. 13 Feb, 2019 1 commit
  11. 12 Dec, 2018 1 commit
  12. 15 Nov, 2018 1 commit
    • Clemens Hammacher's avatar
      [base] Introduce VectorOf helper · 3ad032b7
      Clemens Hammacher authored
      We often need to create a {Vector} view of data owned by a container
      like {std::vector}. The canonical way to do this is this:
      Vector<T>{vec.data(), vec.size()}
      
      This pattern is repeating information which can be deduced
      automatically, like the type T.
      
      This CL introduces a {VectorOf} helper which can construct a {Vector}
      for any container providing a {data()} and {size()} accessor, and uses
      it to replace the pattern above.
      
      R=ishell@chromium.org
      
      Bug: v8:8238
      Change-Id: Ib3a11662acc82cb83f2b4afd07ba88e579d71dba
      Reviewed-on: https://chromium-review.googlesource.com/c/1337584Reviewed-by: 's avatarIgor Sheludko <ishell@chromium.org>
      Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#57538}
      3ad032b7
  13. 14 Nov, 2018 1 commit
  14. 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
  15. 20 Aug, 2018 1 commit
  16. 01 Aug, 2018 1 commit
  17. 02 Jul, 2018 1 commit
  18. 21 Jun, 2018 1 commit
  19. 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
  20. 18 Oct, 2017 1 commit
  21. 13 Sep, 2017 1 commit
  22. 22 Aug, 2017 1 commit
  23. 31 May, 2017 1 commit
  24. 22 May, 2017 1 commit
  25. 26 Apr, 2017 1 commit
    • Michael Starzinger's avatar
      [asm.js] Fix numeric literal bounds checking. · e2accb42
      Michael Starzinger authored
      This fixes the bounds checking of "unsigned" numeric literals (those
      that do not contains dots) by the parser. In particular this fixes a
      bogus truncation to 32-bit in the scanner. It also makes the scanner
      more robust by limiting the range of those numeric literals, hence
      completely avoiding rounding loss or truncation errors.
      
      R=clemensh@chromium.org
      TEST=unittests/AsmJsScannerTest.UnsignedNumbers
      BUG=v8:6298
      
      Change-Id: Id31ab3c652e99fa8d3d6663315768e1bfaf3b773
      Reviewed-on: https://chromium-review.googlesource.com/486881Reviewed-by: 's avatarClemens Hammacher <clemensh@chromium.org>
      Commit-Queue: Michael Starzinger <mstarzinger@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#44890}
      e2accb42
  26. 19 Apr, 2017 1 commit
  27. 18 Apr, 2017 1 commit
  28. 03 Apr, 2017 1 commit
  29. 28 Mar, 2017 3 commits
    • bradnelson's avatar
      [wasm][asm.js] Fix and enable several asm.js tests with the new parser. · a84da1c3
      bradnelson authored
      Fix a few items broken during review of scanner + parser:
      * Make the scanner retain stale newline state on a rewind (as otherwise it must be able to correctly rewind that too, though it doesn't need it). (Probably should revisit).
      * Change StashCode in the builder skip to the zero case, as it crashes for some reason (added TODO).
      
      Also fix:
      * Drop test based on constant expression evaluation in main parser
      * Support constant defined based on existing constant.
      * Type constants as signed.
      * Added a check that all used functions are defined eventually.
      * Zone allocate strings for simplicity (TODOs to refactor better).
      
      BUG=v8:6090
      BUG=v8:4203
      R=mstarzinger@chromium.org,marja@chromium.org,vogelheim@chromium.org
      
      Review-Url: https://codereview.chromium.org/2771183002
      Cr-Original-Commit-Position: refs/heads/master@{#44200}
      Committed: https://chromium.googlesource.com/v8/v8/+/be0dbdd679b60c31d480d7635e579787a6a218df
      Review-Url: https://codereview.chromium.org/2771183002
      Cr-Commit-Position: refs/heads/master@{#44203}
      a84da1c3
    • bradnelson's avatar
      Revert of [wasm][asm.js] Fix and enable several asm.js tests with the new... · f8973f1c
      bradnelson authored
      Revert of [wasm][asm.js] Fix and enable several asm.js tests with the new parser. (patchset #10 id:180001 of https://codereview.chromium.org/2771183002/ )
      
      Reason for revert:
      Fails on gc-stress.
      
      Original issue's description:
      > [wasm][asm.js] Fix and enable several asm.js tests with the new parser.
      >
      > Fix a few items broken during review of scanner + parser:
      > * Make the scanner retain stale newline state on a rewind (as otherwise it must be able to correctly rewind that too, though it doesn't need it). (Probably should revisit).
      > * Change StashCode in the builder skip to the zero case, as it crashes for some reason (added TODO).
      >
      > Also fix:
      > * Drop test based on constant expression evaluation in main parser
      > * Support constant defined based on existing constant.
      > * Type constants as signed.
      > * Added a check that all used functions are defined eventually.
      > * Zone allocate strings for simplicity (TODOs to refactor better).
      >
      > BUG=v8:6090
      > BUG=v8:4203
      > R=mstarzinger@chromium.org,marja@chromium.org,vogelheim@chromium.org
      >
      > Review-Url: https://codereview.chromium.org/2771183002
      > Cr-Commit-Position: refs/heads/master@{#44200}
      > Committed: https://chromium.googlesource.com/v8/v8/+/be0dbdd679b60c31d480d7635e579787a6a218df
      
      TBR=clemensh@chromium.org,bradnelson@google.com,marja@chromium.org,mstarzinger@chromium.org,vogelheim@chromium.org
      # Skipping CQ checks because original CL landed less than 1 days ago.
      NOPRESUBMIT=true
      NOTREECHECKS=true
      NOTRY=true
      BUG=v8:6090
      
      Review-Url: https://codereview.chromium.org/2782613002
      Cr-Commit-Position: refs/heads/master@{#44201}
      f8973f1c
    • bradnelson's avatar
      [wasm][asm.js] Fix and enable several asm.js tests with the new parser. · be0dbdd6
      bradnelson authored
      Fix a few items broken during review of scanner + parser:
      * Make the scanner retain stale newline state on a rewind (as otherwise it must be able to correctly rewind that too, though it doesn't need it). (Probably should revisit).
      * Change StashCode in the builder skip to the zero case, as it crashes for some reason (added TODO).
      
      Also fix:
      * Drop test based on constant expression evaluation in main parser
      * Support constant defined based on existing constant.
      * Type constants as signed.
      * Added a check that all used functions are defined eventually.
      * Zone allocate strings for simplicity (TODOs to refactor better).
      
      BUG=v8:6090
      BUG=v8:4203
      R=mstarzinger@chromium.org,marja@chromium.org,vogelheim@chromium.org
      
      Review-Url: https://codereview.chromium.org/2771183002
      Cr-Commit-Position: refs/heads/master@{#44200}
      be0dbdd6
  30. 16 Mar, 2017 1 commit
    • bradnelson's avatar
      [wasm][asm.js] Adding custom asm.js lexer. · 4c3217e1
      bradnelson authored
      Adding a custom lexer for asm.js parsing.
      It takes advantage of a number of asm.js properties to simply things:
      * Assumes 'use asm' is the only string.
      * Does not handle unicode for now (tools don't emit it).
      * Combines global + local string table with lexer.
      
      R=marja@chromium.org,vogelheim@chromium.org,kschimpf@chromium.org
      
      BUG=v8:4203
      BUG=v8:6090
      
      Review-Url: https://codereview.chromium.org/2751693002
      Cr-Commit-Position: refs/heads/master@{#43874}
      4c3217e1