- 03 Dec, 2019 2 commits
-
-
George Wort authored
Replace unsigned extract lane followed by sign extend as added here https://chromium-review.googlesource.com/c/v8/v8/+/1846711 with a signed extract lane for I8x16 and I16x8. Change-Id: I5a701417b772d12f5ef038efbb081716bb27e25a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1873700 Commit-Queue: Martyn Capewell <martyn.capewell@arm.com> Reviewed-by:
Deepti Gandluri <gdeepti@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#65307}
-
Emanuel Ziegler authored
The following changes were introduced with the recent proposal update: - OOB access with 0 length traps - Double drop of segments is allowed - Dropped segments are treated like having size 0 (OOB error) - Active segments are dropped right after initialization R=ahaas@chromium.org Change-Id: I4e9fc4d9212841c7d858585c672143f99287520d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1946355Reviewed-by:
Andreas Haas <ahaas@chromium.org> Commit-Queue: Emanuel Ziegler <ecmziegler@chromium.org> Cr-Commit-Position: refs/heads/master@{#65305}
-
- 02 Dec, 2019 1 commit
-
-
Clemens Backes authored
Instead of logging them as "wasm-unnamed" functions, log them as "wasm-to-js", and append the signature. This moves and generalizes the {AppendSignature} method that was already used to produce the signature string for other wrappers. R=jkummerow@chromium.org Bug: chromium:1029470 Change-Id: Ic911cb19a49dcbc332bf5a4aa195107522ac6945 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1946350 Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#65287}
-
- 27 Nov, 2019 2 commits
-
-
Dan Elphick authored
First this plumbs RuntimeCallStats from the OptimizingCompileDispatcher down through to PipelineCompilationJob which stashes the RuntimeCallStats on the PipelineData. Adds new RCS thread-specific counters: OptimizeAssembleCode and OptimizeBackgroundAssembleCode which are used in PipelineImpl::AssembleCode. Bug: v8:10006 Change-Id: Ieef6d32afddf4b0760e204010b09a85dfec92cf3 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1926030 Commit-Queue: Dan Elphick <delphick@chromium.org> Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Reviewed-by:
Maya Lekova <mslekova@chromium.org> Reviewed-by:
Nico Hartmann <nicohartmann@chromium.org> Cr-Commit-Position: refs/heads/master@{#65221}
-
Clemens Backes authored
We want to grow the table entries exponentially, so the entries length will not reflect the actual size of the table any more. Hence, introduce another field on {WasmTableObject} to store the actual length. R=mstarzinger@chromium.org CC=ecmziegler@chromium.org Bug: v8:10018 Change-Id: Ie8252f33fddda3ae60dd24bd8db148fd67262226 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1939050 Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#65200}
-
- 26 Nov, 2019 1 commit
-
-
Clemens Backes authored
Make WasmFeatures a proper class which uses an EnumSet under the hood. This way, it inherits all behaviour of EnumSet like comparison, merge, etc. Accesses change from being simple field access into the struct to actually bit tests in the EnumSet. R=mstarzinger@chromium.org Bug: v8:10019 Change-Id: I768f92b90ac0294156f4482defba5ce00bc70165 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1934334 Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#65184}
-
- 21 Nov, 2019 1 commit
-
-
Emanuel Ziegler authored
InstanceBuilder::LoadTableSegments - Throw RuntimeError instead of LinkError WasmGraphBuilder::TableInit & WasmGraphBuilder::MemoryInit - Do not check for active/dropped status if size == 0 WasmGraphBuilder::MemoryFill - Throw out-of-bounds error BEFORE attempting any memory operations if necessary R=ahaas@chromium.org Bug: v8:9865 Change-Id: I6a67779dc99fdc1c6bda6a2526d0e9ee5385f3ed Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1924442Reviewed-by:
Andreas Haas <ahaas@chromium.org> Commit-Queue: Emanuel Ziegler <ecmziegler@chromium.org> Cr-Commit-Position: refs/heads/master@{#65098}
-
- 20 Nov, 2019 2 commits
-
-
Andreas Haas authored
This is necessary because the spec changed. R=mstarzinger@chromium.org Bug: v8:9865 Change-Id: Id8b4d85eafcf368d591666907036e6aa54664e63 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1921794 Commit-Queue: Andreas Haas <ahaas@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#65072}
-
Emanuel Ziegler authored
When importing a JS function, Wasm tries to guess the type of function (parameters & strict/sloppy mode). This can sometimes fail which leads to re-creation of the wrapper. With this change, the same wrapper can be used for strict and sloppy mode requiring the re-creation only on arity mismatch. R=mstarzinger@chromium.org Change-Id: I77ec2b853153dec0772873cfb60c064a74065732 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1921793Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Emanuel Ziegler <ecmziegler@chromium.org> Cr-Commit-Position: refs/heads/master@{#65064}
-
- 18 Nov, 2019 2 commits
-
-
Ng Zhi An authored
This implements the rest of the load extend instructions: - i32x4.load16x4_s - i32x4.load16x4_u - i64x2.load32x2_s - i64x2.load32x2_u Bug: v8:9886 Change-Id: I4649f77bae5224042a1628d9f0498c050b1e599d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1903812Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Bill Budge <bbudge@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#65017}
-
Michael Starzinger authored
This makes sure that the {WasmGraphBuilder} properly detects the presence of Simd128 global.get and global.set opcodes and triggers scalar lowering on architectures without Simd128 support. R=clemensb@chromium.org TEST=cctest/test-run-wasm-simd/RunWasm_S128Globals BUG=v8:9973 Change-Id: I1538bd1d3fea40cc78e82b125d4f113842faf68a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1917148Reviewed-by:
Clemens Backes <clemensb@chromium.org> Reviewed-by:
Deepti Gandluri <gdeepti@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#65002}
-
- 15 Nov, 2019 1 commit
-
-
Dan Elphick authored
utils.h itself is fairly large and contains lots of unrelated functions as well as having a fair number of dependencies itself, so this splits bounds checking and bit field operations into their own headers in base and replaces uses of utils.h with the more appropriate header where possible. (Also fixes some cases where other headers were previously brought in transitively). Bug: v8:9810, v8:8912 Change-Id: I76c53f953848a57e2c5bfad6ce45abcd6d2a4f1b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1916604Reviewed-by:
Clemens Backes <clemensb@chromium.org> Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Commit-Queue: Dan Elphick <delphick@chromium.org> Cr-Commit-Position: refs/heads/master@{#64983}
-
- 14 Nov, 2019 1 commit
-
-
Michael Starzinger authored
This makes sure that the {WasmGraphBuilder} properly detects the presence of Simd128 loads and store opcodes and triggers then scalar lowering of the graph on architectures that don't support Simd128. R=clemensb@chromium.org TEST=mjsunit/wasm/exceptions-simd BUG=v8:9973 Change-Id: I118f72135ddc9011efa3f75aaf120bb67e708d8a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1916605Reviewed-by:
Clemens Backes <clemensb@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#64964}
-
- 08 Nov, 2019 1 commit
-
-
Ng Zhi An authored
Implements v32x4.load_splat and v64x2.load_splat. Bug: v8:9886 Change-Id: I18f3b012f9980d258985edf2ff26577fe495eff5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1903747Reviewed-by:
Deepti Gandluri <gdeepti@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#64866}
-
- 07 Nov, 2019 2 commits
-
-
Milad Farazmand authored
Change-Id: I145dd2ea5fd2308301ba7e6710f84f276dc70367 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1903809Reviewed-by:
Zhi An Ng <zhin@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Commit-Queue: Milad Farazmand <miladfar@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#64844}
-
Santiago Aboy Solanes authored
Since the turbo_decompression_elimination flag is removed, there are several methods in machine-type.h that get simplified, e.g TypeCompressedTaggedPointer() can be replaced by just "TaggedPointer()". Also Removing the creation of Change to/from Compressed nodes. Removing these Change nodes' logic is left to a follow-up CL. Bug: v8:7703 Change-Id: Iff1f9aa8361189cf781a26317fd342b942fd5aa4 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1897537 Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#64834}
-
- 06 Nov, 2019 3 commits
-
-
Ng Zhi An authored
Introduce new operator LoadTransform that holds a LoadTransformInfo param, which describes the kind of load (normal, unaligned, protected), and a transformation (splat or extend, signed or unsigned). We have a new method that a full decoder needs to implement, LoadTransform, which resuses the existing LoadType we have, but also takes a LoadTransform, to distinguish between splats and extends at the decoder level. This implements 4 out of the 10 suggested load splat/extend operations (to keep the cl smaller), and is also missing interpreter support (will be added in the future). Change-Id: I1e65c693bfbe30e2a511c81b5a32e06aacbddc19 Bug: v8:9886 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1863863Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#64819}
-
Clemens Backes authored
For now, both are implemented via a C call, just like i32_rol and i32_ror. If they turn out to be critical for performance, we can still implement them via hardware instructions on selected platforms. R=jkummerow@chromium.org Bug: v8:9919 Change-Id: I16affdfe397a08ef6a51d310f018b3a099e80e44 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1900454 Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#64816}
-
Michael Starzinger authored
R=clemensb@chromium.org Change-Id: Idcbf3494849c1a359fab8ed72ad2a97626bf5212 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1899781Reviewed-by:
Clemens Backes <clemensb@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#64796}
-
- 04 Nov, 2019 2 commits
-
-
Dan Elphick authored
Change builtin calls in wasm-compiler.cc to use CallBuiltinPointer rather than CallCodeObject which means they bypass the trampoline. Since the Code objects are no longer being called, remove them from the executable Code object allow-list in builtins.cc. Bug: v8:9338 Change-Id: I9835bab859c4d5e45dbfb4c7a339ccf74e719237 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1893337 Commit-Queue: Dan Elphick <delphick@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#64744}
-
Michael Starzinger authored
Now that embedded builtins are mandatory and non-embedded builtins no longer need to be supported, it is safe to embed the target of the CEntry builtin directly into WebAssembly runtime stubs. This produces more efficient code and simplifies the runtime stubs. R=clemensb@chromium.org Change-Id: If2f91fa733edc266af3a204ac17ff36e4c0b41a3 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1895567 Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Clemens Backes <clemensb@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#64739}
-
- 01 Nov, 2019 1 commit
-
-
Clemens Backes authored
The {SetTraceValue} method was only defined for a set of integer types, which sometimes lead to ambiguities when using types like {size_t}, {unsigned long} or the like (see https://crrev.com/c/1886912/1). This CL fixes that by providing a method accepting any integer type. It also changes the existing methods to avoid the "cast via union" idiom, and uses memcpy instead. R=petermarshall@chromium.org Bug: v8:9810 Change-Id: I1530405640dc6cb0058153a8dbb860c7f3727ac5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1886918 Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by:
Peter Marshall <petermarshall@chromium.org> Cr-Commit-Position: refs/heads/master@{#64710}
-
- 30 Oct, 2019 1 commit
-
-
Jakob Gruber authored
This is a reland of 4a16305b The original CL adjust only one part of the stack check, namely the comparison of the stack pointer against the stack limit in generated code. There is a second part: Runtime::kStackGuard repeats this check to distinguish between a stack overflow and an interrupt request. This second part in runtime must apply the offset just like in generated code. It is implemented in this reland by the StackCheckOffset operator and a new StackGuardWithGap runtime function. Original change's description: > [compiler] Optionally apply an offset to stack checks > > The motivation behind this change is that the frame size of an optimized > function and its unoptimized version may differ, and deoptimization > may thus trigger a stack overflow. The solution implemented in this CL > is to optionally apply an offset to the stack check s.t. the check > becomes 'sp - offset > limit'. The offset is applied to stack checks at > function-entry, and is set to the difference between the optimized and > unoptimized frame size. > > A caveat: OSR may not be fully handled by this fix since we've already > passed the function-entry stack check. A possible solution would be to > *not* skip creation of function-entry stack checks for inlinees. > > This CL: 1. annotates stack check nodes with the stack check kind, where > kind is one of {function-entry,iteration-body,unknown}. 2. potentially > allocates a temporary register to store the result of the 'sp - offset' > in instruction selection (and switches input registers to 'unique' > mode). 3. Applies the offset in code generation. > > Drive-by: Add src/compiler/globals.h for compiler-specific globals. > > Bug: v8:9534,chromium:1000887 > Change-Id: I257191c4a4978ccb60cfa5805ef421f30f0e9826 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1762521 > Commit-Queue: Jakob Gruber <jgruber@chromium.org> > Reviewed-by: Georg Neis <neis@chromium.org> > Cr-Commit-Position: refs/heads/master@{#63701} Bug: v8:9534, chromium:1000887 Change-Id: I71771c281afd7d57c09aa48ea1b182d01e6dee2a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1822037Reviewed-by:
Georg Neis <neis@chromium.org> Reviewed-by:
Sigurd Schneider <sigurds@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#64634}
-
- 28 Oct, 2019 2 commits
-
-
Michael Starzinger authored
Now that all builtins are embedded, it is no longer needed to have a fallback variant where WebAssembly runtime stubs tail-call existing (non-embedded) builtins, just call the (embedded) builtin directly. R=clemensb@chromium.org BUG=v8:6666,v8:9810 Change-Id: Id8a2b2089cabc77f841f484986d8212ca2918ef4 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1883550 Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#64581}
-
Michael Starzinger authored
R=jgruber@chromium.org BUG=v8:6666,v8:9810 Change-Id: I972983d8e86729843f4a1bbe050e3b37a3c0c61c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1881147Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#64578}
-
- 23 Oct, 2019 1 commit
-
-
Jakob Gruber authored
This operator implicitly reads the stack pointer register and is thus not pure. This CL removes it from the list of pure operators and inserts it into the effect chain at its use sites. Drive-by: Alpha-sort the list in CanAllocate. Bug: v8:9534 Change-Id: Icf96fb3e308600dbacec3dbfb7386a4f0d0bdc39 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1875098 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Georg Neis <neis@chromium.org> Auto-Submit: Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#64502}
-
- 17 Oct, 2019 1 commit
-
-
Ng Zhi An authored
This is a reland of 306bb635 Original change's description: > [wasm-simd] Implement F64x2ConvertI64x2 for x64 > > Bug: v8:8460 > Change-Id: Icefb90c67af77ac93bd75b4e452ba426232de83a > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1710332 > Commit-Queue: Zhi An Ng <zhin@chromium.org> > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> > Reviewed-by: Bill Budge <bbudge@chromium.org> > Reviewed-by: Deepti Gandluri <gdeepti@chromium.org> > Cr-Commit-Position: refs/heads/master@{#63627} Bug: v8:8460 Change-Id: I08d2c88e81ce51d3d1cfdf3d7d6ba34792e34e9e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1793902Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Deepti Gandluri <gdeepti@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#64365}
-
- 16 Oct, 2019 1 commit
-
-
Michael Starzinger authored
This extends existing table support to be able to store 'exnref' in addition to 'anyref' types. Tools can use this to maintain data structures for exception packages. R=ahaas@chromium.org TEST=mjsunit/wasm/exceptions-anyref BUG=v8:8091 Change-Id: Iccbcfdc328db81a366921bcdd98c2256f66e7fc8 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1781046 Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#64323}
-
- 15 Oct, 2019 1 commit
-
-
Michael Starzinger authored
This replaces all left-over uses of {WasmGraphBuilder::Buffer} with proper alternatives (e.g. using {base::SmallVector} instead). R=clemensb@chromium.org Change-Id: I2607ce7e2638a1bb35daccbb5b38382d5b62a430 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1859626Reviewed-by:
Clemens Backes <clemensb@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#64285}
-
- 14 Oct, 2019 3 commits
-
-
Michael Starzinger authored
This switches the {WasmGraphBuilder} to use {SmallVector} for passing argument and return values. It deprecates {WasmGraphBuilder::Buffer}, which is a dangerous construct as it makes it easy to accidentally use the single buffer for two vectors at the same time. This also removes the by now unused {WasmGraphBuilder::Realloc} method. R=clemensb@chromium.org Change-Id: I6bd9be437a99c23bb403a046a75c148ac4a14451 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1859619Reviewed-by:
Clemens Backes <clemensb@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#64277}
-
Michael Starzinger authored
This switches the {WasmGraphBuilder::GetExceptionValues} to use a proper vector instead of the deprecated {Buffer} method. This also addresses a TODO about missing landing pads for the above affected method. R=clemensb@chromium.org Change-Id: I33ba7d712a00f2a284ec159a501bcd90e02a3a51 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1859620 Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#64276}
-
Michael Starzinger authored
With exception handling enabled new call paths open up, which will perform environment merging while a "call" or "call_indirect" is currently being emitted. This will lead to double-use of the buffer returned by calls to {Buffer} or {Realloc}. In general we should transition away from this optimization to safer constructs such as {base::SmallVector} to avoid such bugs. R=clemensb@chromium.org TEST=mjsunit/regress/regress-9832 BUG=v8:9832 Change-Id: I4c862ac1bc7dc34ad62279c82f6414153e8cbddb Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1856006 Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#64271}
-
- 09 Oct, 2019 2 commits
-
-
Ng Zhi An authored
Bug: v8:8460 Change-Id: I79ae753f15aaa91a2154bd7078a1cdb9f3e049f1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1822497Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Deepti Gandluri <gdeepti@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#64201}
-
Deepti Gandluri authored
This CL implements i8x16.extract_lane_u, i16x8.extract_lane_u operations by changing the default narrow extract operations to be unsigned. The sign-extended extracts are implemented on top of the unsigned extracts with an additional extend compiler node. For IA32/X64, the codegen effectively remains the same - 0x389332bc32a3 63 660f3a14c900 pextrb rcx,xmm1,0 0x389332bc32a9 69 0fbec9 movsxbl rcx,rcx 0x389332bc32a3 63 660f3a14c900 pextrb rcx,xmm1,0 0x389332bc32a9 69 0fbec9 movsxbl rcx,rcx On ARM, this adds an additional sxt instruction for the signed extracts. Bug: v8:8460 Change-Id: I67f14b2b860ff8cc86ffbb2f65c7ef7de32da83f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1846711Reviewed-by:
Zhi An Ng <zhin@chromium.org> Reviewed-by:
Bill Budge <bbudge@chromium.org> Commit-Queue: Deepti Gandluri <gdeepti@chromium.org> Cr-Commit-Position: refs/heads/master@{#64172}
-
- 08 Oct, 2019 1 commit
-
-
Clemens Backes authored
This brings our constants back in line with the changed spec text. We already use kExprTableGet and kExprTableSet, but for locals and globals we still use the old wording. This renaming is mostly mechanical. PS1 was created using: ag -l 'kExpr(Get|Set)Global' src test | \ xargs -L1 sed -E 's/kExpr(Get|Set)Global\b/kExprGlobal\1/g' -i PS2 contains manual fixes. R=mstarzinger@chromium.org Bug: v8:9810 Change-Id: I064a6448cd95bc24d31a5931b5b4ef2464ea88b1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1847355 Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#64163}
-
- 07 Oct, 2019 1 commit
-
-
Thibaud Michaud authored
R=mstarzinger@chromium.org Bug: v8:9492 Change-Id: Ie404eb6cb07ea033a10d29dd1b9aba6cb1f03b69 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1826663 Commit-Queue: Thibaud Michaud <thibaudm@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#64134}
-
- 04 Oct, 2019 1 commit
-
-
Igor Sheludko authored
... as the smi-corrupting decompression seems to be stable enough. Bug: v8:9706 Change-Id: I404924ec4a12b37d8bc3e521c5563aa7e6357dc6 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1835544Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Clemens Backes <clemensb@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#64107}
-
- 30 Sep, 2019 1 commit
-
-
Igor Sheludko authored
... in disabled state. It will be enabled in a follow-up CL. Bug: v8:9706 Change-Id: I43b482a4fd1bf9af0c6ba535b453e72463bee0f8 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1826731Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Clemens Backes [né Hammacher] <clemensb@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#64039}
-
- 26 Sep, 2019 1 commit
-
-
Thibaud Michaud authored
The current implementation only supports arrays and proxies as multi-return values in Wasm to JS calls. This adds support for any iterable including generators, as specified by the multi-value proposal (https://github.com/WebAssembly/multi-value/). R=mstarzinger@chromium.org Bug: v8:9492 Change-Id: I2c9be1f7e03824b1aabba525244e5b7f76a98f99 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1824938 Commit-Queue: Thibaud Michaud <thibaudm@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#63996}
-
- 25 Sep, 2019 1 commit
-
-
Thibaud Michaud authored
Allows JS functions returning array-like objects to be imported as multi-return functions in WebAssembly modules. Importing a generator does not work as required by the specification yet. R=mstarzinger@chromium.org Bug: v8:9492 Change-Id: Iaf61a0f718eb50676913aa1486fb39cebecfc090 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1815246 Commit-Queue: Thibaud Michaud <thibaudm@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#63965}
-