1. 12 Dec, 2017 34 commits
  2. 11 Dec, 2017 6 commits
    • Sergiy Byelozyorov's avatar
      Whitespace CL · e5d1ff25
      Sergiy Byelozyorov authored
      TBR=sergiyb@chromium.org
      
      Bug: chromium:747960
      Change-Id: I3767d335907f2b953b633c4ae20c5c9b2dc5d65b
      Reviewed-on: https://chromium-review.googlesource.com/820910
      Commit-Queue: Sergiy Byelozyorov <sergiyb@chromium.org>
      Reviewed-by: 's avatarSergiy Byelozyorov <sergiyb@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#50017}
      e5d1ff25
    • Junliang Yan's avatar
      PPC/s390: [wasm] Cleanup Ifdefs for SIMD ops · 4473c58b
      Junliang Yan authored
      Port 663b55aa
      
      R=gdeepti@chromium.org, joransiu@ca.ibm.com, jbarboza@ca.ibm.com
      BUG=
      LOG=N
      
      Change-Id: Ia8cfa8c0927915c4afa07ceac85140231c415a9b
      Reviewed-on: https://chromium-review.googlesource.com/820196Reviewed-by: 's avatarDeepti Gandluri <gdeepti@chromium.org>
      Commit-Queue: Junliang Yan <jyan@ca.ibm.com>
      Cr-Commit-Position: refs/heads/master@{#50016}
      4473c58b
    • Sergiy Byelozyorov's avatar
      [tools] Migrate 3 more pairs of builders to LUCI · 91021b72
      Sergiy Byelozyorov authored
      TBR=machenbach@google.com
      
      No-Try: true
      Bug: chromium:747960
      Change-Id: I3ec105f0ddc2856c95b2314c4e2dd285e040b330
      Reviewed-on: https://chromium-review.googlesource.com/820830
      Commit-Queue: Sergiy Byelozyorov <sergiyb@chromium.org>
      Reviewed-by: 's avatarSergiy Byelozyorov <sergiyb@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#50015}
      91021b72
    • Deepti Gandluri's avatar
      [wasm] Implement wasm SIMD F32x4 Ops · 7fd5949c
      Deepti Gandluri authored
      This patch implements the following F32x4 Ops:
      F32x4Splat, F32x4ExtractLane, F32x4ReplaceLane
      F32x4RecipApprox, F32x4RecipSqrtApprox
      F32x4Add, F32x4Sub, F32x4Mul, F32x4Min, F32x4Max,
      F32x4Eq, F32x4Ne, F32x4Gt, F32x4Ge
      
      BUG=V8:6020
      
      Change-Id: I8267734d336f4bae6fed008d7b1f5faa428574df
      Reviewed-on: https://chromium-review.googlesource.com/816734Reviewed-by: 's avatarBill Budge <bbudge@chromium.org>
      Reviewed-by: 's avatarMircea Trofin <mtrofin@chromium.org>
      Commit-Queue: Deepti Gandluri <gdeepti@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#50014}
      7fd5949c
    • Deepti Gandluri's avatar
      Implement haddps for ia32/x64 · d3ed12b4
      Deepti Gandluri authored
      The haddps instruction is needed to implement wasm SIMD F32x4 horizontal add.
      
      BUG=V8:6020
      
      Change-Id: Ifff78f6c697b46e621f0fd6b7bb1b0e7824a3088
      Reviewed-on: https://chromium-review.googlesource.com/820098Reviewed-by: 's avatarBill Budge <bbudge@chromium.org>
      Commit-Queue: Deepti Gandluri <gdeepti@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#50013}
      d3ed12b4
    • 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