- 11 Sep, 2020 1 commit
-
-
Ng Zhi An authored
Fix lowering of functions that returns the result of an i8x16 or i16x8 operation. Bug: v8:10507 Change-Id: Ia3b29e69cff7771f85dc5160937cbaf2bbc12b55 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2399049 Commit-Queue: Zhi An Ng <zhin@chromium.org> Reviewed-by: Bill Budge <bbudge@chromium.org> Cr-Commit-Position: refs/heads/master@{#69832}
-
- 03 Sep, 2020 1 commit
-
-
Ng Zhi An authored
Functions with v128 in their signatures are always lowered to 4 word32. So if a return happens to be have an input that is a f32x4 operation, we get a register allocator error because it tries to fit a float into a general register. To fix that we need to do some checks when lowering kReturn, and for each input node, if we are returning a v128, and it is to be lowered into 4 f32 nodes, we bitcast the floats to ints. Bug: v8:10507 Change-Id: Iea2fdfc4057304ebf0898e6f7091124629c589f0 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2391331 Commit-Queue: Zhi An Ng <zhin@chromium.org> Reviewed-by: Bill Budge <bbudge@chromium.org> Cr-Commit-Position: refs/heads/master@{#69705}
-
- 19 Jun, 2020 1 commit
-
-
Manos Koukoutos authored
This CL introduces one-letter shorthands to HeapTypes, and fixes signatures to be in sync with the ValueType and HeapType shorthands. Bug: v8:7748 Change-Id: I4cc8e26d6523074bc36bf2d29289e63a23e80ddc Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2249672 Commit-Queue: Manos Koukoutos <manoskouk@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#68425}
-
- 10 Jun, 2020 1 commit
-
-
Manos Koukoutos authored
As per the latest update to the 'reference types' wasm proposal, the nullref type is removed. Following that, all its uses in V8 were also removed. This CL: - Removes now dead code referencing nullref. - Changes names of functions/exceptions containing 'nullref' to 'null'. - Changes nullref to the corresponding nullable type in some tests. Bug: v8:7748 Change-Id: I5b4606671d7b24dd48a45a3341e8a1c056fcd1d0 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2238026 Commit-Queue: Manos Koukoutos <manoskouk@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#68283}
-
- 09 Jun, 2020 1 commit
-
-
Manos Koukoutos authored
The reference types wasm proposal dropped all subtyping. Subsequently, the 'anyref' type was renamed to externref. This changes all references of the *type* anyref to externref. Additionally, the flag that permits this extension is renamed to "reftypes" to mirror the proposal name. Bug: v8:7748 Change-Id: Icf323f13b9660fd10540e65125af053fca3a03f9 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2232941 Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by: Kim-Anh Tran <kimanh@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#68270}
-
- 17 Jan, 2020 1 commit
-
-
Ng Zhi An authored
Add a cctest that contains a function with a SIMD parameter, and calls that function. This will exercise two cases in Liftoff which involves preparing to call the function, and processing the SIMD parameters of the function. The tricky case here is ARM, which requires an FP pair. Most of the logic added is to check the RegClass/type and construct the right type of LiftoffRegister to use. As a drive-by, added SIMD case to the various backends' Move implementation. This is not exercised by the test case, requires more complicated function setup. Bug: v8:9909 Change-Id: I1d01e8c3bee0cf336d1a8ff537317c77aedfdac0 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2004369 Commit-Queue: Zhi An Ng <zhin@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#65829}
-
- 15 Jan, 2020 1 commit
-
-
Emanuel Ziegler authored
Add decoding of ref.null as a valid argument for references in TurboFan, LiftOff and the interpreter. R=ahaas@chromium.org R=jkummerow@chromium.org Bug: chromium:10063 Change-Id: I1e2d9c76f616dacb3aa06f8b535543bdcdcf0783 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1991485 Commit-Queue: Emanuel Ziegler <ecmziegler@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#65788}
-
- 08 Jul, 2019 1 commit
-
-
Bill Budge authored
Change-Id: Ia506f4741e6ff9f024199d1b1fa7abb7dafe2b25 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1682835 Commit-Queue: Bill Budge <bbudge@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Reviewed-by: Ben Smith <binji@chromium.org> Cr-Commit-Position: refs/heads/master@{#62581}
-
- 28 May, 2019 1 commit
-
-
Andreas Haas authored
The instruction is the same as the existing {select} instruction with type. Both inputs must be in a sub-type relationship with the type specified in the type instruction. R=clemensh@chromium.org Bug: v8:7581 Change-Id: Ibead6cd0253210828c8114336ea0942e6cbd6126 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1631413 Commit-Queue: Andreas Haas <ahaas@chromium.org> Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#61886}
-
- 21 May, 2019 1 commit
-
-
Yang Guo authored
Bug: v8:9247 TBR=bmeurer@chromium.org,neis@chromium.org NOPRESUBMIT=true Change-Id: Ia1e49d1aac09c4ff9e05d58fab9d08dd71198878 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1621931Reviewed-by: Yang Guo <yangguo@chromium.org> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#61682}
-
- 13 May, 2019 1 commit
-
-
Andreas Haas authored
I did the implementation with a runtime function. I extracted some code from the implementation of table.get. By accident I formatted anyfunc.js. However, since it's an improvement, I don't want to undo it. I didn't change anything in the older tests though, I only added new tests at the end. R=mstarzinger@chromium.org Bug: v8:7581 Change-Id: I31832ccc817e1e7989f486d6487108c14d21bbea Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1602701 Commit-Queue: Andreas Haas <ahaas@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#61442}
-
- 07 May, 2019 1 commit
-
-
Andreas Haas authored
The implementation is done with a runtime function. R=mstarzinger@chromium.org Bug: v8:7581 Change-Id: I5f27b1fdc7cc2baf6919b4db3bf053a350b91a74 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1596738 Commit-Queue: Andreas Haas <ahaas@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#61274}
-
- 03 May, 2019 1 commit
-
-
Andreas Haas authored
This CL add decoding and code generation for the table.grow instruction. For code generation we just generate a runtime call. The implementation is quite straight-forward. However, I did several small cleanups along the way. I hope it's still acceptable. I could also split out some cleanups into separate CLs. R=mstarzinger@chromium.org Bug: v8:7581 Change-Id: Id885b7e70eb4f5bccfe779eb216f7cc9302ea3a5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1593078 Commit-Queue: Andreas Haas <ahaas@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#61192}
-
- 12 Oct, 2018 1 commit
-
-
Clemens Hammacher authored
We were re-definining the FunctionSig typedef in several places. This CL moves it to value-type.h, since it's a signature over ValueType. R=titzer@chromium.org Bug: v8:8238 Change-Id: Id5e8a55c7e0f98d61235e32a5e6cd12e04d26947 Reviewed-on: https://chromium-review.googlesource.com/c/1278387 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#56597}
-
- 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}
-
- 11 Oct, 2017 3 commits
-
-
Andreas Rossberg authored
Only change over original: Init sig_index to 0 at function-body-decoder-impl.h:168, to make MSAN happy on error path. R=titzer@chromium.org Change-Id: I9ac17215360523b656b10d2466201001b65992c0 Reviewed-on: https://chromium-review.googlesource.com/712655Reviewed-by: Ben Titzer <titzer@chromium.org> Commit-Queue: Andreas Rossberg <rossberg@chromium.org> Cr-Commit-Position: refs/heads/master@{#48463}
-
Michael Achenbach authored
This reverts commit e44fdc70. Reason for revert: Breaks msan: https://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20arm64%20-%20sim%20-%20MSAN/builds/17482 Original change's description: > [wasm] [multival] Allow function types as block types > > Changes the binary encoding of multi-return blocks to contain a function type index instead of a vector of value types. > > Cf. https://github.com/WebAssembly/multi-value/blob/master/proposals/multi-value/Overview.md#binary-format > > Bug: v8:6672 > Change-Id: I506d9323bfd6dba1e7a24c8590bcf5a08b68c433 > Reviewed-on: https://chromium-review.googlesource.com/599807 > Reviewed-by: Ben Titzer <titzer@chromium.org> > Commit-Queue: Andreas Rossberg <rossberg@chromium.org> > Cr-Commit-Position: refs/heads/master@{#48453} TBR=titzer@chromium.org,rossberg@chromium.org Change-Id: Ia711d16ec6bd1c0731a96d38b8661f05be71f64b No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:6672 Reviewed-on: https://chromium-review.googlesource.com/712634Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#48455}
-
Andreas Rossberg authored
Changes the binary encoding of multi-return blocks to contain a function type index instead of a vector of value types. Cf. https://github.com/WebAssembly/multi-value/blob/master/proposals/multi-value/Overview.md#binary-format Bug: v8:6672 Change-Id: I506d9323bfd6dba1e7a24c8590bcf5a08b68c433 Reviewed-on: https://chromium-review.googlesource.com/599807Reviewed-by: Ben Titzer <titzer@chromium.org> Commit-Queue: Andreas Rossberg <rossberg@chromium.org> Cr-Commit-Position: refs/heads/master@{#48453}
-
- 21 Dec, 2016 1 commit
-
-
titzer authored
This is more renaming work to comply with the naming in the public design repository. E.g. types are called "value types" and we no longer refer to ASTs. R=clemensh@chromium.org BUG= Review-Url: https://codereview.chromium.org/2594993002 Cr-Commit-Position: refs/heads/master@{#41891}
-
- 05 Oct, 2016 1 commit
-
-
ahaas authored
R=titzer@chromium.org Review-Url: https://codereview.chromium.org/2395743003 Cr-Commit-Position: refs/heads/master@{#39988}
-
- 12 Sep, 2016 1 commit
-
-
ahaas authored
With this CL the AstDecoder produces an error if it encounters a grow_memory instruction in an asmjs module. Additionally asmjs instructions are not allowed anymore in wasm modules. BUG=chromium:644674 R=titzer@chromium.org Review-Url: https://codereview.chromium.org/2324733002 Cr-Commit-Position: refs/heads/master@{#39339}
-
- 16 Jul, 2016 1 commit
-
-
gdeepti authored
- Add Simd128 type to Wasm AST types - Decode SIMD prefix, wasm opcodes correctly - Add a pass that converts SIMD machine ops to runtime calls - Sample opcodes Int32x4Splat, Int32x4ExtractLane and test LOG=N BUG=v8:4124 R=bradnelson@chromium.org, bbudge@chromium.org, titzer@chromium.org Committed: https://crrev.com/73df92fc2fdbbfadc17e8ab4e58ec56ae2b3d91a Review-Url: https://codereview.chromium.org/1991143002 Cr-Original-Commit-Position: refs/heads/master@{#37789} Cr-Commit-Position: refs/heads/master@{#37807}
-
- 15 Jul, 2016 2 commits
-
-
machenbach authored
Revert of Convert SIMD wasm ops to runtime function calls (patchset #17 id:320001 of https://codereview.chromium.org/1991143002/ ) Reason for revert: [Sheriff] Violates msan and tsan: https://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20arm64%20-%20sim%20-%20MSAN/builds/9663 https://build.chromium.org/p/client.v8/builders/V8%20Linux64%20TSAN/builds/10670 Original issue's description: > Convert SIMD machine ops to runtime function calls > - Add Simd128 type to Wasm AST types > - Add a pass that converts SIMD machine ops to runtime calls > - Sample opcodes Int32x4Splat, Int32x4ExtractLane and test > - Separate out generic SIMD Machine ops as these cannot be > handled by runtime functions just yet. > > LOG=N > BUG=v8:4124 > > R=bradnelson@chromium.org, bbudge@chromium.org, titzer@chromium.org > > Committed: https://crrev.com/73df92fc2fdbbfadc17e8ab4e58ec56ae2b3d91a > Cr-Commit-Position: refs/heads/master@{#37789} TBR=bbudge@chromium.org,bradnelson@chromium.org,titzer@chromium.org,gdeepti@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:4124 Review-Url: https://codereview.chromium.org/2154723002 Cr-Commit-Position: refs/heads/master@{#37790}
-
gdeepti authored
- Add Simd128 type to Wasm AST types - Add a pass that converts SIMD machine ops to runtime calls - Sample opcodes Int32x4Splat, Int32x4ExtractLane and test - Separate out generic SIMD Machine ops as these cannot be handled by runtime functions just yet. LOG=N BUG=v8:4124 R=bradnelson@chromium.org, bbudge@chromium.org, titzer@chromium.org Review-Url: https://codereview.chromium.org/1991143002 Cr-Commit-Position: refs/heads/master@{#37789}
-
- 21 Jan, 2016 1 commit
-
-
titzer authored
Motivated by finding a bug in a larger module, this CL adds the ability to dump out a byte-by-byte, nested view of the decoded AST. This byte-by-byte output uses the opcode enum to make it readable, but is suitable for pasting into a byte[] in C or JS and thus making a regression test. Also fix a bug; the case of running out of registers for indirect calls. R=ahaas@chromium.org BUG= Review URL: https://codereview.chromium.org/1616973004 Cr-Commit-Position: refs/heads/master@{#33442}
-
- 11 Dec, 2015 1 commit
-
-
titzer authored
As discussed in person, this adds the code from v8-native-prototype into V8 proper, guarded by GYP flags that do not build the code by default. Passing wasm=on to 'make' or setting v8_wasm as a GYP flag activates building of this code. An additional header file is added to and exported from the compiler directory, src/compiler/wasm-compiler.h. This exposes a limited interface with opaque Node and Graph types to the decoder to build TF graphs, as well as functions to compile WASM graphs. The mjsunit tests added are blacklisted because they fail without the WASM object exposed to JS, which is also disabled by the build config option. This corresponds closely to https://github.com/WebAssembly/v8-native-prototype/commit/5981e06ebc9b1e578831d03100f17ebb77970ee0, with some formatting fixes and moving some files into src/compiler. R=mstarzinger@chromium.org, bradnelson@chromium.org BUG= Review URL: https://codereview.chromium.org/1504713014 Cr-Commit-Position: refs/heads/master@{#32794}
-