- 13 Jun, 2018 3 commits
-
-
Aseem Garg authored
This is a reland of 2338a2fd Original change's description: > [wasm] Add simd mem and shift ops to interpreter > > R=clemensh@chromium.org > BUG=v8:6020 > > Change-Id: I5d95e4c23240ae4e174d896d31e1b9b1d89d9418 > Reviewed-on: https://chromium-review.googlesource.com/1096493 > Reviewed-by: Clemens Hammacher <clemensh@chromium.org> > Commit-Queue: Aseem Garg <aseemgarg@chromium.org> > Cr-Commit-Position: refs/heads/master@{#53717} Bug: v8:6020 Change-Id: I38a73f5e389617a05a12e0a9477544c4e3aa2883 Reviewed-on: https://chromium-review.googlesource.com/1099895Reviewed-by:
Ben Smith <binji@chromium.org> Commit-Queue: Aseem Garg <aseemgarg@chromium.org> Cr-Commit-Position: refs/heads/master@{#53722}
-
Sathya Gunasekaran authored
This reverts commit 2338a2fd. Reason for revert: broke mips see https://ci.chromium.org/buildbot/client.v8.ports/V8%20Mips%20-%20builder/17573 Original change's description: > [wasm] Add simd mem and shift ops to interpreter > > R=clemensh@chromium.org > BUG=v8:6020 > > Change-Id: I5d95e4c23240ae4e174d896d31e1b9b1d89d9418 > Reviewed-on: https://chromium-review.googlesource.com/1096493 > Reviewed-by: Clemens Hammacher <clemensh@chromium.org> > Commit-Queue: Aseem Garg <aseemgarg@chromium.org> > Cr-Commit-Position: refs/heads/master@{#53717} TBR=aseemgarg@chromium.org,clemensh@chromium.org Change-Id: I8e5b2e9a9c1c09d035335ba6681bbe3e1ce5abfb No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:6020 Reviewed-on: https://chromium-review.googlesource.com/1099776Reviewed-by:
Sathya Gunasekaran <gsathya@chromium.org> Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#53718}
-
Aseem Garg authored
R=clemensh@chromium.org BUG=v8:6020 Change-Id: I5d95e4c23240ae4e174d896d31e1b9b1d89d9418 Reviewed-on: https://chromium-review.googlesource.com/1096493Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Aseem Garg <aseemgarg@chromium.org> Cr-Commit-Position: refs/heads/master@{#53717}
-
- 29 May, 2018 1 commit
-
-
Ben L. Titzer authored
This CL further optimizes the decoding fastpath by moving feature checks off the critical path. For prototype opcodes that are enabled by feature flags, they are handled in a switch case off the main path. R=mstarzinger@chromium.org Change-Id: If40fedbaadb9c611c78bc2b7df035ced056cb39a Reviewed-on: https://chromium-review.googlesource.com/1076187Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#53406}
-
- 28 May, 2018 1 commit
-
-
Ben L. Titzer authored
This CL improves the parsing and validation speed of WASM bytecode by eliminating a call to get the "simple opcode signature" on the fast path. It introduces a byte-indexed array that points directly to a FunctionSig*. By declaring the array in the wasm-opcodes.h header file and initializing (constexpr) in the wasm-opcodes.cc file, the decoder can use this array directly in its first test. (Note that constexpr obviates the need for LazyInitialize in previous iterations of this mechanism). There are two more calls on this fast path that can be simplified, WasmOpcodes::IsSignExtensionOpcode() and WasmOpcodes::IsAnyRefOpcode(). These calls are needed to check for a feature flag and can be implemented differently in a followup CL. R=mstarzinger@chromium.org Change-Id: Ibb4adb1134932c7e0b6a35facec4d8dd8c998c56 Reviewed-on: https://chromium-review.googlesource.com/1075276Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#53391}
-
- 24 Apr, 2018 1 commit
-
-
Andreas Haas authored
This CL splits the definition of ValueType and its helper functions into its own header file. R=clemensh@chromium.org Bug: v8:7570 Change-Id: I3aa776edb45839d7d38836e131df45732c685310 Reviewed-on: https://chromium-review.googlesource.com/1021810 Commit-Queue: Andreas Haas <ahaas@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#52758}
-
- 23 Mar, 2018 1 commit
-
-
Andreas Haas authored
R=titzer@chromium.org Bug: v8:7581 Change-Id: I66bf50bc1243cb5e4b9f2693febf91f74077a2f4 Reviewed-on: https://chromium-review.googlesource.com/978002Reviewed-by:
Ben Titzer <titzer@chromium.org> Commit-Queue: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#52176}
-
- 07 Mar, 2018 1 commit
-
-
Deepti Gandluri authored
Bug:v8:6532 Change-Id: Ida865c9cc7c029cf070b24296f6ef7bb573b30c4 Reviewed-on: https://chromium-review.googlesource.com/947094Reviewed-by:
Jaroslav Sevcik <jarin@chromium.org> Reviewed-by:
Ben Smith <binji@chromium.org> Commit-Queue: Deepti Gandluri <gdeepti@chromium.org> Cr-Commit-Position: refs/heads/master@{#51790}
-
- 02 Mar, 2018 1 commit
-
-
Deepti Gandluri authored
Bug: v8:6532 Change-Id: I6fde1fd2cc5776628af4e8a92e9b9ec030b398f7 Reviewed-on: https://chromium-review.googlesource.com/923718Reviewed-by:
Jaroslav Sevcik <jarin@chromium.org> Reviewed-by:
Ben Smith <binji@chromium.org> Commit-Queue: Deepti Gandluri <gdeepti@chromium.org> Cr-Commit-Position: refs/heads/master@{#51675}
-
- 07 Feb, 2018 1 commit
-
-
Karl Schimpf authored
Adds the remaining saturating float to int conversion opcodes. Bug: v8:7226 Change-Id: If84e564a7816eb4aedbc336f5c2e614da22bb10a Reviewed-on: https://chromium-review.googlesource.com/905472 Commit-Queue: Karl Schimpf <kschimpf@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#51157}
-
- 31 Jan, 2018 1 commit
-
-
Karl Schimpf authored
Implements the saturating opcode i64.trunc_s:sat/f32. Also does some refactoring of the i32 saturating opcodes use a simplier solution (calling a single method to handle all i32 values). Also refactors code so that the remaining i64 saturating conversions should be easy to add to the wasm compiler. Bug: v8:7226 Change-Id: I031aca1e059b4baa989a56ecbc16941f591ff9b3 Reviewed-on: https://chromium-review.googlesource.com/887333 Commit-Queue: Karl Schimpf <kschimpf@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#51001}
-
- 25 Jan, 2018 1 commit
-
-
Deepti Gandluri authored
- Shift opcode numbers for asmjs-compat opcodes - Add --experimental-wasm-se flag to gate sign extension opccodes - Fix codegen for ia32 movsx instructions Bug: v8:6532 Change-Id: If7c9eff5ac76d24496effb2314ae2601bb8bba85 Reviewed-on: https://chromium-review.googlesource.com/838403 Commit-Queue: Deepti Gandluri <gdeepti@chromium.org> Reviewed-by:
Bill Budge <bbudge@chromium.org> Reviewed-by:
Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#50875}
-
- 16 Jan, 2018 1 commit
-
-
Karl Schimpf authored
Adds I32UConvertF32, I32SConvertF64, and I32UConvertF64 instructions. Refactors code to use templates where appropriate, and to use previously committed template function is_inbounds() when appropriate in tests. Bug: v8:7226 Change-Id: I2701e5fd0b21cefa1f285677f20616cfde29ab0d Reviewed-on: https://chromium-review.googlesource.com/862609 Commit-Queue: Karl Schimpf <kschimpf@chromium.org> Reviewed-by:
Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#50632}
-
- 27 Dec, 2017 1 commit
-
-
Karl Schimpf authored
This CL adds the i32.trunc_s:sat/f32 WASM opcode to the turbofan compiler and interpreter (more saturating operators will be added in later CLs). The operatation has been added under an experimental flag. Bug: v8:7226 Change-Id: Ia69e981ffddb2da682e53ba25f489fc9d0cd2db5 Reviewed-on: https://chromium-review.googlesource.com/834670 Commit-Queue: Karl Schimpf <kschimpf@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#50311}
-
- 12 Dec, 2017 1 commit
-
-
Clemens Hammacher authored
These enums capture the "type" of a load and store in one value, with accessors to get the value type, memory type, memory size etc. This will simplify implementing memory operations in Liftoff. R=titzer@chromium.org Bug: v8:6600 Change-Id: Ief673e90fe63292853f97e5e95b5c39da1296730 Reviewed-on: https://chromium-review.googlesource.com/822476 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#50054}
-
- 04 Dec, 2017 1 commit
-
-
Andreas Haas authored
The return type of stores is void according to the WebAssembly spec. In wasm-opcodes.h, however, the return type of stores was set to the value type. This CL changes the signature of stores, and fixes some issues which were caused because now there exist opcodes with a return count different to 1. R=titzer@chromium.org, clemensh@chromium.org Bug: v8:7109 Change-Id: I94d1b049e6d0032868b2ce83f52e16b474de3dea Reviewed-on: https://chromium-review.googlesource.com/803495Reviewed-by:
Ben Titzer <titzer@chromium.org> Commit-Queue: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#49836}
-
- 02 Dec, 2017 1 commit
-
-
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:
Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#49810}
-
- 06 Nov, 2017 1 commit
-
-
Deepti Gandluri authored
Implement I32Atomic BinOps, and enable tests to run in the interpreter. Bug=v8:6532 Change-Id: Ida78d2911cb6973fe053283a9937e7af04e6df01 Reviewed-on: https://chromium-review.googlesource.com/724928 Commit-Queue: Deepti Gandluri <gdeepti@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#49126}
-
- 27 Oct, 2017 1 commit
-
-
Andreas Rossberg authored
R=titzer@chromium.org Change-Id: Ie8c361efb48b56dc65719f09dfc79d505e0f3459 Reviewed-on: https://chromium-review.googlesource.com/735610 Commit-Queue: Andreas Rossberg <rossberg@chromium.org> Reviewed-by:
Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#49000}
-
- 20 Oct, 2017 1 commit
-
-
Clemens Hammacher authored
Due to a bug in gcc<5, we could not make some arrays constexpr. This CL fixes this by encapsulating the respective functions in functors. R=tebbi@chromium.org Change-Id: I9947e38f7fd9b801f85623663849699c0f8ffd75 Reviewed-on: https://chromium-review.googlesource.com/730303 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#48779}
-
- 02 Oct, 2017 1 commit
-
-
Deepti Gandluri authored
Bug: V8:6532 Change-Id: I6713e1c01ec669b7fa9a09bb75fbecff12f6cc22 Reviewed-on: https://chromium-review.googlesource.com/685949 Commit-Queue: Deepti Gandluri <gdeepti@chromium.org> Reviewed-by:
Ben Smith <binji@chromium.org> Reviewed-by:
Bill Budge <bbudge@chromium.org> Cr-Commit-Position: refs/heads/master@{#48252}
-
- 08 Sep, 2017 1 commit
-
-
Clemens Hammacher authored
This is a cleanup for a presubmit check that might get enabled soon: https://chromium-review.googlesource.com/c/v8/v8/+/657104 R=ahaas@chromium.org CC=mstarzinger@chromium.org Change-Id: Id431f2d4e8fcbb88a777b63e3fb136fa8ceac70a Reviewed-on: https://chromium-review.googlesource.com/657400 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#47926}
-
- 10 Jul, 2017 2 commits
-
-
Karl Schimpf authored
Adds missing opcodes for exception handling for the function body decoder. Also adds error messages if the exception handling construct is not yet functional. Note that the previous prototype for catch and throw have been marked as not yet functional. This was done because it doesn't model exceptions the way the proposal suggests. Rather, they implement a hard-coded (c++ model) of exceptions. Bug: v8:6577 Change-Id: Ife170b9f0cb2be91b11082e43c4795ce81a427dc Reviewed-on: https://chromium-review.googlesource.com/564138Reviewed-by:
Bill Budge <bbudge@chromium.org> Commit-Queue: Karl Schimpf <kschimpf@chromium.org> Cr-Commit-Position: refs/heads/master@{#46540}
-
Loo Rong Jie authored
Change-Id: I7fd794342a13718059b47ea25c26d850ed2da509 Reviewed-on: https://chromium-review.googlesource.com/564189Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#46506}
-
- 28 Jun, 2017 1 commit
-
-
titzer authored
R=clemensh@chromium.org,ahaas@chromium.org BUG= Review-Url: https://codereview.chromium.org/2963603003 Cr-Commit-Position: refs/heads/master@{#46283}
-
- 19 Jun, 2017 1 commit
-
-
gdeepti authored
- Use correct prefixes for SIMD/Atomics ops - S128 LoadMem/StoreMem should not use 0xc0/0xc1 opcodes, these are now being used for sign extension - S128 LoadMem/StoreMem should use prefixed opcodes BUG=v8:6020 Review-Url: https://codereview.chromium.org/2943773002 Cr-Commit-Position: refs/heads/master@{#46016}
-
- 13 Jun, 2017 1 commit
-
-
bbudge authored
- Eliminates S32x4Shuffle, S16x8Shuffle opcodes. All shuffles are subsumed by S8x16Shuffle. This aligns us with the latest WASM SIMD spec. LOG=N BUG=v8:6020 Review-Url: https://codereview.chromium.org/2923103003 Cr-Commit-Position: refs/heads/master@{#45929}
-
- 08 Jun, 2017 1 commit
-
-
bbudge authored
- Eliminates b1x4, b1x8, and b1x16 as distinct WASM types. - All vector comparisons return v128 type. - Eliminates b1xN and, or, xor, not. - Selects take a v128 mask vector and are now bit-wise. - Adds a new test for Select, where mask is non-canonical (not 0's and -1's). LOG=N BUG=v8:6020 Review-Url: https://codereview.chromium.org/2919203002 Cr-Commit-Position: refs/heads/master@{#45795}
-
- 30 May, 2017 2 commits
-
-
Clemens Hammacher authored
The problem with enums is that neither is_integral, nor is_signed or is_unsigned is true for them. Thus, comparison with our CHECK/DCHECK macros always just uses the default comparison, which fails if the signedness of the underlying integer types does not match. This CL fixes this by considering the underlying integer type of an enum to choose the right comparison operator. R=ishell@chromium.org CC=ahaas@chromium.org Change-Id: I5ef56d1b86228e879f5866967ab7e709f1e97f0b Reviewed-on: https://chromium-review.googlesource.com/518123 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#45593}
-
Clemens Hammacher authored
Both lazy initialization and static initialization (via static initializer) are bad. Fortunately, the arrays we are constructing are constant anyway, so we can just compute them at compile time. This is enforced by making them constexpr. This also saves all code needed for the initialization, and makes accesses to the tables faster, as they don't need any atomic operations (via LazyInstance). R=ahaas@chromium.org Change-Id: I7d3ba9b0f2602f596a6c71c8c567e0d1bc306268 Reviewed-on: https://chromium-review.googlesource.com/517083 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#45589}
-
- 04 May, 2017 1 commit
-
-
bbudge authored
- Removes primitive shuffle opcodes. - Adds Shuffle opcode for S32x4, S16x8, S8x16. - Adds code to ARM instruction selector to pick best opcodes for some common shuffle patterns. LOG=N BUG=v8:6020 Review-Url: https://codereview.chromium.org/2847663005 Cr-Commit-Position: refs/heads/master@{#45104}
-
- 03 May, 2017 1 commit
-
-
Clemens Hammacher authored
During computation of the side table, ignore stack effects of instructions following any unconditional jump in the same block (|unreachable|, |br|, |br_table| or |return| jump out of the block). Without this fix, the current stack height might underflow, or we compute an unnecessarily large max_stack_height_. Note that those instruction will never get executed anyway. Hence, we don't need to store any side table information for such unreachable code. R=rossberg@chromium.org BUG=chromium:716936, chromium:715990 Change-Id: I282f7f18ba1b972a112210e692f6cd05cf32308c Reviewed-on: https://chromium-review.googlesource.com/493266Reviewed-by:
Andreas Rossberg <rossberg@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#45059}
-
- 25 Apr, 2017 1 commit
-
-
Clemens Hammacher authored
Instead of dynamically tracking the block nesting, precompute the information statically. The interpreter was already using a side table to store the pc diff for each break, conditional break and others. The information needed to adjust the stack was tracked dynamically, however. This CL also precomputes this information, as it is statically known. Instead of just storing the pc diff in the side table, we now store the pc diff, the stack height diff and the arity of the target block. Local measurements show speedups of 5-6% on average, sometimes >10%. R=ahaas@chromium.org BUG=v8:5822 Change-Id: I986cfa989aabe1488f2ff79ddbfbb28aeffe1452 Reviewed-on: https://chromium-review.googlesource.com/485482Reviewed-by:
Andreas Haas <ahaas@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#44837}
-
- 24 Apr, 2017 1 commit
-
-
bbudge authored
- Adds new F32x4AddHoriz, I32x4AddHoriz, etc. to WASM opcodes. - Implements them for ARM. LOG=N BUG=v8:6020 Review-Url: https://codereview.chromium.org/2804883008 Cr-Commit-Position: refs/heads/master@{#44812}
-
- 21 Apr, 2017 1 commit
-
-
bbudge authored
These can be synthesized from existing operations and scheduled for better performance than if we have to generate blocks of instructions that take many cycles to complete. - Remove F32x4RecipRefine, F32x4RecipSqrtRefine. Clients are better off synthesizing these from splats, multiplies and adds. - Remove F32x4Div, F32x4Sqrt, F32x4MinNum, F32x4MaxNum. Clients are better off synthesizing these or using the reciprocal approximations, possibly with a refinement step. LOG=N BUG=v8:6020 Review-Url: https://codereview.chromium.org/2827143002 Cr-Commit-Position: refs/heads/master@{#44784}
-
- 19 Apr, 2017 1 commit
-
-
bbudge authored
- Adds unary Reverse shuffles (swizzles): S32x2Reverse, S16x4Reverse, S16x2Reverse, S8x8Reverse, S8x4Reverse, S8x2Reverse. Reversals are done within the sub-vectors that prefix the opcode name, e.g. S8x2 reverses the 8 consecutive pairs in an S8x16 vector. - Adds binary Zip (interleave) left and right half-shuffles to return a single vector: S32x4ZipLeft, S32x4ZipRightS16x8ZipLeft, S16x8ZipRight, S8x16ZipLeft, S8x16ZipRight. - Adds binary Unzip (de-interleave) left and right half shuffles to return a single vector: S32x4UnzipLeft, S32x4UnzipRight, S16x8UnzipLeft, S16x8UnzipRight, S8x16UnzipLeft, S8x16UnzipRight. - Adds binary Transpose left and right half shuffles to return a single vector: S32x4TransposeLeft, S32x4TransposeRight, S16x8TransposeLeft, S16xTransposeRight, S8x16TransposeLeft, S8x16TransposeRight. - Adds binary Concat (concatenate) byte shuffle: S8x16Concat #bytes to paste two vectors together. LOG=N BUG=v8:6020 Review-Url: https://codereview.chromium.org/2801183002 Cr-Commit-Position: refs/heads/master@{#44734}
-
- 10 Apr, 2017 1 commit
-
-
bbudge authored
- Adds WASM opcodes I32x4SConvertI16x8Low, I32x4SConvertI16x8High, I32x4UConvertI16x8Low, I32x4UConvertI16x8High, which unpack half of an I16x8 register into a whole I32x4 register, with signed or unsigned extension. Having separate Low/High opcodes works around the difficulty of having multiple output registers, which would be necessary if we unpacked the entire I16x8 register. - Adds WASM opcodes I16x8SConvertI8x16Low, I16x8SConvertI8x16High, I16x8UConvertI8x16Low, I16x8UConvertI8x16High, similarly to above. - Adds WASM opcodes I16x8SConvertI32x4, I16x8UConvertI32x4, I8x16SConvert16x8, I8x16UConvertI16x8, which pack two source registers into a single destination register with signed or unsigned saturation. These could have been separated into half operations, but this is simpler to implement with SSE, AVX, and is acceptable on ARM. It also avoids adding operations that only modify half of their destination register. - Implements these opcodes for ARM. LOG=N BUG=v8:6020 Review-Url: https://codereview.chromium.org/2800523002 Cr-Commit-Position: refs/heads/master@{#44541}
-
- 16 Mar, 2017 1 commit
-
-
Clemens Hammacher authored
This introduces iterators for the parameters and return types of a signature. This required extending the constructor of iterator_range for perfect forwarding. I also moved the HasJSCompatibleSignature to a header file in order to reuse it from the interpreter. R=ahaas@chromium.org, titzer@chromium.org Change-Id: Ie77f87ef87fdfd3138b2106640ac7c481cf247e6 Reviewed-on: https://chromium-review.googlesource.com/455777 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Reviewed-by:
Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#43854}
-
- 15 Mar, 2017 1 commit
-
-
bbudge authored
- Adds new load/store opcodes (0xc0, 0xc1) for S128 type. - Implements these for ARM. - Enables more WASM SIMD tests, and adds new LoadStoreLoad test. LOG=N BUG=v8:6020 Review-Url: https://codereview.chromium.org/2745853002 Cr-Commit-Position: refs/heads/master@{#43841}
-
- 08 Mar, 2017 1 commit
-
-
bbudge authored
- Implements Float32x4 Mul, Min, Max for ARM. - Implements Float32x4 relational ops for ARM. - Implements reciprocal, reciprocal square root estimate/refinement ops for ARM. - Reorganizes tests to eliminate need for specialized float ref fns in tests. - Rephrases Gt, Ge in terms of Lt, Le, and eliminates the redundant machine operators. - Renames test-run-wasm-simd test names to match instructions. LOG=N BUG=v8:6020 Review-Url: https://codereview.chromium.org/2729943002 Cr-Commit-Position: refs/heads/master@{#43658}
-