1. 23 May, 2019 1 commit
  2. 07 Jan, 2019 1 commit
    • Jakob Kummerow's avatar
      [ubsan] Fix errors related to AsmType · 81becb8c
      Jakob Kummerow authored
      The AsmType class uses a design similar to the old Object* model, where
      arbitrary values (including 0) are reinterpret_cast to pointers. This
      yields the following UBSan error, among others:
      
          src/asmjs/asm-parser.cc:2000:51: runtime error: member call on null
          pointer of type 'v8::internal::wasm::AsmType'
      
      This patch does the smallest possible fix by turning the affected methods
      into static functions. Longer-term, we should consider switching the
      overall class design to a "struct wrapping an Address" model like the new
      Object definition, which is a bit non-trivial because some AsmType types
      are ZoneObject subclasses.
      
      Bug: v8:3770
      Change-Id: Ie2a7cdc9eab32c4c469d699212c84b0419480b4f
      Reviewed-on: https://chromium-review.googlesource.com/c/1397663Reviewed-by: 's avatarMichael Starzinger <mstarzinger@chromium.org>
      Commit-Queue: Jakob Kummerow <jkummerow@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#58586}
      81becb8c
  3. 26 Nov, 2018 1 commit
  4. 20 Sep, 2018 1 commit
  5. 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
  6. 20 Aug, 2018 1 commit
  7. 02 Aug, 2018 1 commit
  8. 01 Aug, 2018 3 commits
  9. 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
  10. 18 Oct, 2017 1 commit
  11. 25 Aug, 2017 1 commit
  12. 22 Aug, 2017 1 commit
  13. 09 May, 2017 1 commit
  14. 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
  15. 18 Apr, 2017 1 commit
  16. 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